互联网协议 第2章 五层模型-链接层 互联网协议 第2章 五层模型-链接层

2023-06-02

一、定义

单纯的0和1没有任何意义,必须规定解读方式:多少个电信号算一组?每个信号位有何意义?

这就是"链接层"的功能,它在"实体层"的上方,确定了0和1的分组方式。

链接层也叫做数据链路层

确定了0和1的分组方式。

现在通过电线我能发数据流了,但是,我还希望通过无线电波,通过其它介质来传输。然后我还要保证传输过去的比特流是正确的,要有纠错功能。

于是,发明了数据链路层: 定义了如何让格式化数据以进行传输,以及如何让控制对物理介质的访问。这一层通常还提供错误检测和纠正,以确保数据的可靠传输。

二、以太网协议

早期的时候,每家公司都有自己的电信号分组方式。逐渐地,一种叫做"以太网"(Ethernet)的协议,占据了主导地位。

以太网规定,一组电信号构成一个数据包,叫做"帧"(Frame)。每一帧分成两个部分:标头(Head)和数据(Data)。

https://file.lulublog.cn/images/3/2022/08/y7X8aeX1D89MxX0vXDa4anb4z011Pa.png

"标头"包含数据包的一些说明项,比如发送者、接受者、数据类型等等;"数据"则是数据包的具体内容。

"标头"的长度,固定为18字节。"数据"的长度,最短为46字节,最长为1500字节。因此,整个"帧"最短为64字节,最长为1518字节。如果数据很长,就必须分割成多个帧进行发送。

  • IEEE 802.1── 通用网络概念及网桥等

  • IEEE 802.2── 逻辑链路控制等

  • IEEE 802.3──以太网

  • IEEE 802.4──ARCnet总线结构及访 问方法,物理层规定

  • IEEE 802.5──Token Ring访问方法及物理层 规定等

  • IEEE 802.6── 城域网的访问方法及物理 层规定

  • IEEE 802.7── 宽带局域网

  • IEEE 802.8── 光纤局域网(FDDI )

  • IEEE 802.9── ISDN局域网

  • IEEE 802.10── 网络的安全

  • IEEE 802.11── 无线局域网

三、MAC地址

上面提到,以太网数据包的"标头",包含了发送者和接受者的信息。那么,发送者和接受者是如何标识呢?

以太网规定,连入网络的所有设备,都必须具有"网卡"接口。数据包必须是从一块网卡,传送到另一块网卡。网卡的地址,就是数据包的发送地址和接收地址,这叫做MAC地址。

MAC地址(Media Access Control Address),直译为媒体访问控制地址,也称为局域网地址(LAN Address),以太网地址(Ethernet Address)或物理地址(Physical Address),它是一个用来确认网上设备位置的地址。

https://file.lulublog.cn/images/3/2022/08/TaN0EU21EEAinniYaFGgOggnQA0QAn.jpg

每块网卡出厂的时候,都有一个全世界独一无二的MAC地址,长度是48个二进制位,通常用12个十六进制数表示。

https://file.lulublog.cn/images/3/2022/08/uSSgcSR4gu290COH05w550lGzsCOlr.png

前6个十六进制数是厂商编号,后6个是该厂商的网卡流水号。有了MAC地址,就可以定位网卡和数据包的路径了。

四、广播

定义地址只是第一步,后面还有更多的步骤。

  • 首先,一块网卡怎么会知道另一块网卡的MAC地址?回答是有一种ARP协议,可以解决这个问题。这个留到后面介绍,这里只需要知道,以太网数据包必须知道接收方的MAC地址,然后才能发送。

  • 其次,就算有了MAC地址,系统怎样才能把数据包准确送到接收方?回答是以太网采用了一种很"原始"的方式,它不是把数据包准确送到接收方,而是向本网络内所有计算机发送,让每台计算机自己判断,是否为接收方。

https://file.lulublog.cn/images/3/2022/08/RuflVHajCJUrFlLhhufcMMRzUfMIfc.png

上图中,1号计算机向2号计算机发送一个数据包,同一个子网络的3号、4号、5号计算机都会收到这个包。它们读取这个包的"标头",找到接收方的MAC地址,然后与自身的MAC地址相比较,如果两者相同,就接受这个包,做进一步处理,否则就丢弃这个包。这种发送方式就叫做"广播"(broadcasting)。

有了数据包的定义、网卡的MAC地址、广播的发送方式,"链接层"就可以在多台计算机之间传送数据了。

计算机网络的基本分类方法主要有两种:

  • 一种是根据网络所使用的传输技术:计算机网络可以分为广播式网络和点对点式网络

  • 另一种是根据覆盖范围与规模:计算机网络可以分为局域网、城域网和广域网。

五、PPP 协议

在数据链路层有两个重要的协议,即HDLC协议和PPP协议。 

  • 高级数据链路控制(High-Level Data Link Control或简称HDLC),是一个在同步网上传输数据、面向比特的数据链路层协议,它是由国际标准化组织制订的。

    HDLC协议是面向比特的,而PPP协议则是面向字节的,HDLC的帧采用开头跟结尾都是01111110作为帧的边界,这样当接收方接收到一串比特的时候可以根据它来判断该帧从哪里开始,到哪里结束,但是,假如在两个标志字段之间的比特串中恰好出现了01111110比特串,那该怎么办呢,HDLC采用零比特填充法,所谓零比特填充法就是每当出现5个1的时候就给它添加一个0进去,而接收方接收到数据时凡出现5个1的时候去掉其后面一个0,这样就能很好地确定帧。 

  • 点对点协议(英语:Point-to-Point Protocol,PPP)工作在数据链路层(以OSI参考模型的观点)。 它通常用在两节点间建立直接的连接,并可以提供连接认证、传输加密(使用ECP,RFC 1968)以及压缩。

    PPP协议本来也是跟HDLC协议一样,把01111110作为边界符(一般称为标志符),但是因为PPP协议是面向字节的,所以这里不说01111110,而是说用7E作为边界符。PPP协议在同步传输链路中也是采用零比特填充法,而在异步传输链路中则采用特殊的字符填充法。 

  • HDLC在控制字段中提供了可靠的确认机制,因此它可以实现可靠传输,而PPP则不提供可靠传输,要靠上层实现保证其正确性,因此,曾经在误码率比较高的链路中,HDLC曾起到了极大的作用,但随着技术的发展,在数据链路层出现差错的概率不大,因此现在全世界使用得最多的数据链路层协议是PPP协议。

六、交换机

交换机(Switch)意为“开关”是一种用于电(光)信号转发的网络设备。它可以为接入交换机的任意两个网络节点提供独享的电信号通路。最常见的交换机是以太网交换机。交换机工作于OSI参考模型的第二层,即数据链路层。交换机内部的CPU会在每个端口成功连接时,通过将MAC地址和端口对应,形成一张MAC表。在今后的通讯中,发往该MAC地址的数据包将仅送往其对应的端口,而不是所有的端口。因此,交换机可用于划分数据链路层广播,即冲突域;但它不能划分网络层广播,即广播域。

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开微信扫一扫,即可进行扫码打赏哦

阅读 264