第5章 络层.ppt
《第5章 络层.ppt》由会员分享,可在线阅读,更多相关《第5章 络层.ppt(339页珍藏版)》请在麦多课文档分享上搜索。
1、第5章 网络层,网络层主要解决的问题 路由选择 网络互连 拥塞控制 为上层提供服务,第5章 网络层,网络层设计的相关问题 路由算法 拥塞控制 服务质量 网络互联 因特网中的网络层,网络层的设计,存储转发的数据包交换 为传输层提供的服务 数据包子网的实现 虚电路子网的实现 虚电路子网和数据报子网的比较,网络层协议环境,Tnbm P344 Fig. 5-1 网络层协议环境,网络层的设计,存储转发的数据包交换 为传输层提供的服务 数据报网络的实现 虚电路子网的实现 虚电路子网和数据报子网的比较,为传输层提供的服务,服务应与路由器技术无关 路由器的数量、类型和拓扑结构对于传输层来说应是不可见的 传输层
2、所能获得的网络地址应采用统一的编址方式,并允许跨越多个LAN和WAN,网络层提供的服务类型,数据报网络:网络是不可靠的,网络服务不应面向连接,分组的排序和流控制应不属于网络层,每个分组都单独寻径,所以必须携带完整的目的地址 如Internet 虚电路网络:网络应该提供可靠的、面向连接的服务,否则服务质量将无从谈起,尤其对于多媒体应用 如 ATM,对于网络层提供的服务有两种观点:,网络层的设计,存储转发的数据包交换 为传输层提供的服务 数据报网络的实现 虚电路网络的实现 虚电路子网和数据报子网的比较,面向无连接服务的实现(数据报子网),路由器A按左边的路由表运行,后来发现如到E和F应该走B才更好
3、,于是更新路由表,A的路由表,E的路由表,C的路由表,Tnbm P346 Fig. 5-2 数据报子网中分组的寻径,网络层的设计,存储转发的数据包交换 为传输层提供的服务 面向无连接服务的实现 面向连接服务的实现 虚电路子网和数据报子网的比较,面向连接服务的实现(虚电路子网),H1和H2已建立了1#连接 H3要和H2建立连接只能是2#,A的路由表,Tnbm P348 Fig. 5-3 虚电路子网中分组的寻径,C的路由表,E的路由表,网络层的设计,存储转发的数据包交换 为传输层提供的服务 面向无连接服务的实现 面向连接服务的实现 虚电路子网和数据报子网的比较,虚电路子网和数据报子网的比较,Tnb
4、m P349 Fig. 5-4虚电路子网和数据报子网的比较,虚电路子网/数据报子网的比较(续),虚电路子网 通过路径选择后建立连接 分组按序传输 服务质量能得到保证 通信后撤销连接 适合于实时传输 数据报子网 每个分组分别选择最佳路径,健壮性较好 整个网络系统的信道利用率高,成本低 差错控制和排序工作由协议高层(主机)完成 适合于非实时传输,第5章 网络层,网络层设计的相关问题 路由算法 拥塞控制 服务质量 网络互联 因特网中的网络层,路由算法,路由算法是网络层软件的一个重要部分,它决定进入的分组应从哪一根输出线传输 如果是数据报子网,将在每一个分组到达时作此决定 如果是虚电路子网,是在虚电路
5、建立时决定,该连接上所有分组都将沿此线路传输 路由与转发:路由是寻径,转发是当一个分组到达时发生的动作,路由算法(续),路由算法设计必须考虑的问题正确性 简单性 健壮性 稳定性 公平性 最优性 路由算法中的度量标准 路径长度 hop数 延迟时间,路由算法的分类,静态算法 自适应算法 拓扑相关的路由算法 移动节点的路由 Ad-hoc网络的路由,静态算法(static routing),最短路径算法(Dijkstra) 扩散法(flooding),为路由器配置一张最优的路由表,最短路由选择(Dijkstra),Dijkstra算法(1959):通过用边的权值作为距离的度量来计算最短路径,有最少边数
6、的路径不一定是最短路径,如下图: 5和4之间边数最少的路径是5234但最短路径是523674,采用的数据结构,集合S:尚未找到最短路径的节点 的集合 数组R:Ri为从指定源点去节点i 的路径上,节点i的前一个 节点 数组D:Di为从指定源点到节点i 的最短距离,算法的初始化,初始化集合S为除源节点外的所有节点 初始化数组D:如果从源节点到节点v的边存在,则D(v)为该边的权值,否则为无穷大 初始化数组R:如果从源节点到节点v的边存在,则R(v)为源节点,否则为0,算法,WHILE(集合S非空) 从S中选一节点u,使Du最小;如果(Du为无穷大)错误!无路径存在,退出把u从S中删去;对(u,v)
7、是边的每个节点v 如果(v仍在S中)C=Du+weight(u,v);如果 (CDv) /*v找到了一条更短的路径*/Rv= u; /*替换v的最短路径及长度*/Dv=C;,从5出发到各个节点的最短路径,静态算法(static routing),最短路径算法(Dijkstra) 扩散法(flooding),为路由器配置一张最优的路由表,扩散法(flooding),不计算路径,有路就走,如从5出发到4: 数据包从51,2;23,6;36,4;63,7;74,要解决的问题:数据包重复到达某一节点,如3,6,扩散法(续),解决方法 在数据包头设一计数器初值,每经过一个节点自动减1,计数值为0 时,丢
8、弃该数据包 在每个节点上建立登记表,则数据包再次经过时丢弃,缺点:重复数据包多,浪费带宽 优点:可靠性高,路径最短,常用于军事,路由算法的分类,静态算法 自适应算法 拓扑相关的路由算法 移动节点的路由 Ad-hoc网络的路由,自适应算法是动态的、分布式的算法 实现分布式算法的三要素: The measurement process(测量) The update protocol(更新协议) The calculation(计算),自适应算法(adaptive algorithm),自适应算法(adaptive algorithm),距离矢量算法(D-V) 链路状态算法(L-S),路由器动态建立
9、和维护一张最优的路由表,D-V算法的工作原理,每个路由器用两个向量Di和Si来表示该点到网上所有节点的路径距离及其下一个节点 相邻路由器之间交换路径信息 各节点根据路径信息更新路由表,其中:,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相邻的所有节点的集合 diji到j 的最短距离 dixi到x的最短距
10、离 dxjx到j 的最短距离,注意:AI为21;IA为24 因为:往和返的信道流量不一定相同,节点A和I也并非在同一时刻测得,且线路状态是动态变化的,所谓节点即路由器当前节点为J,Tnbm P358 Fig. 5-9 D-V算法的路由表更新,D-V算法的缺点,交换的路径信息量大 路径信息不一致 收敛速度慢(坏消息) 不适合大型网络,无穷计算问题,好消息传播得快,坏消息传播得慢,A下网了,Tnbm P359 Fig. 5-10 无穷计算问题,克服收敛速度慢的方法,水平分裂 同距离矢量法,只是到X的距离并不是真正的距离,对下方点通知真正的距离,对上方点,给出无穷大 如上图中的C点,它向D通知到A的
11、是真正距离,而向B通知到A的距离是无穷大 Holddown 当发现不通时,不重新选路径,而是把它设成无穷大 这些方法尚在研究之中,自适应算法(adaptive algorithm),距离矢量算法(D-V) 链路状态算法(L-S),路由器动态建立和维护一张最优的路由表,链路状态算法( L-S ) (Link State Routing),基本思想: 发现它的邻接节点,并得到其网络地址 测量它到各邻接节点的延迟或开销 组装一个分组以告知它刚知道的所有信息 将这个分组发给所有其他路由器 计算到每个其他路由器的最短路径,发现邻接节点,当一个路由器启动后,向每个点到点线路发送HELLO分组(携带自己的网
12、络地址),另一端的路由器发送回来一个应答来说明它是谁,即通报其网络地址,链路状态算法( L-S ) (Link State Routing),基本思想: 发现它的邻接节点,并得到其网络地址 测量它到各邻接节点的延迟或开销 组装一个分组以告知它刚知道的所有信息 将这个分组发给所有其他路由器 计算到每个其他路由器的最短路径,测量线路开销,发送一个ECHO分组要求对方立即响应,通过测量一个来回时间再除以2,发送方就可以得到一个延迟估计值,想要更精确些,可以重复这一过程,取其平均值 如果链路状态发生过变化,则进入下一步骤,链路状态算法( L-S ) (Link State Routing),基本思想:
13、 发现它的邻接节点,并得到其网络地址 测量它到各邻接节点的延迟或开销 组装一个分组以告知它刚知道的所有信息 将这个分组发给所有其他路由器 计算到每个其他路由器的最短路径,构造分组,子网及其节点到其邻节点(路由器)的线路开销测量值(即延时,假设以ms计),子网的链路、状态及分组情况:,节点A仅与节点B和E相邻 A B的时延为4ms A E的时延为5ms,Tnbm P363 Fig. 5-13 L-S算法的路由表更新,链路状态算法( L-S ) (Link State Routing),基本思想: 发现它的邻接节点,并得到其网络地址 测量它到各邻接节点的延迟或开销 组装一个分组以告知它刚知道的所有
14、信息 将这个分组发给所有其他路由器 计算到每个其他路由器的最短路径,发布链路状态分组,用扩散法(向邻接的节点)发布链路状态分组 (以B为例,B的邻接点有A、C、F),源节点E的链路状态分组经A和F到节点B,节点B必须再将E的状态分组转送到C,并向A和F发ACK,发送标志,ACK标志,Tnbm P365 Fig. 5-14 链路状态分组的转发和确认,存在的问题,状态分组的重复到达 如果序号循环使用,就会发生重复 如果一个路由器被重起,序号将从0开始重新计数,但这些分组会被当成过时分组 如果序号发生错误(如序号用32位表示,4被看成65540,第16位的0被误传成了1),则很多分组将被看成过时分组
15、(此时565539均为过时分组,因为当前的分组序号是65540),解决办法,使用一个32位序号,即使每秒钟发送一个分组,137年才会循环一次 在每个分组中加一年龄字段(如初值为60),每秒钟将年龄减1,为0后该分组将被丢弃 ,否则不会被认为是过时分组,链路状态算法( L-S ) (Link State Routing),基本思想: 发现它的邻接节点,并得到其网络地址 测量它到各邻接节点的延迟或开销 组装一个分组以告知它刚知道的所有信息 将这个分组发给所有其他路由器 计算到每个其他路由器的最短路径,计算新路由,用Dijkstra算法计算到每个节点的路由 得到该节点到每个节点的最短路径,L-S路由
16、算法的优缺点,LSR的优点 路由信息的一致性好,坏消息也一样传播得快 状态分组的长度较短,仅包含到邻接点的距离、序号和年龄等,与网络规模关系不大,传输所耗用的网络带宽不大,此外,状态分组的扩散,由于年龄参数的设定,不会无限制扩散,所以可适用于大型网络 LSR的缺点 每个路由器需要有较大的存储空间,用以存储所收到的每一个节点的链路状态分组 计算工作量大,每次都必须计算最短路径,路由算法的分类,静态算法 自适应算法 拓扑相关的路由算法 移动节点的路由 Ad-hoc网络的路由,拓扑相关的路由算法,分层路由 广播路由 多址传输路由选择 Peer-to-Peer网的节点查找,分层路由,随着网络规模的增长
17、,存储和处理路由表所需的资源也急剧增长,从拓扑上分层是解决问题的一个方法 分层的概念:将路由器分成组,每一路由器知道到组内任何一台路由器的路由,以及到其他组的路由,因此可把其他组中所有的路由器抽象成一个,以减少路由表的长度,分层实例,不分层时1A的路由表,分层时1A的路由表,Tnbm P367 Fig. 5-15 分层路由,分层的层数,Kamoun和Kleinrock发现:N个路由器的最优层次数是lnN,每个路由器需要elnN个路由表项,拓扑相关的路由算法,分层路由 广播路由 多址传输路由选择 Peer-to-Peer网的节点查找,广播路由,逐个向所有节点分别发送报文 缺点:发送量大需知道网上
18、所有节点的地址 扩散法 缺点:流量大,消耗大量带宽某些节点还可能收到重复的报文,广播路由算法,多目的地路由 生成树算法 逆向路径传送,多目的地路由,分组中包含需到达的多个目的地的地址表 到一个节点时,路由器检查所有的目的地址表,确定输出线路集合,路由器为每一条输出线路复制一个新的分组,每个分组中仅含有要用此线路的目的地址表 优点:流量小,节约带宽 缺点:费用承担不公平,广播路由算法,多目的地路由 生成树算法 逆向路径传送,生成树算法,路由器将分组沿生成树发送(除进入线路之外) 优点:带宽得到最佳利用 缺点:每个路由器必须知道其可用生成树 如链路状态路由算法可得到生成树,距离矢量路由算法却不能得
19、到,广播路由算法,多目的地路由 生成树算法 逆向路径传送,逆向路径传送,基本原理:当某一广播分组到达路由器时,路由器对它进行检查,如该分组来自通常向广播源发送分组的线路,则将该分组转发到除进线以外的其它线路,否则丢弃,Tnbm P369 Fig. 5-16 逆向路径传送,逆向路径传送说明,在(a)的子网中,每个节点都已生成了一张路由表,假设当前每个节点的路由表中到节点I去的路径中的下一跳分别为:,逆向路径传送说明(续1),根据上述逆向路径转发的原则,可构造如下一棵树,(c) 由逆向路径转发构造的树,逆向路径传送说明(续2),如节点F收到一个从I来的分组,则立即向节点A和节点D转发 当节点D收到
20、一个经F来的节点I的分组,它意识到如它有分组要送给I的话,是走节点F的,所以立即向节点C和G转发 当节点G收到一个经D来的节点I的分组,它意识到如它有分组要送给I的话,是走节点J而不是走节点D的,所以它不再转发,所以:经过5个站点共24个分组的转发后,广播算法结束 优点:算法合理,容易实现 缺点:对大型网络不适用,拓扑相关的路由算法,分层路由 广播路由 多址传输路由选择 Peer-to-Peer网的节点查找,多址传输路由选择 (Multicast Routing),多址传输路由选择 使用IP的D类地址生成树法 核心树(core-based tree),A类 B类 C类 D类 E类,大规模网络
21、中规模网络 小规模网络,Tnbm P437 Fig. 5-55 IP地址格式,生成树法,组中的每个成员都必须以自己作为出发点建立一棵生成树,根据自己所在小组对生成树进行修剪,得到一棵本小组修剪过的生成树,并告诉同组的其他成员 多址传输时仅沿相应的生成树转发,缺点:存储量大 如一个网络有n个组,每个组平均有m个成员,则要存储m*n棵生成树,多址传输路由选择 (Multicast Routing),多址传输路由选择 使用IP的D类地址生成树法 核心树(core-based tree),A类 B类 C类 D类 E类,大规模网络 中规模网络 小规模网络,Tnbm P437 Fig. 5-55 IP地址
22、格式,核心树(core-based tree),每个组只有一棵生成树,它的树根靠近组的中心部位,要发送一个分组给这个组成员,则发给树根,由树根将该分组沿核心树发往各成员,这样,每组只有一棵核心树,节约了存储空间,拓扑相关的路由算法,分层路由 广播路由 多址传输路由选择 Peer-to-Peer网的节点查找,Peer-to-Peer网中节点的查找,对等网:每个站点既是客户器又是服务器 对等网种类: 中心化拓扑:用中心化的目录系统 全分布非结构化的P2P:采用随机洪泛发现 半分布结构:采用层次性的结构,用一些超级节点记录其他结点的信息 全分布结构化的P2P,结构化的P2P- Chord算法,假设:
23、 系统中有n个用户 每个用户都有可提供的信息资源,并且都已作了索引供其他用户使用 每个用户都有一个IP地址,并可被散列成m位的一个数字,称为节点标识符(Chord用SHA-1算法来散列),节点标识符为0 2m-1 所有2m个标识符按递增次序链接成一个环,而不管节点是否存在 定义函数successor(k):找出节点k后面的第一个存在节点,Chord算法(续),信息资源名称(name)同样被散列为一个m位的数字,称为键值key(key=hash(name)) 信息索引的存储:信息的索引在所有节点上是随机分布的,当一个节点要提供信息name时,它首先构造一个二元组(name, IP地址),然后调用
24、successor(hash(name)去存储该二元组,不同节点上的同名信息,其索引将被存在同一节点 信息的查找:当某个用户需要查找名称为name的信息时,向successor(key)发一个请求,要求返回拥有信息name的节点的IP地址,Chord算法优化,每个节点保存其直接前趋和直接后继,那么请求可以顺时针传递,也可以逆时针传递,可以在两者之间选择一条较短的路径 每个节点保存一张表,称为finger table,该表有m个表项,编号从0到m-1,Chord算法优化(续1),finger table表的内容 每个表项指向一个实际存在的节点,每个表项有两个字段:start 和 successo
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 章络层 PPT
