Java EE|TCP/IP协议栈之数据链路层协议详解

一、数据链路层协议感性认识

数据链路层简介

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DBE89r85-1677298755556)(F:\typora插图\image-20230225104751280.png)]

从上图可以看出 , 在TCP/IP协议族中 , 链路层主要有三个目的 :

  1. 为IP模块发送和接收IP数据报 ;
  2. 为ARP模块发送 ARP请求和接收ARP应答 ;
  3. 为RARP发送RARP请求和接收RARP应答。

实际上,各个设备之间在数据传输时,数据链路层和物理层都是必不可少的。众所周知,计算机以二进制0、1来表示信息,然而实际的通信媒介之间处理的却是电压的高低、光的闪灭以及电波的强弱等信号。把这些信号与二进制的0、1进行转换正是物理层的责任。数据链路层处理的数据也不是单纯的0、1序列,该层把它们集合为一个叫做**“帧”**的块,然后再进行传输。

以太网简介

在众多数据链路中最为著名、使用最为广泛的莫过于以太网(Ethernet)

那么具体什么叫做以太网呢?

以太网是一种计算机局域网技术。

以太网" 不是一种具体的网络,而是一种技术标准;既包含了数据链路层的内容,也包含了一些物理层的内容。例如:规定了网络拓扑结构,访问控制方式,传输速率等; 例如以太网中的网线必须使用双绞线;传输速率有10M,100M,1000M等;

以太网是当前应用最广泛的局域网技术;和以太网并列的还有令牌环网,无线LAN等 。

以太网实现了网络上无线电系统多个节点发送信息的想法,每个节点必须获取电缆或者信道的才能传送信息,有时也叫作以太(Ether)。(这个名字来源于19世纪的物理学家假设的电磁辐射媒体-光以太。后来的研究证明光以太不存在。) 每一个节点有全球唯一的48位地址也就是制造商分配给网卡的MAC地址,以保证以太网上所有节点能互相鉴别。由于以太网十分普遍,许多制造商把以太网卡直接集成进计算机主板

特点

实时性、确定性

二、以太网数据帧格式详解

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-n59zkC3e-1677298755558)(F:\typora插图\image-20230225115552068.png)]

帧头

下边我们来探讨下边几个问题:

1.这里为什么要再单独弄出来一套地址体系?用原来的ip地址不可以吗?

简而言之,这是一个历史故事。当然可以。

再最初大佬们研发初代ip协议栈的时候,研发网路层和数据链路层协议的是两伙人,他们各自研发了一套地址协议。

该不是特别好改,后来干脆就演化成了两套地址体系,也就是我们现在看到的相互配合的现状。

2.ip地址怎么才能和mac地址相互配合呢?

ip地址用来描述整个传输过程中的起点和中的那,mac地址则是描述网络中两个相邻节点。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nVNPQfPd-1677298755558)(F:\typora插图\image-20230225114721233.png)]

对于本地计算机,我们如何查看mac地址呢?

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yn5BK2ws-1677298755559)(F:\typora插图\image-20230225115058967.png)]

不同类型对应的载荷

对于不同类型属性,对应的数据帧格式有所不同,他们有什么作用呢?

对于0800:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2CopPItw-1677298755559)(F:\typora插图\image-20230225115412943.png)]

对于0806:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DKDAujBP-1677298755560)(F:\typora插图\image-20230225115436362.png)]

对于8035:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pgt9Myor-1677298755561)(F:\typora插图\image-20230225115459131.png)]

其中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

拓展阅读

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值