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

如下网络拓扑图,交换机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网段的地址需要走往哪一个路由器。

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

源码等资料获取方法

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

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

相关推荐
云边云科技53418 小时前
云边云科技SD-WAN解决方案 — 构建安全、高效、智能的云网基石
网络·科技·安全·架构·it·sdwan
慧慧吖@19 小时前
sse,短轮询,长轮询,webSocket
网络·websocket·网络协议
在路上看风景19 小时前
5.2 自治系统内部的路由选择
网络
莫小墨20 小时前
基于TCP/IP和UDP组播的Qt网络直播间项目
网络·qt·tcp/ip·udp
Code Warrior20 小时前
【Linux】Socket 编程预备知识
linux·网络·c++
jenchoi41320 小时前
【2025-11-12】软件供应链安全日报:最新漏洞预警与投毒预警情报汇总
网络·安全·web安全·网络安全·npm
xxtzaaa1 天前
游戏被IP限制多开,如何在同一网络下用不同IP多开游戏?
网络·tcp/ip·游戏
DY009J1 天前
如何在Ubuntu虚拟机中设置Samba共享,并在Windows宿主机中挂载为网络驱动器
网络·windows·ubuntu
Empty_7771 天前
Ansible之Playbook简单应用
网络·ansible
Orlando cron1 天前
CPU Load(系统平均负载)
运维·服务器·网络