当前位置: 代码迷 >> 综合 >> 计算机网络 网络层 静态路由及配置静态路由
  详细解决方案

计算机网络 网络层 静态路由及配置静态路由

热度:65   发布时间:2023-09-30 10:21:23.0

静态路由告诉路由器网络怎么走。

  • 要想实现全网通信,也就是网络中的任意两个节点都能通信,这就要求每个路由器的路由表中必须有到所有网段的路由。
  • 对于路由器来说,它只知道自己直连的网段,对于没有直连的网段,需要管理员人工添加到这些网段的路由。
  • 管理员人工添加到某个网段如何转发,就是静态路由。

后面还会讲到配置网络中的路由器使用动态路由协议(RIP、OSPF)自动构建路由表,就是动态路由。

华为路由器添加静态路由的命令


  • R1路由器直连A、B两个网段,C、D网段没有直连,你需要添加到C、D网段的路由。
  • R2路由器直连B、C两个网段,A、D网段没有直连,你需要添加到A、D网段的路由。
  • R3路由器直连C、D两个网段,A、B网段没有直连,你需要添加到A、B网段的路由。

计算机网络 网络层 静态路由及配置静态路由上面其实就是到每个网段的下一跳地址,网段+下一跳IP地址。

在路由器上面直连的两个网段就不需要管了,就告诉没有连接的网段的路由就行了。

路由相关操作


  • 添加静态路由 [AR1]ip route-static 172.16.1.0 24 172.16.0.2    [AR1]ip route-static 172.16.1.0 255.255.255.0 172.16.0.2
  • 显示全部路由 [AR1]display ip routing-table  
  • 只显示静态路由 [AR1]display ip routing-table protocol static
  • 删除静态路由 [AR1]undo ip route-static 172.16.1.0 24

点到点链路静态路由下一跳可以写出口


计算机网络 网络层 静态路由及配置静态路由

 可以看到下一跳就不写另外一个路由器接口的IP地址了,就直接写接口地址了。写出口就可以了,因为点到点网络使用的是ppp协议,这个协议都不需要MAC地址,从一个口发出去就行,另外一个口接收就行,只有点到点链路这样写是合适的。

以太网接口最好写下一跳地址


计算机网络 网络层 静态路由及配置静态路由

路由器只关心到某个网段如何转发


 路由器只关心到某个网段如何转发数据包,因此我们在路由器上添加路由,必须是到某个网段(子网)的路由,不能添加到某个特定地址的路由。

以下命令试图添加到一个IP地址的路由,路由器报错。(在路由器上面添加路由,主机位要归0的)

[AR1]ip route-static 172.16.1.2 24 172.16.0.2

Info: The destination address and mask of the configured static route mismatched , and the static route 172.16.1.0/24 was generated.--错误的地址和子网掩码

如果你就想让路由器转发到一个IP地址的路由,子网掩码要写成四个255,这就意味着IP地址的32位二进制是全部的网络位,该网段中就这一个地址。 [AR1]ip route-static 172.16.1.2 32 172.16.0.2

 

 

实战 静态路由配置


计算机网络 网络层 静态路由及配置静态路由

 AR1:可以看到到两个直连的网段,没有直连的网段,也就是到其他的网段是不知道的,其他路由器也一样。

<AR1>display  ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: PublicDestinations : 11       Routes : 11       Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface127.0.0.0/8   Direct  0    0           D   127.0.0.1       InLoopBack0127.0.0.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0
127.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0172.16.0.0/24  Direct  0    0           D   172.16.0.1      Serial2/0/0172.16.0.1/32  Direct  0    0           D   127.0.0.1       Serial2/0/0172.16.0.2/32  Direct  0    0           D   172.16.0.2      Serial2/0/0172.16.0.255/32  Direct  0    0           D   127.0.0.1       Serial2/0/0192.168.0.0/24  Direct  0    0           D   192.168.0.1     Vlanif1192.168.0.1/32  Direct  0    0           D   127.0.0.1       Vlanif1192.168.0.255/32  Direct  0    0           D   127.0.0.1       Vlanif1
255.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0
     172.16.0.0/24  Direct  0    0           D   172.16.0.1      Serial2/0/0192.168.0.0/24  Direct  0    0           D   192.168.0.1     Vlanif1

现在PC1计算器去ping一下AR1的两个网关。

PC>ping 192.168.0.1Ping 192.168.0.1: 32 data bytes, Press Ctrl_C to break
From 192.168.0.1: bytes=32 seq=1 ttl=255 time=16 ms
From 192.168.0.1: bytes=32 seq=2 ttl=255 time=15 ms--- 192.168.0.1 ping statistics ---2 packet(s) transmitted2 packet(s) received0.00% packet lossround-trip min/avg/max = 15/15/16 msPC>ping 172.16.0.1Ping 172.16.0.1: 32 data bytes, Press Ctrl_C to break
From 172.16.0.1: bytes=32 seq=1 ttl=255 time=15 ms
From 172.16.0.1: bytes=32 seq=2 ttl=255 time=16 ms--- 172.16.0.1 ping statistics ---2 packet(s) transmitted2 packet(s) received0.00% packet lossround-trip min/avg/max = 15/15/16 ms

都通了,现在去ping一下AR2上面的地址

PC>ping 172.16.0.2Ping 172.16.0.2: 32 data bytes, Press Ctrl_C to break
Request timeout!--- 172.16.0.2 ping statistics ---2 packet(s) transmitted0 packet(s) received100.00% packet lossPC>

由于AR2不知道到192.168.0.0/24网段怎么走,这个是数据包到了但是没有回来呢,还是根本就没到呢?

计算机网络 网络层 静态路由及配置静态路由

抓包可以看一下数据包过来没过来,可以看到数据包是过来的,但是没有回去

计算机网络 网络层 静态路由及配置静态路由

 所以要添加路由告诉路由器AR2到PC1网段怎么走

[AR2]ip route-static 192.168.0.0 24 172.16.0.1
PC>ping 172.16.0.2Ping 172.16.0.2: 32 data bytes, Press Ctrl_C to break
From 172.16.0.2: bytes=32 seq=1 ttl=254 time=15 ms
From 172.16.0.2: bytes=32 seq=2 ttl=254 time=32 ms--- 172.16.0.2 ping statistics ---2 packet(s) transmitted2 packet(s) received0.00% packet lossround-trip min/avg/max = 15/23/32 ms

计算机网络 网络层 静态路由及配置静态路由

可以看到数据包有两个方向的,有去有回。上面就是简单的添加静态路由。

如果要让PC1和PC2可以通,这就要让AR1 AR2路由器知道到PC2网段要怎么走。

[AR1]ip route-static 192.168.1.0 24 172.16.0.2[AR2]ip route-static 192.168.1.0 24 172.16.1.2

这样数据包就可以到了

PC>ping 192.168.1.2Ping 192.168.1.2: 32 data bytes, Press Ctrl_C to break
Request timeout!--- 192.168.1.2 ping statistics ---2 packet(s) transmitted0 packet(s) received100.00% packet loss

计算机网络 网络层 静态路由及配置静态路由

 现在还要添加返回的路由,由于之前AR2添加了到PC1网段的路由,所以只需要添加一下AR3

[AR3]ip route-static 192.168.0.0 24 172.16.1.1
PC>ping 192.168.1.2Ping 192.168.1.2: 32 data bytes, Press Ctrl_C to break
Request timeout!
From 192.168.1.2: bytes=32 seq=2 ttl=125 time=16 ms
From 192.168.1.2: bytes=32 seq=3 ttl=125 time=16 ms
From 192.168.1.2: bytes=32 seq=4 ttl=125 time=16 ms--- 192.168.1.2 ping statistics ---4 packet(s) transmitted3 packet(s) received25.00% packet lossround-trip min/avg/max = 0/16/16 ms

计算机网络 网络层 静态路由及配置静态路由

 如果你要跟踪一下数据包

计算机网络 网络层 静态路由及配置静态路由

PC>tracert 192.168.1.2traceroute to 192.168.1.2, 8 hops max
(ICMP), press Ctrl+C to stop1  192.168.0.1   16 ms  <1 ms  15 ms2  172.16.0.2   32 ms  <1 ms  31 ms3  172.16.1.2   31 ms  16 ms  31 ms4    *192.168.1.2   16 ms  31 ms

这样就可以看到,第一个路由器是192.168.0.1,第二个路由器是172.16.0.2,以此类推,最后到达目的地。上面就可以很清晰的看见数据包经过三个路由器最终到达目的地,能够跟踪路径。

现在来查看一下路由表

[AR2]display  ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: PublicDestinations : 14       Routes : 14       Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface127.0.0.0/8   Direct  0    0           D   127.0.0.1       InLoopBack0127.0.0.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0
127.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0172.16.0.0/24  Direct  0    0           D   172.16.0.2      Serial2/0/1172.16.0.1/32  Direct  0    0           D   172.16.0.1      Serial2/0/1172.16.0.2/32  Direct  0    0           D   127.0.0.1       Serial2/0/1172.16.0.255/32  Direct  0    0           D   127.0.0.1       Serial2/0/1172.16.1.0/24  Direct  0    0           D   172.16.1.1      Serial2/0/0172.16.1.1/32  Direct  0    0           D   127.0.0.1       Serial2/0/0172.16.1.2/32  Direct  0    0           D   172.16.1.2      Serial2/0/0172.16.1.255/32  Direct  0    0           D   127.0.0.1       Serial2/0/0192.168.0.0/24  Static  60   0          RD   172.16.0.1      Serial2/0/1192.168.1.0/24  Static  60   0          RD   172.16.1.2      Serial2/0/0
255.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0

上面可以看到有一部分是直连路由Direct,优先级为0,有两个是静态路由,并且优先级是60,下一跳NextHop,并且从哪个口发出去Interface。

    192.168.0.0/24  Static  60   0          RD   172.16.0.1      Serial2/0/1192.168.1.0/24  Static  60   0          RD   172.16.1.2      Serial2/0/0

如果只想显示静态路由

[AR2]display ip routing-table  protocol static
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : StaticDestinations : 2        Routes : 2        Configured Routes : 2Static routing table status : <Active>Destinations : 2        Routes : 2Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface192.168.0.0/24  Static  60   0          RD   172.16.0.1      Serial2/0/1192.168.1.0/24  Static  60   0          RD   172.16.1.2      Serial2/0/0Static routing table status : <Inactive>Destinations : 0        Routes : 0

  相关解决方案