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

如下网络拓扑图,交换机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

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

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

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

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

源码等资料获取方法

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

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

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/27656.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java版本电子招标采购系统源代码—企业战略布局下的采购寻源

智慧寻源 多策略、多场景寻源,多种看板让寻源过程全程可监控,根据不同采购场景,采取不同寻源策略, 实现采购寻源线上化管控;同时支持公域和私域寻源。 询价比价 全程线上询比价,信息公开透明,可…

matplotlib 3D

import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D import numpy as np# 创建一个三维坐标轴 fig plt.figure() ax fig.add_subplot(221, projection3d) xx fig.add_subplot(222) yy fig.add_subplot(223) xy fig.add_subplot(224)# 生成示例数据…

微服务组件Sentinel

什么是Sentinel Sentinel 是一种用于流量控制、熔断降级和系统负载保护的开源框架。它由阿里巴巴集团开发并开源,旨在帮助开发人员构建可靠和稳定的分布式系统。 Sentinel 提供了以下主要功能: 流量控制:Sentinel 可以通过限制请求的速率或…

缓存淘汰策略

LRU 与 LFU 缓存策略及其实现。 应用层缓存 鉴于磁盘和内存读写的差异性,DB 中低频写、高频读的数据适合放入内存中,直接供应用层读写。在项目中读取用户资料时就使用到了 LRU,而非放到 Redis 中。 缓存的 2 个基本实现 Set(key string, v…

【电路原理学习笔记】第4章:能量与功率:4.4 能量转换与电阻的电压降

第4章:能量与功率 4.4 能量转换与电阻的电压降 图4-11以电子作为电荷进行举例说明,电子从电池的负极流过电路,然后流回正极。当它们从负极出来时,电子具有最高的能量水平。电子流经过每个电阻,这些电阻连接在一起形成…

虚拟机(Ubuntu1804)相机与激光雷达联合标定实现过程记录

在智能小车录制的点云数据在rviz打开一定要修改Fixed Frame为laser_link,这样才能看到点云,注意此时用的是雷神激光雷达,话题名是lslidar_,可采用rostopic list查看具体名称 1、新建一个终端打开roscore roscore2、在文件夹libratia中新建一…

c++基础语法

c基础语法 c的关键字 asm 、do 、if、 return、 try、 continue、 auto、 double、 inline、 short、 typedef、 for、 bool、 dynamic_cast、 int、 signed 、typeid、 public、 break 、else 、long 、sizeof 、typename 、throw、 case、 enum 、mutable、 static、 union、…

C#(六十二)之泛型的约束

类型约束 基类约束有两个重要的目的。 1:它允许在泛型类中使用有约束指定的基类成员。 2:确保只能使用支持指定基类或派生类的类型实例。 约束是使用 where 上下文关键字指定的。 下表列出了五种类型的约束: 约束 说明 T:str…

SpringCloud集成Sleuth+Zipkin进行链路追踪

关于微服务链路追踪的一些概念:【分布式链路追踪】 文章目录 1、整合Seluth2、日志信息分析3、Zipkin介绍4、Zipkin服务端安装5、搭配Sleuth整合客户端Zipkin6、收集数据7、存储trace数据 1、整合Seluth Spring Cloud Sleuth是一个用于追踪的工具,它可以…

智能化升级:科智立RFID AGV地标传感器助力AGV小车升级改造

引言 在这个日新月异的信息化时代,各行各业都在不断进行升级改造,以求在激烈的市场竞争中立于不败之地。其中,智能化升级是提升企业核心竞争力的重要手段。本篇文章将以AGV小车的智能化升级为话题,深入探讨科智立RFID AGV地标传感…

从0到1:跑团小程序开发心得笔记

背景介绍 随着健康意识的兴起,越来越多的人选择加入跑步俱乐部,不仅体验到了运动的乐趣,也感受到了人生的不同色,那么通过小程序,把俱乐部搬到手机上,通过小程序了解俱乐部动态和运动常识,可以…

网络安全问题严重?Web3和IP代理能否提供解决方案?

在数字世界中,网络安全问题越来越严重。黑客和网络犯罪分子利用各种手段来窃取个人信息、盗取数字资产或破坏网络服务。为了应对这些威胁,Web3和IP代理成为了有力的工具,可以帮助改善网络安全性,提高网络防御水平。 首先&#xff…