1、1第第5章章 网络互联与因特网基础网络互联与因特网基础 本章内容本章内容 网络互联的基本概念网络互联的基本概念 因特网的体系结构因特网的体系结构 因特网接入技术因特网接入技术 因特网的链路层与网络层因特网的链路层与网络层 因特网的传输层协议因特网的传输层协议25.1 网络互联的基本概念?网络互联的动力:更大范围的资源共享网络互联的动力:更大范围的资源共享网络互联:网络互联:HOST-LAN、LANLAN/WAN3网络互联层次从网络体系结构的层次观点来考察,网络互联从网络体系结构的层次观点来考察,网络互联可在四个层次上实现:可在四个层次上实现:物理层物理层 数据链路层数据链路层 网络层网络层 网
2、络层以上网络层以上4 物理层:中继器物理层:中继器/集线器集线器 在电缆段之间复制比特流。没有地址概念,因此从本质上不能算是网络互连。网络层网络层数据链路层数据链路层物理层物理层传输层传输层应用层应用层网络层网络层数据链路层数据链路层物理层物理层传输层传输层应用层应用层物理层物理层 物理层物理层中继器中继器集线器集线器电缆段电缆段2电缆段电缆段15物理层物理层 数据链路层:网桥数据链路层:网桥/交换机交换机 在网段之间转发数据帧。根据数据帧中的信息(MAC地址)进行转发。网络层网络层数据链路层数据链路层物理层物理层传输层传输层应用层应用层网络层网络层数据链路层数据链路层物理层物理层传输层传输层
3、应用层应用层物理层物理层网桥网桥交换机交换机数据链路层数据链路层网段网段1网段网段26链路层链路层物理层物理层 网络层:路由器网络层:路由器 在网络之间转发报文分组。根据分组中的逻辑地址(IP地址)进行转发。网络层网络层数据链路层数据链路层物理层物理层传输层传输层应用层应用层网络层网络层数据链路层数据链路层物理层物理层传输层传输层应用层应用层物理层物理层路由器路由器链路层链路层网络层网络层网络网络2网络网络17 更高层:网关更高层:网关 连接不同体系结构的网络网络层网络层数据链路层数据链路层物理层物理层应用层应用层/传输层传输层网络层网络层数据链路层数据链路层物理层物理层应用层应用层/传输层传
4、输层物理层物理层网关网关链路层链路层网络层网络层网络网络1应用层应用层/传输层传输层物理层物理层链路层链路层网络层网络层网络网络28LAN的互联 本地互联本地互联 特点:范围有限、主干(特点:范围有限、主干(Backbone)采用局域网技术,)采用局域网技术,如如FDDI、Ethernet、Token Ring 互联层次:链路层(网络层)互联层次:链路层(网络层)互联设备:网桥、交换机(有时可采用路由器)互联设备:网桥、交换机(有时可采用路由器)远程互联远程互联 特点:范围大、主干采用广域网技术,如特点:范围大、主干采用广域网技术,如ISDN、X.25、DDN、ATM、FR、ADSL等等 互联
5、层次:网络层或更高层(链路层)互联层次:网络层或更高层(链路层)互联设备:路由器、网关(有时可采用远程网桥)互联设备:路由器、网关(有时可采用远程网桥)9LAN1LAN2中继器中继器或或HUBLAN1LAN2网桥或网桥或交换机交换机LAN1LAN2路由器路由器LAN1路由器路由器LAN2路由器路由器WAN本地本地远程远程10网络互联的归纳 物理层:使用中继器或集线器在不同的电缆段之间复制位信号,无寻址功能;数据链路层:使用网桥或交换机在局域网之间存储转发数据帧,用MAC地址寻址;网络层:使用路由器在不同的网络之间存储转发分组,用IP地址寻址;传输层及应用层:使用网关提供更高层次的互连,用端口号
6、或其他特定标识寻址。115.2 因特网体系结构 因特网是世界上最大的互联网络,具有开放性。1974年,斯坦福大学的两位研究员瑟夫(cerf)和康恩(kahn)提出了开放网络的四项原则:小型化、自治:每个网络可以自行运作,当需要进行网间互联时无需改变其内部结构。尽力而为的服务:互联网络仅提供尽力而为的服务,如果需要可靠的通信,则由发送端通过重传丢失的报文来实现。无状态路由器:互联网络中的路由器不保存任何现行连接中已经发送过的信息流状态。非集中控制:在互联网络中不存在全局性的控制机制。12 因特网是一个开放网络的典型例子。为满足开放网络的要求,因特网从1983年开始引入并使用TCP/IP协议栈(T
7、ransmission Control Protocol/Internet Protocol)。TCP/IP不是单一的协议,而是由数十个具有一定层次结构的协议组成的一个协议集。而TCP和IP是该协议中两个最重要的协议。整个TCP/IP协议集的框架被称为TCP/IP体系结构或简称为TCP/IP。由于TCP/IP协议在因特网中的广泛使用,现在人们常常把TCP/IP协议称为因特网协议。13 因特网协议栈和协议数据单元应用层(FTP,Telnet,SMTP,HTTP,DNS,SNMP)传输层(TCP,UDP)网络层(IP,ICMP,ARP,RARP,IGMP)链路层(PPP,HDLC,以太网,令牌环网
8、)物理层TCP/IP协议栈第1层第2层第3层第4层第5层协议数据单元(PDUs)段(Segment)数据报(Datagram)帧(Frame)位流(Bits)报文(Message)145.3 因特网的接入 因特网的接入是指如何把用户的计算机连接到因特网的接入点因特网的边缘路由器 因特网接入采用了广域网连接技术。从用户类型划分,因特网接入分为:住宅(居民区)接入 机构接入 移动用户接入15居民区因特网接入:拨号和ADSL 模拟调制解调器通过电话网拨号上网 用户计算机通过电话拨号与因特网服务提供商建立连接,在用户本地环路上传输的是模拟信号 拨号接入的速率最高不超过56kb/s ADSL(非对称用户
9、线路)在用户本地电话线环路上采用数字信号传输技术,能够在一条上同时提供话音服务和数据通信服务,但其下行传输速率可达到8Mb/s,上行传输速率也能达到将近1Mb/s 上下行速率不对称的特点非常适用于上网目的以因特网浏览为主的用户 16居民区因特网接入:线缆调制解调器 HFC:Hybrid Fiber Coax(光纤同轴电缆混合网络)非对称:下行可达10Mb/s,上行为1Mb/s HFC将家庭用户连接到 ISP的路由器 若干个家庭用户共享10Mb/s访问带宽;关注点:拥塞,规模控制问题。应用:在国内的个别地区试点。17居民区接入:线缆调制解调器Diagram:http:/ 公司/大学 局域网(LA
10、N)将端系统连接到端接路由器 以太网(Ethernet):共享或专线电缆将端系统连接端系统和路由器 10 Mb/s,100Mb/s,1Gb/s 以太网 应用:企事业单位,家庭用户 普遍使用的LAN19无线网络接入 共享的无线访问网络把端系统连接到路由器 无线无线LAN 使用无线频谱替代有线介质 e.g,802.11a/b/g 11Mb/s、54Mb/s 广域无线访问广域无线访问 CDPD:通过蜂窝式网络无线访问ISP路由器basestationmobilehostsrouter因特网因特网205.4 因特网的链路层和网络层 因特网的链路层协议包括:SLIP、PPP、HDLC 相关的议题还包括:
11、通过局域网接入因特网时ARP与IP的交互问题。因特网的网络层协议主要包括:互联网络协议IP 网络控制信息协议ICMP 路由协议 组播协议IGMP21点对点的数据链路协议 一方发,一方收;一条链路:比广播信道简单的多 无需介质访问控制 不必进行MAC寻址 e.g.,拨号链路,ISDN 线路等 常见的点对点数据链路控制协议:SLIP(Serial Line Internet Protocol)PPP(Point-to-Point Protocol)SDLC:Synchronous Data Link Control(SNA的面向比特的数据链路规程)HDLC:High level data link
12、 control(ISO高级数据链路控制)22PPP 设计要求 RFC 1557 帧封装:将网络层的分组封装到数据链路层的帧中 同时同时可以承载任意网络协议的网络层数据(不仅仅是 IP)提供向上分用的能力 位流透明:在数据字段中,必须能携带任意组合的位流 错误检测(但无需校正)网络层地址协商:客户端可以学习/配置对方提供的网络地址23PPP无需做的工作 错误校正/恢复 流量控制 有序递交 支持多点链路(e.g.,轮询)错误恢复、流量控制、分组的有序递交都被移到更高层(在端点,或者说端到端)去解决了!24PPP 数据帧 Flag:帧定界符(7EH)Address:固定为FFH Control:缺
13、省为03H,表示为无编号帧 Protocol:数据类型,即帧中携带的数据属于哪一个上层协议(LCP,IP,IPCP,)25PPP 数据帧 Info:所携带的上层数据 Check:CRC校验和,用于进行错误检测26字节填充(Byte Stuffing)“数据透明”要求:数据中必须可以包括帧中flag字段的固定位模式:01111110(7EH)Q:如何判断这个到底是数据还是flag?A:异步链路采用字节填充法解决(同步链路则使用与HDLC相同的位填充法)发送方:数据中的所有字节都用2字节序列(7DH,5EH)代替数据中的所有(7DH)都用2字节序列(7DH,5DH)代替 接收方:进行相反的操作27
14、字节填充Flag位模式出现在发送数据中数据中的Flag位模式被转换成“双字节模式”10101028因特网的网络层与IP协议因特网的网络层功能:路由表路由协议路由选择RIP,OSPF,BGPIP 协议地址转换数据报格式分组处理ICMP 协议错误报告路由器“信令”传输层传输层:TCP,UDP数据链路层数据链路层物理层物理层网络层网络层IGMP 协议组播信息交互组播路由选择29网络层协议组成 因特网的网络层协议分成四部分:网际协议(网际协议(IP)、路由选择协议路由选择协议、网络控制信息协议(网络控制信息协议(ICMP)和组组播协议(播协议(IGMP)。网际协议网际协议:决定了网络层的编址机制,数据
15、报的格式(网络层的PDU),各节点根据数据报的字段所应采取的动作。IP协议有两个版本,IPv4 RFC 791和IPv6 RFC 2373,RFC 2460。路由选择协议路由选择协议:决定数据报在发送过程中由信源到信宿所经过的路由器。网络控制信息协议网络控制信息协议:可以为用户提供网络中的各种运行信息。组播协议组播协议:由于数据报的发送无须建立过程和响应信息,因此可以支持因特网上的多点同时传送,但由于网络层协议设计上的限制,多点传送解决起来比较复杂。30网际协议IPInternet Protocol IP是因特网的网络层中最重要的协议 提供数据报数据报(Datagram)的投递服务(主机到主机
16、)在不同的数据链路层上进行数据转发操作 IP的数据报投递服务是非连接的,不可靠的 非连接 数据报之间没有相互的依赖关系;不能保证报文的有序投递。不可靠 数据报的投递没有任何品质保证(QoS),数据报可能被正确投递,可能被丢弃。31IP地址 IP地址地址:32bit的逻辑地址,用来标识主机或路由器的网络接口;网络接口网络接口:用于连接主机与路由器之间的物理链路:路由器有多个接口 主机可能有一个,也可能有多个接口 IP地址只与设备的网络接口有关 IP地址书写方法:32bit划分为4个字节 写成点分的4个十进制数223.1.1.1223.1.1.2223.1.1.3223.1.1.4223.1.2.
17、9223.1.2.2223.1.2.1223.1.3.2223.1.3.1223.1.3.27223.1.1.1=11011111 00000001 00000001 0000000122311132IP地址 IP地址包括2个部分:网络地址(网络号)主机地址(主机号)网络是什么?(从 IP 地址的视角)具有相同网络地址的设备接口,或 不经过路由器就可以物理上相互通达的设备223.1.1.1223.1.1.2223.1.1.3223.1.1.4223.1.2.9223.1.2.2223.1.2.1223.1.3.2223.1.3.1223.1.3.27由3个IP网络组成的互联网(对于以223开头
18、的IP地址,前24位为网络地址)LAN33IP地址 为讨论“网络”的说法,重新审视IP地址:“分类”编址:1.0.0.0 to126.255.255.255128.0.0.0 to191.255.255.255192.0.0.0 to223.255.255.255224.0.0.0 to239.255.255.255Range0NetID10110NetID1110Multicast AddressHostIDNetIDHostIDHostIDClassABCD8 bits8 bits8 bits8 bits最大网络数=27-2=126最大主机数=224-2=16777214最大网络数=214
19、=16384最大主机数=216-2=65534最大网络数=221=2097152最大主机数=28-2=25434保留的IP地址 以下这些IP地址具有特殊的含义:00.0000.00 0000 .00000000 .000011.1111.11 1111 .11111111 .1111本机本机本网中的主机本网中的主机局域网中的广播局域网中的广播回路回路(Loopback)00.0000.00主主 机机 号号1111 .11111111 .1111网络号127127任任 意意 值值0000 .00000000 .0000网络号对指定网络的广播对指定网络的广播网络地址网络地址一般来说,主机号部分为全
20、一般来说,主机号部分为全“1”的的IP地址保留用作广播地址;地址保留用作广播地址;主机号部分为全主机号部分为全“0”的的IP地址保留用作网络地址。地址保留用作网络地址。35划分子网 为什么要划分子网?IP分类不合理,地址空间利用率低 美国的某些机构拥有的地址空间甚至比其他一些国家的全部地址空间还大 每个网络都指定一个网络地址将使路由表太大 增加了路由器成本 查找路由耗时增加 路由器之间交换的路由信息增加 两级IP地址不够灵活 不能充分利用已申请到的地址资源扩充新的网络如何在现有的地址范围中建立多个网络?36 划分子网(Subnetting)又称子网寻址或子网路由选择 方法:从IP地址的主机编号
21、部分“借用”若干位作为子网编号主机编号部分相应缩短 例如:原来的网络:10.5.0.0 借用2位划分子网后:10.5.64.0和10.5.128.0 子网的特点:多个子网可以运行在同一物理网络上。划分子网后,原来的网络对外仍呈现为一个完整的网络,外面看不见其内部的子网结构。即:划分子网完全是该网络内部的事务,与外部无关。00001010 00000101 xxxxxxxx xxxxxxxx网络号 主机号子网1:00001010 00000101 01 xxxxxx xxxxxxxx网络号 子网号 主机号子网2:00001010 00000101 10 xxxxxx xxxxxxxx网络号 子网
22、号 主机号37Subnet 110.5.64.xSubnet 210.5.128.x路由器两个子网之间的通信必须通过路由器才能实现,但物理连接不一定非要通过路由器,子网可以运行在同一物理网络上。38在一个物理网络上运行多个子网子网1的主机子网2的主机39划分子网后,网络对外仍是一个网络网络 10.5.0.0所有目的地址为10.5.x.x 的分组均到达此路由器.64.1.64.2.64.3.128.1.128.2.128.3.128.4.1.2.3子网10.5.64.0.1.2.3子网10.5.128.0.440子网掩码 子网掩码的作用 使网络内的计算机了解子网划分的结构 使边缘路由器了解子网划
23、分的结构 子网掩码的格式 子网掩码也是32bit长的二进制数,由一串连续的1后跟一串连续的0组成;前面的1与网络号和子网号对应,后面的0与主机号对应。如前面的例子:子网结构为:00001010 00000101 ss xxxxxx xxxxxxxx 子网掩码为:11111111 11111111 11 xxxxxx xxxxxxxx 写成十进制数为:255.255.192.041 不划分子网时,各类IP地址默认的子网掩码为:A类:255.0.0.0 B类:255.255.0.0 C类:255.255.255.0 已知IP地址和子网掩码,如何计算子网地址?用子网掩码和IP地址“相与”(AND操作
24、),结果就是子网地址。例如:IP地址10.5.100.1,子网掩码10.5.192.0。则可计算出10.5.100.1的子网地址为 00001010 00000101 01100000 00000001AND)11111111 11111111 11000000 00000000 00001010 00000101 01000000 00000000(=10.5.64.0)推论:若两个IP地址具有完全相同的子网地址,则它们在同一子网中。42Q.如何在网络拓扑图中找出所有的网络?拿掉路由器;整个网络形成了若干个“被隔离的网络孤岛”;每个“孤岛”就是一个网络。Q:右图中1)包含了几个网络?2)每个
25、网络的子网地址分别是什么?(假定网络掩码为255.255.255.0)223.1.2.1223.1.1.1223.1.1.3223.1.1.4223.1.2.2223.1.2.6223.1.3.2223.1.3.1223.1.3.27223.1.1.2223.1.7.0223.1.7.1223.1.8.0223.1.8.1223.1.9.1223.1.9.243IP编址:CIDR(无类域间路由)分类编址:地址空间的利用率低,地址空间面临耗尽;e.g.,一个B类网址可以容纳65K台主机,但可能被一个只有2K台主机的企业占据。CIDR:Classless InterDomain Routing 地
26、址的网络部分长度任意,不再分为固定的几种类型;地址格式:a.b.c.d/x,x为地址中网络部分的位数。11001000 00010111 00010000 00000000networkparthostpart200.23.16.0/2344IP编址:言犹未尽.Q:ISP如何得到整块的地址?A:ICANN:Internet Corporation for Assigned Names and Numbers(因特网名称和编号组织)分配地址 管理DNS 批准域名,解决纷争Q:单位或企业如何获得网络地址?A:向ISP申请(在单位内部,则向网络中心申请)45IP 数据报格式verTotal leng
27、th32 bitsdata(可变长度,一般为一个 TCP 或UDP 数据段)16-bit identifierInternet checksumtime tolive32 bit source IP addressIP 协议版本号首部长度(bytes)余留步跳(每经过一个路由器都要减1)用于分段/重装数据报长度(bytes)数据对应的上层协议是什么head.lentype ofservice数据“类型”flgsfragment offsetupper layer32 bit destination IP addressOptions(if any)E.g.时间戳,记录路由标记,定义要访问的路由
28、器校验和46IP路由选择 为分组选择一条从源主机到目的主机的最佳路径。可选路径不止一条 路径可能要跨越多个网络 网络中实现路由选择功能的设备是路由器。对每一个接收到的分组,路由器必须确定从哪条路径将其转发出去。路由器根据其内部保存的一张路由表转发分组。路由表中存放了到达其他网络的路由信息。目的网络地址 下一跳(路由器)地址(Next Hop)其他(各种标志、子网掩码、接口、)路由选择47路由表的基本内容202.168.0.0172.16.0.010.0.0.0R1R2R1的路由表.1.1.2.1目的网络目的网络下一跳路由器地址下一跳路由器地址172.16.0.010.0.0.0202.168.
29、0.2202.168.0.0直接(从s0)直接(从s1)default202.168.0.2s0s148如何根据路由表进行路由选择路由选择:根据路由表找到一条到达目的网络的路径(实际上是查找输出接口)。想一想:为何不是“找到一条到达目的主机的路径”?从两个方面考虑:如何减小路由表中的路径数量(在因特网的骨干链路中尤其重要)与目的主机的连接只有两种类型:点到点链路和广播型网络(LAN)有些情况下,路由表中也可设置到达目的主机的路由。路由选择的基本方法:取出收到的分组中的目的IP地址,并提取出目的网络地址目的网络地址;用目的网络地址在路由表中查找:若目的网络与路由器直接相连,则“直接交付”;如果找
30、到匹配的表项,则将分组发送到该表项指定的下一跳路由器;如果未找到,则搜索路由表中有无“default”的表项:如果有,就将将分组发送到该表项指定的下一跳路由器;如果没有,则发送一个“主机不可达”或“网络不可达”的出错信息给发出该分组的计算机。目的网络目的网络下一跳路由器地址下一跳路由器地址172.16.0.010.0.0.0202.168.0.2202.168.0.0直接(从s0)直接(从s1)default202.168.0.249路由表的维护 路由表如何建立?如何根据网络的变化进行更新?静态路由:由网络管理员设置并随时更新 网络管理员的工作负担重,容易出错,适应性差;简单、开销小,只适用于
31、小型网络。动态路由:路由器运行过程中根据网络情况动态地维护 减轻了网络管理员的工作负担重;实时性好,适应性好;能够满足大型网络的需要;因要搜集网络运行状态,网络开销有所增加,实现也比较复杂。因特网中的路由器采用的都是动态路由。50动态路由的实现 动态路由(建立、维护、更新)需要借助路由协议实现,路由协议有两大类:全局路由协议 依据完整的网络全局拓扑信息计算到达各个网络的最佳路径。因为本协议需要了解每条网络链路的状态,故也称其为链路状态链路状态路由协议(路由协议(Link State Routing Protocol,L-S)。路由计算在所有路由器中完成,运行L-S协议的每个路由器都要向所有路由
32、器发送与自己相邻的路由器的链路状态信息,内容包括:路由器所连接的网络链路;该链路的状态:连通性、开销、速度、距离、时延等信息。通过互相通告链路状态,每个路由器最终都可以建立一个关于整个网络拓扑结构的数据库,再使用Dijkstra算法即可计算出到达各网络的最佳路径。典型的链路状态路由协议是OSPF(Open Shortest Path First)。Dijkstra算法是一种计算连通图中的最短路径的方法。51 局部路由协议 通过一系列重复的、分布的方式来计算最佳路径。每个路由器开始只知道与其直接相连的链路的信息。通过与相邻路由器的通信和一系列反复的计算,路由器可以逐渐获得到达某些网络的最佳路径信
33、息。因为需要了解每条链路的距离,故也称其为距离矢量路由协议距离矢量路由协议(Distance Vector Routing Protocol,D-V)。距离矢量协议计算网络中链路的距离矢量,然后根据计算结果构造路由表。每一个路由器工作时会定期向相邻路由器发送消息,消息的内容就是自己的整个路由表,其中包括:目的网络的地址;到达目的网络的下一跳路由器地址;到达目的网络所经过的距离。运行距离矢量协议的路由器会根据相邻路由器发送过来的信息,更新自己的路由表。典型的距离矢量路由协议是RIP(Routing Information Protocol)。52IP路由协议具有的共性 动态地学习、计算到达网络中
34、各子网的路由并插入到路由表中。如果到达一个子网有多条合法路由,那么将最好的一条放到路由表中。当路由表中的路由不再合法时,则通告给其他路由器,并从自己的路由表中删除该路由。尽快地加入新的路由,或者用更好的路由替代失效的路由。阻止循环路由。53IP路由协议的层次 因特网被划分为许多自治系统(Autonomous System,AS),每个AS都是一个互联网络。AS的特点:它有权自主地决定在本系统内采用何种路由选择协议。一个AS内的所有网络都属于一个组织或机构管辖并在本AS内是连通的。根据路由协议是为AS内部的路由优化还是为AS之间的路由优化,因特网把路由协议分为两大类:内部网关协议(IGP):如R
35、IP、OSPF等;外部网关协议(EGP):如BGP(边界网关协议)。54AS、IGP和EGPAS1AS2AS3EGPEGPEGPIGPIGPIGPIGPIGPIGPIGPIGPIGPIGPIGPIGPIGP55ARP协议和RARP协议 ARP将一个已知的IP地址映射到MAC地址。想一想:为何要进行映射?(后面将给出答案)映射方法:已知:IP地址 1)检查本地ARP高速缓存表,若找到IP地址对应的表项,则取出表项中的MAC地址;2)若IP地址不包含在表中,就向网上发广播来寻找。具有该IP地址的目的站用其MAC地址作为响应。ARP只能用于具有广播能力的网络。只能用于具有广播能力的网络。56AC我需
36、要我需要10.0.0.5的的MAC地址地址IP=10.0.0.5 IP=10.0.0.5 MAC=?MAC=?我就是,这是我就是,这是我的我的MAC地址!地址!IP=10.0.0.5IP=10.0.0.5MAC=08-00-00-20-2C-0AMAC=08-00-00-20-2C-0AB10.0.0.110.0.0.510.0.0.2 ARP操作的例子:A想知道10.0.0.5的MAC地址57为什么需要地址解析协议?或者说,为何要进行地址映射?Answer:在因特网中,数据分组传输使用的是IP地址(逻辑地址);而在局域网中,传输数据时需要使用物理地址(MAC地址)。许多因特网的主机位于局域网
37、中,当数据分组到达局域网时,需要把IP地址转换成MAC地址,然后把分组封装在局域网链路层的帧中,才能发送到该主机。588.4.5 ARP与IP的交互例子:由R对A到B的数据包进行路由的过程ARB在LAN1中,所有的主机都具有111.111.111.xxx的IP地址形式。LAN2中的所有主机都具有222.222.222.xxx的IP地址形式。假设主机111.111.111.111要发送一个数据报到主机222.222.222.222。发送主机的链路层协议必需指出该目的主机的MAC地址。那么发送主机会使用哪个MAC地址?是222.222.222.222的MAC地址49-BD-D2-C7-56-2A吗
38、?目的MAC地址为49-BD-D2-C7-56-2A的帧能穿越路由器吗?59 实际上,发送主机在发送分组之前,就已经知道目的主机不在本地LAN上(只要比较目的主机和发送主机的IP地址中的网络地址部分便可得知),所以必须将分组发送给路由器,由路由器进行转发。路由器的IP地址(Windows中称为缺省网关)在发送主机中已经预先设置(在本例中为111.111.111.110)。现在的问题是:发送主机如何得到路由器接口的MAC地址呢?当然是使用ARP协议!一旦发送主机获得了路由器接口的MAC地址,就可以生成一个数据帧,发送给路由器。LAN1上的路由器接口收到了发给它的数据帧后,将封装在其中的分组提交给
39、网络层。这样,分组就成功地从主机发送到了路由器上!60 接下来,路由器还必须将分组发送到目的地。路由器首先需要选择适当的接口来转发,这项工作路由器可以通过查询路由表来完成。路由表告诉路由器:“需要通过222.222.222.220接口转发该分组”。于是,路由器把分组送到该接口。最后,接口将分组传送给其适配器,组成新的数据帧新的数据帧,并广播到LAN2中。这时,数据帧的目的MAC地址才是真正的最终目的主机的MAC地址。路由器又是如何知道最终目的主机的MAC地址呢?还是使用ARP协议!路由器通过数据报中的目的IP地址和ARP协议来得到目的主机的MAC地址。61 RARP协议:把MAC地址映射为IP
40、地址 用于无盘工作站环境 无盘工作站没有磁盘,配置的IP地址无法保存。RARP的基本思想:网络中配置一台RARP服务器;RARP服务器中有一张MAC地址与IP地址的映射表;由网络管理员预先配置好 地址映射过程:无盘工作站启动时,从硬件配置中读出MAC地址,并将其封装在RARP请求报文中,广播到网上;RARP服务器收到请求报文后,在映射表中检查有无对应表项。若找到,将对应的IP地址装入响应报文中发回给请求者。RARP也也只能用于具有广播能力的网络。只能用于具有广播能力的网络。62IP地址:如何分配?主机的IP地址有两种分配策略:由网络管理员手工分配(静态分配);动态分配:DHCP协议(Dynam
41、ic Host Configuration Protocol)网络中需设置一台DHCP服务器;网络管理员在DHCP服务器中预先定义一个IP地址池地址池。分配过程:需要申请IP地址的主机在网络中广播“DHCP discover”报文 网络中的DHCP服务器用“DHCP offer”报文响应 主机发送IP地址请求:“DHCP request”报文 DHCP服务器从地址池中取出一个未分配的IP地址发送给请求者:“DHCP ack”报文 63ICMP协议:Internet Control Message Protocol用于主机、路由器、网关之间交换网络层信息 报告错误:unreachable hos
42、t,network,port,protocol 进行request/reply 应答(ping命令)同处于网络层但“凌驾”于IP之上:ICMP报文需要封装到IP分组中进行传输ICMP报文(教材报文(教材p322):type和code两个字段的含义见右。Type Code description 0 0 echo reply(ping)3 0 work unreachable 3 1 dest.host unreachable 3 2 dest.protocol unreachable 3 3 dest.port unreachable 3 6 work unknown 3 7 dest.hos
43、t unknown 4 0 source quench(congestion control-not used)8 0 echo request(ping)9 0 route advertisement 10 0 router discovery 11 0 TTL expired 12 0 bad IP header64最常用的是最常用的是“目的地无法到达目的地无法到达”和和“回声回声”消息。消息。AB广域网广域网发数据给发数据给Z到到Z的数据的数据用用ICMP通知通知A”我不知道如何我不知道如何到达到达Z?”目的端无法到达目的端无法到达路由器路由器R用用ICMP消息通知目的地消息通知目的地“
44、不可达不可达”R65ABB可以到可以到达吗?达吗?ICMP回声请求回声请求 可以,可以,我在这里。我在这里。ICMP回声应答回声应答用用PING命令产生的回声请求及回声应答命令产生的回声请求及回声应答ping xxx.xxx.xxx.xxxping xxx.xxx.xxx.xxx66IPv6 初始的动机:IPv4的32-bit地址空间预计在2008年将全部分配完毕。IPv6的地址多达2128(340万亿亿亿亿),地球上每平方米可分配0.668亿亿亿个IP地址。其他动机:改革首部格式帮助加速处理和加速转发;改革首部,以实现 QoS;新型“任意播-Anycast”地址的实现:实现在若干备份服务器中
45、寻求“最佳”路由。IPv6 分组格式:固定长度的40 byte首部;不支持分组的分割。可以使地球表面每粒沙子都有一个IP地址。67IPv6 首部Priority(Traffic class):确定数据流中各分组的优先级。Flow Label:标识不同“flow”中的分组,以便按各自的“需求”进行处理。Next header:后面的附加报头(如果有的话)的类型;对于最后一个报头,则用来说明传送数据的上层协议是什么。68其他不同于IPv4的修改 Checksum:完全取消,以减少每个步跳上的处理时间 Options:允许使用,但不再是首部的内容,而是由“Next Header”字段说明 ICMPv
46、6:ICMP的新版本 新增报文类型,e.g.“Packet Too Big”组播管理功能69从IPv4向IPv6迁移 并不是所有的路由器都能够在同一时刻升级 不能采用“易帜日”的办法;但是网络如何能够在IPv4和IPv6路由器共存的情况下运行?两种建议的途径:双栈(Dual Stack):某些具有双栈(v6,v4)的路由器 可以将两种地址格式进行“翻译-translate”隧道(Tunneling):IPv6可以作为IPv4的载荷通过IPv4的路由器,即把IPv6的分组封装在IPv4的分组中在IPv4网络中传输。70双栈(Dual Stack)方式双栈路由器71隧道(Tunneling)在必要
47、时将IPv6封装到IPv4中72IPv6如何影响下一代互联网?如何影响下一代互联网?IPv6可以为任何你所能想象到的东西提供固定的IP地址IPv6不仅可以为每一台网络终端提供了固定的IP地址,而且提供了人与人、人与物乃至于物与物之间通信的可能。移动通信行业将是IPv6最早和最大的受益方 移动IPv6适用于数量庞大的移动终端,它提供了足够的地址空间可以为在公共互联网上运行的每个移动终端分配一个IPv6地址。在全球范围内解决了有关网络和访问技术之间的移动性问题。IPv6在中国 据报道,到2005年底,我国建成覆盖全国主要城市的IPv6网络,覆盖城市达20个,接入节点达300个。IPv6地址的争夺战
48、 截止到2004年6月,全球已分配的606个IPv6地址块中,中国只占有11块,申请的地址数量仅占全球已申请数的1.8%,且都为缺省的/32(“/32”相当于2128-32,即296个IPv6地址)。而美国、日本、德国、荷兰、英国5个国家所分配到的地址总数已占全球已申请数的一半,约为48%。735.5 因特网传输层协议 提供运行在不同主机中进程间的逻辑通信;传输协议仅运行在端系统中;传输 vs.网络层服务:网络层网络层:在端系统间进行通信;传输层传输层:在进程间进行通信;传输层依赖于网络层的服务,反过来又加强了网络层的服务。applicationtransportnetworkdata lin
49、kphysicalapplicationtransportnetworkdata linkphysicalnetworkdata linkphysicalnetworkdata linkphysicalnetworkdata linkphysicalnetworkdata linkphysicalnetworkdata linkphysicallogical end-end transport74传输层协议Internet的两类传输服务:可靠的,按序点对点递交:TCP 拥塞控制 流量控制 连接建立 不可靠的(“尽力而为”),无序的点对点或广播递交:UDP 不能提供的服务:实时性 带宽承诺 可靠
50、的广播通信 applicationtransportnetworkdata linkphysicalapplicationtransportnetworkdata linkphysicalnetworkdata linkphysicalnetworkdata linkphysicalnetworkdata linkphysicalnetworkdata linkphysicalnetworkdata linkphysicallogical end-end transport75applicationtransportnetworkMP2applicationtransportnetwork复用