1、以下条件只要有一个不满足,则需要使用动态路由协议:1)网络规模小,2)只有一个连接点用于连接其他网络,3)没有冗余的路由器(一般用作备份)

2、所谓动态路由就是各个路由器与自己相邻的路由器交换各自连接的网络的信息,从而使自身的路由表一直处于最新状态,而不同的交流更新方式,称为不同的动态路由协议

3、我们将整个互联网分为许多个自治系统(autonomous system,AS),每个自治系统里的路由器使用同一个动态路由协议,称为IGP(interior gateway protocol)而两个不同的自治系统路由器间的路由协议称为EGP(exterior gateway protocol)

4、RIP(Routing Information Protocol):一种适用于中小型网络的IGP,原因在于RIP的报文中有一个metrics字段,用于记录到目的地址需要经过的跳数,而该字段的值为16时,表示该目的地址不可达,因此使用RIP的网络的范围是非常有限的。通常使用UDP进行通信,端口号为520。

5、RIP协议的执行步骤:

1)初始化,首先在各个端口广播RIP请求报文,让其他路由器将它们的整个路由表发送回来。

2)当其他路由器接受到请求报文时,首先判断该报文是否为初始化请求报文,是则将整个路由表打包发送回去,否则逐一判断请求中的目的地址,如果该地址自己能到,则赋上自己的metric值,不能到,则将metric值置为16(表示该目的地址不可达)。

3)路由器收到回复后,根据得到的路由表更新自己的路由表。有新的目的地址的添加表项,有更优的路径选择的,则更新原来的路由表项。

4)常规的路由更新:每过30秒,各个路由器都要将自己完整的路由表发送给和自己直接相连的路由器。

5)触发更新:当路由表中的一个表项的metric值发生变化时,只需要把这个表项的变化通知临近路由器即可

6)如果路由表中存在表项经过3分钟还没有更新,即4)当中的每隔30秒的常规更新,那么将该表项从路由表中删除

6、RIP需要用很长时间才能从路由器或者连接的故障中恢复过来,因为故障必然导致达到目的地址的跳数增加,而RIP协议的路由表的更新是向着更优,即跳数更少的方向更新的,因此逆向更新无疑需要更长的时间。

7、OSPF(Open Shortest Path First):是另外一种IGP,很好地克服了RIP的缺点,能够满足大型网络的需求。它是一种链路状态协议,与RIP不同的是,它与相邻的路由器交互的是链路状态信息,而不是RIP中的到达某目的地址的距离。并且每个路由器都会将它们收到的链路状态信息存放在数据库中,然后基于此数据库生产一张路由表。而且OSPF的链路状态信息的传递并不是基于UDP或TCP的,而是作为一个独立的协议,在IP数据报头部的protocol字段中有专门的值进行表示。

在基于OSPF的路由表中,不同于RIP中的路由表只有一个最优表项,对于同一个目的地址可能会有多个表项,并且OSPF会对这些表项基于轮转法进行选择,从而保证负载的平衡。当网络的拓扑结构发生变化时,路由器会被触发发送更新数据包,从而使相关路由器的路由表得到及时的更新,有效克服了RIP的坏消息传得慢的缺陷。(OSPF相对RIP要复杂得多,这里只能做一些简单的概述)

8、BGP(Border Gateway Protocol)是一种运行于TCP之上的自治系统间的路由协议,自治系统间通过发送网络可达性信息来更新路由信息,并且每隔30秒发送一次keep-alive消息来维持连接并且检测网络拓扑结构的变化。

9、CDIR(Classless Interdomain Routing):CIDR本质上的目的是为了减少互联网中路由器中的表项。我们知道,对于每个C类地址,路由器中都要添加相应的路由表项,因此整个路由表就会变得非常得冗长。因此我们非常正常的想法就是将几个高位相同的C类网络合并起来,那么在路由表中就只需要添加一个路由表项了。其实CIDR也就是基于这种想法,从一定程度上说,这也就弱化了A,B,C这样的网络划分。通常一个IP数据报到达路由器查找路由表进行匹配时,我们只需要选择与目的地址匹配长度(这里应该是与子网掩码的匹配长度,而非destination)最长的表项进行路由就可以了。

《TCP/IP详解 卷一》读书笔记-----动态路由协议的更多相关文章

  1. 《TCP/IP详解》读书笔记

    本书以UNIX为背景,紧贴实际介绍了数据链层.网络层.运输层   一.整体概念   1.各层协议的关系,只讨论四层 各层常见的协议:   网络层协议:IP协议.ICMP协议.ARP协议.RARP协议. ...

  2. TCP/IP详解 卷一学习笔记(转载)

    https://blog.csdn.net/cpcpcp123/article/details/51259498

  3. 『TCP/IP详解——卷一:协议』读书笔记——10

    2013-08-22 22:57:17 3.8 ifconfig命令 这个命令在Linux系统下可以通过下面的指令阅读说明文档: ifconfig 由于书中作者用的系统比较早的某Unix系统,所以我的 ...

  4. 『TCP/IP详解——卷一:协议』读书笔记——01

    从今日起开始认真研读TCP/IP详解这本经典制作,一是巩固我薄弱的计算机网络知识,二来提高我的假期的时间利用率.将心得与思考记录下来,防止白看-哦耶 2013-08-14 18:47:06 第一章 概 ...

  5. 【TCP/IP详解 卷一:协议】第二章:链路层

    2.1 引言 链路层的三个目的: (1)为IP模块发送和接收IP数据报. (2)为ARP模块发送ARP请求和接收ARP应答.地址解析协议:ARP. (3)为RARP模块发送RARP请求和接收RARP应 ...

  6. 『TCP/IP详解——卷一:协议』读书笔记——02

    2013-08-16 20:07:11 1.3 TCP/IP的分层 这是一个很好的图,要多看!!图上有些细节会在今后的笔记中提到,看不懂不必深究. IP是网络层上的主要协议,同时被TCP和UDP(这两 ...

  7. 『TCP/IP详解——卷一:协议』读书笔记——11

    2013-08-23 20:00:18 第4章 ARP:地址解析协议 4.1 引言 ARP(Address Resolution Protocol,地址解析协议)是获取物理地址的一个TCP/IP协议. ...

  8. 『TCP/IP详解——卷一:协议』读书笔记——03

    2013-08-17 17:31:49 1.7 分用 分用(Demultiplexing):这是一个过程——当目的主机收到一个以太网数据帧时,数据就开始从协议栈中由底向上升,同时去掉各层协议上的报文首 ...

  9. 『TCP/IP详解——卷一:协议』读书笔记——18

    2013-08-27 15:44:52 第7章 Ping程序 7.1 引言 “ping”这个名字来源于声纳定为操作.Ping程序由Mike Muuss编写,目的是为了测试另一台主机是否可达.该程序发送 ...

随机推荐

  1. 与众不同 windows phone (34) - 8.0 新的控件: LongListSelector

    [源码下载] 与众不同 windows phone (34) - 8.0 新的控件: LongListSelector 作者:webabcd 介绍与众不同 windows phone 8.0 之 新的 ...

  2. 数据库==>>数据查询基础

    数据查询基础 还好吗?几天不见,甚是思念呀!笑对人生,好好生活,快快乐乐的迎接我们的美好未来吧! 好吧!抒情结束,我们一起来学习一下我们今天的主题:数据查询基础,很有意思哟.让我们来感受它的魅力吧! ...

  3. [程序人生]前途无"亮‘’的大学

    转眼之间就到大四了,今天晚上很迷茫,很纠结,想了好多,好多,真的,长大之后,自从第一次失恋之后,第一次会想到这么的多.     嗯,先自我介绍哈吧,我是从云南的大山里走出来的孩子,什么样的大山,就是到 ...

  4. 原生js实现tab选项卡

    1.html部分 <body>        <div id="tab">            <div class="tab_menu& ...

  5. AloneJs.confirmbox() —— 确认框

    一.引用 <link href="https://cdn.suziyun.com/alonejs.min.css" rel="stylesheet" /& ...

  6. 干货-iOS、mac开源项目及库,以后我也会持续更新。

    昨晚在网上看的干货,直接分享给大家了,觉得有用的,直接fork吧. https://github.com/Brances/TimLiu-iOS

  7. Mac下安装Django

    用到一个Python写的后台服务,需要用到Django,参考Django安装文档,配置过程如下: 1.下载一个用来安装和管理Python包的工具“pip”; 2.下载完成后,运行安装脚本,注意需要管理 ...

  8. java异常 总结

    异常: 是什么?是对问题的描述,将问题进行对象的封装. 异常体系: Throwable |--Error |--Exception |--RuntimeException 异常体系的特点: 异常体系中 ...

  9. Objective-C之Category的使用

    *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...

  10. Objective-C的可变是如何实现的?

    Objective-C的可变是怎么实现的?