【网络协议】聊聊从物理层到MAC层 ARP 交换机

物理层

物理层其实就是电脑、交换器、路由器、光纤等。组成一个局域网的方式可以使用集线器。可以将多台电脑连接起来,然后进行将数据转发给别的端口。

数据链路层

Hub其实就是广播模式,如果A电脑发出一个包,B、C电脑也可以收到。那么数据包就是知道给谁使用。

1.这个包是发给谁的,谁应该接收。

2.大家都在发,发送的顺序规则是什么呢

3.发送错误怎么办,有容错机制嘛

而这些问题都是MAC所要解决的,MAC的全称是Medium Access Control,即媒体访问控制 ,控制其实就是解决的是往媒体上发数据的时候,发送顺序的问题,多路访问
信道划分 : 一个车一个车道,各走各的。
轮流协议 : 单双号
随机接入协议

第一个,谁给谁发送数据包

链路层地址,其实就是MAC地址。第二层其实就是目标MAC 和 源MAC 。而类型有TCP、UDP等

整体流程就是因为有目标MAC地址,在广播的时候,就可以发现是把数据发送给自己的,然后进一步拆开数据看IP地址也是自己,端口号也是,所以就开始处理流程,如果是web服务器的话,就返回对应的数据,返回的时候其实也是先将自己MAC地址封装进去,然后在封装来时的源MAC,以及IP 和端口号 返回响应。

如何检查容错

其实使用的就是循环冗余检测 CRC,通过XOR亦或算法。来检测在整个传输数据的过程中是否出现错误。

但是有一种场景,那就是知道了IP地址,但是不知道MAC地址,这个时候其实就是使用ARP协议 。也就是已知 IP 地址,求 MAC 地址的协议。

整体流程其实就是 1.先查看本地ARP表 2.广播ARP请求 3.ARP应答 4.缓存IP-MAC映射。

因为机器可能下线,所以需要设置一定的缓存期。所以ARP就是在链路层

局域网

虽然使用Hub的方式可以,但是当电脑比较多的时候,使用广播的模式,其实比较浪费数据传输,根本问题其实就是不知道接口对应的机器是哪个MAC地址。所以需要交换器学习。

比如刚开始的时候MAC1电脑给MAC2发送数据,刚开始都不知道对方那个口就是MAC2,先使用广播模式,然后MAC2接收之后,交换机会记录MAC1就是发出的口对应什么MAC地址。时间长了,就会初步形成一个网络结构图。就可以不用广播,直接准确转发。交换机上的学习结构称为转发表。

小结

本篇主要介绍了MAC、ARP、交换机。MAC主要解决的是多路访问堵车的问题。ARP通过吼的方式寻找目标MAC地址,也就是知道IP地址不知道MAC。交换机有学习MAC地址的能力。

相关推荐
OliverQiu7 小时前
开源一个 macOS 小工具:集中管理 ChatGPT 的网络启动配置
macos·chatgpt·swiftui·mac·proxy·codex·dmg
墨神谕8 小时前
RPC框架与HTTP REST的区别
网络协议·http·rpc
一条泥憨鱼8 小时前
【从0开始学习计算机网络】| ARP 协议:地址解析,ARP 欺骗,链路层寻址
网络·后端·学习·计算机网络
m0_715674438 小时前
数据分类分级的范式转换:从规则匹配到场景化高准确率一键部署
大数据·网络·人工智能·网络安全
Tech探索者8 小时前
没有公网 IP、不会端口映射?用 Natfrp 轻松远程访问家中 NAS
网络协议·tcp/ip·智能路由器
HY小宝F8 小时前
树莓派智能摄像头系统 30 天重学计划之 Day 04 · HTTP / API:控制链入口 —— 学习总结
网络协议·学习·http
dog2509 小时前
带宽,时延,抖动的不可能三角
网络·tcp/ip
砚凝霜9 小时前
【软考信息安全】第十六章 网络安全风险评估过程与技术方法
网络·安全·web安全
Eloudy10 小时前
MLNX_OFED 的 install.pl 安装流程分析
网络·rdma·roce
对讲机数码科普12 小时前
从电路原理到协议栈:模拟对讲机与数字对讲机的技术内核拆解
运维·网络·架构·软件工程