javaEE 初阶 — 数据链路层中的以太网数据帧

清疚 2023-10-04 22:13 110阅读 0赞

文章目录

  • 以太网帧格式
      1. MAC 地址
      1. MAC 地址是如何与 IP 地址相互配合的
      1. 以太网帧格式中的类型
  • MTU(了解)

以太网帧格式

数据链路层主要考虑的是相邻的两个结点之间的传输。

这里最知名的协议就是 以太网
97fa494dca324caf938ac8135b09adff.png_pic_center

一个以太网数据帧有三个部分组成。帧头+载荷+帧尾
载荷描述了一个完整的 IP 数据报,而帧头描述了 目的地址源地址、和类型(由这三部分组成)。帧尾则是 CRC

1. MAC 地址

这里的地址指的不是 IP 地址 而是 MAC 地址,MAC 地址是物理上的地址。

MAC 地址与 IP 地址 完全不是一回事,是不同的两套体系。

MAC 地址有 6 个字节,当前每个设备都会有唯一的 MAC 地址,MAC 地址不是动态分配的,
而是网卡出场的时候就被设置好的。

打开 cmd 键入 ipconfig 就可以查看自己的 MAC 地址。

200041b147f14865967f6a5ee1114222.png_pic_center

这里的物理地址就是 MAC 地址。

2. MAC 地址是如何与 IP 地址相互配合的

IP 是用来描述这个传输过程的起点和终点, MAC 则是用来描述两个相邻结点的起点和终点。

下面来举个例子,比如说我从 河北 到 广东 去,通过网络层就回规划出一条路线:

河北 —> 河南 —> 湖北 —> 湖南 —> 广东

数据链路层会考虑到相邻的两个结点怎么走。

比如从 河北 —> 河南

源 IP 就是 河南,目的 IP 就是 广东,源 MAC 就是 河北,目的 MAC 就是河南。
比如说这一段路坐火车。

从 河南 —> 湖北

源 IP 就是 河北,目的 IP 就是 广东;源 MAC 就是 河南,目的 MAC 就是 湖北。
比如说这一段路程可以做高铁。

后面的路径与前面类似,总之 IP 描述的是最初从哪里来到哪里去,而 MAC 描述的是当前的阶段任务。

3. 以太网帧格式中的类型

edf6980892d04a41acbf5a3d262163f3.png_pic_center

类型是 0800 的描述的是一个普通的以太网数据帧,载荷部分就是一个完整的 IP 数据报。
0806 类型描述载荷部分是一个 ARP 报文,而 8035 的类型描述载荷部分是一个 RARP 报文。

这里的 ARP 报文RARP 报文 是数据链路层中的 ARP 协议
通过这个协议可以让某个路由器与交换机能够认识局域网里的其它设备,也就是建立连接。
也可以通过 ARP 协议 在交换机与路由器里建立一个表,这个表相当于是 哈希表,可以建立出 IP 与 MAC 之间映射关系。
映射关系 也就是知道了 IP 就可以知道 MAC ,知道了 MAC 就可以知道 IP 。

MTU(了解)

MTU 是一个数据链路层的数据帧,描述的是能够承载数据的最大长度。(载荷的长度)

但是载荷具体多长和使用的物理介质有很大的关系,当然也和数据链路层使用的协议有很大的关系。
比如以太网协议 MTU 是 1500的字节。(这和物理层有很大的关系)

正是这个 MTU 引起了 IP 这个协议来进行分包组包。
IP 的分包组包通常不是根据这个 IP 最大长度 64 KB 来分的,大概率的情况下,数据链路层的 MTU 都比 64 KB 要小。

发表评论

表情:
评论列表 (有 0 条评论,110人围观)

还没有评论,来说两句吧...

相关阅读