【零基础计网入门笔记 03】数据链路层
整体定位数据链路层只解决相邻设备、局部局域网 / 点对点网线的通信不跨路由器分为两大通信场景一对一点对点、一对多广播局域网全章节围绕封装成帧、透明传输、差错检测三个底层通用问题展开。本章重点速览数据链路层的几个共同问题 ※点对点协议 PPP ※使用广播信道的数据链路层 ※一、前置基础概念信道、链路、数据链路1.1 两种信道类型点对点信道1 对 1线路只连接两台设备电脑连光猫、串口拨号不存在多台设备抢线一对一通信。广播信道1 对多一根总线 / 集线器连接多台主机一台发数据所有设备都能收到多台同时发包会产生信号冲突乱码局域网早期组网用这种。1.2 链路 vs 数据链路链路指的从一个结点到相邻结点的一段物理线路中间没有结点。单纯的物理网线 / 光纤只有硬件线路没有任何传输协议。例A → B → CA 直接连 B 才叫链路A 经过 B 中转到 CA-C 不能叫链路。数据链路链路 数据链路层协议能完成组帧、纠错、透明传输真正实现可靠传递数据。二、数据链路层的三个基本问题封装成帧、透明传输、差错检测2.1 封装成帧给 IP 数据包套上“信封”。操作网络层下发裸 IP 数据链路层给它加帧首部 帧尾部整体叫「帧」。核心作用帧定界。首尾有固定二进制标记接收端靠标记区分一帧从哪开始、到哪结束。限制 MTU以太网规定帧内部的数据部分最大 1500 字节数据包超过这个长度网络层需要提前拆分。原生缺陷如果 IP 数据内部恰好出现和帧头 / 帧尾一模一样的二进制标记接收端会误判 “帧提前结束”截断数据由此引出第二个问题透明传输。2.2 透明传输任意二进制数据都能完整送达。含义上层不用关心底层的分界标记无论数据是 0/1 乱码、特殊控制字符都能原样无修改送到接收端底层自动处理冲突标记。解决方案填充字符 / 字节填充遇到和帧分界符重复的数据时在它前面插入转义字符做标记接收端识别转义字符后删除转义符还原原始数据避免误判帧边界。2.3 差错检验CRC 循环冗余校验排查传输比特错误。含义网线受电磁干扰会出现比特翻转0 变 1、1 变 0CRC 用来检测这种传输错误。注意CRC只能检测错误不能修复错误出错只能丢弃依靠上层重传。1. CRC 运算规则模2运算异或运算相同为0相异为1。被除数待发送的数据几个0几个0取决于除数除数 -1位5→44→3除数由生成多项式 G (X) 得到二进制除数示例G(X)X4X2X1G(X)X^4X^2X1G(X)X4X2X1按幂次补系数1∗X40∗X31∗X21∗X11∗X01*X^40*X^31*X^21*X^11*X^01∗X40∗X31∗X21∗X11∗X0除数 101115 位除数有 n 位原始数据被除数末尾补n-1个 0本例 5 位除数补 4 个 0接下来原始数据 补零整体和除数做模 2 除法得到余数校验码 FCS。若有余数则说明数据是错误的。把末尾补的 0 替换成余数组成完整帧发送接收端校验整串帧除以除数余数 0无传输错误余数≠0数据损坏直接丢弃该帧。例题三、点对点协议 PPP适用场景老式电话拨号上网、光猫串行点对点链路专门管理一对一通信。3.1 PPP 三大组成帧封装规则把 IP 数据包封装进 PPP 帧适配串行物理线路LCP 链路控制协议负责建立、配置、断开物理线路协商线路基础参数NCP 网络控制协议协商上层网络参数给设备分配 IP 地址等。3.2 PPP协议的帧格式首部是用 16 进制表示的可能和信息部分重合造成误判。为了避免这种情况要进行填充。3.3 PPP 帧的透明传输的两种填充方式PPP 帧的首尾标记是十六进制7E如果数据里出现7E、转义符7D会误判帧结束分两种传输模式处理1. 异步传输字符流老式拨号字节填充到特殊字符前插入转义字符7D同时修改原字符分界符7E加7D原数值减 0x20 →5E转义符7D加7D原数值减 0x20 →5DASCII 小于 0x20 的控制字符加7D原数值加 0x20接收端读到7D就对后一个字符反向加减 20删掉转义符恢复原始数据。2. 同步传输高速光纤比特流零比特填充不靠字符区分边界靠比特序列01111110做帧标记。发送端扫描全部比特只要出现连续 5 个 1强制插入 1 个 0保证数据不会出现 6 个连续 1不会和帧标记冲突。接收端识别连续 5 个 1直接删除紧跟的 0还原原始比特。四、广播信道局域网以太网多主机共享线路4.1 冲突问题与 CSMA/CD 协议广播信道的局域网用同轴电缆或集线器组网A - B - C - D 多台主机共享。这种情况下如果我同时要传输信息 A → C 和 B → D则会导致 B → C 这一段信息冲突碰撞产生乱码。为了避免这种情况我们提出CSMA/CD协议。1. CSMA/CD协议集线器组网属于共享总线多台主机同时发包会信号碰撞乱码CSMA/CD 用来管控发包行为五步逻辑发送前侦听先检测线路是否空闲有数据传输就等待边发边听发包同时持续监听线路信号检测冲突立刻停发波形紊乱 冲突马上停止发送发送阻塞信号发送一串干扰码通知全网所有主机发生冲突截断二进制退避算法等待一段随机时间后重新尝试发送。4.2 以太网技术以太网 全世界最通用的局域网二层通信标准数据链路层技术。简单理解你电脑插网线、路由器 LAN 口、公司内网、交换机、WiFi 底层局域网部分全都是以太网。核心任务规定设备之间怎么封装「帧」、怎么识别内网设备、网线里怎么传输数据以太网的两个主要标准DIX Ethernet V2最早商用标准目前互联网主流IEEE 802.3官方标准化标准拆分数据链路层两层LLC 逻辑链路层对接网络层现已淘汰MAC 媒体访问控制层帧封装、冲突管控、硬件寻址现在局域网只保留 MAC 层。4.3 MAC 地址硬件地址 / 物理地址根据以太网两个标准的不同可以把数据链路层分为两层LLCMAC目前主要使用 MAC媒体介入控制组层。MAC 地址就是硬件地址也就是物理地址是由 48 位组成的。规格固定 48 位6 字节12 位十六进制如00:AA:BB:CC:DD:EE存储网卡出厂时厂商烧录在网卡硬件 ROM 中全球唯一换网卡才会真正改变软件只能临时伪装生效范围仅当前局域网作用同一内网里精准定位一台设备。广播局域网中定位目标设备帧头部携带源 MAC、目的 MAC用来区分接收主机。

相关新闻