09.《路由基础知识解析和实践》

09.路由基础

文章目录

核心概念

路由(route):指导报文转发的路径信息;(在路由表中以IP地址网段方式存在)

路由表(routing-table):用于存放路由信息,查看命令"display ip routing-table"

路由器(router):具备路由功能的三层设备,查路由表转发数据

路由关键组成部分

目的网络:标识目的网段

掩码:与目的地址共同标识一个网段

出接口:数据包被路由后离开本路由器的接口

下一跳:路由器转发到达目的网段的数据包所使用的下一跳地址

三层转发原理介绍(通信流程)

  1. PC 发送 ARP 广播请求,解析 R1 的 G0/0/0 接口 MAC;R1 单播回复 Reply。
  2. PC1 封装单播数据转发至 R1。
  3. R1 收到目的 MAC 为自身的数据,解封装后查询 IP 头部,目的 IP 为 20.1.1.1;通过路由表匹配 20.1.1.0/24 的直连路由转发数据。
  4. R1 解析 PC2 的 MAC 地址,重新封装 EII 头部,将数据发送至 PC2。

参考示图:

路由类型及配置

直连路由(direct)

特点:当路由设备的接口配置 IP 地址后,会自动生成对应网段的直连路由;优先级默认为 0,且不可修改。

实验示例

实验拓扑

配置实例(R1)

cmd 复制代码
interface GigabitEthernet0/0/0
 ip address 10.1.1.254  255.255.255.0
#
interface GigabitEthernet0/0/1
 ip address20.1.1.254 255.255.255.0

查看路由表

字段说明

  • Destination/Mask:目的网段 / 掩码(路由网段)
  • Proto:协议类型
  • Pre:路由优先级
  • Cost:路由开销(度量值)
  • Flags:标志
  • NextHop:下一跳 IP 地址
  • Interface:出接口
静态路由(Static)
  • 特点:需管理员手动配置,需指定目的网段、掩码、下一跳(或出接口);优先级默认为 60,可修改。

  • 配置格式ip route-static 目的网段 掩码 下一跳地址

实验示例

实验拓扑

配置实例(常规操作省略)

cmd 复制代码
[R1]ip route-static 30.1.1.0 24 12.1.1.2
#
[R2]ip route-static 10.1.1.0 24 12.1.1.1
#
[R2]ip route-static 20.1.1.0 24 12.1.1.1

查看路由表

测试:此时PC可以相互访问

缺省路由/默认路由

  • 特殊的静态路由,目的网段和掩码固定为 0.0.0.0/0。
  • 配置格式:ip route-static 0.0.0.0 0 下一跳地址(匹配任意目的网段)。
动态路由

通过动态路由协议学习路由,常见协议包括 RIP、OSPF、ISIS、BGP、EIGRP 等。

RIP(routing information protocol---路由信息协议)
  • 性质:动态的距离矢量(DV)路由协议,设备间直接传递路由。
  • 封装:基于 UDP 协议,IP 头部 protocol 字段为 17,端口号 520。
  • 路由优先级:100。
  • 开销(cost/metric):基于跳数计算(默认 0,每经过一台 RIP 设备跳数加 1,最多 15 跳,16 跳不可达)。
  • 报文更新方式
    • RIPv1(默认):广播更新,目的 IP 为 255.255.255.255。
    • RIPv2:组播更新,目的 IP 为 224.0.0.9。
  • 报文类型
    • request(请求):请求路由信息。
    • response(响应):针对请求进行确认回复。
  • 防环机制
    • 水平分割:从某接口接收的 RIP 路由,不再从该接口发送(默认开启)。
    • 毒性逆转:从某接口接收的 RIP 路由,仍从该接口发送但标记为 16 跳不可达(cost=16,默认关闭)。
实验示例
实验拓扑

配置策略

第一步:配置IP地址-----略

第二步:配置RIPv1(通过动态路由协议学习设备非直连路由)

R1

cmd 复制代码
rip 1
network 10.0.0.0       //主类宣告设备本地接口IP地址(例如172.16.1.1/24,宣告为172.16.0.0) network network 20.0.0.0
network 12.0.0.0

R2

CMD 复制代码
rip 1
network 12.0.0.0 
network 23.0.0.0 
network 30.0.0.0

R3

cmd 复制代码
rip 1
network 23.0.0.0 
network 40.0.0.0 

查看

测试:此时所有PC相互访问

在RIPv1基础上,修改为version 2:

R1,R2,R3

cmd 复制代码
rip 1
version 2

查看

  • RIPv1 与 RIPv2 对比
    1. RIPv2 报文中新增 route tag、netmask、nexthop 三个字段。
    2. RIPv2 支持认证,RIPv1 不支持。
    3. RIPv2 支持路由重分布,RIPv1 不支持。
OSPF(open shortest path first - 开放式最短路径优先)
  • 性质:动态的链路状态(LS)路由协议,设备间传递 LSA(链路状态通告)携带路由信息;相互称为邻接关系。
  • 封装:基于 IP 头部,无 TCP/UDP 头部,协议号 89。
  • 路由优先级:10(AS 内部路由,使用 network 命令)、150(AS 外部路由,使用 import-route 命令)。
  • 开销(cost):参考带宽(100M)/ 接口带宽;百兆及以上默认开销为 1,串口链路默认 48;一条路由的总开销为入方向接口开销之和。
  • 报文更新方式:触发式组播更新,目的组播地址为 224.0.0.5(所有 OSPF 设备)或 224.0.0.6(DR、BDR)。
  • Router-id:唯一标识 OSPF 设备(32bit 点分十进制),不可冲突;选举规则:①手动指定优先;②loopback 接口 IP 地址大的优先;③物理接口 IP 地址大的优先。
  • 区域概念:area 0 为骨干区域,其他为非骨干区域;同一区域设备拥有相同 LSDB(链路状态数据库);多区域部署时非骨干区域必须与骨干区域相连,单区域推荐用 area 0。
  • 报文类型
    • Hello:发现、建立、维系邻居关系。
    • DD(数据库描述):携带 LSA 头部,选举主从,确定序列号,对比 LSDB。
    • LSR(链路状态请求):请求缺少的 LSA。
    • LSU(链路状态更新):针对请求回复LSA。
    • LSAck(链路状态确认):针对更新进行确认回复。
实验示例

实验拓扑

cmd 复制代码
第一步:配置IP地址---略
R1:
interface LoopBack0  //创建loopback接口,编号为0 ip address 1.1.1.1 255.255.255.255
 ip address 1.1.1.1 255.255.255.255
第二步:配置OSPF
R1:
ospf 1
 area 0.0.0.0
  network 1.1.1.1 0.0.0.0
  network 12.1.1.1 0.0.0.0    //精确宣告接口IP

R2:
ospf 1 router-id 2.2.2.2       //创建ospf进程并且指定router-id area 0.0.0.0
 area 0.0.0.0
  network 2.2.2.2 0.0.0.0
  network 12.1.1.2 0.0.0.0 
  network 23.1.1.2 0.0.0.0
R3:
ospf 1 router-id 3.3.3.3 
 area 0.0.0.0
  network 3.3.3.3 0.0.0.0
  network 23.1.1.0 0.0.0.255   //通配符宣告(网段宣告) ,但是一定不能写成23.1.1.0 0.0.0.0 

查看邻居

查看LSDB

查看路由表

测试

look接口相互可达(带更新源地址测试)

如涉及版权问题,请联系作者处理!!!!

相关推荐
Bruce_Liuxiaowei7 小时前
SOCKS与防火墙:穿透与守护的网络安全协奏曲
网络·安全·web安全·网络安全
慌糖7 小时前
自动化接口框架搭建分享-pytest
运维·自动化·pytest
知白守黑2677 小时前
HAProxy负载均衡
运维·负载均衡
红尘客栈27 小时前
构建高可用 LVS-DR + Keepalived 负载均衡集群实战指南
运维·负载均衡·lvs
IT成长日记8 小时前
【LVS入门宝典】LVS-TUN模式原理与配置:跨越网络界限的负载均衡解决方案
linux·网络·负载均衡·lvs·tun
Empty_7778 小时前
Nginx反向代理与缓存功能
运维·nginx·缓存
IT成长日记8 小时前
【LVS入门宝典】LVS-TUN模式配置实战以及配置关键点:Real Server的路由表调整、ipip模块加载
linux·运维·服务器·lvs·tun
“αβ”8 小时前
网络编程套接字(三)---简单的TCP网络程序
linux·服务器·网络·c++·网络协议·tcp/ip·套接字
wanhengidc8 小时前
云手机能否稳定的运行传奇游戏
运维·服务器·安全·游戏·智能手机
3分云计算8 小时前
Prometheus-02: 安装部署与配置管理详解
运维·云原生·grafana·普罗米修斯