从五层协议原理体系结构的角度来看
主机应具有体系结构中
的各个层次
而路由器 只需具有体系结构中的网络层,链路层,物理层
.
数据流动过程:
逐层封装后
物理层
将构成数据包的各比特
转换为电信号
发送到传输媒体
下往上
逐层解封
到网络层
.
数据包
的目的网络地址
和自身转发表
,确定数据包的转发端口
封装
数据包
物理层
将数据包发送到传输媒体
下往上逐层解封
,最终解封出主机H1所发送的数据
帧
为单位传输和处理数据
三个问题:封装成帧、差错检测、可靠传输
网络 | 干的活 | 称之为 |
---|---|---|
应用层 | 封装成为应用层协议数据单位 | 应用层协议数据单元 |
运输层 | 运输层为其添加运输层协议首部 | 运输层协议数据单元 |
网络层 | 网络层为其添加网络层协议首部 | 网络层协议数据单元 |
数据链路层 | 添加一个数据链路层协议首部, and 添加一个帧尾 | 帧头 |
帧头和帧尾的作用之一就是帧定界
引自GPT 3.5
在 OSI 网络模型中,数据链路层是第二层,它负责将网络层(第三层)传递过来的数据包(也称为分组)封装成帧,以便在物理层(第一层)进行传输。
封装成帧的过程包括以下几个步骤:
起始标记
,用于标识帧的开始
。起始标记通常是一个固定的比特模式
,例如 01111110
。
错误检测和校验的字段
,用于保证数据的完整性和准确性
。常见的错误检测方法包括循环冗余检验(CRC)
和帧检验序列(FCS)
。
01111110
。
通过封装成帧,数据链路层将网络层传递的数据包转换为一系列的帧,每个帧都包含了起始标记、帧首部、数据字段、帧尾部和帧结束标记
。这样,数据链路层就能够将数据传输到物理层
,并通过物理介质进行实际的传输。
封装成帧的过程使得数据链路层能够在物理层上可靠地传输数据,并提供了错误检测和校验的机制,以确保数据的完整性和准确性。这种封装成帧的方式是在不同的网络技术和协议中广泛使用的基础。
我们将数据链路层
给网络层交付的协议数据单元
添加针头
和 针尾
的操作称为封装成针
添加针头和针尾的目的 都是为了在链路上 以针为单元来传送数据 也就是为了实现数据链路层本身的功能
为了提高帧的传输效率,应当使帧的数据部分的长度尽可能大一些
如图所示 帧的数据部分的长度
应远大于
帧头和帧尾的长度
这样才能提高针的传输效率.
因为仅从数据链路层来看 帧的数据部分才是真正要传输的数据
帧头和帧尾 是为了实现数据链路层功能而额外添加的
当然了考虑到差错控制等多种因素, 每一种数据链路层协议, 都规定了针的数据部分的长度上限, 称为最大传送单元MTU
实际的通信链路都不是理想的,毕竟在传输过程中可能会产生差错。1与0互变,这称为比特差错
使用差错检测码
来检测数据在传输过程中是否产生了比特差错,是数据链路层所要解决的重要问题之一
奇偶校验(漏检率比较高)
循环冗余校验CRC(广泛运用)