物理层概述
物理层的作用
作用
连接不同的物理设备,传输比特流
传输介质
- 双绞线
- 同轴电缆
- 光纤
- 无线介质
红外线、红外线、激光
比特流
高低电平表示比特流
物理特性
- 机械特性
- 电气特性
- 功能特性
- 过程特性
信道的基本概念
信道是往一个方向传送信息的媒体,一条通信电路包含一个接收信道和一个发送
??? 发送和接收会不会冲突?冲突了怎么办?
单工通信信道
只能一个方向通信,没有反方向反馈的信道,如 有线电视、无线电收音机等
半双工通信信道
双方都可以发送和接收信息,但不能双方同时发送,也不能同时接收
全双工通信信道
双方都可以同时发送和接收信息
分用-复用技术
复用技术
-
频分复用
-
时分复用
-
波分复用
-
码分复用
链路层概述
数据帧
“帧”是数据链路层数据的基本单位;
发送端在网络层的一段数据前后添加特定标记形成“帧”;
接收端根据前后特定标记识别出“帧”
物理层不管帧结构,链路层会对帧进行解析
帧结构
帧首部和尾部是特定的控制字符,是特定比特流
帧首部 : SOH:00000001
帧尾部 : EOT:00000100
?? 数据里面恰好有这些比特流咋办? -> 透明传输
透明传输
"透明"的意思是控制字符在帧数据中时,要当做不存在去处理
- 若非透明处理,数据报中恰好存在EOT字符,那么这个数据帧会被错误处理
- 数据报中的控制字符前添加转义字符,转义字符后的特殊字符被当成非特殊字符处理,即透明处理
数据报中存在转义字符时,同样能在转移字符前添加转义字符。可以类比编程语言中的转移字符‘
\
’
差错监测
物理层只管传输比特流,无法控制是否出错; 数据链路层负责起“差错监测”的工作。
奇偶校验码
在比特流尾部添加一位比特位,用于检测比特流是否有错
奇偶校验码计算逻辑
00110010 -> 0+0+1+1+0+0+1+0 = 3 数位和为奇数则校验码为1
00111010 -> 0+0+1+1+1+0+1+0 = 4 数位和为偶数则校验码为0
链路层接收端接收比特流时再次计算校验位与比特流中的校验位对比,校验码不同则比特流有错误。
问题
当比特流在传输过程中有2位出错,则奇偶校验码方式检测不到错误
循环冗余校验码(CRC)
一种根据传输或保存的数据而产生固定位数校验码的方法;检测数据传输或者保存后可能出现的错误;生成的数字计算出来并且附加到数据后面。
模“2”除法
模“2”除法是二进制下的除法;与算术除法类似,但除法不借位,实际是“异或”操作
算法描述
-
选定一个用于校验的多项式
G(x)
,并在数据尾部添加多项式阶数(r)个0
-
将添加r个0后的数据,使用
模“2”除法
除以多项式的位串
-
得到的
余数填充在原数据r个0的位置
得到可校验的位串
例:使用CRC计算101001的可校验位串。
- 确定一个多项式,根据多项式确定位串和r个0的个数
多项式位串为1101
;阶数为3
- 将添加r个0后的数据,使用模“2”除法除以多项式的位串
101001000 模2除以1101 得到余数001
- 余数填充在原数据r个0的位置,得到可校验的位串
余数001替换原数据101001000后3位,得到可校验位串为101001001
每一种多项式G(x)代表一种规范
常用CRC(按照ITU-IEEE规范)
注:CRC-1 实际上就是奇偶校验法
CRC的错误检测能力与位串的阶数r有关;
数据链路层只进行数据的检测,不进行纠正
MTU
最大传输单元MTU(Maximum Transmission Unit)
数据链路层的数据帧不是无限大的,数据帧的大小受MTU的限制;
MTU过大或过小都会影响传输的效率
总时延 = 发送时延 + 排队时延 + 传播时延 + 处理时延
以太网和802.3对数据帧的长度都有一个限制,其最大值分别是1500字节和1492字节
路径MTU( Path mtu,PMTU)
路径MTU由链路中MTU的最小值决定;两台主机之间的PMTU不一定是个常数,它取决于当时所选择的路径,而且路由选择也不一定是对称的(从A到B的路由可能与从B到A的路由不同),因此,PMTU在两个方向上不一定是一致的。
以太网协议详解
MAC地址
MAC(Media Access Control Address),在OSI模型中,第三层网络层负责IP地址,第二层数据链路层则负责MAC位址
MAC地址的长度为48位(6个字节),通常表示为12个16进制数
MAC地址会组装在数据报报文头中,目的地址和源地址分别占6个字节,共12个字节
以太网协议
以太网技术作为**数据链路层**的一种简单、高效的技术,以其为核心,与其它物理层技术相结合,形成以太网技术接入体系。
以太网(Ethernet)是一种使用广泛的局域网技术,是一种应用于数据链路层的协议,完成**相邻设备**的数据帧传输。
以太网的数据格式
-
目的地址/源地址(6字节/6字节)
-
类型(2字节)
-
0800
-
0806 ARP
-
8035 RARP
-
-
帧数据
-
CRC
wireshak抓取报文格式分析:
MAC地址表
MAC地址表记录的是MAC地址和硬件接口的映射关系,一般用于路由器的路由。
例:机器A通过路由器发送数据到机器C
- A通过网卡发送数据帧
- 路由器从接口E1接收到数据帧,取出前6个字节(目的MAC地址)
- 路由器使用目的MAC地址匹配MAC地址表,找到C机器路由器硬件接口E3
- 路由器网E3接口发送数据帧
例:上例中若路由器MAC表中没有C的MAC地址映射怎么办?
- E检查MAC地址表,发现没有C的信息;
- E广播A的数据包到除E1以外的端口;
- E将收到来自B、C的回应,并将地址记录;
MAC表只能实现相邻物理节点的传输,若传输需要跨多个路由时怎么办??
此问题,需要网络层的策略去处理。。。
来源:CSDN
作者:hzw@sirius
链接:https://blog.csdn.net/qq_19655405/article/details/103641523