数据链路层的重点协议

在另一篇介绍 IP 协议的博客中:https://blog.csdn.net/m0_61925333/article/details/126028282?spm=1001.2014.3001.5502

解析了IP协议的header后,可以发现,在首部中并没有存放下一跳,即短期目标的空间

事实上下一跳的IP主要是给数据链路层使用的

以太网

“以太网” 不是一种具体的网络,而是一种技术标准;既包含了数据链路层的内容,也包含了 一些物理层的内容

除了以太网之外的局域网技术还包括有以太网、令牌环网、无线协议

以太网通过以太帧(Ethernet Frame)来进行数据的封装,封装好之后,将以太帧作为数据包通过物理介质进行真正的传输

以太网帧的格式:

  • 源地址和目的地址是指网卡的硬件地址(也叫MAC地址),长度是48位,是在网卡出厂时固化的
  • 帧协议类型字段有三种值,分别对应IP、ARP、RARP
  • 帧末尾是CRC校验码

抓包之后,来看看以太网帧的存储的mac地址

在以太帧的首部中,封装了短期目标的mac地址

同时我们已经知道在数据链路层,是通过mac地址来唯一确定两台主机的,那么数据链路层是怎么把IP地址转换成mac地址的?

先问一个问题,下一跳的IP地址,是否属于当前局域网内(或者是其网络号是否一致)?

答案是肯定的,在数据链路层只能处理同一个LAN内部的主机通信问题,如果下一跳的IP地址不在同一局域网内,那么数据链路层就无法处理了,反过来,想要通过数据链路层完成通信,下一跳的IP地址一定是同一局域网内的

如果说在不同的局域网之间,私有IP可能会重复,但是在同一个局域网之内,私有IP是不能重复的

那么数据链路层就能通过一张ARP表来维护每台主机的IP与mac地址,使其称为唯一对应,这样,数据链路层就能通过将IP地址转换为mac地址,完成短期目标的通信

比如上图中存在3个设备,左右两侧为主机,中间为路由器,左侧IP为192.168.1.9的主机中,算出下一跳的地址为192.168.1.1,然后数据链路层就能根据下一跳的IP地址,算出mac地址为mac2,然后数据传输到mac2,到达中间的路由器;由于中间的路由器连接两个路由器,因此两边各有一个局域网,两者的IP不同,于是根据另一个局域网的IP100.76.0.3/24地址算出下一跳的IP地址是100.76.0.1/24,然后数据链路层有根据这个IP地址得到mac地址mac4,最后完成数据的传输

当所有数据都封装好之后,就是这样的:

ARP协议

通过ARP协议能够知道同一LAN下,其他主机的IP与mac地址之间的映射关系

在本地内部通过一张ARP表来进行维护,类似于Map<IP, MAC>这样的结构

静态地址是自带或者手动配置的

其中这些动态计算出来的mac地址是怎么计算的?

通过ARP(Address Resolution Protocol)协议

可广播一份ARP请求说:我的mac地址是aaa,我想知道xxx IP的mac地址

然后应答一份ARP响应:我是xxx,mac地址是bbb

MTU

MTU全称为 Maximum Transmission Unit - 最大传输单元,MTU是数据链路层对每次能发送数据的大小限制

由于物理层存在硬性限制,因此对应的数据链路层也有一定的大小范围,因此有了MTU

MTU的存在,对其它层也会有一定的影响

  • 对IP层:表现为分片问题
  • TCP协议:MSS受制于MTU
  • UDP协议:有最大报文大小

数据链路层的重点协议相关推荐

  1. TCP/IP四层模型重点协议解析

    文章目录 应用层 DNS协议 NAT NAPT 传输层协议 TCP UDP UDP协议段格式 UDP特点 基于UDP的应用层协议 ※ 经典面试题 网络层协议 IP协议 数据链路层协议 以太网 以太网帧 ...

  2. 数据链路层(ARP协议,DNS协议和ICMP协议)

    数据链路层(以太网协议):负责两个相邻设备之间的数据帧的传送和识别 一.以太网的帧格式 源地址和目的地址是指网卡的硬件地址(也叫MAC地址),长度是48位(6个字节),是在网卡出厂时固化的. 帧格式类 ...

  3. 数据链路层之以太网协议

    在 IP 数据包交付的过程中,在数据链路层会对数据包进行添加报头信息.以太网协议就是数据链路层的一个重要协议.这样说其实不太准确,因为以太网协议是一个规定数据链路层及物理层的协议,不能说它是数据链路层 ...

  4. 网络原理 | 传输层重点协议之TCP协议(TCP连接的三次握手与四次挥手、TCP的安全机制与效率机制)

    目录 TCP协议 安全机制 确认应答机制 超时重传机制 连接管理机制 三次握手 四次挥手 流量控制机制 ​编辑拥塞控制机制 效率机制 滑动窗口机制 延迟应答机制 捎带应答机制 TCP协议 · 传输层的 ...

  5. 数据链路层划分、数据链路层使用的协议及详细介绍

    - 数据链路层划分: 局域网的数据链路层分为逻辑链路层LLC和介质访问控制MAC两个子层. 1.逻辑链路控制(Logical Link Control或简称LLC)是局域网中数据链路层的上层部分,IE ...

  6. 网络层(IP,ICMP),数据链路层(以太网协议)

    网络层 ip协议报头的格式+地址管理+路由选择 网络层 ip协议报格式 4位版本:指定ip协议版本,ipv4和ipv6,ipv6并不向下兼容: 4位首部长度:表示ip协议头部长度,也就是length* ...

  7. Java ee 传输层重点协议TCP/UDP

    文章目录 前言.传输层重点协议 一TCP协议(重要) 1.1TCP协议段格式 1.2TCP原理 1.2.1确认应答机制(安全机制) 1.2.2超时重传(安全机制) 1.2.3连接管理机制(安全机制) ...

  8. 【计算机网络】数据链路层 : 选择重传协议 SR ( 帧分类 | “发送方“ 确认帧、超时事件 | “接受方“ 接收帧机制 | 滑动窗口长度 | 计算示例 )★

    文章目录 一. 选择重传协议 ( SR ) 引入 二. 选择重传协议 ( SR ) 帧分类 三. 发送方 事件 ( 确认帧.超时事件 ) 四. 接收方 事件 ( 接收帧 ) 五. 滑动窗口长度 五. ...

  9. 【计算机网络】数据链路层 : 广域网 ( HDLC 协议 | HDLC 站 | HDLC 帧格式 | HDLC 帧类型 | PPP 协议 与 HDLC 协议 对比 )

    文章目录 一.HDLC 协议 二.HDLC 站 三.HDLC 帧格式 四.HDLC 帧类型 五.PPP 协议 与 HDLC 协议 对比 一.HDLC 协议 HDLC 协议 : ① 全称 : High- ...

最新文章

  1. 【BZOJ2004】公交线路(动态规划,状态压缩,矩阵快速幂)
  2. 赶紧收藏!非常实用的 30 个 Python 技巧
  3. ACM MM2021 HANet:从局部到整体的检索!阿里提出用于视频文本检索的分层对齐网络HANet!代码已开源!...
  4. 微型计算机主机箱内所有部件均由,《计算机应用基础》模拟试题
  5. 如果在山上挖一个池塘,不放鱼,里面会慢慢有鱼吗?
  6. 研究员发现70个web缓存投毒漏洞,获奖4万美元
  7. windows powershell 没有vi_「PowerShell」人人都值得学一点PowerShell实现自动化(2)
  8. NameNode DataNode
  9. 当前可用的喜马拉雅专辑下载器
  10. [matlab也能用来机器学习!?]保存工具箱模型并使用模型预测结果
  11. 小型网络游戏实例(vc++)——网络五子棋
  12. python tkinter messagebox 自动关闭_Python实现定时自动关闭的tkinter窗口方法
  13. python调用有道翻译_Python调用有道翻译
  14. 输入学生姓名和学号c语言程序,C语言 从键盘输入10个学生信息(学号,姓名,年龄,性别)...
  15. 2021-11-4 socket的通信过程
  16. METIS 安装过程
  17. 2000-2020年上市公司环保投资数据(含原始数据和stata代码)
  18. Wish获5亿美元融资,估值35亿美元成独角兽
  19. ADAudit Plus的UEBA功能如何解决企业面临的安全挑战
  20. golang 分析调试高阶技巧

热门文章

  1. 婴幼儿呼吸道感染和发烧
  2. 计算机数据压缩说课,第3章多媒体数据压缩.ppt
  3. ILRuntime学习(之一)
  4. python问题:IndentationError:expected an indented blo
  5. 智慧校园人员定位系统解决方案
  6. python界面编程
  7. arduino使用oled代码_Arduino提高篇04—U8g2库驱动OLED
  8. js 页面跳转两种方式(原页面跳转,打开新标签页)
  9. 重型音乐金属核后期分轨混音教程教学培训(基础+进阶+重型音色调音指南+剪辑+修音+美感设计+实战+母带处理)|MZD Studios
  10. Python爬虫之HDU提交数据