路由器、路由表及常用路由选择协议初识

路由器、路由表及常用路由选择协议初识

什么是路由器

路由器是一种具有多个输入端口和多个输出端口的专用计算机,其任务是转发分组。
路由器包含了3(网络层)、2(数据链路层)和1(物理层)三层。

  • 路由器使用队列来维护输入端口中接收到的分组,因此会产生一定的时延。
  • 路由器同样使用队列来维护输出端口中等待发出的分组。

若路由器处理分组的速率赶不上分组进入队列的速率,则队列的存储空间很快就会耗尽,后面再进入队列的分组由于没有存储空间而只能被丢弃。路由器中的输入或输出队列产生溢出是造成分组丢失的重要原因。

路由器的功能

网络核心中起特殊作用的是路由器,它的主要功能是:

  • 网络互连:它可以连接多个网络,并转发他们的报文
  • 数据处理:包括分组过滤、防火墙、分组转发、压缩、加密、复用、优先级等
  • 网络管理:流量控制、容错、性能管理等

路由器的核心——路由表

路由表的作用?

路由表的主要作用是供路由器查找目标网络,进而确定转发接口及下一跳路由,完成数据包的转发功能。

路由表的结构?

路由表
从上图可以看到,路由表主要包含以下部分:

  • Destination/Mask:目标地址及网络掩码
  • Protocol:使用的路由选择协议,如RIP、OSPF等
  • Nexthop:下一跳的IP地址
  • Interface:转发的接口,如Serial1/0
路由表的实现?

在linux系统中,路由表本身不是由一个结构表示,而是由多个结构组合而成。路由表可以说是一个分层的结构组合。

  • 在第一层,它先将所有的路由根据子网掩码(netmask)的长度(0~32)分成33个部分(struct fn_zone),
  • 然后在同一子网掩码(同一层)中,再根据子网的不同(如10.1.1.0/24和10.1.2.0/24),划分为第二层(struct fib_node),
  • 在同一子网中,有可能由于TOS等属性的不同而使用不同的路由,这就是第三层(struct fib_alias),第三层结构表示一个路由表项
  • 而每个路由表项又包括一个相应的参数,如协议,下一跳路由地址等等,这就是第四层(struct fib_info)。

分层的好处是显而易见的,它使路由表的更加优化,逻辑上也更加清淅,并且使数据可以共享(如struct fib_info),从而减少了数据的冗余。

理由表的分类?

理由表主要分为静态路由表和动态路由表。具体信息如下

静态路由表

静态路由表是由系统管理员事先设置好的固定的路由表,它默认是私有的,不会传递给其他路由器。一般用于比较简单的网络环境。

动态路由表

动态路由表是根据网络运行情况自动调整的路由表,路由器根据路由选择协议(如RIP)提供的功能,自动学习和记录网络运行情况,在需要时自动计算数据传输的最佳路径。

路由选择协议

常用路由选择协议有:RIP(Routing Information Protocol路由信息协议)、OSPF(Open Shortest Path First开放式最短路径优先)、BGP(Border Gateway Protocol,边界网关协议)。他们的区别如下:

  • RIP(Routing Information Protocol):一种内部网关协议(IGP),它基于距离矢量算法,它使用“跳数”,即metric来衡量到达目标地址的路由距离。使用UDP进行路由信息更新。
  • OSPF(Open Shortest Path First开放最短路径优先):一种内部网关协议(IGP),它基于链路(接口)状态,使用最短路径优先算法。运行于IP层,直接使用IP协议发送数据。
  • BGP(Border Gateway Protocol 边界路由协议),一种外部网关协议(EGP),它基于距离矢量,使用TCP协议更新路由信息。



参考文章:
https://blog.csdn.net/lycb_gz/article/details/1612254
http://www.360doc.com/content/10/1012/14/163747_60356479.shtml

猜你喜欢

转载自blog.csdn.net/zhoucheng05_13/article/details/80530660
今日推荐