1、第五章 网络层第五章 网络层5.1 基本概念和提供的服务5.2 路由算法5.3 internet路由5.4 Internet中的网络层5.1 基本概念和提供的服务n基本概念nISO给网络层的定义n网络层为一个网络连接的两个传送实体间交换网络服务数据单元提供功能和规程的方法,它使传送实体独立于路由选择和交换的方式。n网络层要解决的关键问题是了解通信子网的拓扑结构,选择路由。网络层的功能n在收发主机之间传输分组 n网络层协议必须在每一台主机和路由器上实现三项重要功能:n路径决策:为分组在收发双方之间确定路径,路由选择算法n交换:在路由器的输入、输出端口传递分组n建立连接:某些网络的体系结构要求在数
2、据流经之前,在所经由的路由器中建立连接(call setup)networkdata linkphysicalnetworkdata linkphysicalnetworkdata linkphysicalnetworkdata linkphysicalnetworkdata linkphysicalnetworkdata linkphysicalnetworkdata linkphysicalnetworkdata linkphysicalapplicationtransportnetworkdata linkphysicalapplicationtransportnetworkdata l
3、inkphysical 虚电路n在数据流动前,需要建立连接(call setup),流动结束后要断开(teardown)n每个分组携带 VC标识(而不是信宿主机的ID)n每个在收发双方路径上的路由器需要为正在传输中的连接维持“状态”n传输层的连接仅涉及到两个端系统(end system)n链路,路由器资源(带宽,缓存等)可被分配 给 VCn目的:为了达到类似线路交换的性能“使收发双方之间的路径表现得如同电话线路一般”n网络内部有较多的智能和性能指标n沿收发路径上的网络结点的操作比较复杂虚电路:信令协议(signaling protocols)n用来建立、维护、断开 VCn应用在 ATM,帧中继
4、,X.25(电信级服务)n不是应用在今天的 Internetapplicationtransportnetworkdata linkphysicalapplicationtransportnetworkdata linkphysical1.Initiate call2.incoming call3.Accept call4.Call connected5.Data flow begins6.Receive data数据报(Datagram)网络:因特网模型n在网络层没有联接建立过程n路由器:没有端对端的连接状态n在网络层不存在“联接”的概念n一般分组使用信宿主机的ID进行路由选择n同样收发双方
5、的不同分组可能经由的路径可能不同applicationtransportnetworkdata linkphysicalapplicationtransportnetworkdata linkphysical1.Send data2.Receive data数据报和虚电路比较数据报还是VC网络:why?因特网n数据交换在计算机之间进行n“弹性”服务,没有严格的实时性要求 n“聪明”的端系统(计算机)n可进行自适应,执行控制,出错恢复n网络内部比较简单,“边缘上”比较复杂n利用了许多链路类型 n各具有不同的特性n统一服务标准十分困难ATMn电话网络演化而来n人们的交流:n严格要求实时性,和可靠n
6、需要服务承诺n“傻瓜式”的端系统n电话机n复杂性在网络内部网络层的服务模型:网络网络体系结构体系结构InternetATMATMATMATM服务服务模型模型best effortCBRVBRABRUBR带宽带宽noneconstantrateguaranteedrateguaranteed minimumnone无损无损noyesyesnono有序有序noyesyesyesyes实时实时noyesyesnono拥塞拥塞反馈反馈no(inferredvia loss)nocongestionnocongestionyesno承诺承诺?nInternet 正在进化:Intserv,Diffserv
7、5.2 路由算法n路由算法是网络层软件的一部分n子网采用数据报,每个包都要做路由选择;n子网采用虚电路,只需在建立连接时做一次路由选择。n路由算法应具有的特性n正确性(Correctness)n简单性(Simplicity)n健壮性(Robustness)n稳定性(Stability)n公平性(Fairness)n最优性(Optimality)路由选择路由选择算法的图形抽象:n图中的结点是路由器n图中的线条为物理链路n链路成本:延迟,¥费用,或拥塞的程度目标目标:在收发双方的通信过程在收发双方的通信过程中为分组(所经由的一系列路中为分组(所经由的一系列路由器中)确定一条由器中)确定一条“好好”
8、的路的路径径路由选择协议路由选择协议AEDCBF2213112535n“好”路:n一般为费用最低的路径n也可以另行定义路由算法分类全局或分散的信息?全局:n所有路由器都有完整的拓扑逻辑,链路成本信息n“link state”算法分散:n路由器只了解物理上邻接的路由器,了解到达这些路由器的链路成本n通过迭代计算处理,可与相邻路由器交换信息n“distance vector”算法静态或动态的?静态:n路由变化较少的情况动态:n路由变化较快的情况n定期更新n为了响应链路成本的变化介绍相关的路由算法n最短路径算法(Dijkstra)n扩散法(flooding)n距离矢量算法n链路状态算法最短路由选择
9、nDijkstra算法(1959):通过用边的权值作为距离的度量来计算最短路径,有最少边数的路径不一定是最短路径 1674329115328635如下图:如下图:5和和4之间边数最少的路径是之间边数最少的路径是5234但最短路径是但最短路径是523674 n最短路径路由算法(Shortest Path Routing)nDijkstra算法举例1243561225331152n最短路径路由算法(Shortest Path Routing)nDijkstra算法举例)(vDvn最短路径路由算法(Shortest Path Routing)nDijkstra算法举例n最短路径路由算法(Shorte
10、st Path Routing)nDijkstra算法举例n最短路径路由算法(Shortest Path Routing)nDijkstra算法举例n最短通路树(汇集树)及对应路由表124356目的节点后继节点2 23 44 45 46 4介绍相关的路由算法n最短路径算法(Dijkstra)n扩散法(flooding)n距离矢量算法n链路状态算法扩散法(flooding)n不计算路径,有路就走 1567432911532863如从如从5出发到出发到4:数据包从数据包从51,2;23,6;36,4;63,7;74 要解决的问题:数据包重复到达某一节点,如要解决的问题:数据包重复到达某一节点,如3
11、,6 扩散法(续)n解决方法 在数据包头设一计数器,每经过一个节点在数据包头设一计数器,每经过一个节点自动加自动加1,达到规定值时,丢弃数据包,达到规定值时,丢弃数据包 在每个节点上建立登记表,则数据包再次在每个节点上建立登记表,则数据包再次经过时丢弃经过时丢弃 缺点:重复数据包多,浪费带宽缺点:重复数据包多,浪费带宽 优点:可靠性高,路径最短,常用于军事优点:可靠性高,路径最短,常用于军事 介绍相关的路由算法n最短路径算法(Dijkstra)n扩散法(flooding)n距离矢量算法n链路状态算法D-V(距离矢量)算法(Distance Vector Routing)n是动态、分布式算法。n
12、实现分布式算法的三要素:The measurement process(测量)测量)The update protocol(更新邻接点距离矢量)更新邻接点距离矢量)The calculation(计算)计算)D-V算法的工作原理 n每个路由器用两个向量Di和Si来表示该节点到网上所有节点的路径距离及其下一个节点n相邻路由器之间交换路径信息n各节点根据路径信息更新路由表 di1:从节点从节点i 到节点到节点1 的时延向量的时延向量di2:从节点从节点i 到节点到节点2 的时延向量的时延向量 Di=di1di2di3dinSi=si1si2si3sinsi1:从节点从节点i到节点到节点1的一条最小
13、时延路径上的下一个节点的一条最小时延路径上的下一个节点si2:从节点从节点i到节点到节点2的一条最小时延路径上的下一个节点的一条最小时延路径上的下一个节点其中:n 网络中的节点数网络中的节点数Di节点节点i的时延向量的时延向量dij节点节点i到到j的最小时延的当前估计值的最小时延的当前估计值Si节点节点i的后继节点向量的后继节点向量sij从节点从节点i到到j的最小时延路径上的下一节点的最小时延路径上的下一节点 路由表的更新dij=min(dix+dxj)(x A)(从i到j的时延取途经每个节点时的时延的最小值)Sij=x(从i到j途经的下一个节点为x)其中:其中:A与与i相邻的所有节点的集合相
14、邻的所有节点的集合diji到到j 的最短距离的最短距离dixi到到x的距离的距离dxjx到到j 的最短距离的最短距离 To通过A 通过I 通过H 通过KA0242021B12363128C25181936D4027824E1473022F23201940G1831631H1720019I2101422J911710K2422220L293399J到A延时为8 J到I延时为10 J到H延时为12 J到K延时为6 线路8A20A28I20H17I30I18H12H10I0-6K15K节点J的新路由表AEIHGFDCBLKJJ重新重新估计估计的延时的延时注意:注意:AI为为21;IA为为24因为:节
15、点因为:节点A和和I都是各自测都是各自测得的距离,且不一定是同一得的距离,且不一定是同一时刻测得的,线路状态是动时刻测得的,线路状态是动态变化的态变化的当前节点为当前节点为JD-V算法的缺点 n交换的路径信息量大n路径信息不一致n收敛速度慢(坏消息)n距离矢量中不考虑带宽因子n不适合大型网络无穷计算问题n好消息传播得快,坏消息传播得慢ABCDE初始时1第1次交换后12第2次交换后123第3次交换后1234第4次交换后ABCDE1234初始时3234第1次交换后3434第2次交换后5454第3次交换后5656第4次交换后7676第5次交换后7878第6次交换后 A下网了下网了克服收敛速度慢的方法
16、 n水平分裂nHolddown 同距离矢量法,只是到同距离矢量法,只是到X的距离并不是真正的距离,的距离并不是真正的距离,对下方点通知真正的距离,对上方点,给出无穷大对下方点通知真正的距离,对上方点,给出无穷大 如上图中的如上图中的C点,它点,它 向向D通知到通知到A的真正距离,而向的真正距离,而向B通知到通知到A的距离是无穷大的距离是无穷大 当发现不通时,不重新选路径,而是把它设成无穷大当发现不通时,不重新选路径,而是把它设成无穷大 介绍相关的路由算法n最短路径算法(Dijkstra)n扩散法(flooding)n基于流量的路由选择 n距离矢量算法n链路状态算法L-S(链路状态)算法(Lin
17、k State Routing)n基本思想 发现它的邻接节点,并得到其网络地址发现它的邻接节点,并得到其网络地址 测量它到各邻接节点的延迟或开销测量它到各邻接节点的延迟或开销 组装一个分组以告知它刚知道的所有信息组装一个分组以告知它刚知道的所有信息 将这个分组发给所有其他路由器将这个分组发给所有其他路由器 计算到每个其他路由器的最短路径计算到每个其他路由器的最短路径发现邻接节点 n当一个路由器启动后,向每个点到点线路发送HELLO分组,另一端的路由器发送回来一个应答来说明它是谁 L-S(链路状态)算法(Link State Routing)n基本思想 发现它的邻接节点,并得到其网络地址发现它的
18、邻接节点,并得到其网络地址 测量它到各邻接节点的延迟或开销测量它到各邻接节点的延迟或开销 组装一个分组以告知它刚知道的所有信息组装一个分组以告知它刚知道的所有信息 将这个分组发给所有其他路由器将这个分组发给所有其他路由器 计算到每个其他路由器的最短路径计算到每个其他路由器的最短路径测量线路开销 n发送一个ECHO分组要求对方立即响应,通过测量一个来回时间再除以2,发送方就可以得到一个延迟估计值,想要更精确些,可以重复这一过程,取其平均值 L-S(链路状态)算法(Link State Routing)n基本思想 发现它的邻接节点,并得到其网络地址发现它的邻接节点,并得到其网络地址 测量它到各邻接
19、节点的延迟或开销测量它到各邻接节点的延迟或开销 组装一个分组以告知它刚知道的所有信息组装一个分组以告知它刚知道的所有信息 将这个分组发给所有其他路由器将这个分组发给所有其他路由器 计算到每个其他路由器的最短路径计算到每个其他路由器的最短路径构造分组子网及其节点到其邻节点(路由器)的线路开销测量值(即延时,假设以ms计)ABCDEF序号序号序号序号序号序号年龄年龄年龄年龄年龄年龄B4A4B2C3A5B6E5C2D3 F7 C1 D7F6E1F8E8AE324FDCB56187子网的链路、状态及分组情况:子网的链路、状态及分组情况:节点节点A仅与节点仅与节点B和和E相邻相邻A B的时延为的时延为4
20、msA E的时延为的时延为5ms L-S(链路状态)算法(Link State Routing)n基本思想 发现它的邻接节点,并得到其网络地址发现它的邻接节点,并得到其网络地址 测量它到各邻接节点的延迟或开销测量它到各邻接节点的延迟或开销 组装一个分组以告知它刚知道的所有信息组装一个分组以告知它刚知道的所有信息 将这个分组发给所有其他路由器将这个分组发给所有其他路由器 计算到每个其他路由器的最短路径计算到每个其他路由器的最短路径发布链路状态 n用扩散法(向邻接的节点)发布链路状态分组(以B为例,B的邻接点有A、C、F)源序号年龄ACFACF数据A2160011100 F2160110001 E
21、2159010101 C2060101010 D2159100011 源节点源节点E的的链路状态分组经链路状态分组经A和和F到节点到节点B,节点节点B必须必须再将再将E的状态分组转送到的状态分组转送到C,并向并向A和和F发发ACK Tnbm P364 书278 图5-16发送标志发送标志ACK标志标志L-S(链路状态)算法(Link State Routing)n基本思想 发现它的邻接节点,并得到其网络地址发现它的邻接节点,并得到其网络地址 测量它到各邻接节点的延迟或开销测量它到各邻接节点的延迟或开销 组装一个分组以告知它刚知道的所有信息组装一个分组以告知它刚知道的所有信息 将这个分组发给所有
22、其他路由器将这个分组发给所有其他路由器 计算到每个其他路由器的最短路径计算到每个其他路由器的最短路径计算新路由 n用Dijstra算法计算到每个节点的路由 n得到该节点到每个节点的最短路径L-S路由算法的优缺点nLSR的优点nLSR的缺点各路由器的路由信息的一致性好各路由器的路由信息的一致性好收敛性好,坏消息也一样传播得快收敛性好,坏消息也一样传播得快适用于大型网络,报文长度与网络规模关系不大适用于大型网络,报文长度与网络规模关系不大每个路由器需要有较大的存储空间每个路由器需要有较大的存储空间 计算工作量大计算工作量大 因特网的分层路由选择规模:5千万台以上信宿主机:n不可能把所有主机存在一个
23、路由表中!n路由表的交换可以把链路带宽用掉大半!行政自治ninternet=network of networks(万网之网)n每个网管都会控制自身网络中的路由选择因特网不是一个理想化的网络,所以 n不可能所有的路由器完全一样n网络不在一个“平面”上因特网中的路由选择n全球因特网是由诸多 Autonomous Systems(AS)互联而成:n小型自治系统(小型自治系统(Stub AS):中小型企业n分区自治系统(分区自治系统(Multihomed AS):大型企业(非跨越的)n跨越式自治系统(跨越式自治系统(Transit AS):NBP等n两层路由选择:nIntra-AS:由网管决定nIn
24、ter-AS:唯一性的标准因特网的AS层次Inter-AS 边界(外部网关)路由器Intra-AS 内部(网关)路由器因特网的分层路由选择n聚合路由器可以形成分区,“自治系统(autonomous systems”,AS)n在同一AS中的路由器运行同样的路由选择协议n“intra-AS”路由选择 协议n不同AS中的路由器可以运行不同的intra-AS 路由选择协议nAS中的特殊路由器n与其他同一AS中的路由器使用intra-AS路由选择协议进行交往n同时负责同AS以外的信宿进行交往或路由选择n运行 inter-AS路由选择协议与其他的网关路由器进行交互网关路由器网关路由器Intra-AS和In
25、ter-AS路由选择网关网关:在网关服务器之间在网关服务器之间进行进行inter-AS 路路由选择由选择在在AS内部进行内部进行 intra-AS 路由选路由选择择inter-AS,intra-AS routing in gateway A.cnetwork layerlink layerphysical layerabbaaCABdA.aA.cC.bB.acbcIntra-AS和Inter-AS路由选择Host h2abbaaCABdcA.aA.cC.bB.acbHosth1Intra-AS routingwithin AS AInter-AS routingbetween A and BI
26、ntra-AS routingwithin AS Bninter-AS和intra-AS因特网路由选择协议应用举例Intra-AS路由选择n也称为内部网关协议 Interior Gateway Protocols(IGP)n最常用的 IGP有:nRIP:Routing Information Protocol(路由选择信息协议)nOSPF:Open Shortest Path First(开放式最短路径优先(协议))nIGRP:Interior Gateway Routing Protocol(内部网关路由选择协议,Cisco产权)RIP(Routing Information Protoco
27、l)n距离向量算法(Distance vector algorithm)n含在BSD-UNIX 1982版中n距离的度量单位:#of hops(max=15 hops)nCan you guess why?n距离向量:通过Response报文每隔30秒交换一次(也称为 广告-advertisement)n每次广告:发布最多为 25 信宿的路由RIP(Routing Information Protocol)Destination Network Next Router Num.of hops to dest.wA2yB2 zB7x-1.wxyzACDB路由器D中的路由表RIP:链路失效和恢复链
28、路失效和恢复 如果某条链路在180秒内没有被听到广告-相邻结点/链路被申明取消(declared dead)n经由该结点的路由被终止n新的广告送往所有其他相邻结点n其他相邻结点依次发出新的广告(如果路由表发生变化)n这样链路失效的信息迅速传遍整个网络n使用抑制措施来防止乒乓循环(设置有限距离=16 hops)RIP路由表处理nRIP路由表通过应用层的进程 route-d(daemon-守护程序)来管理n由应用层进程管理的路由表为通过UDP的广告调用,并周期性重复RIP 路由表举例Router:giroflee.eurocom.frn 连接3个 C 类网络(LAN)n 路由器仅仅知道所连LAN的
29、路由n 默认路由器(Default router)用于“go up(上行)”n 组播地址路由(Route multicast address):224.0.0.0n 回授接口(Loopback interface,for debugging)Destination Gateway Flags Ref Use Interface -127.0.0.1 127.0.0.1 UH 0 26492 lo0 192.168.2.192.168.2.5 U 2 13 fa0 193.55.114.193.55.114.6 U 3 58503 le0 192.168.3.192.168.3.5 U 2 25
30、 qaa0 224.0.0.0 193.55.114.6 U 3 0 le0 default 193.55.114.129 UG 0 143454 OSPF(Open Shortest Path First)开放式最短路径优先(协议)n“open-开放”:向公众开放n使用链路状态算法(Link State algorithm)nLS 分组传播n在每个结点存放网络的拓扑图n路由计算使用Dijkstra算法nOSPF 广告为每个相邻的路由器配置一个条目n广告弥散到 整个 AS(via flooding-泛洪法)OSPF“先进”性(RIP所不具备的)n安全性:所有的 OSPF 报文须经认证(以防止各
31、种可能的攻击);使用TCP连接n多个等值路径允许同时存在(而在RIP中只能存在一条)n对每条链路来说,对不同的TOS(eg,在卫星链路上将尽力而为的服务设成“低值”;而将实时应用设成高值)可产生多种成本计算标准n多种成本计算标准可以支持集成化的单播和组播(multicast):n组播 OSPF(MOSPF)使用与 OSPF相同的拓扑数据库n在大型域中可以使用层次型OSPF层次型OSPF层次型OSPFn双层结构:本地,主干.n链路状态只是在本地范围内广告 n每个结点具有详细的本地拓扑;对其他区域中的网络仅知在某个方向(最短路径).n区界路由器区界路由器(Area border routers):
32、“汇总”了所在区域中到达各网络的距离,同时向其他区界路由器发广告.n主干路由器主干路由器(Backbone routers):仅限于在主干上运行 OSPF 路由算法.n边界路由器边界路由器(Boundary routers):连接其他的AS.IGRP(Interior Gateway Routing Protocol)内部网关路由选择协议nCISCO产权;RIP 的后继者之一(mid 80s)n路由向量算法,类似 RIPn采用若干成本计算标准(delay,bandwidth,reliability,load etc)n使用TCP交换路由更新信息n通过基于扩散计算的分布式更新算法(DUAL)产生
33、无循环的路由选择Inter-AS路由选择因特网inter-AS路由选择:BGPnBGP(Border Gateway Protocol,边界网关协议):事实上的标准n路径向量路径向量(Path Vector)协议:n与距离向量协议类似n每个边界网关(Border Gateway)向其对等的相邻实体(peers)广播通往信宿的整条路经(I.e,一系列 ASs)nE.g.,网关 X可以发送从它通往信宿Z的路经:Path(X,Z)=X,Y1,Y2,Y3,Z因特网inter-AS路由选择:BGP假设:网关X向对等网关W发送了它存有的路经 nW 可以选择或不选择X所提供的路经n成本,策略(不通过竞争对手
34、的AS),预防循环等缘由.n如果 W 选择了X广告的路经,那么:Path(W,Z)=w,Path(X,Z)n注意:X 可以通过向其他对等实体发布路由信息来控制所进入的通信流量:ne.g.,不让路由通过Z-不要发布有关通向 Z的广告因特网inter-AS路由选择:BGPnBGP 使用 TCP交换报文.nBGP报文:nOPEN:打开通往对等实体的 TCP连接并对发送者进行认证nUPDATE:刊出新的路经(或撤销旧路经)nKEEPALIVE:在不进行UPDATES时保持连接的激活;也用来ACKs OPEN 请求nNOTIFICATION:报告先前报文的错误;也用来关闭连接为什么 Intra-和 In
35、ter-AS路由选择不同?策略:nInter-AS:网管需要控制自己信息流通的路经,还有谁能路经并通过其管辖的网络.nIntra-AS:单一的管理体制,无需选择策略规模:n层次型路由选择可以缩小路由表,并减少更新流量性能性能:nIntra-AS:将注意力集中在性能上nInter-AS:策略的考虑要超过对性能的要求路由器结构概述路由器的两个关键功能:n运行路由算法/协议(RIP,OSPF,BGP)n交换分组于输入链路到输出链路之间 输入端口功能分散化的交换分散化的交换:n按照给出的分组信宿,使用输入端口的内存中存储的路由选择表,查找输出端口n目标:以“线路速度”完成输入端口的处理n排队:假如分组
36、到达的数度快于转发到交换网络的(switch fabric)速度时物理层:位流级的接收数据链路层:e.g.,Ethernet输入端口上的排队n交换网络的处理速度低于所有输入端口之和-导致分组在输入端口的队列中排队 n排头(Head-of-the-Line(HOL))阻塞:在队列的排头上的分组挡住了其他分组的前移n由于输入缓存的溢出导致了排队延迟和数据丢失!三类交换网络内存交换(Switching Via Memory)第一代路由器:n 分组通过系统的(单个)CPU拷贝n 速度受到内存带宽的限制(每个分组需2次穿越系统总线)InputPortOutputPortMemorySystem Bus现
37、代路由器:n 输入端口处理器执行查询路由表、和拷贝的功能n Cisco Catalyst 8500总线交换(Switching Via Bus)n分组通过一条共享的总线从输入端口的内存传递到输出端口的内存n总线竞争:交换速率受限于总线的带宽n1 Gb/s总线,Cisco 1900:对访问接入和企业级的路由器已经足够(但还不适应在区域或主干级线路上使用)通过内联网络交换(Switching Via An Interconnection Network)n克服了总线带宽的限制nBanyan networks,内联网络技术在发展初期是用来连接多处理器系统中的处理器的n设计先进:把分组分割成固定长度的
38、单元,再把这些单元送入交换网络 nCisco 12000:通过内联网络交换速度为若干Gb/s输出端口n缓存 当来自交换网络的分组到达速度高于传输速率时,需要进行缓存n调度原则 从队列中的分组中选择传输 输出端口的排队n当交换速度超过输出线路的速率时,需要进行缓存n输出端口的溢出会造成排队(延迟)和数据丢失!5.4 Internet上的网络层n5.4.1 网际协议IPn5.4.2 因特网控制报文协议ICMPn5.4.3 IP地址及寻址n5.4.4 地址转换协议ARP及逆地址转换协议RARP因特网网络层routingtable主机,路由器的网络层功能:Routing protocolspath s
39、electionRIP,OSPF,BGPIP protocoladdressing conventionsdatagram formatpacket handling conventionsICMP protocolerror reportingrouter“signaling”Transport layer:TCP,UDPLink layerphysical layerNetworklayer5.4.1 网际协议IPnIP的功能nIP协议是整个TCP/IP协议的核心,主要功能包括:n定义数据报,这是Internet中最基本的传输单位n定义寻址方式,即IP地址n在网络访问层和主机到主机之间传输
40、数据n将数据报传送到远端主机,包括路由选择n进行数据报的分解和重组,例如IP和X.25数据交换5.4.1 网际协议IPnIP的特性n面向无连接协议n采用数据报不建立虚电路nIP在传输过程中不进行错误检测n不检查目的主机是否确实收到数据n通信信道品质良好的网络IP协议仍是可信赖的nIP寻址方式n本地地址将直接传输n远程地址检查路由表,找到路由按该路径传输,找不到发送到缺省路由IP 协议 nIP包格式 nIP包的分段与重组 nIP地址 IP包格式 04816 31版本头部长服务类型总长标识标志段偏移生存时间类型头部校验和源IP地址目的IP地址IP可选项(可以省略)充填域数据开始 v版本为版本为4(
41、Ipv4)v头部长以头部长以32位字长为单位位字长为单位 IP包格式(续)n服务类型:8位n总长:包括报头和数据报,最长216 1,即65535个字节 n标识、标志、段偏移:用于数据报的分段 n生存时间:以秒为单位 由用户指定数由用户指定数据报的优先级据报的优先级70Throughput01234567优先级DTR未用DelayReliability由路由器选择哪由路由器选择哪个最优先,但通个最优先,但通常都忽略常都忽略也可以经过路由器的个数为单位也可以经过路由器的个数为单位 IP包格式(续)n类型或协议 n头部校验和:按16位相加,结果求反 n源和目的地址:32位 nIP可选项:用于控制和测
42、试 n充填域:凑成32位的整倍数 TCP6UDP17ICMP1OSPF89IP 协议 nIP包格式 nIP包的分段与重组 nIP地址 分段过程 n按MTU的及数据包的实际负载长度计算所需段数,并划分,分段应满足两个条件:n原数据包的报头作为每段的数据包报头,并修改其中的某些字段,指明:各段在不大于各段在不大于MTU的前提下,尽可能地大的前提下,尽可能地大 被分出的段的长度应为被分出的段的长度应为8的整倍数的整倍数 属原来的哪个分组(数据包)属原来的哪个分组(数据包)属原来分组中的第几个分段属原来分组中的第几个分段哪一个是段尾哪一个是段尾 通过标志、标识和段偏移实现 n标识(identifier
43、):16位n标志(flag):3位n段偏移(fragmentation offset):13位 发送方每发送一个报文编号加一发送方每发送一个报文编号加一 各分段的标识相同各分段的标识相同 源地址加标识来区分各个分段源地址加标识来区分各个分段 012保留DFMFDF=0 允许分段允许分段 =1 不允许分段不允许分段 如刚起动时,即如刚起动时,即Boot时不允许分段时不允许分段 MF=0 最后一段最后一段 =1 段未结束段未结束 实际偏移量实际偏移量=段偏移值段偏移值 x 8 Byte IP包分段举例n一个物理网络的MTU为1500B,现要传输一个数据报(其报头为20B,数据区长度为1400B)到
44、MTU为620B的另一个物理网络,其分段情况为:原原IP报头报头600600200分段分段1报头报头600分段分段2报头报头600分段分段3报头报头200n每个分段的报头其基本部分(如源地址、目的地址等)是copy原数据报的报头,与分段相关的域则应重新生成 IP包分段举例(续)原报头分段1报头分段2报头分段3报头ID 标识33030330303303033030M标志0110OS 段偏移0075150TL 总长1420620620220段未结束段未结束75 x 8=600数据报分段的重组 n重组是在各分段都到达目的地后才进行 n途中的任意一个路由器都无法重组nInternet的互联网层是遵循尽
45、力而为来传送IP包的,也存在力不从心的时候,此时只能丢弃重组主机将遵循:重组主机将遵循:要么重组成功,要么全部丢弃的原则要么重组成功,要么全部丢弃的原则 每个分段可以走不同的路径每个分段可以走不同的路径减少路由器中保存的信息量及路由器的工作量减少路由器中保存的信息量及路由器的工作量重组必须在所有的分段全部收到后,才可进行重组必须在所有的分段全部收到后,才可进行 IP 协议 nIP包格式 nIP包的分段与重组 nIP地址 IP地址的层次结构和分类 nIP地址分为A、B、C、D、E类031NetIDHostID0前缀后缀0816311 0前缀后缀1 1 0前缀后缀1 1 1 0多址传送地址1 1
46、1 1保留将来使用A类类B类类C类类D类类E类类大规模网络大规模网络中规模网络中规模网络小规模网络小规模网络地址类别网络数主机数A0127(126)16777216-2B128191(16384)65536-2C192223(2097152)256-2IP地址的表示 n点分十进制表示 如:202.120.1.154n特殊IP地址 前缀后缀地址类型用途全0全0本机启动时使用网络ID全0网络标识一个网络网络ID全1直接广播在指定网上广播全1全1有限广播在本地网上广播127任意回送测试(127.0.0.1)无盘工作站在启动时尚不知道自己所处的网络ID,所以用32为全1地址 在本网段内广播,请求回答私
47、有网络的IP地址 地址类别地 址A类10.0.0.0-10.255.255.255B类172.16.0.0-172.31.255.255C类192.168.0.0-192.168.255.255子网划分-划分子网的原因n一个路由器端口的连接(一个物理网段)至少组成一个网络n按原来的地址结构(二维结构),一个网络至少需要一个C类地址,因为一个网络需要有一个唯一的网络地址nIP地址的紧缺和地址分配中的浪费形成一对矛盾路由器连接的三个C类网络 网络网络1202.120.1.0 网络网络2202.120.2.0 网络网络3202.120.3.0 202.120.1.1 202.120.1.2 202.
48、120.1.3 202.120.1.4 202.120.3.1 202.120.3.2 202.120.3.3 202.120.2.1 202.120.2.2 202.120.2.3路由器路由器子网划分-三维地址结构n原有地址结构是二维的(网络地址,主机地址),增加地址结构的维数,可提高地址分配的灵活性和可用性三维结构:网络地址,子网地址,主机地址n在一个C类地址中仅主机地址可由网管人员自主分配向主机地址域借位组成子网地址以形成三维地址结构子网地址位数的确定n借1位:子网地址子网地址=0 :表示本子网主机:表示本子网主机不可作为有效目的地址使用不可作为有效目的地址使用子网地址子网地址=1 :子
49、网地址全:子网地址全1,不可用,不可用 因此至少要借因此至少要借2位位子网地址主机地址C类地址网络地址xxxxxxxx子网地址位数的确定(续)n借7位:主机地址子网地址C类地址网络地址xxxxxxxx主机地址主机地址=0 :子网地址,子网地址,不可作为地址分配不可作为地址分配主机地址主机地址=1 :广播地址,广播地址,不可作为地址分配不可作为地址分配 因此最多可借因此最多可借6位位子网掩码n子网掩码的作用因为子网地址的位数不是固定的,所以必须告知主机地址中哪一部分是子网的网络地址段,哪一部分是主机地址段n子网掩码使用与IP编址相同格式子网掩码的网络地址部分和子网地址部分全为1,它的主机部分全为
50、0n一个缺省C类IP地址的掩码为255.255.255.0子网掩码(续)n 一个C类主机地址为202.120.3.99子网地址=011的子网掩码是:255.255.255.224子网地址网络地址主机地址C类IP地址11001010 01111000 00000011 011 00011202120399掩 码11111111 11111111 11111111 111 00000255255255224子网掩码(续)n包含子网地址的网络号=IP地址掩码掩码也可用更简洁的方式表示:掩码也可用更简洁的方式表示:202.120.3.99/27,其中,其中27表示掩码中表示掩码中1的个数的个数子网地址
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。