我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:创富心水论坛 > 点对点协议 >

数据链路层(1)——点对点信道的链路层

归档日期:07-03       文本归类:点对点协议      文章编辑:爱尚语录

  数据链路层(1)——点对点信道的链路层_计算机软件及应用_IT/计算机_专业资料。物理层 小结 ? ? 物理传输媒体层(第0层) 物理层的特性(协议) ? ? 物理层的作用 物理层的设备(掌握集线器、调制解调器工作 原理) 信道复用:FDM、TDM、WDM、CDM 宽带接入:

  物理层 小结 ? ? 物理传输媒体层(第0层) 物理层的特性(协议) ? ? 物理层的作用 物理层的设备(掌握集线器、调制解调器工作 原理) 信道复用:FDM、TDM、WDM、CDM 宽带接入:ADSL、HFC、FTTX ? ? 第3章 数据链路层 数据链路层的两种信道 ? 点对点信道: ? ? 使用一对一的点对点通信方式 实现协议是PPP(Point-to-Point Protocol) ? 广播信道: ? ? 使用一对多的广播通信方式 实现协议是CSMA/CD(Carrier Sense Multiple Access with Collision Detection) 3.1 使用点对点信道的数据链路层 3.1.1 链路、数据链路和帧 ? 链路(link):一条点到点的物理线路段,中间没有任何其他交 换结点。 ? 链路是一条路径的组成部分 ? 数据链路(data link) :在物理线路上加上通信协议控制数据的 传输。 ? 最常用的方法是使用适配器(即网卡)来实现协议的硬件和软件。 ? 把实现协议的硬件和软件加到链路上,构成数据链路。 数据链路层传送的是帧 结点 A 网络层 数据 链路层 物理层 帧 1010… …0110 结点 B IP 数据报 取出 帧 1010… …0110 IP 数据报 装入 链路 (a) 结点 A 数据 链路层 发送 帧 接收 帧 结点 B 链路 (b) 数据链路层像个数字管道 ? 在两个对等的数据链路层之间画出一个数字 管道,在数字管道上传输的数据单位是帧。 结点 帧 帧 结点 数据链路层在网络互连中的地位 主机 H1 电线 应用层 运输层 网络层 链路层 物理层 路由器 R1 广域网 路由器 R2 广域网 路由器 R3 局域网 主机 H2 H2 应用层 从层次上来看数据的流动 R1 网络层 链路层 物理层 R2 网络层 链路层 物理层 R3 网络层 链路层 物理层 运输层 网络层 链路层 物理层 主机 H1 电线 局域网 主机 H2 仅从数据链路层观察帧的流动 R1 网络层 链路层 H2 应用层 运输层 网络层 链路层 R2 网络层 链路层 R3 网络层 链路层 运输层 网络层 链路层 物理层 物理层 物理层 物理层 物理层 3.1.2 数据链路层解决的问题 1. 封装成帧:在网络层交付下来的数据前后分别添 加首部和尾部,构成帧。 ? 首部和尾部的作用是进行帧定界。 2. 透明传输:如何在收发两端透明传输数据帧。 3. 差错检测:检测传输过程中出现的差错 1.封装成帧 帧开始 IP 数据报 帧的数据部分 帧结束 帧尾部 开始 帧首部 发送 ? MTU 数据链路层的帧长 帧开始符 SOH 帧结束符 装在帧中的数据部分 帧 EOT 发送在前 用控制字符进行帧定界 ? 帧定界使用帧定界符:SOH(Start Of Header)、EOT(End Of Transmission) ? 发送端:在网络层交付下来的数据前后分别添 加首部和尾部,构成链路层数据帧。然后在数 据帧的前后分别添加开始和结束定界符,交付 到物理层。 ? 接收端:收到物理层上交的比特流后,根据开 始和结束定界符,识别帧的开始和结束。 2. 透明传输 出现了“EOT” 完整的帧 数据部分 SOH EOT EOT 发送 在前 被接收端 误认为是一个帧 被接收端当作无效帧而丢弃 解决方法:字节填充 ? 发送端的数据链路层在数据中出现控制字 “ SOH” 或“ EOT” 的前面插入一个转义字符 “ESC”(十六进制编码是1B) 接收端的数据链路层在将数据送往网络层之前 删除插入的转义字符。 如果转义字符也出现数据当中,在转义字符前 面插入一个转义字符。当接收端收到连续的两 个转义字符时,就删除前面的一个。 ? ? 用字节填充法解决透明传输的问题 帧开始符 SOH EOT 原始数据 SOH ESC SOH 帧结束符 EOT 字节填充 SOH ESC EOT 字节填充 ESC SOH 字节填充 ESC ESC 字节填充 ESC SOH EOT 发送 在前 经过字节填充后发送的数据 3. 差错检测 ? 为了保证数据传输的可靠性,在计算机网络传输 数据时,必须采用各种差错检测措施。 ? 在传输过程中可能会产生比特差错:1可能会变成0,0 也可能变成1。 在一段时间内,传输错误的比特占所传输比特总数的 比率称为误码率 BER (Bit Error Rate)。 ? 循环冗余检验的原理 接收方 (n 位) 数据 除法器 得出余数 余数 (n 位) FCS 数据 发送在前 发送方 (n 位) (n 位) FCS 数据 除法器 00…0 得出余数 FCS (n 位) 若余数为 0 则接受; 否则丢弃。 ? 在数据链路层传送的帧中,广泛使用了循 环冗余检验( CRC)的检错技术。 ? 发送端:在数据分组的后面添加供差错检测用 的 n 位冗余码一起发送。 ? 接收端:对收到的帧进行 CRC检验 。余数为 0,则没有差错,接受(accept)。否则丢弃。 冗余码的计算 ? 用二进制的模 2 运算进行 2n 乘 M 的运算,这 相当于在 M 后面添加 n 个 0。 用得到的数除以事先选定好的长度为 (n + 1) 位的除数 P,得出商是 Q 而余数是 R 余数 R 比除数 P 少1 位,即 R 是 n 位。 ? ? 举例 ? 要发送的数:M = 101001,被除数是: 2nM = 101001000 (假设添加3位余数) 设选定的除数 P = 1101(n=3) 模 2 运算的结果是:商 Q = 110101, 余数 R = 001 ? ? ? 把余数 R 作为冗余码添加在数据 M 的后面发送出去。则 发送的数据是:2nM + R 即:101001001 110101 ← Q (商) P (除数) → 1101 101001000 ← 2nM (被除数) 1101 1110 1101 0111 0000 1110 1101 0110 0000 1100 1101 001 ← R (余数),作为 FCS 接收端对收到的每一帧进行CRC 检验 (1) 若得出的余数 R = 0,则判定这个帧没有差 错,接受(accept)。 (2) 若余数 R ? 0,则判定这个帧有差错,丢弃。 这种检测方法并不能确定究竟是哪一个或哪几 个比特出现了差错。 帧校验序列 FCS ? 在数据后面添加上的冗余码称为帧校验序列 FCS (Frame Check Sequence)。 ? 循环冗余检验 CRC 和帧检验序列 FCS不等同。 ? CRC 是一种常用的检错方法,而 FCS 是添加在数据 后面的冗余码。 FCS 可以用 CRC 这种方法得出,但 CRC 并非用来获 得 FCS 的唯一方法。 ? 注意 ? 用循环冗余检验(CRC)技术只能做到无差 错接受(accept)。 ? “无差错接受”指:“凡是接受的帧(即不 包括丢弃的帧),都能以非常接近于 1 的概 率认为这些帧在传输过程中没有产生差错”。 要做到“可靠传输”(即发送什么就收到什 么)就必须再加上确认和重传机制。 ? 练习 ? 要发送的数据为1101011011,采用CRC 的生成式是P(X)=X4+X+1。 ? ? 求应添加在数据后面的余数。 若数据在传输过程中最后两个1都变成了0, 接收端是否能发现? ? 在数据传输过程中,若接收方收到发 送方送来的信息为 ,生 成多项式为G(x)=x4+x3+1。 请判断接收方收到的数据是否正确? (请写出判断依据及推演过程) ? 3.2 点对点协议 PPP ? 现在使用得最多的数据链路层协议是点对点协议 PPP (Point-to-Point Protocol)。 用户使用拨号电话线接入因特网时,一般都是使 用 PPP 协议。 ? ? 宽带上网主机使用的链路层协议:PPPoE(PPP over Ethernet) 用户到 ISP 的链路使用 PPP 协议 已向因特网管理机构 申请到一批 IP 地址 用 接入网 ISP 至因特网 户 PPP 协议 1. PPP 协议的组成 ? PPP 协议有三个组成部分 ? ? 一个将 IP 数据报封装到串行链路的方法。 一个链路控制协议 LCP (Link Control Protocol):用来建立、配置和测试数据链路 连接。 一套网络控制协议 NCP (Network Control Protocol):用于支持不同的网络层协议。 ? 2. PPP 协议的帧格式 ? PPP数据帧:把网络层IP数据报进行封装, 首部和尾部分别加上四个字段和两个字段。 IP 数据报 首部 尾部 先发送 F A C 7E FF 03 字节 1 1 1 协议 2 信 息 部 分 FCS 2 F 7E 1 不超过 1500 字节 PPP 帧 (1)各字段含义 ? 首部的第一个字段和尾部的第二个字段为 标志字段, F = 0x7E (01111110)。 地址字段 A = 0xFF(11111111),实际 不起作用。 ? ? 控制字段 C = 0x03 ? PPP 有一个 2 个字节的协议字段。 ? 当协议字段为 0x0021 时,PPP 帧的信息字段 是 IP 数据报。 若为 0xC021,信息字段是 链路控制数据。 ? ? 若为 0x8021,信息字段是 网络层控制数据。 (2)透明传输问题 ? 当信息字段中出现和标志字段一样的比特 组合(0x7E)时,需要采取措施 ? 当PPP使用异步传输时,把转义字符定义为 0x7D,并使用字节填充。 ? 当PPP使用同步传输时,采用零比特填充。 字节填充的实现 ? 将信息字段中出现的每一个 0x7E 字节转变成为 2 字节序列(0x7D, 0x5E)。 ? 若信息字段中出现一个 0x7D 的字节,则将其转 变成为 2 字节序列(0x7D, 0x5D)。 若信息字段中出现 ASCII 码的控制字符(即数值 小于 0x20 的字符),则在该字符前面要加入一 个 0x7D 字节,同时将该字符的编码加以改变。 ? 练习 ? 一个PPP帧的数据部分(用十六进制 写出)是7D 5E FE 7D 23 27 7D 5D 7D 5D 65 7D 5E。 ? 请写出正真的数据是什么(用十六进制 写出) 零比特填充的实现-五1添0 ? 在发送端,只要发现有 5 个连续 1,则 立即填入一个 0。 ? 接收端对帧中的比特流进行扫描。每当 发现 5 个连续1时,就把这 5 个连续 1 后的一个 0 删除。 信息字段中出现了和 标志字段 F 完全一样 的 8 比特组合 10 会被误认为是标志字段 F 发送端在 5 个连 1 之后 填入 0 比特再发送出去 010 发送端填入 0 比特 010 接收端删除填入的 0 比特 在接收端把 5 个连 1 之后的 0 比特删除 练习 ? PPP协议使用同步传输技术传送比特串 0。问经过零比特填充 后变成怎样的比特串。 若接收端收到的PPP帧的数据部分是 1110110,问删除发 送端加入的零比特后变成怎样的比特串? ? 3. PPP 协议的工作状态 ? 用户拨号接入 ISP 时,建立一条从用户到 ISP的物理连接。 用户PC 机向ISP发送一系列的LCP分组(封 装成多个 PPP 帧),建立LCP连接。 ? ? NCP 给新接入的 PC机分配一个临时的 IP 地址,使 PC 机成为因特网上的一个主机。 ? 通信完毕后: ? NCP 释放网络层连接,收回原来分配出去的 IP 地址。 LCP 释放数据链路层连接 ? ? 最后释放物理层的连接 链路静止 LCP 配置 LCP 链路 协商失败 终止 设备之间无链路 物理层连接建立 链路建立 LCP 配置协商 物理链路 链路终止 鉴别失败 鉴别 LCP 链路 鉴别成功或无需鉴别 链路故障或 关闭请求 网络层协议 已鉴别的 LCP 链路 NCP 配置协商 链路打开 已鉴别的 LCP 链路 和 NCP 链路

本文链接:http://websarmiento.com/dianduidianxieyi/477.html