跳到主要内容

路由器原理

‍--- siderbar_position : 3

路由器

  1. 核心部件路由选择处理机。定期和相邻路由器交换路由信息不断的更新和维护路由表。

  2. 交换结构作用是根据转发表对分组进行处理,将某个输入端口进入的分组从一个合适的shuchuuuu端口转发出去。交换结构本身就是一种网络,但这种网络完全包含在路由器中。纵横交换结构:互连网络。

路由表和转发表的区别:

  1. **转发:**就是路由器根据转发表把收到的IP数据报从路由器合适的端口转发出去。“转发”仅仅涉及一个路由器。

  2. **路由选择:**则涉及很多路由器,路由表则是许多路由器协同工作的结果。这些路由器按照复杂的路由算法,得出整个网络的拓扑变化情况,因而能够动态地改变所选择的路由,并由此构造出整个的路由表。

  3. **路由表:**一般仅包含从目的网络到下一跳(用IP地址表示)的映射而转发表是从路由表得出的。

  4. **转发表:**必须包含完成转发功能所必需的信息。这就是说,在转发麦的每一行必须包含从要到达的目的网络倒输出端口和某些 MAC 地址信息(如下一跳的以太网地址)的映射。

  5. 将转发表和路由表用不同的数据结构实现会带来一些好处,这是因为在转发分组时,转发表的结构应当使查找过程最优化,但路由表则需要对网络拓扑变化的计算最优化。路由表总是用软件实现的,但转发表则可用特殊的硬件来实现。请读者注意,在讨论路由选择的原理时,往往不去区分转发表和路由表的区别,而可以笼统地都使用路由表这一名词。

路由表和转发表的区别?

  1. 转发:就是路由器根据转发表把收到的IP数据报从路由器合适的端口转发出去。“转发”仅仅涉及一个路由器。

  2. 路由选择:则涉及很多路由器,路由表则是许多路由器协同工作的结果。这些路由器按照复杂的路由算法,得出整个网络的拓扑变化情况,因而能够动态地改变所选择的路由,并由此构造出整个的路由表。

  3. 路由表:一般仅包含从目的网络到下一跳(用IP地址表示)的映射而转发表是从路由表得出的。

  4. 转发表:必须包含完成转发功能所必需的信息。这就是说,在转发麦的每一行必须包含从要到达的目的网络倒输出端口和某些 MAC 地址信息(如下一跳的以太网地址)的映射。

  5. 将转发表和路由表用不同的数据结构实现会带来一些好处,这是因为在转发分组时,转发表的结构应当使查找过程最优化,但路由表则需要对网络拓扑变化的计算最优化。路由表总是用软件实现的,但转发表则可用特殊的硬件来实现。请读者注意,在讨论路由选择的原理时,往往不去区分转发表和路由表的区别,而可以笼统地都使用路由表这一名词。

路由选择和分组转发

控制层面根据路由选择协议所用的路由选择算法计算路由使用软件,一般是秒数量级。按照复杂的分布式算法,根据从各相邻路由器中所得到的关于整个网络拓扑的变化情况动态的改变所选择的路由。数据层面硬件转发,转发一个分组的时间是纳秒数量级。路由器间的信息也分为两类:主机间的转发数据和传送的路由信息。路由器之间交换路由信息,生成路由表,根据路由选择协议生成转发表,依靠多路由器协同工作。

路由选择

什么是路由选择?

路由算法就是让路由知道收到报文之后下一步怎么走。算法必须正确完整,计算简单,有自适应性,能适应通信量和网络拓扑的变化,具有稳定性,公平,最佳(相对某一种特定要求下得出的较为合理的选择)。互联网规模非常大,让所有的路由器知道所有的网络怎么到达不现实。许多单位不愿意将自己单位的网络的布局细节和本部门所采用的路由选择协议让外界知道。

自治系统AS: Autonomous System

  1. 单一技术管理下的一组路由器,这些路由器使用一种AS内部的路由选择协议和共同的度量来确定分组在该AS内的路由,同时还使用一种AS之间的路由选择协议来确定分组在AS之间的路由。

  2. 一个自治系统内的所有网络都由一个行政单位(政府部门,公司、大学)管辖,一个自治系统的所有路由器在自治系统内都是必须联通的。

什么是RIP

[[RIP路由信息协议]] #距离向量 #IGP #应用层 #UDPRIP原理一种分布式的基于距离矢量算法的协议,它使用跳数作为度量来衡量到达目的网络的距离,路由器并不了解网络的拓扑。这是基于“传闻”的更新。优先选择跳数少的路径,不考虑带宽。RIP基于UDP,通过UDP报文进行路由信息的交换。RIP三个版本RIPv1、RIPv2、RIPng(为IPv6开发)。RIP版本1是广播发送,版本2是组播发送。RIP允许一条路经最多只能包含15个路由器,因此距离等于16时,表示网路不可达,防止数据报不断循环在环路上,减少拥堵的可能性。适用于小型互联网。仅和相邻路由器交换当前路由器所知道的全部信息,即自己的路由表。每30s广播一次RIP路由更新信息,以便自动建立并维护路由表。超过180s没有收到相邻路由器的更新表,将改路由器标为不可达。好消息传递快,坏消息传递慢,当网络出现故障时,要经过比较长的时间才能将此信息传送到所有的路由器。

什么是OSPF

#IGP #链路状态路由算法 #网络层 #IP数据报OSPF每个路由器将已知的链路状态信息以组播方式向该区域的其他路由器发送IP协议包通告,网络上的每台路由器对网络结构都会有相同的认识。

  1. 邻接表:列出每台路由器全部已经建立邻接关系的邻居路由器

  2. 链路状态数据库:列出网络中其他路由器的信息,显示全网拓扑,在全网范围中是一致的(链路状态数据库的同步)

  3. 路由表:每个路由根据链路状态数据库使用Dijkstra SPF最短路径算法计算从自己到各目的网络的最优路径,不存储完整路径,只存储下一跳地址,构造新得路由表。

  4. 向本AS中所有路由器发送信息,洪泛法(可靠的洪泛法,收到更新分组后需要返回确认)

  5. 发送的信息是邻接表,不发送全部已知信息。

  6. 链路状态发生变化时,路由器才用洪泛法发送信息,并且更新过程收敛的快,不会出现RIP中坏消息传的慢的问题。

  7. 对不同的链路根据IP分组的不同服务类型(TOS)设置不同的代价,对于不同类型的业务可计算出不同的路由,十分灵活。高带宽的卫星链路对于非实时业务可以设置为较低的代价,但是对于时延敏感的业务可以设置非常高的代价。

  8. 如果到一个目的网络有多条代价相同的路径,那么可以将通信量分配给这几条路径,称为多路经间的负载平衡

  9. 支持可变长度的子网划分和无分类编址CIDR

  10. 每个链路状态都带上一个32b的序号,序号越大,状态就越新。

  11. 为了保证全网状态一致,OSPF规定每隔一段时间刷新一次数据库中的链路状态,链路状态带上一个32b的序号用来比较状态是否最新

  12. 将AS划分为若干更小的区域,洪泛法交换链路状态信息的范围局限在每个区域中而非整个自治系统。减少了整个网络上的通信量。每个区域内的路由器只知道本区域的完整网络拓扑。

  13. 问候分组:发现和维持邻站的可达性,每两个相邻的路由器每个10s要交换一次问候分组,40秒后更新链路状态数据库不可达。

  14. 数据库描述分组:向邻站给出自己的链路状态数据库中所有链路状态项目的摘要信息

  15. 链路状态请求分组:项对方请求发送某些链路状态项目的详细信息

  16. 链路状态更新分组:用洪泛法对全网更新链路状态

  17. 链路状态确认分组:对链路更新分组的确认

什么是BGP

#EGP外部网关协议 #路径向量路由选择协议 #TCP #应用层路径向量路由选择协议,基于TCP的应用层协议一个AS选择一个或多个路由器作为BGP发言人,AS之间的BGP发言人交换路由信息,要先建立TCP连接(BGP报文是通过TCP传送的,BGP报文是TCP报文的数据部分),在此连接上,交换BGP报文建立BGP会话,再利用BGP会话交换路由信息边界路由器之间的会话都是通过TCP连接传送BGP报文。内部叫iBGP,外部叫eBGP。某一个边界路由器会通过iBGP向AS内的其他边界路由器共享那些通过eBGP从其他AS的边界路由器得到的信息。AS的iBGP必须是全连通的。

  1. BGP交换路由信息的结点数量级是自治系统的数量级,比这些自治系统中的网络数少很多

  2. 每个AS的BGP发言人很少。

  3. BGP支持CIDR,因此BGP的路由表也就应当包括目录网络前缀下一跳路由器,以及到达该目的网络所要经过的各个AS序列

  4. BGP刚运行时,BGP的邻站交换整个BGP路由表,但以后只需在发生变化时更新有变化的部分,节省网络带宽,减少路由器的处理开销

  5. 打开报文:用来与相邻的另一个BGP发言人建立关系

  6. 更新报文:用来发送某一路由的信息,以及列出要撤消的多条路由(BGP核心)

  7. 保活报文:用来确认打开报文并周期性地证实邻站关系

  8. 通知报文:用来发送监测到的差错

分组转发

fragment转发过程和地址匹配?

链路层只能看到MAC帧转发表中每条路必须有下面两条信息:{目的网络(前缀匹配),下一跳地址(接口)}

  1. 基于终点的转发, 路由器只根据目的站IP地址转发,与源站无关

  2. 主机路由,特定主机路由,32个1的IP地址。a.b.c.d/32,主机路由在转发表中都放在最前面

  3. 默认路由,在实际转发表中用一个特殊前缀0.0.0.0/0相匹配。

  4. 为了减少路由器中的项目数,采用地址聚合技术,把三个地址聚合块聚合为一个地址

  5. 在采用CIDR编址时,如果一个分组在转发表中可以找到多个匹配的前缀,那么应当选择前缀最长的一个作为匹配的前缀,这个原则称为最长前缀匹配,其地址块就越小,因而路由越具体。

  6. 转发表按前缀长的放在前面

什么是ARP

[[ARP|地址解析协议]] #网络层协议 #ARP数据单元被封装在以太帧APR用于解决同一个局域网上的主机或路由器的IP地址和MAC地址的映射问题。IP地址到MAC地址的映射,询问目标IP对应的MAC地址每一台主机都设有一个ARP高速缓存,存放一个从IP地址到MAC地址的映射表,这些都是该主机目前知道的一些MAC地址的情况,并且这个映射表还会经常动态更新(新增或者超时删除)。ARP高速缓存中的每一个映射项目都设置生存时间(10-20分钟),防止目标主机的网络适配器随机损坏。广播请求,单播回应:ARP请求分组时广播,ARP响应分组时单播。

那么,什么是广播?对于初学者而言,我们只需要知道,大部分的广播包,它们有一个共同特征:二层封装时目的MAC是全f(ffff.ffff.ffff)或三层封装时目的IP是全1(255.255.255.255) 。可以这样更方便的记住:目的地址最大的,就是广播。

什么是ICMP

#网际控制报文协议 #网络层协议 #不可靠为了更有效的转发IP数据报和提高交付成功的机会,允许主机和路由器报告差错情况和提供有关异常情况的报告。ICMP报文虽然装在IP数据报中,但不是高层协议,而是IP层协议。ICMP报文作为IP层数据报的数据,加上数据报的首部,组成IP数据报发送出去。用于 TCP/IP 网络中发送控制消息,提供可能发生在通信环境中的各种问题反馈,通过这些信息,使网络管理者可以对所发生的问题作出诊断,然后采取适当的措施解决问题。

  1. 差错报文:终点不可达报文(路由器或主机不能交付数据时,向源点发出的报文),源点抑制报文(路由器或主机由于拥塞而丢弃数据报时(不再使用)),时间超过报文(路由器收到生存时间TTL=0的数据报时,除了丢弃该报外,向源点发送时间超过报文),参数问题报文(路由器或目的主机收到的报文首部有的字段值不正确),改变路由(重定向)报文(路由器把改变路由报文发送给主机,下此应将数据报发送给另外的路由器(可通过更好的路由))。不发送差错报文的情况:对ICMP差错报文不再发送差错报告报文;对第一个分片的数据报片的所有后续数据报片不发送ICMP差错报告报文;对具有组播数据的数据报不再发送差错数据报文;对具有特殊地址(127.0.0.0,0.0.0.0 )不再发送ICMP差错报告报文

  2. 询问报文:回送请求和回答报文,时间戳请求和回答报文,地址掩码请求和回答报文,路由器询问和回答报文

ping/traceroute 命令是基于 ICMP 协议来实现的,PING工作在应用层,直接使用网络层的ICMP(回送请求和回答报文),而未使用传输层的TCP和UDP。Traceroute/tracert工作在网络层,发送数据报(时间超过报文),利用TTL逐次+1发送,获取到达目的主机所经过的路由器的IP地址,以及到达每个路由器的往返时间。

什么是DHCP

[[DHCP|动态主机配置协议]] #应用层协议 #UDP #C/S常用于给主机动态分配IP地址,提供了即插即用的联网机制,这种机制允许一台计算机加入新的网络和获取IP地址,而不用手工参与。

  • 用于内部网路或网络服务供应商自动分配IP地址给用户

  • 用于内部网路管理员对所有电脑作中央管理DHCP使网络管理员能从中心结点监控和分配IP地址。当某台计算机移到网络中的其它位置时,能自动收到新的IP地址。租约:计算机IP地址的有效期。租用时间是不定的,主要取决于用户在某地连接Internet需要多久,这对于教育行业和其它用户频繁改变的环境是很实用的。透过较短的租期,DHCP能够在一个计算机比可用IP地址多的环境中动态地重新配置网络。DHCP支持为计算机分配静态地址,如需要永久性IP地址的Web服务器。

分组转发

过程

链路层只能看到MAC帧

  1. 基于终点的转发

  2. IP层抽象的互联网上只能看到IP数据报,首部中的源地址和目的地址始终一致,分别为IP1,和IP2.路由器IP地址不出现在IP数据报的首部

  3. 路由器只根据目的站IP地址转发,与源站无关

  4. 转发表中每条路必须有下面两条信息:{目的网络(前缀匹配),下一跳地址(接口)}(如何找到下一跳路由器的地址?)

  5. 最长前缀匹配:

  6. 为了减少路由器中的项目数,采用地址聚合技术,把三个地址聚合块聚合为一个地址

  7. 在采用CIDR编址时,如果一个分组在转发表中可以找到多个匹配的前缀,那么应当选择前缀最长的一个作为匹配的前缀,这个原则称为最长前缀匹配,其地址块就越小,因而路由越具体。

  8. 转发表按前缀长的放在前面

  9. 主机路由,特定主机路由,32个1的IP地址。a.b.c.d/32,主机路由在转发表中都放在最前面

  10. 默认路由,在实际转发表中用一个特殊前缀0.0.0.0/0相匹配。

ARP - 地址解析协议

路由器或主机如何知道应当在MAC帧首部填入的MAC帧地址?

APR用于解决同一个局域网上的主机或路由器的IP地址和MAC地址的映射问题。

IP地址到MAC地址的映射,询问目标IP对应的MAC地址

这就好比我们要寄一个快递,如果在快递单上仅仅写了收件人的姓名(IP),却没有写收件人的地址(MAC),那么这个快递就没法寄出,因为信息不完整。

主机的ARP高速缓存中存放一个从IP地址到MAC地址的映射表,并且这个映射表还会经常动态更新(新增或者超时删除)

每一台主机都设有一个ARP高速缓存,ARP cache,里面存有本局域网中各主机和路由器的IP地址到MAC地址的映射表,这些都是该主机目前知道的一些MAC地址的情况

ARP高速缓存中的每一个映射项目都设置生存时间(10-20分钟),防止目标主机的网络适配器随机损坏。

广播请求,单播回应

那么,什么是广播?对于初学者而言,我们只需要知道,大部分的广播包,它们有一个共同特征:二层封装时目的MAC是全f(ffff.ffff.ffff)或三层封装时目的IP是全1(255.255.255.255)。可以这样更方便的记住:目的地址最大的,就是广播。

发送方接收方过程
主机本网络主机ARP找到目的地址的MAC地址
主机其他网络主机ARP找到和本网连接的路由器MAC地址,剩余工作由该路由器完成
路由器连接网络的主机在该网络中找到ARP找到目的主机的MAC地址
路由器非连接网络的主机路由器找到与非连接网络连接的路由器的MAC地址,再由该路由器完成剩余工作

ICMP - 网际控制报文协议

为了更有效的转发IP数据报和提高交付成功的机会,允许主机和路由器报告差错情况和提供有关异常情况的报告。

ICMP报文虽然装在IP数据报中,但不是高层协议,而是IP层协议。ICMP报文作为IP层数据报的数据,加上数据报的首部,组成IP数据报发送出去。

网络层协议 ping/traceroute 命令是基于 ICMP 协议来实现的

用于 TCP/IP 网络中发送控制消息,提供可能发生在通信环境中的各种问题反馈,通过这些信息,使网络管理者可以对所发生的问题作出诊断,然后采取适当的措施解决问题。

差错报文1. 终点不可达报文:路由器或主机不能交付数据时,向源点发出的报文
  1. 源点抑制报文:路由器或主机由于拥塞而丢弃数据报时(不再使用)
  2. 时间超过报文:路由器收到生存时间TTL=0的数据报时,除了丢弃该报外,向源点发送时间超过报文
  3. 参数问题报文:路由器或目的主机收到的报文首部有的字段值不正确
  4. 改变路由(重定向)报文:路由器把改变路由报文发送给主机,下此应将数据报发送给另外的路由器(可通过更好的路由)| |不发送差错报文的情况|1. ICMP差错报文不再发送差错报告报文
  5. 对第一个分片的数据报片的所有后续数据报片不发送ICMP差错报告报文
  6. 对具有组播数据的数据报不再发送差错数据报文
  7. 对具有特殊地址(127.0.0.0,0.0.0.0 )不再发送ICMP差错报告报文| |询问报文|1. 回送请求和回答报文
  8. 时间戳请求和回答报文
  9. 地址掩码请求和回答报文
  10. 路由器询问和回答报文|

PING工作在应用层,直接使用网络层的ICMP,而未使用传输层的TCP和UDP

Traceroute/tracert工作在网络层,发送数据报,利用TTL逐次+1发送,获取到达目的主机所经过的路由器的IP地址,以及到达每个路由器的往返时间

DHCP:Dynamic Host Configuration Protocol

使用C/S模式,基于UDP的应用层协议

常用于给主机动态分配IP地址,提供了即插即用的联网机制,这种机制允许一台计算机加入新的网络和获取IP地址,而不用手工参与。

  • 用于内部网路或网络服务供应商自动分配IP地址给用户

  • 用于内部网路管理员对所有电脑作中央管理

原理:使用C/S模式,需要IP地址的主机在启动时就向DHCP服务器广播发送发现报文,该主机就成为DHCP客户,本地网络的所有主机都能收到此广播报文,但只有DHCP服务器才回答此报文,DHCP服务器先在其数据库中查找该计算机的配置信息,若找到返回信息,若找不到,从服务器中的IP地址池中取一个地址分配给该计算机,回答报文称提供报文。

DHCP使网络管理员能从中心结点监控和分配IP地址。当某台计算机移到网络中的其它位置时,能自动收到新的IP地址。

DHCP使用了租约的概念,或称为计算机IP地址的有效期。租用时间是不定的,主要取决于用户在某地连接Internet需要多久,这对于教育行业和其它用户频繁改变的环境是很实用的。透过较短的租期,DHCP能够在一个计算机比可用IP地址多的环境中动态地重新配置网络。DHCP支持为计算机分配静态地址,如需要永久性IP地址的Web服务器。

路由选择

算法必须正确完整,计算简单,有自适应性,能适应通信量和网络拓扑的变化,具有稳定性,公平,最佳(相对某一种特定要求下得出的较为合理的选择)

互联网规模非常大,让所有的路由器知道所有的网络怎么到达不现实。

许多单位不愿意将自己单位的网络的布局细节和本部门所采用的路由选择协议让外界知道

AS:Autonomous System

  1. 单一技术管理下的一组路由器,这些路由器使用一种AS内部的路由选择协议和共同的度量来确定分组在该AS内的路由,同时还使用一种AS之间的路由选择协议来确定分组在AS之间的路由。

  2. 一个自治系统内的所有网络都由一个行政单位(政府部门,公司、大学)管辖,一个自治系统的所有路由器在自治系统内都是必须联通的。

路由算法就是让路由知道收到报文之后下一步怎么走

静态路由(非自适应性算法)网络管理员手工配置路由信息,不能及时适应网络状态变换优点:简便,开销小,拓扑变化不大的小网络中运行效果好缺点:不能及时适应网络状态变化
动态路由(自适应性)路由器上的路由表项通过相互连接的路由器之间彼此交换信息,按照一定算法优化出来。路由信息在一定时间间隙不断更新,适应不断变化的网络,随时获得最优寻路效果。优点:改善网络性能,有助于流量控制缺点:算法复杂,增加网络负担,反应太快引起动荡,反应太慢影响网络的一致性
按协议工作机制划分协议
距离矢量协议RIP特点:直接把自己的路由表更新给邻居,路由器之间交互各自路由表,来学习或记录自己没有的。
链路状态协议OSPF、IS-IS特点:传递的是描述拓扑的信息叫链路状态信息,通过泛洪和收集这些信息,每台路由器可以进行拓扑数据库的构建,这个数据库就相当于对整个拓扑的理解,基于这个理解每台路由器进行单独算法计算,以自己为根,产生出一个最短路径树。
路径向量协议BGP采用
按工作范围划分协议
IGP(AS内)RIP、OSPF、IS-ISIGP是工作在AS内,叫自治域系统,由一个独立的机构所统一管理的运行相同路由协议类型和策略一组路由器所构成的网络,说白了就类似于一家公司的网络。
EGP(AS之间)BGPESP是工作在AS之间,使能交互路由信息

RIP

基于距离向量的路由选择协议。

https://juejin.cn/post/7022536969003466782

RIP是Routing Information Protocol(路由信息协议)的简称,它是一种较为简单的内部网关协议(Interior Gateway Protocol)。RIP是一种分布式的基于距离矢量(Distance-Vector)算法的协议,它使用跳数作为度量来衡量到达目的网络的距离。RIP包括RIP-1和RIP-2两个版本,RIP-2对RIP-1进行了扩充,使其更具有优势。RIP基于UDP,通过UDP报文进行路由信息的交换,端口号520。定期更新整张路由表,依照传闻;距离矢量路由协议并不了解网络拓扑。RIP三个版本RIPv1、RIPv2、RIPng(为IPv6开发)。RIP版本1是广播发送,版本2是组播发送

使用距离矢量路由协议的路由器并不了解网络的拓扑。这是基于“传闻”的更新。

RIP协议是依照传闻的更新,采用逐条的动作。邻居将路由表更新给我,我先去更新本地的路由表,然后再向外更新自己的路由表。

  1. 规定

  2. 每个R都要维护从它自身到其他每个目的网络的距离记录(因此者这是一组距离,距离向量)

  3. 距离也称跳数Hoop Count,规定从一个路由器到直接连接网络的距离为1,而每经过一个路由器,距离跳数+1

  4. RIP认为好的路由就是他通过的路由器数目少,即优先选择跳数少的路径,不考虑带宽

  5. RIP允许一条路经最多只能包含15个路由器,因此距离等于16时,表示网路不可达,可见RIP之能适用于小型互联网,规定路径上的最高跳数的目的是为了防止数据报不断循环在环路上,减少拥堵的可能性

  6. RIP默认在任意两个使用RIP的路由器之间每30s广播一次RIP路由更新信息,以便自动建立并维护路由表

  7. 在RIP中不支持子网掩码的RIP广播,所以RIP中每个网络的子网掩码必须相同,但在新的RIP2中,支持变长子网掩码和CIDR。

  8. 特点

  9. 仅和相邻路由器交换信息

  10. 路由器交换的信息是当前路由器所知道的全部信息,即自己的路由表

  11. 按固定的时间间隔交换路由信息,如每个30s

  12. 坏消息传递慢,当网络出现故障时,要经过比较长的时间才能将此信息传送到所有的路由器。

  13. 好消息传递快。

OSPF

开放最短路径优先,为了克服RIP的缺点

https://zhuanlan.zhihu.com/p/41341540

链路状态路由协议使用SPF最短路经优先算法(shortest path first spf)计算和选择路由,这类路由协议只关心网络中链路或接口的状态(up down ip地址,掩码带宽,利用率和时延等),每个路由器将已知的链路状态信息向该区域的其他路由器通告,通过这种方式,网络上的每台路由器对网络结构都会有相同的认识,随后路由器以其为依据,使用spf算法计算和选择路由

spf算法:是以自身为根节点计算出一棵最短路径树,在这棵树上由根到各节点的累计开销最小,即由根到各节点的路径在整个网络中都是最优的,这样也就获得了由根去往各个节点的路由。

ospf引入router id概念,ospf区域内的每台路由器的行为都能很好的被跟踪

OSPF的三张表

  1. 邻居列表:列出每台路由器全部已经建立邻接关系的邻居路由器

  2. 链路状态数据库:列出网络中其他路由器的信息,由此显示了全网的网络拓扑,实际是全网的拓扑结构图,在全网范围中是一致的(链路状态数据库的同步)

  3. 路由表:每个路由根据链路状态数据库使用Dijkstra SPF最短路径算法计算从自己到各目的网络的最优路径,构造新得路由表

特点

  1. 向本AS中所有路由器发送信息,洪泛法(可靠的洪泛法,收到更新分组后需要返回确认)

  2. 发送的信息是本路由器相邻路由的信息,是本路由器知道的部分信息,链路状态説明本路由器和哪些路由器相邻及该链路的度量(代价)。

  3. 链路状态发生变化时,路由器才用洪泛法发送信息,并且更新过程收敛的快,不会出现RIP中坏消息传的慢的问题

  4. OSPF是纯网络层协议,不适用UDP或TCP,而直接用IP数据报传送(其IP数据报的首部协议字段是89),RIP是应用层协议,他在传输层才用UDP

  5. 对不同的链路根据IP分组的不同服务类型(TOS)设置不同的代价,对于不同类型的业务可计算出不同的路由,十分灵活

  6. 高带宽的卫星链路对于非实时业务可以设置为较低的代价,但是对于时延敏感的业务可以设置非常高的代价

  7. 如果到一个目的网络有多条代价相同的路径,那么可以将通信量分配给这几条路径,称为多路经间的负载平衡。

  8. 支持可变长度的子网划分和无分类编址CIDR

  9. 每个链路状态都带上一个32b的序号,序号越大,状态就越新。

  10. 所有在OSPF的路由之间交换的分组具有鉴别功能,因而保证了仅在可信赖的路由器之间交换链路状态信息

  11. 为了保证全网状态一致,OSPF规定每隔一段时间刷新一次数据库中的链路状态,链路状态带上一个32b的序号用来比较状态是否最新

协议报文

  1. 问候分组:发现和维持邻站的可达性,每两个相邻的路由器每个10s要交换一次问候分组,40秒后更新链路状态数据库不可达。

  2. 数据库描述分组:向邻站给出自己的链路状态数据库中所有链路状态项目的摘要信息

  3. 链路状态请求分组:项对方请求发送某些链路状态项目的详细信息

  4. 链路状态更新分组:用洪泛法对全网更新链路状态

  5. 链路状态确认分组:对链路更新分组的确认

BGP-4

不同AS的路由器之间交换路由信息的协议,外部网关协议

路径向量路由选择协议,基于TCP的应用层协议

工作原理

一个AS选择一个或多个路由器作为BGP发言人,AS之间的BGP发言人交换路由信息,要先建立TCP连接(BGP报文是通过TCP传送的,BGP报文是TCP报文的数据部分),在此连接上,交换BGP报文建立BGP会话,再利用BGP会话交换路由信息

边界路由器之间的会话都是通过TCP连接传送BGP报文。内部叫iBGP,外部叫eBGP。某一个边界路由器会通过iBGP向AS内的其他边界路由器共享那些通过eBGP从其他AS的边界路由器得到的信息。AS的iBGP必须是全连通的。

找下一跳。

特点

  1. BGP交换路由信息的结点数量级是自治系统的数量级,比这些自治系统中的网络数少很多

  2. 每个AS的BGP发言人很少。

  3. BGP支持CIDR,因此BGP的路由表也就应当包括目录网络前缀,下一跳路由器BGP的起点,以及到达该目的网络所要经过的各个AS序列

  4. BGP刚运行时,BGP的邻站交换整个BGP路由表,但以后只需在发生变化时更新有变化的部分,节省网络带宽,减少路由器的处理开销

协议报文

  1. 打开报文:用来与相邻的另一个BGP发言人建立关系

  2. 更新报文:用来发送某一路由的信息,以及列出要撤消的多条路由(BGP核心)

  3. 保活报文:用来确认打开报文并周期性地证实邻站关系

  4. 通知报文:用来发送监测到的差错

Loading Comments...