《TCP/IP详解 卷一》读书笔记-----动态路由协议

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)最长的表项进行路由就可以了。

时间: 2024-10-12 17:14:53

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

《TCP/IP详解》读书笔记

TCP/IP概述 TCP/IP通常被认为是一个四层协议: 链路层.也称数据链路层或网络接口层,包括设备驱动程序和网络接口卡,它们一起处理与电缆的物理接口细节. 网络层.处理分组在网络中的活动,如分组的选路:网络层的协议包括IP协议.ICMP协议(Internet互联网控制报文协议).IGMP协议(Internet组管理协议). 传输层.主要为两台主机上的应用程序提供端到端的通信,包括TCP(传输控制协议)和UDP(用户数据报协议). 应用层.处理特定的应用程序细节. TCP/IP协议族中不同层次

《TCP/IP详解》读书笔记(17章)-TCP传输控制协议

1.TCP的服务 在一个TCP连接中,仅有两方进行彼此通信.TCP通过下列方式来提供可靠性: 1)应用数据被分割成TCP认为最适合发送的数据块.这和UDP完全不同,应用程序产生的数据报长度保持不变.由TCP传递给IP的信息单位称为报文段或段. 2)当TCP发出一个段后,它启动一个定时器,等待目的端确认收到这个报文段.如果不能及时收到一个确认,将重发这个报文段,这将在21章中重传策略中讨论. 3)当TCP收到发自TCP连接另一端的数据,它将发送一个确认.这个确认不是立即发送,通过将推迟几分之一秒,

《TCP/IP详解》读书笔记(18章)-TCP连接的建立与中止

TCP是一个面向连接的协议.无论哪一方向另一方发送数据之前,都必须在双方之间建立一条连接.这种两端间连接的建立与无连接协议UDP不同,UDP向另一端发送数据报时,无需任何预告的握手. 1.建立连接的协议(3次握手) 1)请求端发送一个SYN段指明客户端打算连接的服务器端口,以及初始序列号. 2)服务器发回包含服务器的初始序号的SYN报文段作为应答.同时将确认序号设置为客户的ISN加1以对客户的SYN报文段进行确认.一个SYN将占用一个序号. 3)客户端将确认序号设置为服务器的ISN加1以对服务器

TCP/IP详解卷一 学习笔记

第一天1 总述: TCP 使用不可靠的IP服务提供一种可靠的运输层服务UDP 不可靠,适用于:实时流量:语音视频流:查询DNS:数据传输:TFTP 停止等待协议. 以太网数据帧长范围是46-1500,小于46要用0来填充,大于1500要分片(MTU分片)以太网的帧首部有一个16bit的帧类型域(ip,arp,rarp)IP在首部中存入一个长度为8bit的数值,称作协议域(icmp,igmp,tcp,udp,esp,gre)TCP和UDP都用一个16bit的端口号来表示不同的应用程序(ftp,te

《TCP/IP详解》读书笔记(19章)-TCP的交互数据流

在TCP进行数据传输时,可以分为成块数据流和交互数据流两种,如果按字节计算,成块数据与交互数据的比例约为90%和10%,TCP需要同时处理这两类数据,且处理的算法不同. 书籍本章中以Rlogin应用为例观察交互数据的传输过程.提示经受时延的确认是如何工作以及Nagle算法怎样减少了通过广域网络传输的小分组的数目. 交互式输入上图为没有优化的字符输入回显的数据传输过程,一共需要四个报文段. 经受时延的确认上图第二,三个报文段可以合并---按键确认和按键回显一起发送.这种技术叫做经受时延的确认.通常

《TCP/IP详解》读书笔记(20章)-TCP的成块数据流

目前建立在TCP协议上的网络协议特别多,有telnet,ssh,有ftp,有http等等.这些协议又v金金ZGTERRF可以根据数据吞吐量来大致分成两大类:(1)交互数据类型,例如telnet,ssh,这种类型的协议在大多数情况下只是做小流量的数据交换,比如说按一下键盘,回显一些文字等等.(2)数据成块类型,例如ftp,这种类型的协议要求TCP能尽量的运载数据,把数据的吞吐量做到最大,并尽可能的提高效率.针对这两种情况,TCP给出了两种不同的策略来进行数据传输. 本章介绍TCP所使用的被称为窗口

《TCP/IP详解》读书笔记(22章)-TCP的坚持定时器

TCP通过让接收方指明希望从发送方接收的数据字节数(即窗口大小)来进行流量控制.如果窗口大小为0会发生什么情况呢?这将有效阻止发送方传送数据,直到窗口变为非0为止. ACK的传输并不可靠,也就是说,TCP不对ACK报文段进行确认,TCP只确认那些包含有数据的ACK报文段. 1.坚持定时器 假设一个场景:如果一个确认丢失了,则双方就有可能因为等待对方而使连接终止,接收方等待接收数据(因为它已经向发送方通告了一个非0的窗口),而发送方在等待允许它继续发送数据的窗口更新.为防止这种死锁情况的发生,发送

《TCP/IP详解》读书笔记(21章)-TCP的超时与重传

TCP提供可靠的运输层.它使用的方法之一就是确认从另一端收到的数据.但数据和确认都有可能会丢失.TCP通过在发送时设置一个定时器来解决这种问题.如果当定时器溢出时还没有收到确认,它就重传该数据. 对于实现而言,关键之处就在于超时和重传的策略,即怎样决定超时间隔和如何确定重传的频率. TCP管理4种不同的定时器: 重传定时器:当希望收到另一端的确认时使用. 坚持定时器:使窗口信息保持不断流动,即使另一端关闭了其接收窗口. 保活定时器:检测一个空闲连接的另一端何时崩溃或重启. 2MSL定时器:测量一

《TCP/IP详解》读书笔记(23章)-TCP的保活定时器

可能存在这么一种空闲TCP连接:没有任何数据流通过.也就是说,如果TCP连接的双方都没有向对方发送数据,则在两个TCP模块之间不交换任何信息,这意味着我们可以启动一个客户与服务器建立连接,然后长时间不使用,而连接依然保持.中间的路由器可以崩溃和重启,电话线可以被挂断再连接,但只要两端的主机没有被重启,则连接依然保持建立. 然而,许多时候一个服务器希望知道客户主机是否崩溃并关机或者崩溃又重新启动,许多实现提供的保活定时器可以提供这种能力.保活并不是TCP规范中的一部分. 保活定时器工作原理: 如果

《TCP/IP详解》学习笔记一(1-7)

以前上大学的时候学习过网络协议,对于其中报头的格式,完全是不解其意,只是囫囵吞枣记住样子拿去考试. 后来工作后在前人的指点下开始学习<TCP/IP详解>,但是当时对网络编程一点经验都没有,只是造着例子填代码,所以虽然通读了一遍,但是和没看几乎没有什么两样--因为看不懂. 现在回过头来重新来读,发现很多东西都基本能看懂了,就算有不明白的,多看2遍也就明白了.结合抓包,更能解释自己以前对这些协议的困惑,的确是一本好书,难怪以前好多人推荐我去读. 以书为主,结合抓包,记录笔记. 链路层抓不到包,暂时