大家好,我是杨数Tos,这是《从零基础到大神》系列课程的第87篇文章,第三阶段的课程:Python进阶知识:网络编程之OSI七层协议(三),数据链路层。
这篇文章我们详细讲解:OSI七层协议(三),数据链路层。
数据链路层的功作用:定义了电信号的分组方式,将单纯的电信号(0和1没有任何意义),必须规定电信号多少位一组,每组什么意思。
1、什么是以太网协议?早期的时候,每一家公司都有自己的电信号分组方式,后来形成了统一的标准,这个标准就是以太网协议(即:ethernt)。
一组电信号构成一个数据“帧”(frame)。
每一数据帧由head(头部)和data(数据)两部分组成
head包含:(固定18个字节)
发送者/源地址,6个字节,接收者/目标地址,6个字节,数据类型,6个字节;
data包含:(最短46字节,最长1500字节)
数据包的具体内容。
head的长度+data的长度=最短64字节,最长1518字节,超过最大限制就多次发送。
2、什么是MAC地址?
head中包含了源地址和目标地址,而以太网协议规定接入以太网协议的设备都必须具备网卡;head中包含的地址信息便是网卡的地址,即MAC地址。
每块网卡出厂时都被烧制上一个世界唯一的mac地址,长度为48位2进制,通常由12位16进制数表示(前六位是厂商编号,后六位是流水线号)。
3、以太网协议的通信方式
有了mac地址,同一网络内的两台主机就可以通信了;以太网协议以广播的方式进行通信;
所谓广播就是大声吼一嗓子,就像村里面的大喇叭,张三你有快递,如果张三听到了,就会取走他的快递。
但广播的方式有很大的缺陷,比如:
两台计算机同时进行通信只有2条广播,假如有100万台计算机呢?
还有就是广播的安全性很低,容易被其他计算机获取信息;
最后,广播的范围有限,你大喊一场最多传个几百米,想实现全世界通信完全不现实。
所以,以太网协议比较适合小型局域网的范围传输;我们需要更安全、更合理的传输方式。
下一文,我们将讲到网络层。
以上是本期内容,如果有表达不对的内容,欢迎您的留言、斧正,我们一起天天向上。
感谢您的阅读,您的三连【关注、点赞、收藏】就是对我最大的支持,谢谢!
本文由杨数Tos原创,欢迎关注,带你一起长知识。
,