《计算机网络自顶向下》知识体系完全梳理
计算机网络复习
第一章
OSI 7层协议参考模型及各层功能
- 应用层
- 网络服务与最终用户的一个接口
- 表示层
- 数据的安全、表示、压缩
- 会话层
- 建立、管理、终止会话
- 传输层
- 定义传输数据的协议端口号,以及流控和差错校验
- 网络层
- 进行逻辑地址寻址,实现不同网络之间的路径选择
- 数据链路层
- 建立逻辑连接、进行硬件地址寻址、差错校验等功能
- 物理层
- 建立、维护、断开物理连接
因特网5层协议及各层功能
- 应用层
- 支持网络应用
- 有http、ftp、telnet、smtp、pop3等
- 支持网络应用
- 传输层
- 负责提供应用程序进程间的数据传输服务,这一层上主要定义了两个传输协议,传输层控制协议TCP和用户数报协议UDP
- TCP提供了面向连接的服务,而UDP提供的是无连接服务,UDP速度比TCP更快
- 运输层分组称为报文段
- TCP提供了面向连接的服务,而UDP提供的是无连接服务,UDP速度比TCP更快
- 负责提供应用程序进程间的数据传输服务,这一层上主要定义了两个传输协议,传输层控制协议TCP和用户数报协议UDP
- 网络层
- 负责将数据报独立的从信源发送到信宿
- 路由选择
- 拥塞控制
- 因特网的网络层负责将称为数据报(datagram)的网络层分组从一台主机移动到另一台主机。源主机中的因特网传输层协议(TCP或UDP)向网络层递交运输层报文段和目的地址,就像你向邮政信件提供目的地址一样
- 网络互联
- 负责将数据报独立的从信源发送到信宿
- 数据链路层
- 负责将IP数据报封装成合适再物理网络上传输的帧格式并传输,或将从物理网络接受到的帧解封,取出IP数据交给网络层
- 头部,尾部都加了,尾部是校验和
- 物理层
- 负责比特流在节点间的传输
为什么要分层?
- 各层之间相互独立
- 灵活性好
- 易于实现和标准化
进程与端口、套接字的概念
- 套接字:进程通过一个为套接字的软件接口向网络发送报文和从网络接受报文。
- 端口:每个端口号对应一个进程
- 进程: 进程是一个具有一定独立功能的程序在一个数据集上的一次动态执行的过程,是操作系统进行资源分配和调度的一个独立单位,是应用 程序运行的载体。
协议的概念,协议与服务的关系
- 协议是控制对等实体之间通信的规则,是水平的
- 服务是下层通过层间接口向上层提供的功能,是垂直的
电路交换与分组交换的区别
- 电路交换是以电路连接为目的的交换方式,通信之前要在通信双方之间建立一条被双方独占的物理通道
- 优点
- 数据时延小,专线建立连接,按顺序发送,没有时序问题,既可以传送模拟信号,也可以传送数据信号,控制设备比较简单
- 缺点
- 电路交换平均连接建立时间队计算机通信来说较长,利用率低
- 优点
- 分组交换是以分组为单位进行传输和交换的,它是一种存储——转发交换方式,即将到达交换机的分组先送到存储器暂时存储和处理,等到相应的输出电路有空闲时再送出
- 优点
- 不需要预先专门建设一条线路,无连接时延,传输时间较短
- 缺点
- 存在转发时延,网络通信量越大造成的时延越大,只能传输数字信号,分组交换可能出现失序的问题
- 优点
分组交换网的时延、丢包和吞吐量
- 时延类型
- 处理
- 最先出现,某终端设备向路由器发送一个分组,路由器对该分组去向的决定
- 排队
- 当分组传输从某个端/路由器传送到当前路由器时,发现该队列上还有其他分组
- 传输
- 与分组的长度有关,在分组交换网中,交换机使用的是储存转发传输,传输比特时,必须要接收到整个分组,储存完成后才能传输,从开始传输第一个比特到最后一个比特被发送出去
- 传播
- 传播时长与分组无关,仅与链路的传输速率和链路长度有关
- 处理
第二章
网络应用的三种体系结构
- C/S
- 服务器
- 客户端
- P2P结构
- 每一台电脑平等
- 节点可能改变IP地址
- 任意端系统/节点之间可以直接通信
- 没有永远在线的服务器
- 混合结构
- NAPSTER
- 每个节点向中央服务器登记自己的内容
- 每个节点向中央服务器提交查询请求,查找感兴趣的内容
- NAPSTER
C/S与P2P服务模型的特点
- C/S
- 不会与其他客户机直接通信
- 能够间歇性接入网络
- 具有可扩展性
- P2P
- 没有永远在线的server
- 能够改变IP地址
- 既可以当客户也可以当主机
TCP与UDP服务有何区别
- TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接
- TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付
- Tcp通过校验和,重传控制,序号标识,滑动窗口、确认应答实现可靠传输。如丢包时的重发控制,还可以对次序乱掉的分包进行顺序控制
- TCP为了实现网络通信的可靠性,使用了复杂的拥塞控制算法,建立了繁琐的握手过程,由于TCP内置的系统协议栈中,极难对其进行改进
- UDP具有较好的实时性,工作效率比TCP高,适用于对高速传输和实时性有较高的通信或广播通信
- 采用TCP,一旦发生丢包,TCP会将后续的包缓存起来,等前面的包重传并接收到后再继续发送,延时会越来越大,基于UDP对实时性要求较为严格的情况下,采用自定义重传机制,能够把丢包产生的延迟降到最低,尽量减少网络问题对游戏性造成影响
- TCP对系统资源要求较多,UDP对系统资源要求较少
- 网速的提升给UDP的稳定性提供可靠网络保障,丢包率很低,如果使用应用层重传,能够确保传输的可靠性
HTTP的三种连接方式
- GET
- POST
- HEAD
- 无状态协议
Cookie的概念与作用
- 用户本地终端
- 辨别用户身份
- session机制采用的是在服务端保持状态的方案,而cookie机制则是在客户端保持状态的方案
- cookie分为会话cookie和持久cookie
SMTP协议与POP3协议
- SMTP管‘发’,POP3/IMAP管‘收’
- POP(Post Office Protocol)邮局通讯协定POP是互联网上的一种通讯协定,主要功能是用在传送电子邮件,当我们寄信给另外一个人时,对方当时多半不会在线上,所以邮件服务器必须为收信者保存这封信,直到收信者来检查这封信件。当收信人收信的时候,必须通过POP通讯协定,才能取得邮件
- SMTP(Simple Mail Transfer Protocol)简易邮件传输通讯协议 SMTP是互联网上的一种通讯协议,主要功能是用在传送电子邮件,当我们通过电子邮件程序,寄E-mil给另外一个人时,必须通过SMTP通讯协议,将邮件送到对方的邮件服务器上,等到对方上网的时候,就可以收到你所寄的信
DNS协议的作用、层次结构与工作过程
- 域名解析协议
- 映射IP地址和域名
- 结构
- 根域
- 顶级域
- 二级域
- 三级域或主机名
- 二级域
- 顶级域
- 根域
- 结构
- 映射IP地址和域名
- 工作过程
- 客户机提出域名解析请求,并将该请求发送给本地的域名服务器
- 当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回
- 如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域知) 的主域名服务器的地址
- 本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级道的域名服务器的地址
- 重复第四步,直到找到正确的纪录
- 本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机
- 重复第四步,直到找到正确的纪录
- 本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级道的域名服务器的地址
- 如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域知) 的主域名服务器的地址
- 当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回
- 客户机提出域名解析请求,并将该请求发送给本地的域名服务器
第三章
复用和分解的概念
- 多路复用
- 在数据的发送端,传输层收集各个套接字中需要发送的数据,将它们封装上首部信息后(之后用于分解),交给网络层
- 多路分解
- 在数据的接收端,传输层接收到网络层的报文后,将它交付到正确的套接字上
- 无连接的多路复用与分解
- UDP报文需要包含源IP和端口号
- 因为UDP是无连接的
- 想要往回发时只需提取报文里的源IP与端口号
- 因为UDP是无连接的
- UDP报文需要包含源IP和端口号
各应用协议使用的运输层协议
- socket
- 进程与计算机网络的接口
- http协议
- HTTP定义了Web客户向Web服务器请求WEB页面的方式,以及服务器向客户传送WEB页面的方式
- 基于TCP。建立TCP连接之后往套接字中塞HTTP报文即可
- 无状态协议。不保存关于客户的任何信息
- 非持续连接和持续连接
- 每一个请求建立一个单独的TCP连接 or 同一个主机只建立一个连接
- 若要使用TCP通信,需要建立两个套接字,一个来握手,一个来收发消息
- 非持续连接造成了会给服务器带来很重的负担
- 在持续连接情况下,服务器在发送响应后仍保持连接打开,再次接收到该客户端请求后仍通过该连接发送响应。若在一段时间内某一连接一直未被使用,服务器就关闭该连接
- 每一个请求建立一个单独的TCP连接 or 同一个主机只建立一个连接
- HTTP定义了Web客户向Web服务器请求WEB页面的方式,以及服务器向客户传送WEB页面的方式
- DNS
- 基于UDP
TCP和UDP服务器/客户机的C程序
可靠传输原理
- 停止等待协议
- 发送方在发送完一个报文段后必须暂时保存已经发送的报文段的副本——为了超时重传的时候使用
- 超时计时器的重传时间的设定——应该比数据在分组传输的平均往返时间更长一些
- 分组和确认分组都必须编号,所以才知道是对哪个发送的分组收到了确认
- 每次发送完一个报文段就停止,等待接收端确认
- 无差错情况
- 最简单的情况,发送方A每次发送完一个报文段就设置一个超时计时器,每次都能在超时计时器超时之前接收到接收方B发送回来的确认报文,往复这样进行通信。
- 出现差错
- 接收方B收到了发送方发送过来的TCP报文段,但是在对数据进行校验(TCP报文段首部有校验和字段,用来检测发送过来的报文数据是否出现差错)的时候,发现接收到的报文段出现差错,这个时候接收方B什么也不做(不会通知A说收到了差错的报文段);也可能是报文段在传输的过程中丢失了,这种情况B自然不知道,在这两种情况下,B不会发送任何信息,直到A为刚刚发送的报文段设置的超时计时器超过了时间,就会认为B没有收到刚发送的报文段,就会重新发送刚刚发送的报文段——超时重传
- 接收方发送的确认宝丢失和确认迟到
- 这种情况是接收方正确的接收到发送方发送的报文段,并且发出确认报文,但是确认报文由于某些原因丢失了,或者是由于网络延迟没有在发送方设置的关于这个报文段的超时计时器内达到,这个时候——发送方就会重新发送这个报文段,而接收方又收到了重传的这个报文段,会做2件事
- 丢弃这个报文段
- 向发送方A发送确认报文
- 这种情况是接收方正确的接收到发送方发送的报文段,并且发出确认报文,但是确认报文由于某些原因丢失了,或者是由于网络延迟没有在发送方设置的关于这个报文段的超时计时器内达到,这个时候——发送方就会重新发送这个报文段,而接收方又收到了重传的这个报文段,会做2件事
- 无差错情况
可靠传输采用的机制及解决的问题
- TCP的四次挥手
- 第一次挥手:A->B,A向B发出释放连接请求的报文,其中FIN(终止位) = 1,seq(序列号)=u;在A发送完之后,A的TCP客户端进入FIN-WAIT-1(终止等待1)状态。此时A还是可以进行收数据的
- 第二次挥手:B->A:B在收到A的连接释放请求后,随即向A发送确认报文。其中ACK=1,seq=v,ack(确认号) = u +1;在B发送完毕后,B的服务器端进入CLOSE_WAIT(关闭等待)状态。此时A收到这个确认后就进入FIN-WAIT-2(终止等待2)状态,等待B发出连接释放的请求。此时B还是可以发数据的
- 第三次挥手:B->A:当B已经没有要发送的数据时,B就会给A发送一个释放连接报文,其中FIN=1,ACK=1,seq=w,ack=u+1,在B发送完之后,B进入LAST-ACK(最后确认)状态
- 第四次挥手:A->B;当A收到B的释放连接请求时,必须对此发出确认,其中ACK=1,seq=u+1,ack=w+1;A在发送完毕后,进入到TIME-WAIT (时间等待)状态。B在收到A的确认之后,进入到CLOSED(关闭)状态。在经过时间等待计时器设置的时间之后,A才会进入CLOSED状态
- TCP的三次握手
- 假如只进行两次握手
- 客户端发送连接请求后,会等待服务器端的应答。但是会出现的问题是,假如客户端的SYN迟迟没有到达服务器端,此时客户端超时后,会重新发送一次连接,假如重发的这次服务器端收到了,且应答客户端了,连接建立了。但是建立后,第一个SYN也到达服务端了,这时服务端会认为这是一个新连接,会再给客户端发送一个ACK,这个ACK当然会被客户端丢弃。但是此时服务器端已经为这个连接分配资源了,而且服务器端会一直维持着这个资源,会造成浪费
- 两次握手的问题在于服务器端不知道SYN的有效性
- 假设只有一次
- 客户端发送连接请求后,没有收到服务端的应答,是没法判断连接是否成功的
- 假如只进行两次握手
- 第一次握手:A发送SYN包(SYNC=j)到达B,并进入SYN_SEND状态,等待服务器B确认
- 第二次握手:B收到SYN包后,也会发送一个SYN包给A,这个包里面带有ACK=j+1用来确认A的SYN,和B自己的SYN=k,B进入SYN_RECV状态
- 第三次握手:A收到B的SYN+ACK包,向B发送确认包ACK(ACK=k+1),发送完毕,A和B进入ESTABLISHED状态,完成三次握手
停等协议、GBN协议和SR协议
窗口和序号的关系
- 滑动窗口协议
- 在TCP中窗口的大小不是固定的,会随着网络情况进行调整
- A也可以连续把发送窗口的数据发送出去。但是已经发送过的数据在未收到确认之前,它还需要暂时保留,以便于超时重传时使用
第四章
虚电路网络
- 特点:在数据传输之前必须通过虚呼叫设置一条虚电路。适用于两端之间长时间的数据交换
- 优点:可靠,保持顺序
- 若有故障,则经过故障点的数据全部丢失
数据报网络
- 特点:在目的地需要重新组装报文
- 优点:若有故障发生可绕过故障点
- 缺点:不能保证顺序到达,丢失不能立即知晓
NAT详解
- 借助于NAT,私有(保留)地址的"内部"网络通过路由器发送数据包时,私有地址被转换成合法的IP地址,一个局域网只需使用少量IP地址(甚至是1个)即可实现私有地址网络内所有计算机与Internet的通信需求
- NAT将自动修改IP报文的源IP地址和目的IP地址,Ip地址校验则在NAT处理过程中自动完成。有些应用程序将源IP地址嵌入到IP报文的数据部分中,所以还需要同时对报文的数据部分进行修改,以匹配IP头中已经修改过的源IP地址。否则,在报文数据部分嵌入IP地址的应用程序就不能正常工作
- 当内部网络需要与外部网络通讯时,需要配置NAT,将内部私有IP地址转换成全局唯一IP地址。您可以配置静态或动态的NAT来实现互联互通的目的,或者需要同时配置静态和动态的NAT
- NAT将自动修改IP报文的源IP地址和目的IP地址,Ip地址校验则在NAT处理过程中自动完成。有些应用程序将源IP地址嵌入到IP报文的数据部分中,所以还需要同时对报文的数据部分进行修改,以匹配IP头中已经修改过的源IP地址。否则,在报文数据部分嵌入IP地址的应用程序就不能正常工作
- NAT不仅能解决IP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机
- 宽带分享:这是 NAT 主机的最大功能
- 安全防护:NAT 之内的 PC 联机到 Internet 上面时,他所显示的 IP 是 NAT 主机的公共 IP,所以 Client 端的 PC 当然就具有一定程度的安全了,外界在进行 portscan(端口扫描) 的时候,就侦测不到源Client 端的 PC
IP选路最长前缀匹配的概念
- 因为路由表中的每个表项都指定了一个网络,所以一个目的地址可能与多个表项匹配。最明确的一个表项——即子网掩码最长的一个——就叫做最长前缀匹配。之所以这样称呼它,是因为这个表项也是路由表中,与目的地址的高位匹配得最多的表项
- 子网(英语:Subnetwork)这个词有两个相关的含义:其中一个较老的、一般的含义是互联网中的一个物理网络;在因特网协议(Internet Protocol,IP)中,子网指的是从分类网络中划分出来的一部分。本文叙述其第二种含义
- 在计算机网络中,路由表(routing table)或称路由择域信息库(RIB, Routing Information Base),是一个存储在路由器或者联网计算机中的电子表格(文件)或类数据库。路由表存储着指向特定网络地址的路径(在有些情况下,还记录有路径的路由度量值)。路由表中含有网络周边的拓扑信息。路由表建立的主要目标是为了实现路由协议和静态路由选择
- 子网(英语:Subnetwork)这个词有两个相关的含义:其中一个较老的、一般的含义是互联网中的一个物理网络;在因特网协议(Internet Protocol,IP)中,子网指的是从分类网络中划分出来的一部分。本文叙述其第二种含义
IP地址的分类
- 网络标识(网络ID) 主机标识(主机ID)
- 完整的IP 由一组32位2进制数组成 每8位为一个段,共分为4段,段于段之间用.分开,这是点分2进制 ,如果转成十进制就是点分十进制
- IP协议对应应用于网络层,基于IP协议的网络地址就是IP地址,又称网间网地址。互联网上每一台主机都对应一个唯一的IP地址。每个IP的长度为32位(2进制),由网络地址(NetID)和主机地址(HostID)两部分组成。网络地址表示其属于互联网中的哪一个网络,而主机地址则表示其属于该网络中的哪一台主机,两者之间是主从关系
- 完整的IP 由一组32位2进制数组成 每8位为一个段,共分为4段,段于段之间用.分开,这是点分2进制 ,如果转成十进制就是点分十进制
- IP地址具体分类方法
- A、B、C、D、E五类
- A类地址,第一位为0,第二至八位为网络地址,第九至三十二位为主机地址, 这类地址适用于为数不多的主机数大于2的16次方的大型网络,A类网络地址的数量最多不超过(2的7次方减2)个, 每个A类网络最多可以容纳(2的24次方减2)台主机
- B类地址前两位分别为1和0,第三至第十六位为网络地址,第十七至三十二位为主机地址,此类地址用于主机数介于2的8至16次方之间的中型网络,B类网络数量最多(2的14次方-2)个
- C类地址前三位分别为1、1、0,四到二十四位为网络地址,其余为主机地址,用于每个网络只能容纳(2的8次方减2)台主机的大量小型网,C类网络数量上限为2的(21次方减2)个
- D类地址前四位为1、1、1、0, 其余为多目地址
- E类地址前五位为1、1、1、1、0,其余位数留待后用
- A、B、C、D、E五类
- 除此之外还有一些特殊用途的IP地址:广播地址(主机地址全为1,用于广播,这里的广播是指同时向网上所有主机发送报文,不是指我们日常听的那种广播)、有限广播地址(所有地址全为1,用于本网广播)、 本网地址(网络地址全0,后面的主机号表示本网地址)、回送测试地址(127.x.x.x型,用于网络软件测试及本地机进程间通讯)、主机位全0地址(呵呵, 特点就和它的名称一样,这种地址的网络地址就是本网地址)及保留地址(网络号全1和32位全0两种)。 由此可见,网络位全1或全0和主机位全1或全0都是不能随意分配的。呵呵,这也就是前面的A、B、C类网络的网络数及主机数要减2的原因
- IP地址一般用点分十进制表示,即每8个字节用一个十进制数表示, 四个十进制数之间用小数点隔开
第五章
IPV4与IPV6的区别
- IPv4的地址位数为32位,也就是最多有2的32次方的电脑可以联到Internet上
- IPv6采用128位地址长度,几乎可以不受限制地提供地址
- 更小的路由表
- IPv6的地址分配一开始就遵循聚类(Aggregation)的原则,这使得路由器能在路由表中用一条记录(Entry)表示一片子网,大大减小了路由器中路由表的长度,提高了路由器转发数据包的速度
- 增强的组播支持以及对流的支持
- 这使得网络上的多媒体应用有了长足发展的机会,为服务质量(QoS)控制提供了良好的网络平台
- 加入了对自动配置的支持
- 这是对DHCP协议的改进和扩展,使得网络(尤其是局域网)的管理更加方便和快捷
- 更高的安全性
- 在使用IPv6网络中用户可以对网络层的数据进行加密并对IP报文进行校验,这极大的增强了网络安全
DJI算法(在我另一篇博文里展开细讲)
DV算法(路由选择算法)
- 由于dv的本质是在基于邻居的信息上,计算路由,所以为了防止邻居信息的信息误导,加入“水平分割”技术。该技术就是“从该接口发给邻居的信息中不包含从邻 居学习到的路由”。为了加强这种防止环路的效果,可以加入"毒性逆转",也就是"从该接口发给邻居的信息中对从邻居学习到的路由"。这两种技巧,可以解决邻接节点间由于错误消息导致的环路问题
- 对于超过两个节点的错误消息导致的环路,上述办法不能解决。其本质在于,本节点依照上游节点给出的路径,不可判断是否自身在路径上,也就是不可以监测环路 存在。所以,dv算法不能根本上防止环路的发生。为了算法可以实际使用,人为限制环路的生存时间,也即规定了网络的规模。同时,人们又想到了一些方法来加 速环路存在的情况下的路由环打破技术
- 触发更新”就是一种加快网络信息传递的方法。这个方法在没有环路的情况下,可以提高收敛速度,在有环路的情形下, 可以加速错误消息的循环,从而加速此错误路由到达跳数上限而破除环路。
- 其本质是为了减小错误路由信息的误导,其思想基础是,如过当前路由变糟糕,则很可能是错误路由,也就是宁可信其好,不信其坏。而且,路由变糟糕,很可能是路由环路产生的结果,所以加入"抑制时间"可以防止路由环路的继续扩散,同时导致环路上游的节点超时路由
RIP
- RIP(Routing Information Protocol,路由信息协议)是一种内部网关协议(IGP),是一种动态路由选择协议,用于自治系统(AS)内的路由信息的传递。RIP协议基于距离矢量算法(DistanceVectorAlgorithms),使用“跳数”(即metric)来衡量到达目标地址的路由距离。这种协议的路由器只关心自己周围的世界,只与自己相邻的路由器交换信息,范围限制在15跳(15度)之内,再远,它就不关心了。RIP应用于OSI网络七层模型的应用层。各厂家定义的管理距离(AD,即优先级)如下:华为定义的优先级是100,思科定义的优先级是120
- RIP协议采用距离向量算法,在实际使用中已经较少适用。在默认情况下,RIP使用一种非常简单的度量制度:距离就是通往目的站点所需经过的链路数,取值为0~16,数值16表示路径无限长。RIP进程使用UDP的520端口来发送和接收RIP分组。RIP分组每隔30s以广播的形式发送一次,为了防止出现“广播风暴”,其后续的分组将做随机延时后发送。在RIP中,如果一个路由在180s内未被刷新,则相应的距离就被设定成无穷大,并从路由表中删除该表项。RIP分组分为两种:请求分组和响应分组
- RIPV1与RIPV2的区别
- RIPv1是有类路由协议,RIPv2是无类路由协议
- RIPv1不能支持VLSM,RIPv2可以支持VLSM
- RIPv1没有认证的功能,RIPv2可以支持认证,并且有明文和MD5两种认证
- RIPv1没有手工道汇总的功能,RIPv2可以在关闭自动汇总的前提下,进行手工汇总
- RIPv1发送的updata包里面没有next-hop属性,RIPv2有next-hop属性,可以用与路由更新的重定
- 子主题 6
- RIPV1与RIPV2的区别
- RIP协议采用距离向量算法,在实际使用中已经较少适用。在默认情况下,RIP使用一种非常简单的度量制度:距离就是通往目的站点所需经过的链路数,取值为0~16,数值16表示路径无限长。RIP进程使用UDP的520端口来发送和接收RIP分组。RIP分组每隔30s以广播的形式发送一次,为了防止出现“广播风暴”,其后续的分组将做随机延时后发送。在RIP中,如果一个路由在180s内未被刷新,则相应的距离就被设定成无穷大,并从路由表中删除该表项。RIP分组分为两种:请求分组和响应分组
OSPF
- OSPF(Open Shortest Path First,开放最短路径优先)是IETF(Internet Engineering Task Force,互联网工程任务组)组织开发的一个基于链路状态的内部网关协议。目前针对IPv4协议使用的是OSPF Version 2
- 特点
- 适应范围广:支持各种规模的网络,最多可支持几百台路由器
- 快速收敛:在网络的拓扑结构发生变化后立即发送更新报文,使这一变化在自治系统中同步
- 无自环:由于OSPF根据收集到的链路状态用最短路径树算法计算路由,从算法本身保证了不会生成自环路由
- 区域划分:允许自治系统的网络被划分成区域来管理。路由器链路状态数据库的减小降低了内存的消耗和CPU的负担;区域间传送路由信息的减少降低了网络带宽的占用
- 等价路由:支持到同一目的地址的多条等价路由
- 路由分级:使用4类不同的路由,按优先顺序来说分别是:区域内路由、区域间路由、第一类外部路由、第二类外部路由
- 支持验证:支持基于接口的报文验证,以保证报文交互和路由计算的安全性
- 组播发送:在某些类型的链路上以组播地址发送协议报文,减少对其他设备的干扰
- 特点
- 工作原理
- 首先,当路由器开启OSPF后,路由器之间就会相互发送HELLO报文,HELLO报文中包含一些路由器和链路的相关信息,发送HELLO报文的目的是为了形成邻居表,然后,路由器之间就会发送LSA(LINK STATE ADVERTISEMENT,链路状态通告),LSA告诉自己的邻居路由器和自己相连的链路的状态,最后,形成网络的拓扑表,其实这个过程是很复杂的,他们经过发LSA,记录LSA,装发LSA,最后形成LSDB(链路状态数据库,即拓扑表),形成拓扑表之后,在经过SPF算法,通过计算LSDB,最后形成路由表
- OSPF路由协议是一种典型的链路状态(Link-state)的路由协议,一般用于同一个路由域内。在这里,路由域是指一个自治系统 (Autonomous System),即AS,它是指一组通过统一的路由政策或路由协议互相交换路由信息的网络。在这个AS中,所有的OSPF路由器都维护一个相同的描述这个 AS结构的数据库,该数据库中存放的是路由域中相应链路的状态信息,OSPF路由器正是通过这个数据库计算出其OSPF路由表的
- 首先,当路由器开启OSPF后,路由器之间就会相互发送HELLO报文,HELLO报文中包含一些路由器和链路的相关信息,发送HELLO报文的目的是为了形成邻居表,然后,路由器之间就会发送LSA(LINK STATE ADVERTISEMENT,链路状态通告),LSA告诉自己的邻居路由器和自己相连的链路的状态,最后,形成网络的拓扑表,其实这个过程是很复杂的,他们经过发LSA,记录LSA,装发LSA,最后形成LSDB(链路状态数据库,即拓扑表),形成拓扑表之后,在经过SPF算法,通过计算LSDB,最后形成路由表
自治系统
- 在互联网中,一个自治系统(AS)是一个有权自主地决定在本系统中应采用何种路由协议的小型单位。这个网络单位可以是一个简单的网络也可以是一个由一个或多个普通的网络管理员来控制的网络群体,它是一个单独的可管理的网络单元(例如一所大学,一个企业或者一个公司个体)。一个自治系统有时也被称为是一个路由选择域(routing domain)。一个自治系统将会分配一个全局的唯一的16位号码,有时我们把这个号码叫做自治系统号(ASN)
- 一个自治系统就是处于一个管理机构控制之下的路由器和网络群组。它可以是一个路由器直接连接到一个LAN上,同时也连到Internet上;它可以是一个由企业骨干网互连的多个局域网。在一个自治系统中的所有路由器必须相互连接,运行相同的路由协议,同时分配同一个自治系统编号。自治系统之间的链接使用外部路由协议,例如BGP.
《计算机网络自顶向下》知识体系完全梳理相关推荐
- 运维必知必会的监控知识体系全梳理
公众号回复:干货,领取价值58元/套IT管理体系文档 公众号回复:ITIL教材,领取最新ITIL4中文教材 正文 监控是整个运维乃至整个产品生命周期中最重要的一环,事前及时预警发现故障,事后提供详实的 ...
- 40000+字超强总结?阿里P8把Java全栈知识体系详解整理成这份PDF
40000 +字长文总结,已将此文整理成PDF文档了,需要的见文后下载获取方式. 全栈知识体系总览 Java入门与进阶面向对象与Java基础 Java 基础 - 面向对象 Java 基础 - 知识点 ...
- 产品思维-解读个人知识体系的构建和学习
产品思维系列文章目录 第一章:解读个人知识体系的构建和学习 第二章:用输出倒逼输入(费曼技巧的实际应用) 第三章:数据化自我管理:六边形战士的修炼 后续完善补充 基于产品岗位的知识体系构建 一.前言 ...
- 前端Q知识体系梳理与面试准备直播回顾
PS:关注前端Q公众号,回复 直播 ,可获得直播所有资料及录播视频- PS:体系图中对应的知识点可以直接链接过去的地址为:https://github.com/LuckyWinty/blog,点击阅读 ...
- python知识体系_python学习知识体系梳理
工作后,先后几份工作都是跟数据处理相关的,但是没有什么技术含量,有感于手上没有一门精通的技术实在很限制个人的发展,所以想选择一门编程语言来增强自己的本领,提升自己的价值.之所以选择Python,是因为 ...
- (一)梳理前端知识体系,搞定大厂必考面试题
梳理前端知识体系,搞定大厂必考面试题 常见面试题 JS基础知识 变量类型和计算 原型和原型链 作用域和闭包 异步和单线程 运行环境 HTTP协议 总结 常见面试题 JS基础知识 变量类型和计算 typ ...
- Web前端知识体系梳理,值得收藏!
前言 现在是信息时代,经过 web1.0 时期.web2.0 时期到现在的移动互联网时期,信息获取越来越高效,坐着不动就会有大量的新闻.博客.资讯向你推荐而来. 作为一名靠谱的程序员,你免不了要查阅大 ...
- 小升初数学知识体系梳理
小升初数学知识体系包含一下七个模块: 1.应用题 2.行程问题 3.几何 4.数论 5.计算 6.计数 7.组合 点击链接查看详细内容 非常详细的梳理和归纳,培训班老师的参考手册,家长辅导的宝典,整理 ...
- python的知识体系_最新Python知识体系梳理
课程目录 Day01 Python教程:01.前提概要.wmv Python教程:02.Python基础复习.wmv Python教程:03.Python基础复习.wmv Python教程:04.Py ...
最新文章
- 最快捷的阅读实训新闻
- POJ 1523 SPF 割点与桥的推断算法-Tarjan
- 2022年年底前山东将打造30个以上绿色数据中心 逐步淘汰高能耗中小型数据中心...
- 程序员:我用代码给女朋友P图
- 容器源码分析之TreeMap(十)
- 如何通过软件项目开发来提高自身的实力。
- ZooKeeper,策展人以及微服务负载平衡的工作方式
- layDate1.0正式公布,您一直在寻找的的js日期控件
- java 算法比较,java几种面消隐算法的比较
- 深度学习(一)神经网络中的池化与反池化原理
- C# 获取项目程序路径的10种方法
- 路径规划算法1.3抽样算法——PRM与RRT算法
- vs 2010 sp1
- Java读写文件的常用方法
- 2020年最新Django经典面试问题与答案汇总(上)-大江狗整理
- 论文笔记 · Symmetry and Group in Attribute-Object Compositions(CVPR 2020)
- display几种常用的属性值
- CAD如何安装才是最简单的详细教程方法呈现出来了
- MATLAB 求解积分上、下限含有未知数的方程
- window.print()手动设置纸张的宽高
热门文章
- ANTLR教程– Hello Word
- 对Openshift上的Play Framework 2应用进行故障排除
- Java最佳实践– Char到Byte和Byte到Char的转换
- MySQL的配置文件_选项文件_参数文件
- 查询英文缩写形式(缩写词)的网站工具梳理
- Final Cut Pro X剪辑影片基本步骤
- mysql 多表查询 join on_mysql多表查询
- Leetcode 19. 删除链表的倒数第N个节点
- hash值 更改git_Git切换版本
- python socket编程_Python学习记录-socket编程