当前位置: 首页 > 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的分用原理一样, 它们的报头中都有帧协议类型字段, 比较常见的有:

0x0800IPv4该帧承载 IPv4 数据包
0x0806ARP该帧承载 ARP(地址解析协议)报文
0x86DDIPv6该帧承载 IPv6 数据包
0x8100802.1Q VLAN该帧使用 VLAN 标签

http://www.mrgr.cn/news/96091.html

相关文章:

  • 全文 - MLIR Toy Tutorial Chapter 1: Toy Language and AST
  • Linux网站搭建(新手必看)
  • XXL-Job 处理大数据量并发任务的解决方案及底层原理
  • SICAR 标准 KUKA 机器人标准功能块说明手册
  • 输出输入练习
  • MyBatis 语法不支持 having 节点
  • SQL语句---特殊查询
  • python中的面对对象
  • springboot在feign和线程池中使用TraceId日志链路追踪(最终版)-2
  • string 的接口
  • 【MySQL篇】DEPENDENT SUBQUERY(依赖性子查询)优化:从百秒到秒级响应的四种优化办法
  • mysql增、删、改和单表查询多表查询
  • C++ 异常
  • RAG(Retrieval-Augmented Generation)基建之PDF解析的“魔法”与“陷阱”
  • EF Core 执行原生SQL语句
  • 每天认识一个设计模式-建造者模式:复杂对象的“装配式革命“
  • 05.AI搭建preparationの(transformers01)BertTokenizer实现分词编码
  • EMC知识学习一
  • 2.7 进度控制习题-2
  • 【AI学习】Transformer 模型