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. 在WPF中使用文件夹选择对话框

    开发中有时会想实现"选择某个文件夹"的效果: 在WPF中,使用Microsoft.Win32.OpenFileDialog只能选择文件,FolderBrowserDialog只能用 ...

  2. Treap树的基础知识

    原文 其它较好的的介绍:堆排序  AVL树 树堆,在数据结构中也称Treap(事实上在国内OI界常称为Traep,与之同理的还有"Tarjan神犇发明的"Spaly),是指有一个随 ...

  3. ASP.NET WebAPI 14 仿写Filter管道

    WebAPI中有设计了几种管道(Channel),大概如下:HttpMessageHandler,ActionFilter管道,ExceptionFilter管道.在三种管道中HttpMessageH ...

  4. C#6.0语法糖剖析(一)

    1.自动属性默认初始化 使用代码 "; 编译器生成的代码: public class Customer { [CompilerGenerated] private string kBacki ...

  5. 通过一个小问题来学习SQL关联查询

    原话题: 是关于一个left join的,没有技术难度,但不想清楚不一定能回答出正确答案来: TabA表有三个字段Id,Col1,Col2 且里面有一条数据1,1,2 TabB表有两个字段Id,Col ...

  6. jQuery eislideshow 图片轮播

    在线实例 基础演示 自动播放 使用方法 <div id="ei-slider" class="ei-slider"> <ul class=&q ...

  7. Silverlight的TextWrapping

    Silverlight中TextBox的TextWrapping属性,作用是获取或设置 TextBlock 对文本进行换行的方式. 默认值为 TextWrapping.NoWrap. TextWrap ...

  8. chenxi的html学习笔记

    0.本文主体源自:http://www.cnblogs.com/coco1s/p/4034937.html,有兴趣的可以直接去那里看,也可以看看我整理加拓展的.1.浏览器内核: 1.ie:triden ...

  9. parseInt第二个参数详解

    前阵子在stackOverflow上看到两个这样的问题: 为什么parseInt(8,3) == NaN,parseInt(16,3) == 1? 为什么parseInt('dsff66',16) = ...

  10. 讲解Canvas中的一些重要方法

    Canvas所提供的各种方法根据功能来看大致可以分为几类: 第一是以drawXXX为主的绘制方法: 第二是以clipXXX为主的裁剪方法: 第三是以scale.skew.translate和rotat ...