大家好,我是杨数Tos,这是《从零基础到大神》系列课程的第87篇文章,第三阶段的课程:Python进阶知识:网络编程之OSI七层协议(三),数据链路层。

osi数据链路层图解(OSL七层协议之数据链路层)(1)

这篇文章我们详细讲解:OSI七层协议(三),数据链路层。

数据链路层的功作用:定义了电信号的分组方式,将单纯的电信号(0和1没有任何意义),必须规定电信号多少位一组,每组什么意思。

1、什么是以太网协议?

早期的时候,每一家公司都有自己的电信号分组方式,后来形成了统一的标准,这个标准就是以太网协议(即:ethernt)。

一组电信号构成一个数据“帧”(frame)。

每一数据帧由head(头部)和data(数据)两部分组成

head包含:(固定18个字节)

发送者/源地址,6个字节,接收者/目标地址,6个字节,数据类型,6个字节;

data包含:(最短46字节,最长1500字节)

数据包的具体内容。

head的长度+data的长度=最短64字节,最长1518字节,超过最大限制就多次发送。

osi数据链路层图解(OSL七层协议之数据链路层)(2)

2、什么是MAC地址?

head中包含了源地址和目标地址,而以太网协议规定接入以太网协议的设备都必须具备网卡;head中包含的地址信息便是网卡的地址,即MAC地址。

osi数据链路层图解(OSL七层协议之数据链路层)(3)

每块网卡出厂时都被烧制上一个世界唯一的mac地址,长度为48位2进制,通常由12位16进制数表示(前六位是厂商编号,后六位是流水线号)。

osi数据链路层图解(OSL七层协议之数据链路层)(4)

3、以太网协议的通信方式

有了mac地址,同一网络内的两台主机就可以通信了;以太网协议以广播的方式进行通信;

所谓广播就是大声吼一嗓子,就像村里面的大喇叭,张三你有快递,如果张三听到了,就会取走他的快递。

osi数据链路层图解(OSL七层协议之数据链路层)(5)

但广播的方式有很大的缺陷,比如:

两台计算机同时进行通信只有2条广播,假如有100万台计算机呢?

osi数据链路层图解(OSL七层协议之数据链路层)(6)

还有就是广播的安全性很低,容易被其他计算机获取信息;

最后,广播的范围有限,你大喊一场最多传个几百米,想实现全世界通信完全不现实。

所以,以太网协议比较适合小型局域网的范围传输;我们需要更安全、更合理的传输方式。

下一文,我们将讲到网络层。

osi数据链路层图解(OSL七层协议之数据链路层)(7)

以上是本期内容,如果有表达不对的内容,欢迎您的留言、斧正,我们一起天天向上。

感谢您的阅读,您的三连【关注、点赞、收藏】就是对我最大的支持,谢谢!

本文由杨数Tos原创,欢迎关注,带你一起长知识。

,