欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

路由(一)——路由原理及静态路由

程序员文章站 2024-02-11 12:37:16
...

路由(一)——路由原理及静态路由


一、路由原理

路由是指分组从源到目的地时,决定端到端路径的网络范围的进程 。路由工作在OSI参考模型第三层——网络层的数据包转发设备。

路由器通过转发数据包来实现网络互连。路由器通常连接两个或多个由IP子网或点到点协议标识的逻辑端口,至少拥有1个物理端口。路由器根据收到数据包中的网络层地址以及路由器内部维护的路由表决定输出端口以及下一跳地址,并且重写链路层数据包头实现转发数据包。路由器通过动态维护路由表来反映当前的网络拓扑,并通过网络上其他路由器交换路由和链路信息来维护路由表。

路由的工作原理

路由器利用网络寻址功能使路由器能够在网络中确定一条最佳的路径。IP地址的网络部分确定分组的目标网络,并通过 IP 地址的主机部分和设备的 MAC 地址确定到目标节点的连接。

路由器的某一个接口接收到一个数据包时,会查看包中的目标网络地址以判断该包的目的地址在当前的路由表中是否存在。
如果发现包的目标地址与本路由器的某个接口所连接的网络地址相同,那么马上数据转发到相应接口;如果发现包的目标地址不是自己的直连网段,路由器会查看自己的路由表,查找包的目的网络所对应的接口,并从相应的接口转发出去;如果路由表中记录的网络地址与包的目标地址不匹配,则根据路由器配置转发到默认接口,在没有配置默认接口的情况下会给用户返回目标地址不可达的 ICMP 信息。

简单来说,路由有两个主要功能:一是将数据包转发到正确目的地,二是在转发过程中选择最佳的路径。

最优路由的选择

  • 子掩网码长度最长的优先匹配
  • 选取理由协议中优先级最小的优先匹配
  • 相同协议下,选取metric值最小的优先匹配
  • 如果以上都没有路由匹配上,就匹配默认路由

注释:路由表中的metric下的数字为路由指定所需跃点数的整数值(范围是1~9999),它用来在路由表里的多个路由中选择与转发包中的目标地址最为匹配的路由。所选的路由具有最少的跃点数。

二、路由表

简介

在计算机网络中,路由表(routing table)或称路由择域信息库(RIB, Routing Information Base),是一个存储在路由器或者联网计算机中的电子表格或类数据库。

路由表存储着指向特定网络地址的路径(在有些情况下,还记录有路径的路由度量值)。路由表中含有网络周边的拓扑信息。路由表建立的主要目标是为了实现路由协议和静态路由选择。

简单解释:路由表就是路由器中维护的路由条目的集合,路由器是通过路由表来做路径的选择。

路由表的形成

1. 直通网段

  • 配置IP地址
  • 端口处于up状态
  • 形成直连路由

2. 非直通网段
需要静态路由或者动态路由,将网段手动添加到路由表中

三、路由协议分类

路由协议分为两大类:静态路由和动态路由。

静态路由 管理员手动配置路由
动态路由 路由间自动学习

依照路由器与其他自治系统的关系,有许多种类的路由协定:
主要为两大类:内部网关路由协议(IGP)和外部网关协议(EGP)。

  • 内部网关路由协议(IGP)
    IGP是负责一个路由域(在一个管理域内运行同一种路由协议的域,称为一个路由域)内路由的路由协议。主要分为距离矢量路由协议和链路状态路由协议。
分类 包括
距离矢量路由协议 RIP、EIGRP等
链路状态路由协议 OSPF、IS-IS等
  • 外部网关路由协议(EGP)
    EGP负责在自治系统之间或域间完成路由和可到达信息的交互,主要用于传递路由,目前的主要协议有BGPv4。

四、静态路由

静态路由(Static routing),一种路由的方式,路由项由手动配置,而非动态决定。

与动态路由不同,静态路由是固定的,不会改变,即使网络状况已经改变或是重新被组态。

一般来说,静态路由是由网络管理员逐项加入路由表。

默认路由

默认路由是静态路由的一种特殊形式,它属于静态路由的一种,使用时有条件的,一般用于末梢/末节网络。

出现默认路由的原因:路由得查看路由表而决定怎么转发数据包,用静态路由一个个的配置,繁琐易错。如果路由器有个邻居知道怎么前往所有的目的地,可以把路由表匹配的任务交给它,省了很多事。

浮动路由

浮动路由指的是配置两条静态路由,默认选取链路质量优(带宽大)的作为主路径,当主路径出现故障时,由带宽较小的备份路由顶替,保持网络的不中断。

静态路由的优点、缺点及建议

静态路由
适用环境 适用于小规模的企业网络,大规模企业网络用动态路由
优点 配置灵活,管理员手动配置,节省链路开销
缺点 当拓扑发生改变是,需要管理员去每台路由器上修改路由设置
建议 五条以内的外部路由用静态路由协议,五条以上的用动态路由协议

五、静态路由实例

路由(一)——路由原理及静态路由
R4:

The device is running!

<Huawei>undo ter mo
Info: Current terminal monitor is off.
<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname R4
[R4]int e0/0/0
[R4-Ethernet0/0/0]ip add 10.1.1.2 24
[R4-Ethernet0/0/0]q	
[R4]int LoopBack 0
[R4-LoopBack0]ip add 192.168.1.10 24
[R4-LoopBack0]q	
[R4]ip route-static 10.1.2.0 24 10.1.1.3	
[R4]ip route-static 172.16.1.0 24 10.1.1.3
Info: The destination address and mask of the configured static route mismatched
, and the static route 172.16.1.0/24 was generated.

R2:

The device is running!

<Huawei>undo ter mo
Info: Current terminal monitor is off.
<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sysn	
[Huawei]sysname R2
[R2]int e0/0/0
[R2-Ethernet0/0/0]ip add 10.1.1.3 24
[R2-Ethernet0/0/0]int e0/0/1
[R2-Ethernet0/0/1]ip add 10.1.2.3 24
[R2-Ethernet0/0/1]q	
[R2]ip route-static 192.168.1.0 24 10.1.1.2
Info: The destination address and mask of the configured static route mismatched
, and the static route 192.168.1.0/24 was generated.
[R2]ip route-static 172.16.1.0 24 10.1.2.4
Info: The destination address and mask of the configured static route mismatched
, and the static route 172.16.1.0/24 was generated.

R3

The device is running!

<Huawei>undo ter mo
Info: Current terminal monitor is off.
<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sysn R3
[R3]int e0/0/0
[R3-Ethernet0/0/0]ip add 10.1.2.4 24
[R3-Ethernet0/0/0]q
[R3]int loopb 0
[R3-LoopBack0]ip add 172.16.1.10 24
[R3-LoopBack0]q	
[R3]ip route-static 10.1.1.0 24 10.1.2.3
[R3]ip route-static 192.168.1.0 24 10.1.2.3
Info: The destination address and mask of the configured static route mismatched
, and the static route 192.168.1.0/24 was generated.

R3与R4的环回口间的通信:
R4

[R4]ping -a 192.168.1.10 172.16.1.10
  PING 172.16.1.10: 56  data bytes, press CTRL_C to break
    Reply from 172.16.1.10: bytes=56 Sequence=1 ttl=254 time=60 ms
    Reply from 172.16.1.10: bytes=56 Sequence=2 ttl=254 time=30 ms
    Reply from 172.16.1.10: bytes=56 Sequence=3 ttl=254 time=60 ms
    Reply from 172.16.1.10: bytes=56 Sequence=4 ttl=254 time=50 ms
    Reply from 172.16.1.10: bytes=56 Sequence=5 ttl=254 time=60 ms

  --- 172.16.1.10 ping statistics ---
    5 packet(s) transmitted
    5 packet(s) received
    0.00% packet loss
    round-trip min/avg/max = 30/52/60 ms

R3

[R3]ping -a 172.16.1.10 192.168.1.10
  PING 192.168.1.10: 56  data bytes, press CTRL_C to break
    Reply from 192.168.1.10: bytes=56 Sequence=1 ttl=254 time=100 ms
    Reply from 192.168.1.10: bytes=56 Sequence=2 ttl=254 time=50 ms
    Reply from 192.168.1.10: bytes=56 Sequence=3 ttl=254 time=60 ms
    Reply from 192.168.1.10: bytes=56 Sequence=4 ttl=254 time=60 ms
    Reply from 192.168.1.10: bytes=56 Sequence=5 ttl=254 time=70 ms

  --- 192.168.1.10 ping statistics ---
    5 packet(s) transmitted
    5 packet(s) received
    0.00% packet loss
    round-trip min/avg/max = 50/68/100 ms

总结

熟悉路由的工作原理及静态路由的优缺点,对于熟悉网络层的数据传输方面有一定的作用。