12-网络篇-通信过程中的网络表

1.ARP表

主机1和主机2在同一个局域网内,通过之前的章节,我们知道在通信过程中,除了要知道对方的IP地址以外,我们还要知道对方的硬件地址,也就是Mac地址。而ARP协议就是为了解决此种问题。

ARP协议的用途是为了从网络层使用IP地址,解析出在链路层使用的硬件地址。

每一个主机中都有一个ARP高速缓存,里面有各个主机IP(包括路由器)到硬件地址的映射表,表内的内容ARP协议会进行动态更新。

若主机1(IP:192.168.0.2)向主机2(IP:192.168.0.3)发送一个ping包,主机1会先在本机ARP中查主机2的Mac地址,若没有查到,则主机1会在本局域网中广播一个请求:

我的地址是192.168.0.2,我的Mac地址是:xx-xx-xx-xx-xx-xx,我想要知道192.168.0.3机器的Mac地址。

此局域网内所有的主机均会收到包,但是只有主机2会回复:

我的地址是192.168.0.3,我的Mac是:xx-xx-xx-xx-xx-xx。

至此主机1和主机2可以完成通信。

2.MAC表

交换机是根据Mac地址转发数据帧,这里来提一下交换机工作原理

当主机1发送ARP包时,交换机会将包转发给除了主机1以外的所有主机,并记录主机1的Mac地址和交换机端口至Mac表。

若主机1向主机2发数据,数据从1口进入交换机,交换机得到数据后,会先在本机Mac表中查目的设备的Mac地址。若没有查到对应的端口,主机会向所有除了1口以外的所有口广播这个帧,主机2收到这个帧后,会回复这个帧,Mac表就缓存了主机1和主机2的Mac和交换机端口的对应关系了。后面交换机可自由完成主机1至主机2的通信。

3.路由表

路由表和路由器相关,(此处的路由器与家用路由器略有不同,家用路由器集成了路由器和交换机的功能为了更方便用户使用)路由器是一种具有多个输入端口和多个输出端口的专用设备也可称为计算机。其任务是转发分组。路由器结构由两部分组成:路由选择部分和分组转发部分。

路由器的主机作用是实现跨网段传输。

1.一个路由

一网段的主机要与其他网段的主机通信,则数据会先发送给指定的网关,也就是路由器,由路由器选择网段继续通信,所以发送的数据包起始中网络层的ip地址不变,源ip地址就是当前主机的ip地址,目的ip地址就是不同网段的主机的ip地址,但是链路层由于数据要先发给路由器,那么目的mac就是路由器的mac地址,然后路由器选择其他网段,则源mac变成路由器另一个网口的mac地址,目的mac就是目标主机的mac地址,所以整个过程IP的一直不变,但是Mac地址一直再变

2.两个路由

由于现在是两台路由器和两个网段的主机,所以需要构成三个局域网,当源主机跨网段与目标主机通信时,由于网段不同,数据会先发送给路由器,然后路由器再选择对应的目的网段,但是此时路由器另一端所在的网段与之目标主机的网段不同,所以无法继续向下发送,此时需要设置下一跳,下一跳的地址构成了路由表,路由表也就是下一次应该将信息流入那个路由器的配置表。

相关推荐
打工仔折腾 AI1 小时前
在 Ubuntu ARM64 部署 Q1 V3.0 MuJoCo 模型:加载、单步推理与执行器响应解析
linux·运维·人工智能·python·深度学习·ubuntu·性能优化
‎ദ്ദിᵔ.˛.ᵔ₎1 小时前
关于Linux 线程局部存储的认识
linux·运维
小小de风呀3 小时前
de风——【从零开始学习Linux】(九):进程基础 —— 从冯诺依曼体系到 fork 创建进程
linux·学习
晚风吹北巷5 小时前
Linux复习篇(自用)
linux·运维·服务器·1024程序员节
by209996 小时前
Linux 压缩传输、进程查看与权限管理
linux·经验分享·1024程序员节
无足鸟ICT6 小时前
【RHCA+】reboot命令(重启)
linux·运维·服务器·1024程序员节
DYWorker0017 小时前
第1课:基于正点原子RK3568开发板读懂Linux内核
linux·运维·网络
Android系统攻城狮8 小时前
Linux FFmpeg深度解析之avformat_open_input调用流程与实战(一)
linux·运维·ffmpeg·车载音视频·ffmpeg音视频·音视频进阶手册
吹什么轩8 小时前
linux系统复习:Ext 文件系统(一个文件在磁盘上到底长什么样)
linux·运维·服务器