当前位置: 首页 > news >正文

网络之数据链路层

数据链路层

数据链路层目标

TCP/IP提供了一种能力, 将数据可靠的从 B 跨网络送到 C 主机, 这期间是由无数次局域网转发构成的, 比如 主机B 到 路由器F 就是一次局域网通信的问题, 而数据链路层就是研究数据是如何在局域网内部转发的.

也就是说, 应用层是进行数据的处理, 传输层如TCP是为了可靠性保证, 网络层是解决路径选择和路由的问题, 研究出主机 B 为了和主机 C 通信该走哪里的问题.

数据链路层解决了某一个区间(局域网)内具体的通信问题, 也就是它并不关心我为什么要这么走:

以太网

"以太网"(Ethernet) 不是一种具体的网络, 而是一种技术标准. 在现实网络中, 以太网是最常见的数据链路层协议, 此外数据链路层协议还有令牌环网, 无线LAN

以太网是一种广播型网络, 它采用 MAC 地址 进行设备寻址, 并使用 CSMA/CD(载波监听多路访问/冲突检测) 机制来控制设备对共享信道的访问。 

以太网既包含了数据链路层的内容, 也包含了一些物理层的内容. 例如: 规定了网络拓扑结构, 访问控制方式, 传输速率等;

以太网帧格式

MAC帧有两种格式, 分别是 EtherType 和 IEEE 802.3 . 现代网络主要使用 EtherType, IEEE 802.3 主要用于老旧或特殊应用场景. 下面是EtherType格式:

1. 如何将报头和有效载荷进行分离? 

由于MAC帧报头里没有可变的选项, 因此采用的是固定长度的报头, 可以直接进行分离.

类型 

2. 数据如何向上交付(分用)?

原理和IP的分用原理一样, 它们的报头中都有帧协议类型字段, 比较常见的有:

0x0800 IPv4 该帧承载 IPv4 数据包
0x0806 ARP 该帧承载 ARP(地址解析协议)报文
0x86DD IPv6 该帧承载 IPv6 数据包
0x8100 802.1Q VLAN 该帧使用 VLAN 标签

相关文章:

  • 【赵渝强老师】Oracle数据库的客户端工具
  • python爬虫WASM
  • 大模型工作原理深度解剖:从Transformer架构到知识涌现的范式革命
  • 全息教学系统的软件开发,沉浸式数字沙盘展示系统如何改变历史教学
  • 蓝桥与力扣刷题(蓝桥 蓝桥骑士)
  • 腾讯滑块验证码自动分析工具:原理与实现
  • 《TypeScript 7天速成系列》第3天:TypeScript高级类型通关秘籍:泛型+联合+交叉类型实战
  • 【react】类组件和函数组件的区别
  • Xshell能连接远程服务器,vscode连接远程服务器一直让输入密码,连不上
  • 炫酷的3D卡片翻转画廊实现教程
  • b站视频提取mp4方案
  • Vue3中keep-alive缓存组件应用场景。
  • HarmonyOS Next~鸿蒙系统开发类Kit深度解析与应用实践
  • C++11QT复习 (四)
  • Linux上位机开发实践(积极使用SoC厂家的SDK)
  • Linux系统perf命令使用介绍,如何用此命令进行程序热点诊断和性能优化
  • 信息安全的数学本质与工程实践
  • 【算法工程】RAG:针对linux下文档解析出现乱码问题的解决
  • package.json版本前缀
  • 【Python 代码进阶-2】Python 中的 **(...)语法,字典解包操作符
  • 赛力斯拟赴港上市:去年扭亏为盈净利59亿元,三年内实现百万销量目标
  • “上报集团文化助力区域高质量发展赋能平台”揭牌
  • “上海-日喀则”直飞航线正式通航,将于5月1日开启首航
  • 国家能源局:支持民营企业参股投资核电项目
  • 第二艘国产大型邮轮爱达·花城号完成坞内起浮
  • 大学2025丨专访南开人工智能学院院长赵新:人工智能未来会变成通识类课程