第四章 网络层 网络层 网络层 网络层 网络层 网络层
内 容 黑白纵横三千里 第一节 网络层的设计问题 经天纬地一点通 第二节 路由算法 第三节 网络互联 第四节 IP协议 存储转发数据包交换 提供给传输层的两种服务及其实现 虚电路与数据报网络 经天纬地一点通 第二节 路由算法 最短路径算法、泛洪算法、距离矢量算法、链路状态路由、层次路由、广播路由、组播路由、选播路由、移动主机路由、自组织网络路由 第三节 网络互联 异构网络互联 隧道 互联网路由 数据包分段 第四节 IP协议 IPv4协议(IP数据报的头格式) IP地址 Ipv6协议 第五节 Internet控制协议 网际控制报文协议ICMP、地址解析协议、 动态主机配置协议
黑白纵横三千里 内 容 经天纬地一点通 第六节 因特网的路由选择协议 内部网关协议OSPF 外部网关协议BGP
网 存储转发数据包交换 络层的设计问题 4.1.1 存储转发数据包交换 如果有一台主机要发送一个分组,那么它将分组传送给最近的路由器,该路由器或者在它自己的lan上,或者在一条通向承运商的点到点链路上。该分组将被存储在路由器上,一直到它完全到达路由器为止,所以路由器可以验证它的校验和。然后它被沿路转发到下一台路由器,直到到达目标主机为止,最后在目标主机上它被递交给相应的进程。这种机制即为存储转发分组交换机制。 网络层协议的环境
网 提供给传输层的两种服务及其实现 络层的设计问题 网络层的服务模式 网络层提供的服务类型 4.1.2 提供给传输层的两种服务及其实现 服务应与通信子网的技术无关通信子网的数量、类型和拓扑结构对于传输层来说是隐蔽的传输层能获得的网络地址应采用统一的编号方式,即使跨越了多个LAN和WAN 网络层提供的服务类型 面向连接的服务:需事先建立连接 如X.25, ATM 无连接服务:不需要事先建立连接 IP网
网 虚电路与数据报网络 络层的设计问题 通信子网的结构 4.1.3 虚电路与数据报网络 虚电路子网 连接建立时选择一条路径 每个分组包含一个连接号 通信结束后,链路撤消 数据报子网 每个数据报包含全部的目的地址,自行寻找路径
两种子网比较 不同的子网结构和服务的组合 虚电路子网 通过路径选择后建立连接 到终点后毋需重新排序 每个分组不需带目的地址,但带虚电路号(较短) 通信后撤销连接 数据报子网 每个分组分别选择最佳路径,健壮性较好到终点后需重新排序 差错控制和排序工作由协议高层(主机)完成 不同的子网结构和服务的组合 子网结构 服务方式 数据报子网 虚电路子网 面向无连接 IP上的UDP ATM上的IP 面向连接 IP上的TCP ATM上的AAL1 第一节 网络层的设计问题 第二节 路由算法 第三节 网络互联 第四节 ip协议 第五节 internet控制协议 第六节 因特网的路由选择协议
路 由算法 4.2 最短路径算法、泛洪算法、距离矢量算法、链路状态路由、层次路由、广播路由、组播路由、选播路由、移动主机路由、自组织网络路由 最短路径算法 基本原理 在最短路径法中,数据沿着到目的网络的最短路径传送。每个路由器有一张路由表,表中包含去往任一目的路由器的下一跳路由器的地址和距离等路由信息。路由表在整个初始化配置时生成,并且在此后的一段时间内保持固定不变。当网络通信量相对稳定且拓扑结构固定不变时,采用最短路径法是最好的。
最短路径度量指标 两个路由器之间的跳数; 地理距离(单位:千米); 信道带宽; 平均通信量; 通信开销; 队列平均长度; 延时;
A到D的最短路径计算的前5步,箭头指示工作路由器 路由表的生成 A到D的最短路径计算的前5步,箭头指示工作路由器
最短路径树计算与路由表
使用最短路径算法应注意 由A的路由表可以看出,所有由A转发的分组都要经过B,如果通信量变化较大的话,B很可能不堪重负而发生拥塞,进而影响网络的传输性能。可见,最短路径算法在通信量不平稳时不好。
泛洪算法 泛洪(flooding) 交换机和网桥使用的一种数据流传递技术,将某个接口受到的数据流从除该核接口之外的所有接口发送出去。 SYN泛洪攻击 SYN攻击利用的是TCP的三次握手机制,攻击端利用伪造的IP地址向被攻击端发出请求,而被攻击端发出的响应报文将永远发送不到目的地,那么被攻击端在等待关闭这个连接的过程中消耗了资源,如果有成千上万的这种连接,主机资源将被耗尽,从而达到攻击的目的。我们可以利用路由器的TCP拦截功能,使网络上的主机受到保护。
DHCP报文泛洪攻击 DHCP报文泛洪攻击是指:恶意用户利用工具伪造大量DHCP报文发送到服务器,一方面恶意耗尽了IP资源,使得合法用户无法获得IP资源;另一方面,如果交换机上开启了DHCP Snooping功能,会将接收到的DHCP报文上送到CPU。因此大量的DHCP报文攻击设备会使DHCP服务器高负荷运行,甚至会导致设备瘫痪。 ARP报文泛洪攻击 ARP报文泛洪类似DHCP泛洪,同样是恶意用户发出大量的ARP报文,造成L3设备的ARP表项溢出,影响正常用户的转发。
距离矢量算法 工作原理 是动态、分布式算法,RIP协议中使用本算法,较小系统中常使用RIP实现分布式算法的三要素: The measurement process(测量) The update protocol(更新邻接点距离矢量) The calculation(计算) 工作原理 每个路由器用两个向量Di和Si来表示该点到网上所有节点的路径距离及其下一个节点相邻路由器之间交换路径信息各节点根据路径信息更新路由表。
Di = di3 Si = si3 di1:从节点i 到节点1 的时延向量 di2:从节点I 到节点2 的时延向量 … din si1 si2 Si = si3 … sin si1:从节点i到节点1的一条最小时延路径上的下一个节点 si2:从节点i到节点2的一条最小时延路径上的下一个节点 其中:n —网络中的节点数 Di—节点i的时延向量 dij—节点i到j的最小时延的当前估计值 Si—节点i的后继节点向量 sij—从节点i到j的最小时延路径上的下一节点
dij = min(dix + dxj) 路由表的 Sij = x(从i到j途经的下一个节点为x) 其中:A—与i相邻的所有节点的集合 dij—i到j 的最短距离 dix—i到x的最短距离 dxj—x到j 的最短距离
注意:A I为21;I A为24 因为:节点A和I都是各自测 得的距离,且不一定是同一 时刻测得的,线路状态是动 态变化的 所谓节点即路由器 J重新估计的延时 To 通过A 通过I 通过H 通过K A 24 20 21 B 12 36 31 28 C 25 18 19 D 40 27 8 E 14 7 30 22 F 23 G 6 H 17 I J 9 11 10 K L 29 33 J到A 延时 为8 J到I延 时为 J到H 为12 J到K 为6 线路 8 A 20 28 I H 17 30 18 12 10 - 6 K 15 节点J的 新路由表 A I B F J C G K D L E H 注意:A I为21;I A为24 因为:节点A和I都是各自测 得的距离,且不一定是同一 时刻测得的,线路状态是动 态变化的 所谓节点即路由器 当前节点为J
缺点 无穷计算问题 交换的路径信息量大 路径信息不一致 收敛速度慢(坏消息) 距离矢量中不考虑带宽因子 不适合大型网络 交换的路径信息量大 路径信息不一致 收敛速度慢(坏消息) 距离矢量中不考虑带宽因子 不适合大型网络 无穷计算问题 好消息传播得快,坏消息传播得慢 A B C D E A B C D E A下网了 ∞ 1 ∞ 2 ∞ 3 ∞ 4 初始时 第1次交换后 第2次交换后 第3次交换后 第4次交换后 1 3 5 2 3 4 4 3 4 4 5 4 6 5 6 初始时 第1次交换后 第2次交换后 第3次交换后 第4次交换后 7 6 7 6 8 7 8 ………… 第5次交换后 第6次交换后 无穷计算问题 ∞ ∞ ∞ ∞
克服收敛速度慢的方法 水平分裂 同距离矢量法,只是到X的距离并不是真正的距离,对下方点通知真正的距离,对上方点,给出无穷大如上图中的C点,它 向D通知到A的真正距离,而向B通知到A的距离是无穷大 Holddown 当发现不通时,不重新选路径,而是把它设成无穷大
链路状态路由选择 链路状态路由选择替代距离向量路由选择的主要原因: (1)距离向量路由选择使用待发分组排队的队列长度作为延时度量,没有考虑线路的带宽,不能适应后来线路升级; (2)距离向量路由选择算法用于信息记录的耗时过多。
基本原理 路由器定期探测它的相邻路由器,并把测量到的到相邻的路由器链路上的状态信息装入一个特定分组,通过发送该分组到所有的路由器(不只相邻路由器把链路状态信息告知其他路由器。到其他路由器的最短路径有Dijkstra算法(Dijkstra算法是典型最短路算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法能得出最短路径的最优解,但由于它遍历计算的节点很多,所以效率低)计算。 优点 继承了距离向量路由选择动态采集交换路由信息的特点,使用了最短路径算法处理链路信息,简单高效。
执行链路状态路由选择的路由器的工作: (1)探测相邻路由器,并获得其网络地址; (2)测量到相邻路由器的延时或开销; (3)组装链路状态信息分组; (4)发送链路状态信息分组到所有其他路由器; (5)计算到其他路由器的最短路径。
链路状态路由选择把LAN抽象成一个结点
测量链路开销 最直观的方法:(以延时开销为例) 发送一个ECHO分组给相邻的路由器X,并要求X收到后,立即把ECHO分组发回来,ECHO分组往返的时间的一半就是与X之间延时的一个自然估值,可以多取几个这样的估值,按数理统计原理计算出更为精确合理的估值。 延时包括了分组在链路上的传输时间和两端发送与接收的排队时间。其中传输时间与带宽有关,排队时间与载荷(链路容量)有关。
组装链路状态分组 链路状态分组的格式: (1)发送者标识是发送该分组的路由器的名字; (2)序号是指该分组是路由器发送的第几个分组,路由器每发送一个分组,其序号就加1。序号占32b,足够路由器为分组排序之用; (3)年龄是指分组生存时间,每秒减1,当年龄归零时,分组就被丢掉。可以防止分组在网络中生存时间过长。
分组组装时机: (1)定期组装,即每隔一定时间组装一次分组。 (2)不定期组装,只有当网络中发生链路或路由器的增删或状态信息发生明显改变时才组装分组。
发布链路状态分组 链路状态分组的发布是通过扩散(flooding)实现的。基本做法是,路由器记下它见过的分组的[发送者标识,序号]。当一个分组到达时,进行如下处理: (1)它根据[发送者标识,序号]判断该分组是否收到过,如果是新的,则把它向所有链路(进入链路除外)发布,如果是重复的,则丢弃它。 (2)如果分组的序号比当前已到达的最大的序号小,则被认为是已过时而被拒绝。
隐含问题 (1)如分组重复循环使用,就会发生误丢弃。 (2)如一个路由器重启,分组序号将会再从0开始计数,新的分组会被其他工作着的路由认为重复或过时分组而将其丢弃。 (3)分组传送过程中序号字段发生错误,有可能会将其当做过时分组丢弃。
算法优化基本思想: 当一个链路状态分组扩散到一个路由器时,它并不立即排队等待发送,而是先被放到一个缓冲区中等待一段时间,如果缓冲区中已经有了一个来自同一个路由器的分组,则比较一下新旧分组的序号。如果相等,新分组由于重复被丢弃,如果不相等,旧的分组被丢弃。一旦链路空闲,缓冲区就会循环扫描以选择发送一个分组或应答。
层次路由结构 计算新路由 自治系统 IGP和EGP 层次路由 当路由器收集到了足够的链路状态数据后,就可以调用Dijkstra算法计算最短路径了。用最短路径计算结果刷新路由表,整个网络新的路由表就重建起来了。 层次路由结构 自治系统 IGP和EGP 层次路由
自治系统 因特网被划分为一个个自治系统。 从路由的角度看,拥有同样的路由策略、在同一管理机构下的由一系列路由器和网络构成的系统称为自治系统AS。 相对其他的自治系统AS 而言,一个自治系统AS 的有独立而统一的内部路由策略,它对外呈现一致的路由状态。 每个自治系统AS都有一个唯一的编号,即AS号。
IGP和EGP 内部网关协议IGP 同一个AS内部的路由器之间的路由协议 IGP的目的就是寻找AS内部所有路由器之间的最短路经。 常见的IGP协议有RIP和OSPF。 外部网关协议EGP AS之间的路由协议。EGP的目的是维持AS之间的连通性。 常用的EGP协议有BGP-4。
层次路由结构
广播路由选择 完全发送法 广播: 将分组同时发往所有目的地称作为广播(broadcast)。 常见广播路由分组方法: 完全发送法、扩散法、多目的地路由选择、生成树法、逆向路径转发等。 完全发送法 源主机向每一个目的主机发送分组。 缺点:浪费带宽,而且还要求源端拥有全部目的端的完整清单。 这种方法是最不理想的方法,但在有些时候,也许是唯一可能的方法。
扩散法 多目的地路由选择 当某个路由器收到一个不是发给它的分组时,就向所有相邻的路由器转发该分组(发送该分组的路由器除外)。 缺点:生成太多的分组和消耗太大的带宽。 不适用于点对点信道。 多目的地路由选择 每个广播分组要携带一个目的地列表或者是一张希望的目的地地图。当分组到达路由器时,路由器检查列表中的目的地,然后确定要使用的输出线路。 确定线路的原则:如果某线路提供到达至少一个目的地的最好路由,则选择该线路。 路由器为每条选择的线路复制一个新分组,新分组中目的地列表仅包含由此线路能够到达的目的地。
生成树法 生成树(spanning tree)是通信网的子集,它容纳所有的路由器,但不包含回路。如果每个路由器知道它属于的生成树的线路,它就把到来的广播分组复制到生成树中的所有线路(分组进入的线路除外)。 生成树法使带宽得到最佳利用,因为只有在生成树线路上复制分组,其数量非常少。 缺点:每个路由器必须知道自己的生成树,生成树的制作有一定的不确定性。
逆向路径转发 基本原理 当广播分组到达路由器时,路由器对此分组进行检查,确认该分组是否来自于到广播源的输出线路(逆向路径),如果是,则此广播分组很可能是从源路由器来的第一个副本,路由器将此分组度知道除进入线路外的所有线路;如果广播分组到来的线路不是到达源端的线路,则广播分组就被当作副本而扔掉。 优点: 不要求路由器知道生成树,不需要在广播分组中携带目的地列 表或地图,也不需要用特殊机制来停止处理过程。 逆向路径转发法相对要合理、有效且容易实现。
组播路由 组播(multicast): 是指一个主机要向一组目的主机(不是所有的主机,这是与广播的区别)发送同一个分组,组中的主机都要接受分组(不是只有一个主机,这是与任播的区别)。 目的主机要比整个网络主机数量少得多,故单播和广播不适用于组播。 组播组:组播的一组目的主机。
基本思想 每个路由器需要计算出一棵覆盖整个子网的生成树。同时,路由器知道它的主机所隶属的组播组。然后将它知道的主机隶属关系告诉它的相邻路由器,以使之在整个网络中传播开来。 得到隶属关系的途径: (1)、主机通知路由器组播组主机的变化情况。 (2)、路由器定期查询它的主机。 当路由器接到组播分组时,它根据掌握的主机隶属关系,修剪它计算出的整棵生成树,去掉那些不能到达组播组主机的枝,然后将组播分组沿着修剪后的生成
生成树修剪方法
缺点: (1)不适用于大型网络 (2)生成树的计算问题 降低存储开销的解决办法: 减少组内生成树的棵数。比如基于核心生成树算法(core-base tree),即每个组只计算一棵生成树,以组的核心位置为路由器作为根。组播主机先将分组发给核心路由器,再由核心路由器沿修剪好的生成树转发。
选播路由 概念 选播是一种新型网络服务,被IPv6规定为一种标准通信模型。用户通过一个选播地址就能访问到该地址所表示的一组服务器中离用户“最近”的一个。随着越来越多的网络应用需要选播服务支持,选播路由成为重要的研究课题。该文对选播服务和已有选播算法进行了分析,基于遗传算法思想将双种群策略引入到选播QoS路由。仿真实验表明,新算法能有效地提高网络搜索的速度,增加获得最优路径的概率,大大改善网络的服务质量。
Group A Member 2 Group A Member 1 Anycast Packet Anycast Packet Sender2 Sender1
应用实例 复制服务器的定位 移动IP本地代理的查找 支持主机的自动配置 作为多播的基础
局域网LAN+城域网MAN+无线蜂窝单元=广域网WAN 移动主机的路由选择 网络主机的分类 (1)静止主机:有线介质,地理位置固定。 (2)迁移主机:物理连接,位置固定转移。 (3)漫游主机:无线介质,位置任意移动。 其中迁移主机和漫游主机统称为移动主机。 移动主机登陆注册 局域网LAN+城域网MAN+无线蜂窝单元=广域网WAN
典型的登录注册过程: (1)外地代理定期广播一个分组,宣布自己的存在及地址。一个新到的移动主机可以捕获到这个分组。如果分组就等不来的话,移动主机就会主动广播一个分组问:这里有没有外地代理。 (2)移动主机将自己的原在地的地址、当前数据链路层地址以及一些安全性信息告诉外地代理。 (3)外地代理与移动主机的主代理联系,证实移动主机的确在外地代理这里。同时外地代理将自己的网络地址和安全信息告诉移动主机的主代理。
(4)主代理检查外地代理的安全性信息(信息中包含一个时间标记,它能证实信息是新的,比如在过去几秒钟内刚刚生成)。如果检查通过,主代理告诉外地代理继续注册过程。 (5)当外地代理从主机代理处得到确认后,外地代理移动主机在外地代理的注册中开出一项,记录移动主机的地址信息,并且通知移动主机它已登陆注册。
向移动主机发送数据 发往移动主机的分组使用的是移动主机的永久地址,因此,分组先被路由到移动主机的主LAN(右上角本地局域网),主LAN中的主代理看到分组后,首先确定接收分组的主机是否在本地,如果该主机不在本地,就要从外地代理发来的信息中查找主机现在的位置,并确定正管理该主机的外地代理。
确定这些信息之后,主代理的工作: (1)发送分组到外地代理; (2)告诉源主机目的主机的外地代理的地址。 当源主机知道目的主机的外地代理的地址后,它就可以直接把分组 发往外地代理,分组到达外地代理后,再转发给移动主机。
移动主机路由
隧道技术 给原始分组加上一个新的头部形成一个新的分组,原始分组作为新分组的有效载荷。新头部使原始分组向在隧道中传输一样。 隧道技术主要是基于安全性的考虑,因为移动环境的安全隐患更多。 新头部中可以包含代理的安全认证信息,同时还可以隐藏原始分组中的源宿地址,这样,即使分组被窃取,也得不到真实的源宿地址。
移动主机路由协议实现方案 Ioannidis、Maguire、Myles、Skeilern、Perkins、Teraoka、Wada等。 多种移动主机路由协议的异同: (1)协议在多大程度上应该在路由器上执行,又在多大程度上由主机执行,主机又在哪一层执行。 (2)在少数方案中,沿途的路由器记下外地代理地址,以便拦截分组并将之重定向到外地代理。 (3)在某些方案中,每一个移动主机都有一个唯一的临时地址,而在另一些方案中,只有管理所有移动主机通信的代理才具有临时地址。 (4)有的方案不使用隧道技术,而是直接把移动主机的临时地址作为分组的目的地址。这种做法不但不使用主代理,也不使用外部代理。 (5)各方案的安全性不同,表现在是否使用安全认证信息和隧道技术。
自组织网络路由 自组织网络的特点 路由算法设计目标 自动配置 多跳性 无中心和自组织性 动态拓扑 带宽的限制 移动终端的局限性 存在单向信道 安全性较差 路由算法设计目标 简单、最优化、高效、低耗、控制开销小 无环路、快速收敛 健壮、稳定、灵活
网络的组成部分
路由算法分析和分类 根据路由发现的驱动模式的不同,移动AdHoc网络的路由协议可分为表驱动(Table-driven)和按需(on-demand)路由协议,这种划分方法是目前国内外学术界对移动AdHoc网络的路由协议的主流的划分方法。
表驱动路由协议 表由驱动路协议又称为先验式路由协议。在这种路由协议中,网络中的每个节点都会维护一张路由表,路由表中包含着到达网络中其它节点的路由信息。当源节点要向某个目的节点发送数据包时,则可以立即从路由表中获得路由。如果节点检测到网络的拓扑结构发生变化,节点将在网络中发送更新消息;而收到更新消息的节点将相应地更新自己的路由表,以维护一致的、及时的、准确的路由信息。所以路由表可以准确地反映网络的拓扑结构,因此这种路由协议的时延较小;但是由于需要及时的更新路由信息,路由协议的开销较大。典型的表驱型路由协议有DSDV、CGSR、FSR、WRP、DBF,GSR、HSR、ZHLS等。
按需路由协议 按需路由协议又称为反应式路由协议,是一种当节点需要发送数据包时才查找路由的路由算法。在这种路由协议中,网络中的节点不需要维护及时准确的路由信息,只有当向目的节点发送数据包时,源节点才在网络中发起路由发现过程,寻找相应的路由。与先验式路由协议相比,反应式路由协议的开销比较小,但是由于发包时要进行路由发现过程,数据报传送的时延较大。典型的按需驱动路由协议有DSR、AODV、TORA、ABR等 第一节 网络层的设计问题 第二节 路由算法 第三节 网络互联 第四节 ip协议 第五节 internet控制协议 第六节 因特网的路由选择协议
网 异构网络互联 络互联 4.3.1 异构网络互联 不同的底层网络所依照的标准各不相同,如Ethernet 依照IEEE802.3、WLAN 依照IEEE802.11、宽带无线网依照IEEE802.16 等,这使得异构网络在进行互连 时面临以下问题: ①不同的网络使用了不同的帧格式; ②相互连接的网络可能工作在不同的数据速率上; ③不同的网络有不同的最大帧长度限制; ④不同网络提供的加密和服务质量等特性不同。
异构网络互联安全性分析 一个典型的异构网络拓扑结构
网 隧道 络互联 4.3.2 隧道 隧道作用 网络互联的一种较简单的方式 VPN—在公用网上建立自己的专用网 隧道协议 第二层隧道协议 PPTP—point to point tunneling protocol L2TP—layer 2 tunneling protocol 第三层隧道协议: Ipsec(IP security)
网 络互联 4.3.3 互联网路由 互联网的路由 将网络分成一个个的AS(autonomoussystem 自治系统),AS之间由路由器连接每个自治系统受单一管理机构控制,由一组网络构成 (如校园网就是一个AS )AS中由内部网关协议IGP(Interior Gatewayprotocol)处理AS间由外部网关协议EGP(Exterior Gatewayprotocol)进行处理
网 数据包分段 络互联 分组号,偏移量和分组结束标志 4.3.4 数据包分段 每个报头都包含三个字段: 27 0 1 A B C D E F G H I J 第一节 网络层的设计问题 第二节 路由算法 第三节 网络互联 第四节 ip协议 第五节 internet控制协议 第六节 因特网的路由选择协议 27 0 0 A B C D E F G H 27 8 1 I J 27 5 0 F G H 27 0 0 A B C D E 27 8 1 I J
ip 协议 4.4.1 IPv4协议(IP数据报的头格式) IPv4协议 IP分类编址 子网划分 IP分组 分片
IP分类编址 网络号 主机号 A类 B类 C类 多播地址 D类 1 保留未用 E类 第1个字节(0~7) 第2个字节(8~15) 1 保留未用 E类 第1个字节(0~7) 第2个字节(8~15) 第3个字节(16~23) 第4个字节(23~31)
互联网上的IP地址对应连接关系
互联网上的每个IP地址标识的不是某台设备(主机或路由器),而是设备和网络之间的一个连接。与多个网络有连接的设备必须为每个连接分配一个IP地址。每一个地址对应路由器中的一个接口。
特殊地址 特殊地址 网络号 主机号 源地址/目的地址 网络地址 特定的 全0 都不是 直接广播地址 全1 目的地址 受限广播地址 本网络上的本主机 源地址 本网络上的特定主机 环回地址 127 任意
每一类网络中的网络数量和主机数量 类 第1个字节 地址范围 网络数量 主机数量 A 1 ~ 126 1.0.0.1 ~126.255.255.254 27-2 = 126 224-2= 16 777 214 B 128 ~ 191 128.0.0.1 ~ 191.255.255.254 214 = 16384 216-2 = 65 534 C 192 ~ 223 192.0.0.1 ~ 223.255.255.254 221 = 2 097 152 28-2 = 254 D 224 ~ 239 224.0.0.0 ~ 239.255.255.255 不适用 E 240 ~ 255 240.0.0.0 ~ 255.255.255.255
私有地址 类 网络地址 网络数 A 10.0.0.0 1 B 172.16.0.0 ~ 172.31.0.0 16 C 192.168.0.0 ~ 192.168.255.0 256
子网划分 32比特 网络部分(网络号) 主机部分 (主机号) 子网部分 (子网号) 主机部分(主机号) 两级地址结构 三级地址结构
IP地址与子网掩码的关系 网络部分 主机部分 子网部分 IP地址 子网掩码 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0
定长子网掩码 变长子网掩码 确定需要划分的子网数量。 确定被划分网络地址主机部分的位数。 根据子网数量,确定子网部分所需的位数。 计算子网掩码 确定每一个子网的地址范围 变长子网掩码
IP分组 版本 服务类型 标识 总长度 首部长 标志 分片偏移 生存时间 协议 首部校验和 源IP地址 目的IP地址 选项 数据 ……
选项类型 分片 记录路由 源路由 时间戳 最大传输单元(MTU) 任何一个物理网络的数据链路层都有其自己的帧格式,在帧格式中规定了一个物理帧中允许传输数据量的上限值,这个上限值称作网络最大传输单元,或MTU(Maximum Transfer Unit)。
具有不同MTU的互联网 分组首部 数据(1480字节) 数据(600字节) 分片首部1 分片首部2 数据(280字节) 分片首部3
ip IP地址 协议 使用ip地址的原因 4.4.2 IP地址 如同在全球电话网络一样,人们要给他人打电话,就要求对方的电话机必须具有自己的、唯一的电话号码。 在拥有成千上万台计算机的internet网络上,准确实现计算机之间信息传递的前提也是每台计算机必须具有自己的“身份证号码”,这个身份证号码唯一表示这台计算机,称为Internet的IP地址。
ip地址简介 (注:目前使用的IP地址是IPv4是32位,现在正在研发调试 的IPv6是128位。) TCP/IP规定:IP地址由32位二进制数组成。 (注:目前使用的IP地址是IPv4是32位,现在正在研发调试 的IPv6是128位。) IP地址的格式: IP地址由32位二进制组成,分为4段,每段8位,中间用3个圆点格开 XXXXXXXX . XXXXXXXX . XXXXXXXX . XXXXXXXX 为了方便记忆,通常每段8位二进制数用十进制整数来表示 如上:203.227.136.235 这种书写方法叫做点数表示法。
ip地址分类 将IP地址分成A、B、C、D、E五类。 IP地址=网络地址+主机地址 组 成 4位区号 7位数字 电话号码 组 成 4位区号 7位数字 电话号码 相同区号的电话号码,是在相同的地区。 7位数字以表示一个地区最多可拥有107个电话号码,意味着可接入107部电话。 网络地址 主机地址 IP地址 相同网络地址的IP地址,是在相同的网段内。 n位主机地址表示一个网段最多可拥有2n个主机地址,意味着可接入2n台计算机。 人们按网络规模的大小(一个网段内可以接多少台主机), 将IP地址分成A、B、C、D、E五类。
A类ip地址 1、A类地址中,网络地址占8个二进制位(前面的一段),由最高位0和随后的7位二进制表示;主机地址占24个二进制位(后面三段)。 地址结构: 1 2 3 4 5 6 7 8 31 网络地址 主机地址 1、A类地址中,网络地址占8个二进制位(前面的一段),由最高位0和随后的7位二进制表示;主机地址占24个二进制位(后面三段)。 2、A类网络地址,第0位二进制位,必须是0,后面31位二进制位可以是0或1。(注:计算机中,通常编号从0号开始)。因此,A类地址中,网络地址最小值为(00000000)2=(0)10,最大值为(01111111) 2=(127)10。
比较 电话号码 A类IP地址 4位区号 4位区号,可表示多少地区数? 7位数字表示,一个区号,最多可拥有多少个号码? 104=10000 4位区号,可表示多少地区数? 7位数字表示,一个区号,最多可拥有多少个号码? 107=10000000 8位网络标识 24位主机地址 注:理论上,网络地址从0~127,有27=128个网络号,但网络号中0的不使用,127留作它用。因此,真正实用中,A类地址的网络地址范围是1~126,共有126个网络号。 最高位0(固定)和7位二进制位组成,可表示多少网络号? 27=128 注:理论上,一个网段主机地址有16777218个,但主机地址中全为0的为网络地址,全为1的为广播地址。因此,真正使用的一个网段的A类地址的主机地址只有224-2=16777216 。 24位二进制表示的主机地址,一个网段内最多可拥有多少主机地址? 224=16777218
B类ip地址 1、B类地址中,网络地址占16个二进制位(前面的两段), 地址结构: 1 2 3 4 5 6 7 8 31 网络地址 主机地址 15 1、B类地址中,网络地址占16个二进制位(前面的两段), 由最高两位位10和随后的14位二进制表示;主机地址占16个二进制位(后面两段)。 2、B类网络地址,第0位二进制位必须是1,第1位二进制位 必须是0,后面30位二进制位可以是0或1。因此,B类地址中,网络地址最小值为(10000000)2=(128)10,最大值为(10111111) 2=(191)10。
B类IP地址,网络地址总共16位,其中最高两位是10,因此,B类IP 地址最多可以拥有214=16384个网络号。 与A类地址一样,但在现实生活中,主机地址中全为0的为网络地址,全为1的为广播地址。因此,真正使用的一个网段的B类地址的主机地址只有65536-2=65534个,意味着这个网段中真正最多可接入65534台计算机。
C类ip地址 1、C类地址中,网络地址占24个二进制位(前面的三段), 由最高两位位110和随后的21位二进制表示; 地址结构: 1 2 3 4 5 6 7 8 31 网络地址 主机地址 15 23 1、C类地址中,网络地址占24个二进制位(前面的三段), 由最高两位位110和随后的21位二进制表示; 主机地址占8个二进制位(后面一段)。 2、C类网络地址,第0位二进制位必须是1,第1位二进制位必须是1,第2位二进制位必须是0,后面29位二进制位可以是0或1。因此,C类地址中,网络地址最小值为(11000000)2=(192)10,最大值为(11011111) 2=(223)10
C类IP地址,网络地址总共24位,其中最高两位是110,因此,B类IP地址最多可以拥有221=2097152个网络号。 C类IP地址,主机地址总共8位。因此, C类IP地址中一个网段最多可以拥有28=256个主机地址。意味着这个网段中最多可接入256台计算机。 与A、B类地址一样,但在现实生活中,主机地址中全为0的为网络地址,全为1的为广播地址。因此,真正使用的一个网段的C类地址的主机地址只有256-2=254个,意味着这个网段中真正最多可接入254台计算机。
D类ip地址 1 2 3 4 5 6 7 8 31 15 23 D类地址的最高位为1110,D类IP地址的范围是224.0.0.0~239.0.0.0。它是一个专门保留的地址。它并指向特定的网络,目前这一类地址被用在多点广播中。 E类ip地址 1 2 3 4 5 6 7 8 31 15 23 E类地址的最高位为11110,E类IP地址的范围是240.0.0.0~247.0.0.0。E类地址保留,仅作试验和开发用。
A类IP地址 B类IP地址 C类IP地址 网络地址 主机地址 范围:1.x.x.x~126.x.x.x 网络地址 主机地址 1 2 3 4 5 6 7 8 31 网络地址 主机地址 A类IP地址 范围:1.x.x.x~126.x.x.x 1 2 3 4 5 6 7 8 31 网络地址 主机地址 15 B类IP地址 范围:128.x.x.x~191.x.x.x 1 2 3 4 5 6 7 8 31 网络地址 主机地址 15 23 C类IP地址 范围:192.x.x.x~223.x.x.x
FACC:B998:0056:0000:0000:0000:AAEE:BBCC ip 协议 4.4.3 Ipv6协议 IPv6协议 IPv6地址 IPv6分组格式 IPv6地址 冒号十六进制表示法 为了使地址具有更好的可读性,在地址表示上,128比特长的IPv6地址采用冒号十六进制表示法。在这种表示法中,128比特划分为8段,每段16比特,并用4个十六进制数表示,段与段之间用冒号分隔。 FACC:B998:0056:0000:0000:0000:AAEE:BBCC
地址类型 地址结构 单播地址(unicast address) 多播地址(multicast address) 任播地址(anycast address) 地址结构 可变长度 128比特 类型前缀 地址的其余部分
IPv6分组格式 IPv6基本首部格式 可选 基本首部 扩展首部1 … 扩展首部n 数据 版本 通信量等级 流标号 有效载荷长度 下一个首部 跳数限制 源地址 目的地址
扩展首部格式 一个或多个选项 下一个首部 首部长度 第一节 网络层的设计问题 第二节 路由算法 第三节 网络互联 第四节 ip协议 第一节 网络层的设计问题 第二节 路由算法 第三节 网络互联 第四节 ip协议 第五节 internet控制协议 第六节 因特网的路由选择协议
Internet 网际控制报文协议ICMP 控制协议 网际控制报文协议ICMP ping程序 网际控制报文协议ICMP 为了提高 IP 数据报交付成功的机会,在网际层使用了网际控制报文协议ICMP (Internet Control Message Protocol) 。 ICMP 允许主机或路由器报告差错情况和提供有关异常情况的报告。 ICMP 不是高层协议,而是 IP 层的协议。 ICMP 报文作为 IP 层数据报的数据,加上数据报的首部,组成 IP 数据报发送出去。
报文的格式 8 16 31 前 4 个字节 都是一样的 类型 代码 检验和 (这 4 个字节取决于 ICMP 报文的类型) 8 16 31 前 4 个字节 都是一样的 类型 代码 检验和 (这 4 个字节取决于 ICMP 报文的类型) ICMP 的数据部分(长度取决于类型) ICMP 报文 首 部 数 据 部 分 IP 数据报
ICMP报文的种类 ICMP 报文的种类有两种,即 ICMP 差错报告报文和 ICMP 查询报文。
ICMP报文类型 差错报告报文 终点不可达 源点抑制(Source quench) 时间超过 参数问题 改变路由(重定向)(Redirect) 查询报文 回送请求和应答 时间戳请求和应答
ICMP 差错报告报文的数据字段的内容 IP 数据报的数据字段 收到的 IP 数据报 IP 数据报 首部 8 字节 ICMP 的 前 8 字节 IP 数据报 首部 8 字节 ICMP 差错报告报文 首部 ICMP 差错报告报文 装入 ICMP 报文的 IP 数据报 IP 数据报
ICMP报文格式 类型 代码 校验和 首部的其余部分 数据
Ping程序 Ping(Packet InterNet Groper,简称ping)程序用来测试两个站点之间在IP层的连通性,它使用了ICMP回送请求报文和回送应答报文。 ping 用来测试两个主机之间的连通性。 ping 使用了 ICMP 回送请求与回送应答报文。 ping 是应用层直接使用网络层 ICMP 的例子,它没有通过运输层的 TCP 或UDP。
ICMP应用举例 配置ip地址
Ping命令实战
Mac地址
地址解析协议(ARP) ARP工作原理 ARP的改进 ARP分组格式 代理ARP
Ip地址与硬件地址 首部 应用层数据 网络层及以上 使用 IP 地址 IP 地址 TCP 报文 首部 链路层及以下 使用硬件地址 硬件地址 尾部 MAC 帧
查找路由表 查找路由表 通信的路径 H1→经过 R1 转发→再经过 R2 转发→H2 IP1 硬件地址 IP2 路由器 R1 路由器 R2 HA1 HA3 HA4 HA5 HA6 HA2 局域网 局域网 局域网 通信的路径 H1→经过 R1 转发→再经过 R2 转发→H2
从协议栈的层次上看数据的流动 主机 H1 主机 H2 IP1 硬件地址 IP2 路由器 R1 路由器 R2 HA1 HA3 HA4 HA5 局域网 局域网 局域网 主机 H1 主机 H2 IP 数据报 路由器 R1 路由器 R2 IP1 → IP2 IP1 → IP2 IP1 → IP2 IP1 IP2 IP3 IP4 IP5 IP6 IP 层上的互联网 HA1 HA3 HA4 HA5 HA6 HA2 从 HA1 到 HA3 从 HA4 到 HA5 从 HA6 到 HA2 MAC 帧 MAC 帧 MAC 帧
从虚拟的 IP 层上看 IP 数据报的流动 主机 H1 主机 H2 IP1 硬件地址 IP2 路由器 R1 路由器 R2 HA1 HA3 局域网 局域网 局域网 主机 H1 主机 H2 IP 数据报 路由器 R1 路由器 R2 IP1 → IP2 IP1 → IP2 IP1 → IP2 IP1 IP2 IP3 IP4 IP5 IP6 IP 层上的互联网 HA1 HA3 HA4 HA5 HA6 HA2 从 HA1 到 HA3 从 HA4 到 HA5 从 HA6 到 HA2 MAC 帧 MAC 帧 MAC 帧
在链路上看 MAC 帧的流动 主机 H1 主机 H2 IP1 硬件地址 IP2 路由器 R1 路由器 R2 HA1 HA3 HA4 HA5 局域网 局域网 局域网 主机 H1 主机 H2 IP 数据报 路由器 R1 路由器 R2 IP1 → IP2 IP1 → IP2 IP1 → IP2 IP1 IP2 IP3 IP4 IP5 IP6 IP 层上的互联网 HA1 HA3 HA4 HA5 HA6 HA2 从 HA1 到 HA3 从 HA4 到 HA5 从 HA6 到 HA2 MAC 帧 MAC 帧 MAC 帧
在 IP 层抽象的互联网上只能看到 IP 数据报 图中的 IP1→IP2 表示从源地址 IP1 到目的地址 IP2 主机 H1 主机 H2 IP 数据报 路由器 R1 路由器 R2 IP1 → IP2 IP1 IP2 IP3 IP4 IP5 IP6 IP 层上的互联网 HA1 HA3 HA4 HA5 HA6 HA2 从 HA1 到 HA3 从 HA4 到 HA5 从 HA6 到 HA2 MAC 帧 MAC 帧 MAC 帧
路由器只根据目的站的 IP 地址的网络号进行路由选择 主机 H1 主机 H2 IP 数据报 路由器 R1 路由器 R2 IP1 → IP2 IP1 → IP2 IP1 → IP2 IP1 IP2 IP3 IP4 IP5 IP6 IP 层上的互联网 HA1 HA3 HA4 HA5 HA6 HA2 从 HA1 到 HA3 从 HA4 到 HA5 从 HA6 到 HA2 MAC 帧 MAC 帧 MAC 帧
在具体的物理网络的链路层 只能看见 MAC 帧而看不见 IP 数据报 主机 H1 主机 H2 IP 数据报 路由器 R1 路由器 R2 IP1 → IP2 IP1 → IP2 IP1 → IP2 IP1 IP2 IP3 IP4 IP5 IP6 IP 层上的互联网 HA1 HA3 HA4 HA5 HA6 HA2 MAC 帧 从 HA1 到 HA3 从 HA4 到 HA5 从 HA6 到 HA2
IP层抽象的互联网屏蔽了下层很复杂的细节 在抽象的网络层上讨论问题,就能够使用 统一的、抽象的 IP 地址 研究主机和主机或主机和路由器之间的通信 主机 H1 主机 H2 IP 数据报 路由器 R1 路由器 R2 IP1 → IP2 IP1 → IP2 IP1 → IP2 IP1 IP2 IP3 IP4 IP5 IP6 IP 层上的互联网 HA1 HA3 HA4 HA5 HA6 HA2 MAC 帧 从 HA1 到 HA3 从 HA4 到 HA5 从 HA6 到 HA2
地址解析协议ARP和逆地址解析协议RARP 物理地址 IP 地址 RARP 物理地址 IP 地址
我是 209.0.0.5,硬件地址是 00-00-C0-15-AD-18 我想知道主机 209.0.0.6 的硬件地址 ARP 请求 X Y Z A B 00-00-C0-15-AD-18 主机 B 向 A 发送 ARP 响应分组 我是 209.0.0.6 硬件地址是 08-00-2B-00-EE-0A ARP 响应 209.0.0.6 209.0.0.5 X Y Z A B 00-00-C0-15-AD-18 08-00-2B-00-EE-0A
ARP工作原理 例: 在同一个物理网络(以太网)上的主机A和B。 主机A需要查询IP地址为168.69.11.20的主机B的物理地址。因为主机A不知道主机B的物理地址,查询就在网络上广播,查询的内容组成ARP请求分组。 主机B单播发送ARP应答分组。
使用ARP的四种情况
使用ARP的四种典型情况 发送方是主机,要把IP数据报发送到本网络上的另一个主机。这时用 ARP 找到目的主机的硬件地址。
ARP的改进 不管网络层使用的是什么协议,在实际网络的链路上传送数据帧时,最终还是必须使用硬件地址。 每一个主机都设有一个 ARP 高速缓存(ARP cache),里面有所在的局域网上的各主机和路由器的 IP 地址到硬件地址的映射表。 当主机 A 欲向本局域网上的某个主机 B 发送 IP 数据报时,就先在其 ARP 高速缓存中查看有无主机 B 的 IP 地址。如有,就可查出其对应的硬件地址,再将此硬件地址写入 MAC 帧,然后通过局域网将该 MAC 帧发往此硬件地址。
ARP高速缓存的作用 为了减少网络上的通信量,主机 A 在发送其 ARP 请求分组时,就将自己的 IP 地址到硬件地址的映射写入 ARP 请求分组。 当主机 B 收到 A 的 ARP 请求分组时,就将主机 A 的这一地址映射写入主机 B 自己的 ARP 高速缓存中。这对主机 B 以后向 A 发送数据报时就更方便了。
ARP分组格式 硬件类型 协议类型 硬件长度 协议长度 操作 (请求1,回答2) 发送站硬件地址 发送站协议地址 目的站硬件地址 目的站协议地址
代理ARP 两个物理网络通过代理ARP连接的例子
动态主机配置协议(DHCP)
DHCP简介 DHCP服务器和DHCP客户机 DHCP使用UDP协议封装,使用UDP的熟知端口67和68 DHCP(动态主机配置协议)提供了一种动态指定IP地址的机制。DHCP主要用于大型网络环境和配置IP比较困难的地方。DHCP服务器自动为客户端指定IP地址,使得网络上的计算机通信变得方便而容易实现。DHCP使IP地址可以租用,租期从1分钟到100年不定,当租期到了的时候,服务器可以把这个IP地址分配给别的主机使用。 DHCP服务器和DHCP客户机 DHCP使用UDP协议封装,使用UDP的熟知端口67和68
DHCP报文格式
静态地址分配与动态地址非陪 静态地址分配 静态地址分配方法将物理地址与IP地址绑定在一起,DHCP服务器将这个绑定文件存放在静态数据库中。 静态地址分配 静态地址分配方法将物理地址与IP地址绑定在一起,DHCP服务器将这个绑定文件存放在静态数据库中。 动态地址分配 DHCP服务器还有第二个数据库,它拥有可用IP地址池。当一个DHCP客户请求临时的IP地址时,DHCP服务器就查找可用IP地址池,然后指派在可协商的期间内有效的IP地址。
状态转换 转换状态 DHCP客户端可以从一个状态转换到另一个状态,这取决于收到的报文和发送的报文。 初始化状态 当DHCP客户端首次启动时,它处于初始化状态。客户使用UDP端口67广播DHCPDISCOVER报文(带有DHCPDISCOVER选项的请求报文)。
选择状态 发送DHCPDISCOVER报文后,进入选择状态。 接收到DHCPDISCOVER的DHCP服务器,用DHCPOFFER进行响应。 报文中,提供IP地址和租用时间,其默认值是1小时。 发送DHCPOFFER报文的服务器,把提供的IP地址锁定。 向所选择的服务器发送DHCPREQUEST报文。然后就进入请求状态。
DHCP运行过程 (1)发现阶段 DHCP客户以广播方式发送DHCPDISCOVER发现报文来寻找DHCP服务器
(2)提供阶段 接收到DHCPDISCOVER发现报文的DHCP服务器都会做出响应,向DHCP客户发送一个包含出租的IP地址和其它设置的DHCPOFFER提供报文。
(3)选择阶段 以广播方式回答一个DHCPREQUEST请求报文,该报文中包含向它所选定的DHCP服务器请求IP地址的内容。
(4)确认阶段 当DHCP服务器收到DHCP客户回答的DHCPREQUEST请求报文之后,它便向DHCP客户发送一个包含它所提供的IP地址和其它设置的DHCPACK确认报文。
SNMP管理器和代理 (5)重新登录 以后DHCP客户端每次重新登录网络时,直接发送含有前一次所分配的IP地址的DHCPREQUEST请求报文。 服务器根据实际情况发送DHCPACK或者DHCPNACK,如果客户收到DHCPNACK报文,则需要重新请求IP地址。 (6)更新租约 DHCP服务器向DHCP客户出租的IP地址一般都有一个租借期限,期满后DHCP服务器便会收回出租的IP地址。如果DHCP客户要延长其IP租约,则必须更新其IP租约 。DHCP客户启动时和IP租约期限过一半时,DHCP客户都会自动向DHCP服务器发送更新其IP租约的报文。 第一节 网络层的设计问题 第二节 路由算法 第三节 网络互联 第四节 ip协议 第五节 internet控制协议 第六节 因特网的路由选择协议
因 内部网关协议OSPF 特网的路由选择协议 4.6.1 内部网关协议OSPF OSPF 协议的基本特点 “最短路径优先”是因为使用了 Dijkstra 提出的最短路径算法SPF OSPF 只是一个协议的名字,它并不表示其他的路由选择协议不是“最短路径优先”。 是分布式的链路状态协议。
三个要点 向本自治系统中所有路由器发送信息,这里使用的方法是洪泛法。 发送的信息就是与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息。 “链路状态”就是说明本路由器都和哪些路由器相邻,以及该链路的“度量”(metric)。 只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送此信息。
OSPF的区域(area) 为了使 OSPF 能够用于规模很大的网络,OSPF 将一个自治系统再划分为若干个更小的范围,叫作区域。 每一个区域都有一个 32 bit 的区域标识符(用点分十进制表示)。 区域也不能太大,在一个区域内的路由器最好不超过 200 个。
OSPF 划分为两种不同的区域 R1 R6 网 6 R3 R7 R5 网 1 R9 网 7 网 2 R4 R2 网 8 网 3 R8 网 4 至其他自治系统 自治系统 AS 主干区域 0.0.0.0 R1 R6 网 6 R3 R7 网 1 R5 R9 网 7 网 2 R4 R2 网 3 网 8 R8 网 4 网 5 区域 0.0.0.1 区域 0.0.0.3 区域 0.0.0.2
划分区域 划分区域的好处就是将利用洪泛法交换链路状态信息的范围局限于每一个区域而不是整个的自治系统,这就减少了整个网络上的通信量。 在一个区域内部的路由器只知道本区域的完整网络拓扑,而不知道其他区域的网络拓扑的情况。 OSPF 使用层次结构的区域划分。在上层的区域叫作主干区域(backbone area)。主干区域的标识符规定为0.0.0.0。主干区域的作用是用来连通其他在下层的区域。
主干路由器 R1 R6 网 6 R3 R7 R5 网 1 R9 网 7 网 2 R4 R2 网 8 网 3 R8 网 4 网 5 至其他自治系统 自治系统 AS 主干区域 0.0.0.0 R1 R6 网 6 R3 R7 网 1 R5 R9 网 7 网 2 R4 R2 网 3 网 8 R8 网 4 网 5 区域 0.0.0.1 区域 0.0.0.3 区域 0.0.0.2
区域边界路由器 R1 R6 网 6 R3 R7 R5 网 1 R9 网 7 网 2 R4 R2 网 8 网 3 R8 网 4 网 5 至其他自治系统 自治系统 AS 主干区域 0.0.0.0 R1 R6 网 6 R3 R7 网 1 R5 R9 网 7 网 2 R4 R2 网 3 网 8 R8 网 4 网 5 区域 0.0.0.1 区域 0.0.0.3 区域 0.0.0.2
OSPF直接用ip数据报传送 OSPF 不用 UDP 而是直接用 IP 数据报传送,可见 OSPF 的位置在网络层。 数据报很短的另一好处是可以不必将长的数据报分片传送。分片传送的数据报只要丢失一个,就无法组装成原来的数据报,而整个数据报就必须重传。
OSPF分组 8 16 31 版 本 类 型 分 组 长 度 路 由 器 标 识 符 区 域 标 识 符 检 验 和 鉴 别 类 型 鉴 别 8 16 31 版 本 类 型 分 组 长 度 路 由 器 标 识 符 区 域 标 识 符 检 验 和 鉴 别 类 型 鉴 别 鉴 别 24 字节 OSPF 分组首部 类型 1 至类型 5 的 OSPF 分组 IP数据报首部 OSPF 分组 IP 数据报
OSPF的五种分组类型 类型1,问候(Hello)分组。 类型2,数据库描述(Database Description)分组。 类型3,链路状态请求(Link State Request)分组。 类型4,链路状态更新(Link State Update)分组, 用洪泛法对全网更新链路状态。 类型5,链路状态确认(Link State Acknowledgment) 分组。
OSPF的基本操作 问候 确定可达性 问候 数据库描述 数据库描述 达到数据库的同步 数据库描述 数据库描述 链路状态请求 新情况下的同步 链路状态更新 链路状态确认
OSPF使用的是可靠的洪泛法 t1 t2 t3 t4 更新报文 R R R ACK报文 t R
OSPF的其他特点 OSPF 还规定每隔一段时间,如 30 分钟,要刷新一次数据库中的链路状态。 由于一个路由器的链路状态只涉及到与相邻路由器的连通状态,因而与整个互联网的规模并无直接关系。因此当互联网规模很大时,OSPF 协议要比距离向量协议 RIP 好得多。 OSPF 没有“坏消息传播得慢”的问题,据统计,其响应网络变化的时间小于 100 ms。
OSPF支持三种网络的连接 (1) 两个路由器之间的点对点连接 (2) 具有广播功能的局域网 (3) 无广播功能的广域网
(a) 网络拓扑 广域网 W4 广域网 W1 广域网 W6 5 12 10 D E B 4 7 8 A 广域网 W2 H 4 I 2 3 8 13 F 局域网 L1 2 G 3 3 2 C 16 12 6 广域网 W5 局域网 L2 广域网 W3 (a) 网络拓扑 W1 W4 B D 12 10 H 4 E 8 W6 5 7 W2 A 4 8 7 2 3 13 3 4 8 3 I F G L1 12 L2 2 2 6 W5 16 C W3 (b) 有向图
W1 有向图 W4 B D 12 10 H 4 E 8 W6 5 7 W2 4 8 7 2 3 13 3 4 8 3 F G L1 12 L2 2 2 6 W5 16 C W3 以路由器F为根的最短路径树 W4 12 B D E W6 W2 5 4 7 8 A 3 8 4 I F L2 G 3 L1 16 6 W5 W3
因 外部网关协议BGP 特网的路由选择协议 4.6.2 外部网关协议BGP BGP 是不同自治系统的路由器之间交换路由信息的协议。 因特网的规模太大,使得自治系统之间路由选择非常困难。 对于自治系统之间的路由选择,要寻找最佳路由是很不现实的。 自治系统之间的路由选择必须考虑有关策略。 因此,边界网关协议 BGP 只能是力求寻找一条能够到达目的网络且比较好的路由(不能兜圈子),而并非要寻找一条最佳路由。
BGP交换路由信息 一个 BGP 发言人与其他自治系统中的 BGP 发言人要交换路由信息,就要先建立 TCP 连接,然后在此连接上交换 BGP 报文以建立 BGP 会话(session),利用 BGP 会话交换路由信息。 使用 TCP 连接能提供可靠的服务,也简化了路由选择协议。 使用 TCP 连接交换路由信息的两个 BGP 发言人,彼此成为对方的邻站或对等站。
BGP发言人和自治系统AS的关系 BGP BGP 发言人 AS1 发言人 AS2 BGP 发言人 BGP 发言人 AS3 BGP 发言人
自治系统连通图 BGP 发言人互相交换网络可达性的信息后,各 BGP 发言人就可找出到达各自治系统的比较好的路由。 AS2 AS1 AS3
BGP发言人交换路径向量 本地 ISP(AS4) N1, N2 地区 ISP (AS2) 本地 ISP(AS5) N3, N4 主干网 自治系统 AS2 的 BGP 发言人通知主干网的 BGP 发言人:“要到达网络 N1, N2, N3 和 N4 可经过 AS2。” 本地 ISP(AS4) N1, N2 本地 ISP(AS5) N3, N4 地区 ISP (AS2) 主干网 (AS1) 本地 ISP(AS6) N5 地区 ISP (AS3) 本地 ISP(AS7) N6, N7
BGP协议的特点 BGP 协议交换路由信息的结点数量级是自治系统数的量级,这要比这些自治系统中的网络数少很多。 BGP 支持 CIDR,因此 BGP 的路由表也就应当包括目的网络前缀、下一跳路由器,以及到达该目的网络所要经过的各个自治系统序列。 在BGP 刚刚运行时,BGP 的邻站是交换整个的 BGP 路由表。但以后只需要在发生变化时更新有变化的部分。这样做对节省网络带宽和减少路由器的处理开销方面都有好处。
BGP-4共使用四种报文 BGP报文的格式 (1) 打开(Open)报文,用来与相邻的另一个BGP发言人建立关系。 (2) 更新(Update)报文,用来发送某一路由的信息,以及列出要撤消的多条路由。 (3) 保活(Keepalive)报文,用来确认打开报文和周期性地证实邻站关系。 (3) 通知(Notificaton)报文,用来发送检测到的差错。 BGP报文的格式 4 字节 标 记 首部长度 19 字节 长 度 类 型 第一节 网络层的设计问题 第二节 路由算法 第三节 网络互联 第四节 ip协议 第五节 internet控制协议 第六节 因特网的路由选择协议 BGP 报文的数据部分 可变长度
谢 谢