文章目录
一、数据链路层协议感性认识
数据链路层简介
从上图可以看出 , 在TCP/IP协议族中 , 链路层主要有三个目的 :
- 为IP模块发送和接收IP数据报 ;
- 为ARP模块发送 ARP请求和接收ARP应答 ;
- 为RARP发送RARP请求和接收RARP应答。
实际上,各个设备之间在数据传输时,数据链路层和物理层都是必不可少的。众所周知,计算机以二进制0、1来表示信息,然而实际的通信媒介之间处理的却是电压的高低、光的闪灭以及电波的强弱等信号。把这些信号与二进制的0、1进行转换正是物理层的责任。数据链路层处理的数据也不是单纯的0、1序列,该层把它们集合为一个叫做“帧”的块,然后再进行传输。
以太网简介
在众多数据链路中最为著名、使用最为广泛的莫过于以太网(Ethernet)。
那么具体什么叫做以太网呢?
以太网是一种计算机局域网技术。
以太网" 不是一种具体的网络,而是一种技术标准;既包含了数据链路层的内容,也包含了一些物理层的内容。例如:规定了网络拓扑结构,访问控制方式,传输速率等; 例如以太网中的网线必须使用双绞线;传输速率有10M,100M,1000M等;
以太网是当前应用最广泛的局域网技术;和以太网并列的还有令牌环网,无线LAN等 。
以太网实现了网络上无线电系统多个节点发送信息的想法,每个节点必须获取电缆或者信道的才能传送信息,有时也叫作以太(Ether)。(这个名字来源于19世纪的物理学家假设的电磁辐射媒体-光以太。后来的研究证明光以太不存在。) 每一个节点有全球唯一的48位地址也就是制造商分配给网卡的MAC地址,以保证以太网上所有节点能互相鉴别。由于以太网十分普遍,许多制造商把以太网卡直接集成进计算机主板。
特点
实时性、确定性
二、以太网数据帧格式详解
帧头
下边我们来探讨下边几个问题:
1.这里为什么要再单独弄出来一套地址体系?用原来的ip地址不可以吗?
简而言之,这是一个历史故事。当然可以。
再最初大佬们研发初代ip协议栈的时候,研发网路层和数据链路层协议的是两伙人,他们各自研发了一套地址协议。
该不是特别好改,后来干脆就演化成了两套地址体系,也就是我们现在看到的相互配合的现状。
2.ip地址怎么才能和mac地址相互配合呢?
ip地址用来描述整个传输过程中的起点和中的那,mac地址则是描述网络中两个相邻节点。
对于本地计算机,我们如何查看mac地址呢?
不同类型对应的载荷
对于不同类型属性,对应的数据帧格式有所不同,他们有什么作用呢?
对于0800:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2CopPItw-1677298755559)(F:\typora插图\image-20230225115412943.png)]
对于0806:
对于8035:
其中ARP是数据传输层另外的协议,通过这个协议,可以让路由器认识局域网中其他的设备。通过ARP协议会在交换机/路由表中建立出一个表,这个表相当于一个hash表,能够建立出ip和mac之间的映射关系。
三、关于MTU
什么是MTU
MTU,即maximum transmission unit,最大传输单元,指的的是数据链路层的最大payload,是一个硬性限制。
载荷具体多长,和使用的物理介质和数据链路层使用的协议有很大关系。大概率情况下,数据链路层的MTU都比64kb要小。
MTU有什么作用
有了mtu,有助于长报文更方便的分包(ip分片),帮助他们可靠传输。
ip分片(了解)
概念:当IP数据报超过帧的MTU(最大传输单元)时,它将会被分片传输。分片能发生在发送端或者中转路由器,且在传输过程中可能被多次分片。在最后的目标机器上这些分片才会被内核的的IP模块重新组装。
相关阅读
参考
[数据链路层的一些理解](漫话TCP/IP:数据链路层-以太网(1) - 知乎 (zhihu.com))
以太网的一些理解
MTU参考
1
拓展阅读
版权归原作者 安苒_ 所有, 如有侵权,请联系我们删除。