路由表与IP数据报的转发

前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您的权益,请联系删除

一、相关知识

1、路由类型

路由表中有3类路由:直连路由、静态路由、动态路由

  • ++直连路由++:一般指去往路由器接口直接连接网络的路径
  • ++静态路由++ :由网络管理员在路由器中手动配置的固定路由 ;明确地指定了IP数据报到达目的地必须经过的下一跳路由器或接口;允许对路由的行为进行精确的控制、减少了网络流量、配置简单;
  • ++动态路由++ :路由器根据网络系统的运行情况而自动生成的路由信息 ;路由器通过路由选择协议(Routing Protocol),自动学习和记忆网络运行情况,在需要时自动计算到达目的网络的最佳路径;能随网络拓扑的变化自动调整路由、配置不易出错、可支持较复杂的大规模网络

默认路由的作用是将无法匹配路由表中其他路由表项的数据包转发到指定下一跳路由器。在实际网络中,默认路由通常用于简化路由配置,通常在网络边缘的路由器上配置

2、IP数据报的转发过程

IP数据报转发是逐跳进行的,每一跳都要查找路由表,通过**++最长前缀匹配原则++**找到匹配项的下一跳IP地址和接口,然后将IP数据报封装到数据链路层帧中并从该接口转发出去

  • 若输出接口为局域网接口,对于直连路由,需要通过ARP解析目的IP地址的MAC地址
  • 对于非直连路由,则要通过ARP解析下一跳IP地址的MAC地址
  • 若输出链路为点到点链路,则直接将IP数据报封装到数据链路层帧中进行传输

最长前缀匹配原则是指选择所有匹配路由中网络前缀最长的那条进行数据转发

3、相关CLI命令

(1)添加一条静态路由

命令格式如下:

Haskell 复制代码
 ip route-static <ip-address> { <mask> | <mask-length> } { <nexthop-address> | <interface-type><interface-number> }

该命令需要在系统视图下执行。例如,创建一条到网络192.168.4.0/24、下一跳为192.168.3.1的路由:

Haskell 复制代码
 [Huawei]ip route-static 192.168.4.0 24 192.168.3.1

可执行undo 命令删除某条已存在的路由

Haskell 复制代码
 [Huawei]undo ip route-static 192.168.4.0

或者删除所有静态路由

Haskell 复制代码
[Huawei]undo ip route-static all

(2)查看路由表信息

任何视图下都可执行display ip routing-table命令来查看路由表信息:

Haskell 复制代码
 [Huawei]display ip-routing-table
 Route Flags: R - relay, D - download to fib
 ------------------------------------------------------------------------------
 Routing Tables: Public
          Destinations : 6        Routes : 6        
 ​
 Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface
 ​
       127.0.0.0/8   Direct  0    0           D   127.0.0.1       InLoopBack0
       127.0.0.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0
       210.1.1.0/24  Direct  0    0           D   210.1.1.254     GigabitEthernet
 0/0/0
     210.1.1.254/32  Direct  0    0           D   127.0.0.1       GigabitEthernet
 0/0/0
       210.1.2.0/24  Direct  0    0           D   210.1.2.254     GigabitEthernet
 0/0/1
     210.1.2.254/32  Direct  0    0           D   127.0.0.1       GigabitEthernet
 0/0/1
  • Destination :目的地址、用来标识IP数据报目的地址或目的网络
  • Mask :网络掩码(也称子网掩码),与目的地址一起标识目的地网络前缀
  • Pre :路由优先级,值越小,优先级越高。
  • Cost :路由开销,当到达一个目的地的多个路由的优先级相同时,路由开销最小的将成为最优路由
  • Interface :输出接口,表示IP数据报将从该路由器的哪个接口转发出去
  • NextHop :下一跳地址,说明IP数据报所经过的下一个路由器
  • Proto:学习此路由的路由协议,其中,Direct表示直连路由;Static表示静态路由;EBGP表示EBGP路由...

二、建立网络拓扑

采用A1220交换机;

三、直连路由

分别测试R1到R2、R2到R3的连通性;

发现相邻之间的PC机通过直连路由可以直接通信

四、静态路由

(1)不使用默认路由,给R1做静态路由;

Haskell 复制代码
 [R2]ip route-static 2.2.2.0 24 1.1.1.2

(2)测试R1与R3的连通性

发现不相邻的路由需要做静态路由才能连通;其余同样;核心思想:非直连网段通通做静态路由

五、总结

  • IP 数据报在路由器中的转发行为分为两种:直接交付间接交付。目的 IP 地址属于直接连接的网络时,IP 数据报直接交付给目的主机,否则转发给下一跳路由器进行间接交付
  • 静态路由表由网络管理员在路由器中手动配置 ,能对路由的行为进行精确的控制, 但不能对网络的变化做出反应
  • 路由聚合默认路由能++减少路由表项++ ,以及++减少查找路由时间++

致谢

在此,我要对所有为知识共享做出贡献的个人和机构表示最深切的感谢。同时也感谢每一位花时间阅读这篇文章的读者,如果文章中有任何错误,欢迎留言指正。

学习永无止境,让我们共同进步!!

相关推荐
代码中介商8 小时前
Linux TCP 网络编程完全指南:从三次握手到高并发服务器
服务器·网络·tcp/ip
咖喱o9 小时前
QinQ/VLAN Stacking
linux·运维·服务器·网络
FYKJ_20109 小时前
springboot校园兼职平台--附源码02041
java·javascript·spring boot·python·eclipse·django·php
AI周红伟10 小时前
周红伟:运营商一季度净利集体下滑 Token运营提速
大数据·网络·人工智能
marsh020611 小时前
43 openclaw熔断与降级:保障系统在异常情况下的可用性
java·运维·网络·ai·编程·技术
汽车仪器仪表相关领域12 小时前
Kvaser Memorator Professional 5xHS CB:五通道CAN FD裸板记录仪,赋能多总线系统集成测试的旗舰级核心装备
大数据·网络·人工智能·单元测试·汽车·集成测试
初学者,亦行者12 小时前
计算机网络必考:一文吃透 TCP/IP 体系结构(附高清思维导图)
网络·tcp/ip
段一凡-华北理工大学12 小时前
【高炉炼铁领域炉温监测、预警、调控智能体设计与应用】~系列文章10:实时预警机制:跑在问题前面!
网络·人工智能·python·知识图谱·高炉炼铁·工业智能体
WJ.Polar13 小时前
Scapy基本应用
linux·运维·网络·python
@insist12313 小时前
信息安全工程师-入侵检测核心技术、APT 应对与工程实践
网络·安全·软考·信息安全工程师·软件水平考试