三层转发基本原理
三层转发ensp结构构造
配置三层转发路由命令如下:
AR1:
AR2:
AR3:
在配置过程中犯了不少错误,需要注意的点如下:
(1)在配置ip地址的时候,需要配置Vlan口,然后再配置Vlanif,最后在配置ip address。
(2)在两端都需要进行配置ip route-static,此命令结构如下:
ip route-static 目标网段地址 子网掩码 接口地址
表示通往目标网段地址的数据包需要通过接口地址发出。
部分配置命令:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <Huawei>sys [Huawei] interface e0/0/1 [Huawei-Ethernet0/0/1]port link-type access [Huawei-Ethernet0/0/1]port default vlan 100 [Huawei-Ethernet0/0/1]vlan 100 [Huawei-vlan100]q [Huawei]vlan 100 [Huawei-vlan100]display this [Huawei-vlan100]q [Huawei] interface Vlanif 100 [Huawei-Vlanif100] interface e0/0/1 [Huawei-Ethernet0/0/1]port default vlan 100 [Huawei-Ethernet0/0/1]q [Huawei] interface Vlanif 100 [Huawei-Vlanif100]ip address 1.1.1.2 255.255.255.0 [Huawei-Vlanif100]q |
1 | [Huawei]ip route- static 1.1.1.0 255.255.255.0 2.2.2.1 |
三层转发
然后我们再讲一下三层转发
三层转发的原理就是路由器的转发原理
路由器的转发原理就是看路由表中是否存在路由,如果存在路由,则进行转发,否则直接丢弃报文。
(1)AR1 ping AR3,首先AR1看路由,如果存在路由,则继续查询ARP表项。
(2)如果不存在ARP表项,则AR1向网关发送ARP请求,网关去掉MAC头部,查询IP为本网关IP,则更新ARP表项,并回应ARP应答。报文格式如下:
AR1向网关发送的广播报文:
Src |
Dst |
SrcIp |
SrcMac |
DstIp |
DstMac |
AR1 |
ffffffffffff |
AR1 |
AR1 |
AR2 |
0 |
AR2回给AR1的单播ARP应答报文:
Src |
Dst |
SrcIp |
SrcMac |
DstIp |
DstMac |
AR2 |
AR1 |
AR2 |
AR2 |
AR1 |
AR1 |
(3)AR1将IP数据包封装mac,然后将IP数据包发给AR2
Src |
Dst |
SrcIp |
SrcMac |
DstIp |
DstMac |
AR1 |
AR2 |
AR1 |
AR1 |
AR3 |
AR2 |
(4)IP数据包到达AR2之后,AR2开始查询本机的路由表,发现本机的IP与目标IP一致,且存在下一跳和出接口,则查询ARP表项,如果不存在下一跳,则丢弃IP数据包。
(5)AR2查询ARP表项,如果存在目标地址的ARP表项,则封装MAC,发送IP数据包,如果不存在,则发送ARP请求,AR3接收到ARP请求后,更新ARP表项,回复ARP应答。
AR2发送的ARP请求报文:
Src |
Dst |
SrcIp |
SrcMac |
DstIp |
DstMac |
AR2 |
ffffffffffff |
AR2 |
AR2 |
AR3 |
0 |
AR3回复的ARP应答报文:
Src |
Dst |
SrcIp |
SrcMac |
DstIp |
DstMac |
AR3 |
AR2 |
AR3 |
AR3 |
AR2 |
AR2 |
(6)AR2收到ARP应答后,更新ARP表项,封装IP数据包,然后将IP数据包发向AR3。
发送给R3的IP数据包:
Src |
Dst |
SrcIp |
SrcMac |
DstIp |
DstMac |
AR2 |
AR3 |
AR1 |
AR2 |
AR3 |
AR3 |
(7)AR3收到IP数据包后,去掉MAC头部,查询路由表,判断IP数据包中封装的IP为本机IP,在路由表中的下一跳地址为127.0.0.1,为路由器的回环地址,且出接口为InLoopBack0,则收下此IP数据包,至此三层转发完成。
三层转发的几个注意点:
(1)三层转发主要依靠路由表,通过查询路由表来进行交换。
(2)三层转发为跨网段转发。
(3)三层转发过程中还需要进行二层的封装解封装。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)