0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

通信网络协议技术:物理层和MAC层

454398 来源:博客园 作者:北国丶风光 2020-10-26 14:33 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

今天,我们来认识下物理层MAC层。

日常生活中,身为 90 后的我们,如果不是通信相关专业出身的,应该从来没有接触过物理层和 MAC 层的设备。我们接触最多的,可能就是路由器了。而路由器实际上是第三层-网络层的设备了。

那咱们怎么认识物理层呢?就不扯那些深奥的理论了,从宿舍联机打魔兽说起吧。

要想宿舍里的几台电脑连接到一个局域网内,第一反应就是买个路由器,大家都连上去就 OK 了。但是在 15 年前,路由器还没有那么普及的时候,你在校园里找个通信专业的学生问,知道怎么组建宿舍局域网吗?他应该会回答你,有三种方式:

物理层

上面三种方式中,网线连接和集线器是完全在物理层工作,咱们就先见识下这两种方式。

网线连接

是的,你没看错,是用一根网线连接在两个电脑上。网线水晶头的第 1、2 和第 3、6脚,分别起着发、收信号的作用,要想通过一根网线将两台电脑连接在一个局域网上,需要额外做的操作就是将网线其中一端的 1 号和 3 号线、2 号和 6 号线互换一下位置,这样就能在物理层实现一端发送的信号,另一端成功接收。

当然,除了通过网线连接外,我们还需要配置这两台电脑的 IP 地址、子网掩码和默认网关,将这三项配置成为一个网络,否则是不通的。

这样,一个宿舍的两台电脑就可以联机打魔兽了。

问题来,如果又有一个舍友买了电脑,怎么把三台电脑连一起呢?先别说交换机这高档的东西,对于 15 年前的大学生来说,交换机太贵了,买不起。好在除了交换机外,还有个叫做 Hub 的东西,也就是集线器

集线器

这种设备有多个口,可以将宿舍里的多台电脑连接起来。和交换机不同的是,集线器很“傻”,它没有大脑,完全在物理层工作,将自己收到的每一个字节,都复制到其它端口上去。

这就像,小明想找小红表白,他不知道小红在哪个小区,于是他就找其它小伙伴,让每个小伙伴负责一个小区,去每一户问是不是小红家,找到小红的小伙伴就将表白语告诉小红。

数据链路层

上面通过 Hub 实现局域网的方式,你可能已经发现了,Hub 采取的是广播的模式。如果每一台电脑发出的包,局域网内的其它电脑都能收到,那就麻烦了。这就需要解决几个问题:

这个包是发给谁的?谁接收?

大家都在发生消息,会不会产生混乱?有没有先后的规则?

如果发生的时候出错了,怎么办?

这几个问题,都是数据链路层,也就是 MAC 层要解决的问题。MAC 的全称是Medium Access Control,即媒体介质访问控制。这里的控制,其实就是控制在往媒体上发数据时,谁先发、谁后发的问题,也就是防止发生混乱。这就解决了第二个问题。这个问题中的规则,学名叫多路访问。和我们交通管制一样,常见的有下面三种方式:

方式一:分车道。每个车一个车道,你走你的,我走我的,互不干扰。这在计算机网络中叫做信道划分

方式二:今天单号出现,明天双号出现,轮着来。这叫做轮流协议

方式三:不管三七二十一,有事先出门,发现很堵,就回去等待 ,错过高峰期再走。这叫做随机接入协议。著名的以太网,用的就是这种方式。

要解决第一个问题:发给谁?谁接收?这里用到一个物理地址,叫做链路层地址。但是因为第二层主要解决媒体接入控制的问题,所以它常常被称为 MAC 地址。

解决第一个问题就牵扯到第二层的网络包格式。对于以太网,第二层的最开始,就是目标 MAC 地址和源 MAC 地址。

接下来是类型。大部分的类型是 IP 数据包,其中 IP 里面包含 TCP、UDP,以及 HTTP 等,这些都是里层封装的事情。

有了这个目标 MAC 地址,数据包在链路上广播,MAC 的网卡才能发现,这个包是给它的。MAC 的网卡把包收进来,然后打开 IP 包,发现 IP 地址也是自己的,再打开 TCP 包,发现端口是 80,而 nginx 就是监听 80 端口。

于是就将请求提交给 nginx,nginx 返回一个网页,最后再经过层层封装,返回到 MAC 层。因为来的时候有源 MAC 地址,返回的时候,源 MAC 地址就变成了目标 MAC 地址,再返给请求的机器。

对于以太网,第二层的最后面是 CRC,也就是循环冗余检测。通过 XOR 异或的算法,来计算整个包是否在发送的过程中出现了错误,这主要解决了第三个问题。

这里还有一个没有解决的问题,当源机器知道目标机器的时候,可以将模板地址放入包里。如果不知道呢?一个广播的网络里面接入了 N 台地址,我怎么知道每个 MAC 地址是谁呢?这就是 ARP 协议,也就是已知 IP 地址,求 MAC 地址的协议

子网掩码

在一个局域网里,如果知道了 IP 地址,不知道 MAC 地址怎么办?这个在网络协议-概述中有提过,本地通信靠“吼”。

发送一个广播包,广而告之,谁说这个 IP 谁来回答。具体询问和回答的报文就像下面这样:

为了避免每次都用 ARP 协议,机器本地会进行 ARP 缓存。当然,缓存的 MAC 地址会有一个过期时间。

上面解决了广播发出的包,局域网内所有机器都能收到的问题。那么 Hub 是采用怎么样的方式?

实际上,Hub 不管某个接口是否需要,所有的数据都会发送出去,然后让主机来判断是否需要相关数据。这种方式会有两个问题:

机器数目大幅增多后,产生冲突的概率就提高了。这很好理解,那么多小伙伴去找小红,发生交通事故的概率要大于,直接去她家表白发生交通事故的概率;

把大量不需要发送的包发送出去,浪费资源。

明显可以看出,要解决上面两个问题,只要我们知道哪个接口对应哪个 MAC 地址就好了。如果目标 MAC 地址不是这台电脑的,这个口就不用转发了。

那么,谁能知道目标 MAC 地址是否就是连接某个口的电脑的 MAC 地址呢?这就需要一个能把 MAC 头拿下来,检查一下目标 MAC 地址,然后根据策略转发的设备,也就是我们之前提过的,二层设备-交换机

交换机怎么知道每个口对应的电脑的 MAC 地址呢?这需要交换机能学习。这个也是交换机和 Hub 最明显的区别。

一台 MAC1 电脑将一个包发送给另一台 MAC2 电脑,当这个包到达交换机的时候,一开始交换机也不知道 MAC2 电脑再哪个口,所以没办法,它只能将包转发给除了来的那个口之外的其他所有的口。但是,这个时候,交换机会干一件很聪明的事情,就是交换机记住,MAC1 是来自一个明确的口,以后有包的目的地址是 MAC1 的,就直接发送到对应口就可以了。

当交换机作为一个关卡一样,过来一段时间后,就有了整个网络的一个结构了。这个时候,基本上不用广播,全部可以准确转发。而交换机学习的结果,我们成为转发表。当然,每台机器的 IP 地址会变,所在的口也会变,所以转发表也是有一个过期时间的。

小结

上面扯了一大堆,实际上也就是几句话的事:

MAC 层是用来解决多路访问的堵车问题的

ARP 是通过“吼”的方式来寻找目标 MAC 地址,之后会记住一段时间,这个叫做ARP 缓存

交换机是升级版的 Hub,它有 MAC 地址学习能力,学完就能记住每个 MAC 地址对应哪个口,学习的成果叫转发表
编辑:hfy

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 集线器
    +关注

    关注

    0

    文章

    465

    浏览量

    41896
  • 子网掩码
    +关注

    关注

    2

    文章

    41

    浏览量

    11359
  • Mac
    Mac
    +关注

    关注

    0

    文章

    1131

    浏览量

    55566
  • 数据链路层
    +关注

    关注

    0

    文章

    63

    浏览量

    12440
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    深入解析MC33662:LIN物理层芯片的卓越之选

    深入解析MC33662:LIN物理层芯片的卓越之选 在汽车电子领域,通信协议的高效性和稳定性至关重要。Local Interconnect Network(LIN)作为一种串行通信协议,在汽车
    的头像 发表于 04-21 17:25 389次阅读

    WiMi-net五协议栈深度拆解:有中心自组网的落地实践

    从OSI七到WiMi-net五,经典理论如何落地?本文深度拆解WiMi-net有中心自组网协议栈的五架构:物理层(Sub-GHz射频)
    的头像 发表于 04-02 17:40 1809次阅读
    WiMi-net五<b class='flag-5'>层</b><b class='flag-5'>协议</b>栈深度拆解:有中心自组网的落地实践

    无线通信的“隐形骨架”:一文读懂OSI七模型

    ,带你快速理解OSI七的核心思想——分层。从物理层到应用,每一负责什么?为什么说它是网络通信的“圣经”?如何用它来排查
    的头像 发表于 03-16 09:41 443次阅读
    无线<b class='flag-5'>通信</b>的“隐形骨架”:一文读懂OSI七<b class='flag-5'>层</b>模型

    DP83867E/IS/CS:高性能以太网物理层收发器的技术剖析与应用实践

    DP83867E/IS/CS:高性能以太网物理层收发器的技术剖析与应用实践 在当今高速发展的网络通信领域,以太网物理层收发器扮演着至关重要的角色。TI推出的DP83867E/IS/CS
    的头像 发表于 03-12 15:25 322次阅读

    DP83843:一款功能强大的以太网物理层芯片

    DP83843:一款功能强大的以太网物理层芯片 在当今的网络通信领域,以太网技术扮演着至关重要的角色。而物理层芯片作为以太网通信的基础,其性
    的头像 发表于 01-04 14:50 506次阅读

    DP83867系列以太网物理层收发器:特性、应用与设计要点

    DP83867系列以太网物理层收发器:特性、应用与设计要点 在工业自动化、通信基础设施等领域,可靠且高性能的以太网物理层收发器至关重要。德州仪器(TI)的DP83867E/IS/CS系列收发器,以其
    的头像 发表于 12-19 16:45 750次阅读

    关于无线光通信物理层安全性的技术方案

    ————基于物理层特性的无线光通信保密安全方案阐述1.摘要本方案旨在系统阐述无线光通信技术(尤指可见光通信/VLC与光保真/LiFi)在
    的头像 发表于 12-19 11:55 1980次阅读
    关于无线光<b class='flag-5'>通信物理层</b>安全性的<b class='flag-5'>技术</b>方案

    汽车以太网物理层收发器DP83TC811R-Q1:特性、应用与设计指南

    汽车以太网物理层收发器DP83TC811R-Q1:特性、应用与设计指南 在汽车电子领域,以太网技术的应用越来越广泛,而物理层收发器作为以太网通信的关键组件,其性能和特性对于整个系统的稳
    的头像 发表于 12-18 14:10 567次阅读

    DP83869HM:高抗扰性以太网物理层收发器的卓越之选

    DP83869HM:高抗扰性以太网物理层收发器的卓越之选 在工业自动化、电网基础设施等对以太网通信要求严苛的领域,一款性能卓越、功能丰富的以太网物理层收发器至关重要。今天,我们就来深入探讨德州仪器
    的头像 发表于 12-18 10:35 656次阅读

    DP83825I低功耗10/100Mbps以太网物理层收发器详解

    DP83825I低功耗10/100Mbps以太网物理层收发器详解 在当今的电子设备中,以太网通信扮演着至关重要的角色。对于工程师来说,选择一款合适的以太网物理层收发器是设计成功的关键。今天,我们就来
    的头像 发表于 12-17 17:45 786次阅读

    TLIN1028S-Q1:汽车LIN物理层收发器的卓越之选

    TLIN1028S-Q1:汽车LIN物理层收发器的卓越之选 在汽车电子领域,可靠的通信和高效的系统设计至关重要。TI的TLIN1028S-Q1作为一款本地互连网络(LIN)物理层收发器
    的头像 发表于 12-17 16:55 742次阅读

    RapidIO标准的串行物理层实现

    Serial RapidIO(SRIO) 特指 RapidIO 标准的串行物理层实现。
    的头像 发表于 12-09 10:41 727次阅读
    RapidIO标准的串行<b class='flag-5'>物理层</b>实现

    VOOHU——SPE信号如何实现千米传输?解析其物理层设计

    实现长距离、高可靠的信号传输是SPE技术落地的基础。本文将探讨在单对线架构下,如何通过物理层设计应对信号衰减与工业环境干扰的挑战。
    的头像 发表于 12-02 17:48 885次阅读
    VOOHU——SPE信号如何实现千米传输?解析其<b class='flag-5'>物理层</b>设计

    ADP7000系列示波器特色功能:以太网物理层一致性测试,让网络物理层问题无所遁形

    引言随着数字化浪潮席卷与通信技术高速发展,以太网作为应用最广泛的网络通信载体,已深度应用于数据中心、工业互联网、智能汽车等领域。以太网的物理层特性直接影响着链路稳定性、误码率、传输带宽
    的头像 发表于 10-30 09:02 603次阅读
    ADP7000系列示波器特色功能:以太网<b class='flag-5'>物理层</b>一致性测试,让<b class='flag-5'>网络</b><b class='flag-5'>物理层</b>问题无所遁形

    睿远研究院丨IO-Link规范解读(三):物理层概览

    前言 物理层是 IO-Link 通信的 “硬件底座”,它直接决定了系统的可靠性、抗干扰能力和部署灵活性。打个比方,就像盖房子,物理层就是地基和骨架,地基不稳、骨架不牢,房子肯定住着不踏实。本期我们
    的头像 发表于 10-21 17:26 3397次阅读
    睿远研究院丨IO-Link规范解读(三):<b class='flag-5'>物理层</b>概览