《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)最长的表项进行路由就可以了。
《TCP/IP详解 卷一》读书笔记-----动态路由协议的更多相关文章
- 《TCP/IP详解》读书笔记
本书以UNIX为背景,紧贴实际介绍了数据链层.网络层.运输层 一.整体概念 1.各层协议的关系,只讨论四层 各层常见的协议: 网络层协议:IP协议.ICMP协议.ARP协议.RARP协议. ...
- TCP/IP详解 卷一学习笔记(转载)
https://blog.csdn.net/cpcpcp123/article/details/51259498
- 『TCP/IP详解——卷一:协议』读书笔记——10
2013-08-22 22:57:17 3.8 ifconfig命令 这个命令在Linux系统下可以通过下面的指令阅读说明文档: ifconfig 由于书中作者用的系统比较早的某Unix系统,所以我的 ...
- 『TCP/IP详解——卷一:协议』读书笔记——01
从今日起开始认真研读TCP/IP详解这本经典制作,一是巩固我薄弱的计算机网络知识,二来提高我的假期的时间利用率.将心得与思考记录下来,防止白看-哦耶 2013-08-14 18:47:06 第一章 概 ...
- 【TCP/IP详解 卷一:协议】第二章:链路层
2.1 引言 链路层的三个目的: (1)为IP模块发送和接收IP数据报. (2)为ARP模块发送ARP请求和接收ARP应答.地址解析协议:ARP. (3)为RARP模块发送RARP请求和接收RARP应 ...
- 『TCP/IP详解——卷一:协议』读书笔记——02
2013-08-16 20:07:11 1.3 TCP/IP的分层 这是一个很好的图,要多看!!图上有些细节会在今后的笔记中提到,看不懂不必深究. IP是网络层上的主要协议,同时被TCP和UDP(这两 ...
- 『TCP/IP详解——卷一:协议』读书笔记——11
2013-08-23 20:00:18 第4章 ARP:地址解析协议 4.1 引言 ARP(Address Resolution Protocol,地址解析协议)是获取物理地址的一个TCP/IP协议. ...
- 『TCP/IP详解——卷一:协议』读书笔记——03
2013-08-17 17:31:49 1.7 分用 分用(Demultiplexing):这是一个过程——当目的主机收到一个以太网数据帧时,数据就开始从协议栈中由底向上升,同时去掉各层协议上的报文首 ...
- 『TCP/IP详解——卷一:协议』读书笔记——18
2013-08-27 15:44:52 第7章 Ping程序 7.1 引言 “ping”这个名字来源于声纳定为操作.Ping程序由Mike Muuss编写,目的是为了测试另一台主机是否可达.该程序发送 ...
随机推荐
- 重新想象 Windows 8 Store Apps (40) - 剪切板: 复制/粘贴文本, html, 图片, 文件
[源码下载] 重新想象 Windows 8 Store Apps (40) - 剪切板: 复制/粘贴文本, html, 图片, 文件 作者:webabcd 介绍重新想象 Windows 8 Store ...
- 译 PrestaShop开发者指南 第三篇 设置本地安装环境
## 环境要求 - Unix, Linux 或 Windows - Web服务器:Apache 1.3 或更高的版本 - PHP:5.2或更高版本 - MySQL:5.0或更高版本 PrestaSho ...
- IBatis 配置一对多
-------说明-------- IBatis 版本2.0 配置一对多 namespace = testDao ------------------ /** *班级的resultMap *Class ...
- Verilog学习笔记设计和验证篇(三)...............同步有限状态机的指导原则
因为大多数的FPGA内部的触发器数目相当多,又加上独热码状态机(one hot code machine)的译码逻辑最为简单,所以在FPGA实现状态机时,往往采用独热码状态机(即每个状态只有一个寄存器 ...
- centos下完全卸载mysql
版权声明:本文为博主原创文章,未经博主允许不得转载. yum方式安装的MySQL 1.yum remove mysql mysql-server mysql-libs compat-mysql51 2 ...
- 硅谷新闻4--解决页签手指按下从左到右滑动的bug
有一种方法可以阻止父层的View截获touch事件,就是调用 getParent().requestDisallowInterceptTouchEvent(true);方法.一旦底层View收到tou ...
- dbcp/c3p0连接池设置mysql会话变量
我们有几个计算风控值的定时任务,几乎每隔5秒会更新所有账户的当前总资产并以此通知风控,每隔一小时就产生一两个G的binlog,几十台服务器折腾..数据库是公用的,代码是通过工具自动生成的,直接修改流程 ...
- 以蓝牙开发的视觉解读微信Airsync协议
微信硬件平台使用蓝牙作为近场控制的连接件,并拟定了<微信蓝牙外设协议>.这份协议更像一个标准,用于规范微信和蓝牙外设之间的数据交互场景和接口.但从开发者来看,要完全读懂这份协议,恐怕需要熟 ...
- 将tomcat源码导入eclipse
前言: 写完了socket小应用的原始版本,中间还有好多预想的功能没有实现,在写的过程中也发现了很多问题.因为前面有粗略的看过tomcat实现原理解析,知道tomcat其实也是纯java写的web服务 ...
- iOS 修改label中文字的行间距
UILabel *label = [[UILabel alloc] init]; label.font = [UIFont systemFontOfSize:]; label.textColor = ...