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

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

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

源码等资料获取方法

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

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

相关推荐
Tim风声(网络工程师)1 小时前
不同射频对应不同mac地址(查找无线用户连接AP信息)
服务器·网络·tcp/ip·智能路由器·无线ap
索迪迈科技4 小时前
网络请求库——Axios库深度解析
前端·网络·vue.js·北京百思可瑞教育·百思可瑞教育
grrrr_15 小时前
【工具类】Nuclei YAML POC 编写以及批量检测
网络·安全·web安全
青 .7 小时前
数据结构---二叉搜索树的实现
c语言·网络·数据结构·算法·链表
AORO20257 小时前
三防手机的三防是指什么?推荐一款实用机型
网络·5g·智能手机·制造·信息与通信
鲸屿1959 小时前
Ansible之playbook
服务器·网络·ansible
绝世剑仙纪宁10 小时前
TCP 三次握手、四次挥手
网络·网络协议·tcp/ip
索迪迈科技10 小时前
HTTP中Payload的含义解析
网络·网络协议·http
时空潮汐11 小时前
我用神卓 NAT 公网 IP 盒子搭建《我的世界》联机的经历
网络·网络协议·tcp/ip