跨网络的通信过程、路由的作用以及默认网关

如下网络拓扑图,交换机0所在的网段为192.168.1.0/24,交换机1所在网段为192.168.2.0/24,且各自有2台主机:

假设PC0(192.168.1.10/32)要跟PC4(192.168.2.11/32)通信,如何实现?

中间就需要一个路由器的东西。我们知道,PC0发出的数据包的目的地址是跨网段的,也就是需要出网关网关 是数据包出所在网段的出口。网关地址一般是所在网段的前一两个地址,且网关一般都集成在路由器中,称为下一跳 。而第一跳的路由地址又被称为默认网关。

子网中的每一台主机都需要配置好默认网关,即下一跳:PC0的默认网关为192.168.1.1/32、PC4的默认网关为192.168.2.1/32。这样子PC0要发给PC4的数据包会先抵达路由器的192.168.1.1/32地址的网卡,路由器拿到该数据包后,将其从192.168.2.1/32的网卡发送出去。也就是说,路由器在中间负责中转数据包

PC0(192.168.1.10/32)与PC4(192.168.2.11/32)通信过程中的IP与MAC变化:

  • PC0发送数据包给PC4时,数据包先由PC0发给路由器,再由路由器发送给PC4

数据包由PC0发给路由器时,目的IP为PC4的IP(192.168.2.11/32)目的MAC为路由器的192.168.1.1/32网卡的MAC,源IP为PC0的IP(192.168.1.10/32),源MAC为PC0的MAC

数据包由路由器发送给PC4时,目的IP为PC4的IP(192.168.2.11/32)目的MAC为PC4的MAC地址,源IP为PC0的IP(192.168.1.10/32),源MAC为路由器的192.168.2.1/32网卡的MAC

  • PC4发送数据包给PC0时,数据包先由PC4发给路由器,再由路由器发送给PC0

数据包由PC4发送给路由器时,目的IP为PC0的IP(192.168.1.10/32)目的MAC为路由器的192.168.2.1/32网卡的MAC,源IP为PC4的IP(192.168.2.11/32),源MAC为PC4的MAC地址

数据包有路由器发送给PC0时,目的IP为PC0的IP(192.168.1.10/32)目的MAC为PC0的MAC,源IP为PC4的IP(192.168.2.11/32),源MAC为路由器的192.168.1.1/32网卡的MAC

从上面可以看出,在单向通信过程中源I P和目的IP的地址是不变的,而MAC地址是不断变化的

在如上拓扑图中,PC0还是要发数据包给PC4,当数据包抵达路由器1时,路由器1并不知道通往PC4的路径,于是需要在路由器1上的路由表上添加路由规则,使其知道应该将数据包发往192.168.2.0/24网段的地址,需要走往哪一个路由器,这里是路由器2。其他路由器同理,直至到目的主机PC4。

网络畅通的条件是有去有回,所以当数据包从PC4返回PC0时,沿途的所有路由器都需要数据包的转法路径,也就是配置好返回的路由,使其知道数据包发往192.168.1.0/24网段的地址需要走往哪一个路由器。

人为添加的路由称之为静态路由 ,但当路由器连接的网段太多时不方便配置静态路由,可以让路由器自行学习得到数据包的下一个中转地址,称之为动态路由

源码等资料获取方法

各位想获取源码等教程资料的朋友请 点赞 + 评论 + 收藏 ,三连!

三连之后我会在评论区挨个私信发给你们~

相关推荐
郝学胜-神的一滴12 分钟前
Python魔法函数一览:解锁面向对象编程的奥秘
开发语言·python·程序人生
照海19Gin1 小时前
【企业网架构实验解析】三层组网与 AC+AP 无线部署的协议逻辑(eNSP 仿真实践)
网络
yaoh.wang1 小时前
力扣(LeetCode) 100: 相同的树 - 解法思路
python·程序人生·算法·leetcode·面试·职场和发展·跳槽
Lilixxs1 小时前
wireshark LLDP 协议抓包获取 M580 PLC 网口地址
网络·测试工具·wireshark·plc·施耐德·lldp·m580
vortex52 小时前
Linux下局域网IPv6地址发现与扫描
网络
北邮刘老师2 小时前
【智能体互联协议解析】身份码-智能体的身份证号
网络·人工智能·大模型·智能体·智能体互联网
日更嵌入式的打工仔3 小时前
Ethercat COE 笔记
网络·笔记·ethercat
UVM_ERROR5 小时前
UVM实战:RDMA Host侧激励开发全流程问题排查与解决
服务器·网络·数据库
福尔摩斯张5 小时前
插件式架构:解耦与扩展的艺术与实践(超详细)
linux·服务器·网络·网络协议·tcp/ip
老王熬夜敲代码6 小时前
网路编程--协议
linux·网络·笔记