数据链路层的重点协议
数据链路层的重点协议
在另一篇介绍 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协议:有最大报文大小
数据链路层的重点协议相关推荐
- TCP/IP四层模型重点协议解析
文章目录 应用层 DNS协议 NAT NAPT 传输层协议 TCP UDP UDP协议段格式 UDP特点 基于UDP的应用层协议 ※ 经典面试题 网络层协议 IP协议 数据链路层协议 以太网 以太网帧 ...
- 数据链路层(ARP协议,DNS协议和ICMP协议)
数据链路层(以太网协议):负责两个相邻设备之间的数据帧的传送和识别 一.以太网的帧格式 源地址和目的地址是指网卡的硬件地址(也叫MAC地址),长度是48位(6个字节),是在网卡出厂时固化的. 帧格式类 ...
- 数据链路层之以太网协议
在 IP 数据包交付的过程中,在数据链路层会对数据包进行添加报头信息.以太网协议就是数据链路层的一个重要协议.这样说其实不太准确,因为以太网协议是一个规定数据链路层及物理层的协议,不能说它是数据链路层 ...
- 网络原理 | 传输层重点协议之TCP协议(TCP连接的三次握手与四次挥手、TCP的安全机制与效率机制)
目录 TCP协议 安全机制 确认应答机制 超时重传机制 连接管理机制 三次握手 四次挥手 流量控制机制 编辑拥塞控制机制 效率机制 滑动窗口机制 延迟应答机制 捎带应答机制 TCP协议 · 传输层的 ...
- 数据链路层划分、数据链路层使用的协议及详细介绍
- 数据链路层划分: 局域网的数据链路层分为逻辑链路层LLC和介质访问控制MAC两个子层. 1.逻辑链路控制(Logical Link Control或简称LLC)是局域网中数据链路层的上层部分,IE ...
- 网络层(IP,ICMP),数据链路层(以太网协议)
网络层 ip协议报头的格式+地址管理+路由选择 网络层 ip协议报格式 4位版本:指定ip协议版本,ipv4和ipv6,ipv6并不向下兼容: 4位首部长度:表示ip协议头部长度,也就是length* ...
- Java ee 传输层重点协议TCP/UDP
文章目录 前言.传输层重点协议 一TCP协议(重要) 1.1TCP协议段格式 1.2TCP原理 1.2.1确认应答机制(安全机制) 1.2.2超时重传(安全机制) 1.2.3连接管理机制(安全机制) ...
- 【计算机网络】数据链路层 : 选择重传协议 SR ( 帧分类 | “发送方“ 确认帧、超时事件 | “接受方“ 接收帧机制 | 滑动窗口长度 | 计算示例 )★
文章目录 一. 选择重传协议 ( SR ) 引入 二. 选择重传协议 ( SR ) 帧分类 三. 发送方 事件 ( 确认帧.超时事件 ) 四. 接收方 事件 ( 接收帧 ) 五. 滑动窗口长度 五. ...
- 【计算机网络】数据链路层 : 广域网 ( HDLC 协议 | HDLC 站 | HDLC 帧格式 | HDLC 帧类型 | PPP 协议 与 HDLC 协议 对比 )
文章目录 一.HDLC 协议 二.HDLC 站 三.HDLC 帧格式 四.HDLC 帧类型 五.PPP 协议 与 HDLC 协议 对比 一.HDLC 协议 HDLC 协议 : ① 全称 : High- ...
最新文章
- 【BZOJ2004】公交线路(动态规划,状态压缩,矩阵快速幂)
- 赶紧收藏!非常实用的 30 个 Python 技巧
- ACM MM2021 HANet:从局部到整体的检索!阿里提出用于视频文本检索的分层对齐网络HANet!代码已开源!...
- 微型计算机主机箱内所有部件均由,《计算机应用基础》模拟试题
- 如果在山上挖一个池塘,不放鱼,里面会慢慢有鱼吗?
- 研究员发现70个web缓存投毒漏洞,获奖4万美元
- windows powershell 没有vi_「PowerShell」人人都值得学一点PowerShell实现自动化(2)
- NameNode DataNode
- 当前可用的喜马拉雅专辑下载器
- [matlab也能用来机器学习!?]保存工具箱模型并使用模型预测结果
- 小型网络游戏实例(vc++)——网络五子棋
- python tkinter messagebox 自动关闭_Python实现定时自动关闭的tkinter窗口方法
- python调用有道翻译_Python调用有道翻译
- 输入学生姓名和学号c语言程序,C语言 从键盘输入10个学生信息(学号,姓名,年龄,性别)...
- 2021-11-4 socket的通信过程
- METIS 安装过程
- 2000-2020年上市公司环保投资数据(含原始数据和stata代码)
- Wish获5亿美元融资,估值35亿美元成独角兽
- ADAudit Plus的UEBA功能如何解决企业面临的安全挑战
- golang 分析调试高阶技巧
热门文章
- 婴幼儿呼吸道感染和发烧
- 计算机数据压缩说课,第3章多媒体数据压缩.ppt
- ILRuntime学习(之一)
- python问题:IndentationError:expected an indented blo
- 智慧校园人员定位系统解决方案
- python界面编程
- arduino使用oled代码_Arduino提高篇04—U8g2库驱动OLED
- js 页面跳转两种方式(原页面跳转,打开新标签页)
- 重型音乐金属核后期分轨混音教程教学培训(基础+进阶+重型音色调音指南+剪辑+修音+美感设计+实战+母带处理)|MZD Studios
- Python爬虫之HDU提交数据