搜索

计算机网络第七版第三章

gecimao 发表于 2019-07-22 16:34 | 查看: | 回复:

  第 第 3 章 数据链路层 第 第 3 章 数据链路层 3.1 使用点对点信道的数据链路层 3.2 点对点协议 PPP 3.3 使用广播信道的数据链路层 3.4 扩展的以太网 3.5 高速以太网 数据链路层使用的信道数据链路层使用的信道主要有以下两种类型: 点对点信道。 这种信道使用一对一的点对点通信一对一的点对点通信 方式。 广播信道。 这种信道使用 一对多的广播通信方式,因此过程比较复杂。广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送。方式,因此过程比较复杂。广播信道上连接的主机很多,因此必须使用专用的共享信道协议来...

  第 第 3 章 数据链路层 第 第 3 章 数据链路层 3.1 使用点对点信道的数据链路层 3.2 点对点协议 PPP 3.3 使用广播信道的数据链路层 3.4 扩展的以太网 3.5 高速以太网 数据链路层使用的信道数据链路层使用的信道主要有以下两种类型: 点对点信道。 这种信道使用一对一的点对点通信一对一的点对点通信 方式。 广播信道。 这种信道使用 一对多的广播通信方式,因此过程比较复杂。广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送。方式,因此过程比较复杂。广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送。 数据链路层的简单模型局域网 广域网主机广域网主机 H 1主机 H 2路由器R 1路由器R 2路由器R 3电线 发送数据链路层应用层运输层网络层物理层链路层应用层运输层网络层物理层链路层应用层运输层网络层物理层链路层应用层运输层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层R 1 R 2 R 3H 1 H 2从层次上来看数据的流动数据链路层的地位H 1 到H 2 所经过的网络可以是多种的 数据链路层的简单模型( 续)局域网 广域网主机广域网主机 H 1主机 H 2路由器R 1路由器R 2路由器R 3电线 发送数据仅从数据链路层观察帧的流动只考虑数据在数据链路层的流动不同的链路层可能采用不同的数据链路层协议链路层应用层运输层网络层物理层链路层应用层运输层网络层物理层链路层应用层运输层网络层物理层链路层应用层运输层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层R 1 R 2 R 3H 1 H 2H 1 到H 2 所经过的网络可以是多种的 3.1 使用点对点信道的数据链路层 3.1.1 数据链路和帧 3.1.2 三个基本问题 3.1.1 数据链路和帧 链路 (link) 是一条无源的点到点的物理线路段,中间没有任何其他的交换结点。是一条无源的点到点的物理线路段,中间没有任何其他的交换结点。 一条链路只是一条通路的一个组成部分。 数据链路 (data link) 除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。 现在最常用的方法是使用适配器(即网卡)来实现这些协议的硬件和软件。现在最常用的方法是使用适配器(即网卡)来实现这些协议的硬件和软件。 一般的适配器都包括了数据链路层和物理层这两层的功能。 3.1.1 数据链路和帧 也有人采用另外的术语。这就是把链路分为物理链路和逻辑链路。也有人采用另外的术语。这就是把链路分为物理链路和逻辑链路。 物理链路 就是上面所说的链路。 逻辑链路就是上面的数据链路,是物理链路加上必要的通信协议。就是上面的数据链路,是物理链路加上必要的通信协议。 早期的数据通信协议曾叫做 通信规程(procedure)。因此在数据链路层,规程和协议是同义语。。因此在数据链路层,规程和协议是同义语。 数据链路层数据链路层结点 A 结点 B帧(b) 只考虑数据链路层发送只考虑数据链路层发送帧接收链路IP 数据报1010 0110帧取出数据链路层网络层数据链路层网络层链路结点链路结点 A 结点 B物理层(a) 三层的简化模型IP 数据报1010 0110帧装入数据链路层传送的是帧使用点对点信道的数据链路层 数据链路层像个数字管道 常常在两个对等的数据链路层之间画出一个数字管道,而在这条数字管道上传输的数据单位是帧。常常在两个对等的数据链路层之间画出一个数字管道,而在这条数字管道上传输的数据单位是帧。 数据链路层不必考虑物理层如何实现比特传输的细节。甚至还可以更简单地设想好像是沿着两个数据链路层之间的水平方向把帧直接发送到对方。数据链路层不必考虑物理层如何实现比特传输的细节。甚至还可以更简单地设想好像是沿着两个数据链路层之间的水平方向把帧直接发送到对方。结点 结点帧 帧 3.1.2 三个基本问题 数据链路层协议有许多种,但有三个基本问题则是共同的。这三个基本问题是:数据链路层协议有许多种,但有三个基本问题则是共同的。这三个基本问题是:1. 封装成帧2. 透明传输3. 差错控制 1. 封装成帧 帧 封装成帧 (framing) 就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。确定帧的界限。就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。确定帧的界限。 首部和尾部的一个重要作用就是进行 帧定界。课件制作人:谢希仁帧结束帧首部IP 数据报帧的数据部分 帧尾部 MTU数据链路层的帧长从这里开始发送帧开始发送用帧首部和帧尾部封装成帧 用 控制字符 进行帧定界的方法举例 的 当数据是由可打印的 ASCII 码组成的文本文件时,帧定界可以使用特殊的码组成的文本文件时,帧定界可以使用特殊的 帧定界符。 符 控制字符 SOH (Start Of Header) 放在一帧的最前面,表示帧的首部开始。另一个控制字符放在一帧的最前面,表示帧的首部开始。另一个控制字符 EOT (End OfTransmission) 表示帧的结束。SOH装在帧中的数据部分帧帧开始符 帧结束符发送在前EOT用控制字符进行帧定界的方法举例 2. 透明传输 如果数据中的某个字节的二进制代码恰好和 SOH 或EOT 一样,数据链路层就会错误地“找到帧的边界”。SOH EOT出现了“EOT”被接收端当作无效帧而丢弃 被接收端误认为是一个帧被接收端误认为是一个帧数据部分EOT完整的帧发送在前发送在前数据部分恰好出现与 EOT 一样的代码 解决透明传输问题 解决方法: 字节填充 (byte stuffing) 或 字符填充(character stuffing) 。 发送端的数据链路层在数据中出现控制字符“SOH”或“或“EOT” 的前面 插入一个转义字符“ESC” (其十六进制编码是其十六进制编码是 1B) 。 接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。 如果转义字符也出现在数据当中,那么应在转义字符前面插入一个转义字符如果转义字符也出现在数据当中,那么应在转义字符前面插入一个转义字符 ESC。当接收端收到连续的两个转义字符时,就删除其中前面的一个。。当接收端收到连续的两个转义字符时,就删除其中前面的一个。 用字节填充法解决透明传输的问题SOHSOH EOT SOH ESCESC EOT ESC SOH ESC ESC ESC SOH原始数据EOTEOT经过字节填充后发送的数据字节填充 字节填充 字节填充 字节填充经过字节填充后发送的数据字节填充 字节填充 字节填充 字节填充发送在前发送在前帧开始符 帧结束符SOH用字节填充法解决透明传输的问题 3. 差错检测 在传输过程中可能会产生 比特差错:1 可能会变成可能会变成 0 而 而 0 也可能变成 1 。 在一段时间内,传输错误的比特占所传输比特总数的比率称为在一段时间内,传输错误的比特占所传输比特总数的比率称为 误码率 BER (Bit Error Rate) 。 误码率与信噪比有很大的关系。 为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。 循环冗余检验的原理 在数据链路层传送的帧中,广泛使用了循环冗余检验循环冗余检验 CRC 的检错技术。 在发送端,先把数据划分为组。假定每组 k 个比特。个比特。 假设待传送的一组数据 M = 101001 (现在 k = 6 )。我们在 M 的后面再添加供差错检测用的 n位 冗余码 一起发送。 冗余码的计算 用二进制的模 2 运算进行 2 n 乘 乘 M 的运算,这相当于在的运算,这相当于在 M 后面添加 n 个 个 0 。 得到的 (k + n) 位的数除以事先选定好的长度为(n + 1) 位的 除数 P ,得出 商是 是 Q 而 余数是 是 R,余数,余数 R 比除数 P 少 少 1 位,即 R 是 是 n 位。 将余数 R 作为冗余码拼接在数据 M 后面发送出去。后面发送出去。 冗余码的计算举例 现在 k = 6, M = 101001 。 设 设 n = 3, 除数 P = 1101 , 被除数是 2 n M = 101001000 。 模 模 2 运算的结果是:商 商 Q = 110101 ,余数 R = 001 。 把余数 R 作为 冗余码 添加在数据 M 的后面发送出去。发送的数据是:的后面发送出去。发送的数据是:2 n M + R即:101001001 ,共 (k + n) 位。 循环冗余检验的原理说明P ( 除数)10002 n M ( 被除数)01R ( 余数) ,作为 FCSQ ( 商) 帧检验序列 FCS  在数据后面添加上的冗余码称为 帧检验序列FCS (Frame Check Sequence) 。 循环冗余检验 CRC 和帧检验序列 FCS 并不等同。并不等同。 CRC 是一种常用的检错方法,而 FCS 是添加在数据后面的冗余码。是添加在数据后面的冗余码。 FCS 可以用 CRC 这种方法得出,但 CRC 并非用来获得并非用来获得 FCS 的唯一方法。 接收端对收到的每一帧进行 CRC 检验 (1) 数 若得出的余数 R = 0,则判定这个帧没有差错,就,则判定这个帧没有差错,就 接受 (accept) 。 (2) 数 若余数 R 0 ,则判定这个帧有差错,就丢弃。丢弃。 但这种检测方法并不能确定究竟是哪一个或哪几个比特出现了差错。但这种检测方法并不能确定究竟是哪一个或哪几个比特出现了差错。 只要经过严格的挑选,并使用位数足够多的除数只要经过严格的挑选,并使用位数足够多的除数P,那么出现检测不到的差错的概率就很小很小。,那么出现检测不到的差错的概率就很小很小。 应当注意 验 仅用循环冗余检验 CRC 差错检测技术只能做到无差错接受无差错接受 (accept) 。 “无差错接受”是指:“凡是接受的帧(即不包括丢弃的帧),我们都能以非常接近于“凡是接受的帧(即不包括丢弃的帧),我们都能以非常接近于 1 的概率认为这些帧在传输过程中没有产生差错”。的概率认为这些帧在传输过程中没有产生差错”。 也就是说:“凡是接收端数据链路层接受的帧都没有传输差错”(有差错的帧就丢弃而不接受)。也就是说:“凡是接收端数据链路层接受的帧都没有传输差错”(有差错的帧就丢弃而不接受)。 要做到“可靠传输”(即发送什么就收到什么)就必须再加上确认和重传机制。要做到“可靠传输”(即发送什么就收到什么)就必须再加上确认和重传机制。 应当注意 应当明确,“无比特差错”与“无传输差错”是不同的概念。“无比特差错”与“无传输差错”是不同的概念。 用 在数据链路层使用 CRC 检验,能够实现无比特差错的传输,但这还不是可靠传输。检验,能够实现无比特差错的传输,但这还不是可靠传输。 本章介绍的数据链路层协议都不是可靠传输的协议。本章介绍的数据链路层协议都不是可靠传输的协议。 3.2 点对点协议 PPP 3.2.1 PPP 协议的特点 3.2.2 PPP 协议的帧格式 3.2.3 PPP 协议的工作状态 3.2.1 PPP 协议的特点 对于点对点的链路,目前使用得最广泛的数据链路层协议是对于点对点的链路,目前使用得最广泛的数据链路层协议是 点对点协议 PPP (Point-to-Point Protocol) 。 用户使用拨号电话线接入互联网时, 用户计算机和用户使用拨号电话线接入互联网时, 用户计算机和 ISP 进行通信时所使用的数据链路层协议就是进行通信时所使用的数据链路层协议就是 PPP 协议。 PPP 协议在1994 年就已成为互联网的正式标准。 用户到 ISP 的链路使用 PPP 协议用户至互联网用户至互联网已向互联网管理机构申请到一批已向互联网管理机构申请到一批 IP 地址ISP接入网PPP 协议 1. PPP 协议应满足的需求 简单 这是首要的要求。 封装成帧 必须规定特殊的字符作为帧定界符。 透明性 必须保证数据传输的透明性。 多种网络层协议 能够在同一条物理链路上同时支持多种网络层协议。能够在同一条物理链路上同时支持多种网络层协议。 多种类型链路 能够在多种类型的链路上运行。 差错检测 能够对接收端收到的帧进行检测,并立即丢弃有差错的帧。能够对接收端收到的帧进行检测,并立即丢弃有差错的帧。 1. PPP 协议应满足的需求(续) 检测连接状态 能够及时自动检测出链路是否处于正常工作状态。能够及时自动检测出链路是否处于正常工作状态。 最大传送单元 必须对每一种类型的点对点链路设置最大传送单元必须对每一种类型的点对点链路设置最大传送单元 MTU 的标准默认值,促进各种实现之间的互操作性。的标准默认值,促进各种实现之间的互操作性。 网络层地址协商 必须提供一种机制使通信的两个网络层实体能够通过协商知道或能够配置彼此的网络层地址。必须提供一种机制使通信的两个网络层实体能够通过协商知道或能够配置彼此的网络层地址。 数据压缩协商 必须提供一种方法来协商使用数据压缩算法。必须提供一种方法来协商使用数据压缩算法。 2. PPP 协议不需要的功能 纠错 流量控制 序号 多点线路 半双工或单工链路 3. PPP 协议的组成 PPP 协议有三个组成部分: (1) 一个将 IP 数据报封装到串行链路的方法。 (2) 链路控制协议 LCP (Link Control Protocol) 。 (3) 网络控制协议 NCP (Network Control Protocol) 。 3.2.2 PPP 协议的帧格式 PPP 帧的首部和尾部分别为 4 个字段和 2 个字段。 标志字段 F = 0x7E (符号“0x”表示后面的字符是用十六进制表示。十六进制的表示后面的字符是用十六进制表示。十六进制的 7E 的二进制表示是01111110 )。 地址字段 A 只置为 0xFF 。地址字段实际上并不起作用。 控制字段 C 通常置为 0x03 。 PPP 是面向字节的,所有的 PPP 帧的长度都是整数字节。帧的长度都是整数字节。 PPP 协议的帧格式IP 数据报1 2 1 1 字节 1 2 不超过 1500 字节PPP 帧先发送7E FF 03F A CFCSF7E协议 信 息 部 分首部 尾部PPP 有一个 2 个字节的协议字段。其值 若为 0x0021 ,则信息字段就是 IP 数据报。 若为 0x8021 ,则信息字段是网络控制数据。 若为 0xC021 ,则信息字段是 PPP 链路控制数据。 若为 0xC023 ,则信息字段是鉴别数据。 透明传输问题 当 当 PPP 用在同步传输链路时,协议规定采用硬件来完成用在同步传输链路时,协议规定采用硬件来完成 比特填充 (和 HDLC 的做法一样)。 当 当 PPP 用在异步传输时,就使用一种特殊的字符填充法。字符填充法。 字符填充 将信息字段中出现的每一个 0x7E 字节转变成为2 字节序列 (0x7D, 0x5E) 。 若信息字段中出现一个 0x7D 的字节, 则将其转变成为则将其转变成为 2 字节序列 (0x7D, 0x5D) 。 若信息字段中出现 ASCII 码的控制字符(即数值小于码的控制字符(即数值小于 0x20 的字符),则在该字符前面要加入一个的字符),则在该字符前面要加入一个 0x7D 字节,同时将该字符的编码加以改变。 零比特填充 PPP 协议用在 SONET/SDH 链路时,使用同步传输(一连串的比特连续传送)。链路时,使用同步传输(一连串的比特连续传送)。 这时 PPP 协议采用协议采用 零比特填充 方法来实现透明传输。 在发送端,只要发现有 5 个连续 1,则立即填入一个,则立即填入一个 0 。 接收端对帧中的比特流进行扫描。每当发现 5 个连续1 时,就把这 5 个连续 1 后的一个 0 删除。 零比特填充0 1 0 0 1 1 1 1 1 0 1 0 0 0 1 0 1 00 1 0 0 1 1 1 1 1 1 0 0 0 1 0 1 00 1 0 0 1 1 1 1 1 0 1 0 0 0 1 0 1 0信息字段中出现了和标志字段信息字段中出现了和标志字段 F 完全一样的完全一样的 8 比特组合发送端在比特组合发送端在 5 个连 1 之后填入之后填入 0 比特再发送出去接收端把比特再发送出去接收端把 5 个连 1之后的 0 比特删除会被误认为是标志字段 F 发送端填入 0 比特接收端删除填入的 0 比特零比特的填充与删除 不提供使用序号和确认的可靠传输 PPP 协议之所以不使用序号和确认机制是出于以下的考虑:协议之所以不使用序号和确认机制是出于以下的考虑: 在数据链路层出现差错的概率不大时,使用比较简单的在数据链路层出现差错的概率不大时,使用比较简单的 PPP 协议较为合理。 在因特网环境下,PPP 的信息字段放入的数据是 IP 数据报。数据链路层的可靠传输并不能够保证网络层的传输也是可靠的。数据报。数据链路层的可靠传输并不能够保证网络层的传输也是可靠的。 帧检验序列 FCS 字段可保证无差错接受。 3.2.3 PPP 协议的工作状态 当用户拨号接入 ISP 时,路由器的调制解调器对拨号做出确认,并建立一条物理连接。时,路由器的调制解调器对拨号做出确认,并建立一条物理连接。 PC 机向路由器发送一系列的 LCP 分组(封装成多个 PPP 帧)。 这些分组及其响应选择一些 PPP 参数,并进行网络层配置,NCP 给新接入的 PC 机分配一个临时的 IP 地址,使 PC 机成为因特网上的一个主机。机成为因特网上的一个主机。 通信完毕时,NCP 释放网络层连接,收回原来分配出去的 IP 地址。接着,地址。接着,LCP 释放数据链路层连接。最后释放的是物理层的连接。释放数据链路层连接。最后释放的是物理层的连接。 可见,PPP 协议已不是纯粹的数据链路层的协议,它还包含了物理层和网络层的内容。协议已不是纯粹的数据链路层的协议,它还包含了物理层和网络层的内容。 设备之间无链路 链路静止链路建立鉴别网络层协议链路打开链路终止物理链路LCP 链路L 已鉴别的 LCP 链路已鉴别的 LCP 链路和链路和 NCP 链路已鉴别的 LCP 链路和链路和 NCP 链路物理层连接建立LCP 配置协商鉴别成功或无需鉴别配置协商鉴别成功或无需鉴别NCP 配置协商链路故障或关闭请求链路故障或关闭请求LCP 链路终止鉴别失败链路终止鉴别失败LCP 配置协商失败配置协商失败PPP 协议的状态图 3.3 使用广播信道的数据链路层 3.3.1 局域网的数据链路层 3.3.2 CSMA/CD 协议 3.3.3 使用集线 以太网的信道利用率 3.3.5 以太网的 MAC 层 3.3.1 局域网的数据链路层 局域网最主要的 特点 是: 网络为一个单位所拥有; 地理范围和站点数目均有限。 局域网具有如下 主要优点: 具有广播功能,从一个站点可很方便地访问全网。局域网上的主机可共享连接在局域网上的各种硬件和软件资源。具有广播功能,从一个站点可很方便地访问全网。局域网上的主机可共享连接在局域网上的各种硬件和软件资源。 便于系统的扩展和逐渐地演变,各设备的位置可灵活调整和改变。便于系统的扩展和逐渐地演变,各设备的位置可灵活调整和改变。 提高了系统的可靠性、可用性和残存性。 局域网拓扑结构干线耦合器环形网星形网集线器总线网匹配电阻 媒体共享技术 静态划分信道 频分复用 时分复用 波分复用 码分复用 动态媒体接入控制(多点接入) 随机接入 受控接入 ,如多点线路探询 (polling) ,或轮询。 1. 以太网的两个标准 DIX Ethernet V2 是世界上第一个局域网产品(以太网)的规约。是世界上第一个局域网产品(以太网)的规约。 IEEE 802.3 是第一个 IEEE 的以太网标准。 DIX Ethernet V2 标准与 IEEE 的 的 802.3 标准只有很小的差别,因此可以将标准只有很小的差别,因此可以将 802.3 局域网简称为“以太网”。局域网简称为“以太网”。 严格说来,“以太网”应当是指符合 DIX Ethernet V2 标准的局域网 。 数据链路层的两个子层 为了使数据链路层能更好地适应多种局域网标准,IEEE 802 委员会就将局域网的数据链路层拆成两个子层:委员会就将局域网的数据链路层拆成两个子层: 逻辑链路控制 LLC (Logical Link Control) 子层; 媒体接入控制 MAC (Medium Access Control) 子层。 与接入到传输媒体有关的内容都放在 MAC 子层,而LLC 子层则与传输媒体无关。 不管采用何种协议的局域网,对 LLC 子层来说都是透明的。子层来说都是透明的。 局域网对 LLC 子层是透明的局 域 网网络层物理层站点网络层物理层站点 1网络层物理层逻辑链路控制网络层物理层逻辑链路控制LLC LLC媒体接入控制MAC MAC数据链路层站点数据链路层站点 2LLC 子层看不见下面的局域网子层看不见下面的局域网 一般不考虑 LLC 子层 由于 TCP/IP 体系经常使用的局域网是 DIX Ethernet V2 而不是 802.3 标准中的几种局域网,因此现在标准中的几种局域网,因此现在 802 委员会制定的逻辑链路控制子层LLC (即 802.2 标准)的作用已经不大了。 很多厂商生产的适配器上就仅装有 MAC 协议而没有协议而没有 LLC 协议。 2. 适配器的作用 网络接口板又称为 通信适配器 (adapter) 或网络接口卡网络接口卡 NIC (Network Interface Card) ,或“网卡网卡 ”。 适配器的重要功能: 进行串行/并行转换。 对数据进行缓存。 在计算机的操作系统安装设备驱动程序。 实现以太网协议。 计算机通过适配器和局域网进行通信至局域网适配器(网卡)串行通信适配器(网卡)串行通信CPU 和存储器和存储器生成发送的数据处理收到的数据生成发送的数据处理收到的数据把帧发送到局域网从局域网接收帧计算机把帧发送到局域网从局域网接收帧计算机并行通信并行通信硬件地址 IP 地址 3.3.2 CSMA/CD 协议 最初的以太网是将许多计算机都连接到一根总线上。当初认为这样的连接方法既简单又可靠,因为总线上没有有源器件。最初的以太网是将许多计算机都连接到一根总线上。当初认为这样的连接方法既简单又可靠,因为总线上没有有源器件。B 向D发送数据C D A E匹配电阻(用来吸收总线上传播的信号) 匹配电阻不接受 不接受 不接受 接受B只有 D 接受B 发送的数据 以太网采用广播方式发送 总线上的每一个工作的计算机都能检测到 B 发送的数据信号。发送的数据信号。 由于只有计算机 D 的地址与数据帧首部写入的地址一致,因此只有的地址与数据帧首部写入的地址一致,因此只有 D 才接收这个数据帧。 其他所有的计算机(A, C 和 和 E)都检测到不是发送给它们的数据帧,因此就丢弃这个数据帧而不能够收下来。)都检测到不是发送给它们的数据帧,因此就丢弃这个数据帧而不能够收下来。 在具有广播特性的总线上实现了一对一的通信。 以太网采取了两种重要的措施为了通信的简便,以太网采取了两种重要的措施:(1) 采用较为灵活的 无连接的工作方式 不必先建立连接就可以直接发送数据。 对发送的数据帧不进行编号,也不要求对方发回确认。对发送的数据帧不进行编号,也不要求对方发回确认。 这样做的理由是局域网信道的质量很好,因信道质量产生差错的概率是很小的。这样做的理由是局域网信道的质量很好,因信道质量产生差错的概率是很小的。 以太网提供的服务 以太网提供的服务是不可靠的交付,即尽最大努力的交付。以太网提供的服务是不可靠的交付,即尽最大努力的交付。 当目的站收到有差错的数据帧时就丢弃此帧,其他什么也不做。当目的站收到有差错的数据帧时就丢弃此帧,其他什么也不做。 差错的纠正由高层来决定。 如果高层发现丢失了一些数据而进行重传,但以太网并不知道这是一个重传的帧,而是当作一个新的数据帧来发送。如果高层发现丢失了一些数据而进行重传,但以太网并不知道这是一个重传的帧,而是当作一个新的数据帧来发送。 以太网采取了两种重要的措施(2) 以太网发送的数据都 使用曼彻斯特(Manchester) 编码曼彻斯特1 1 1 1 1 0 0 0 0 0比特流差分曼彻斯特差分曼彻斯特曼彻斯特编码 缺点是:它所占的频带宽度比原始的基带信号增加了一倍。是:它所占的频带宽度比原始的基带信号增加了一倍。 CSMA/CD 协议 CSMA/CD 含义: 载波监听多点接入 / 碰撞检测(Carrier Sense Multiple Access with Collision Detection) 。 “ 多点接入”表示许多计算机以多点接入的方式连接在一根总线上。”表示许多计算机以多点接入的方式连接在一根总线上。 “ 载波监听”是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞。”是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞。 总线上并没有什么“载波”。因此, “载波监听”就是用电子技术检测总线上有没有其他计算机发送的数据信号。“载波监听”就是用电子技术检测总线上有没有其他计算机发送的数据信号。 碰撞检测 “ 碰撞检测”就是计算机边发送数据边检测信道上的信号电压大小。”就是计算机边发送数据边检测信道上的信号电压大小。 当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)。当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)。 当一个站检测到的信号电压摆动值超过一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞。当一个站检测到的信号电压摆动值超过一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞。 所谓“碰撞”就是发生了冲突。因此“碰撞检测”也称为“冲突检测”所谓“碰撞”就是发生了冲突。因此“碰撞检测”也称为“冲突检测” 。 检测到碰撞后 在发生碰撞时,总线上传输的信号产生了严重的失真,无法从中恢复出有用的信息来。在发生碰撞时,总线上传输的信号产生了严重的失真,无法从中恢复出有用的信息来。 每一个正在发送数据的站,一旦发现总线上出现了碰撞,就要每一个正在发送数据的站,一旦发现总线上出现了碰撞,就要 立即停止发送,免得继续浪费网络资源,然后免得继续浪费网络资源,然后 等待一段随机 时间后再次发送。 为什么要进行碰撞检测? 由于电磁波在总线上的传播速率是有限的,当某个站监听到总线是空闲时,也可能总线并非真正是空闲的。当某个站监听到总线是空闲时,也可能总线并非真正是空闲的。 A 向 向 B 发出的信息,要经过一定的时间后才能传送到B 。 B 若在 A 发送的信息到达 B 之前发送自己的帧 (因为这时因为这时 B 的载波监听检测不到 A 所发送的信息),则必然要在某个时间和,则必然要在某个时间和 A 发送的帧发生碰撞。 碰撞的结果是两个帧都变得无用。 所以需要在发送期间进行碰撞检测,以检测冲突。 1 kmA Bt碰撞t = 2 A 检测到发生碰撞t = B 发送数据B 检测到发生碰撞t = t = 0单程端到端传播时延记为单程端到端传播时延记为 信号传播时延对载波监听的影响A 需要单程传播时延的 2 倍的时间,才能检测到与倍的时间,才能检测到与 B 的发送产生了冲突 1 kmA Bt碰撞t = B 检测到信道空闲发送数据检测到信道空闲发送数据t = / 2发生碰撞t = 2 A 检测到发生碰撞t = B 发送数据B 检测到发生碰撞t = ABA BA Bt = 0A 检测到信道空闲发送数据检测到信道空闲发送数据A Bt = 0t = B 检测到发生碰撞停止发送检测到发生碰撞停止发送STOPt = 2 A 检测到发生碰撞检测到发生碰撞STOPAB单程端到端传播时延记为单程端到端传播时延记为 CSMA/CD 重要特性 使用 CSMA/CD 协议的以太网不能进行全双工通信而协议的以太网不能进行全双工通信而 只能进行双向交替通信(半双工通信)。 每个站在发送数据之后的一小段时间内,存在着遭遇碰撞的可能性。每个站在发送数据之后的一小段时间内,存在着遭遇碰撞的可能性。 这种 发送的不确定性使整个以太网的平均通信量远小于以太网的最高数据率。使整个以太网的平均通信量远小于以太网的最高数据率。 争用期 最先发送数据帧的站,在发送数据帧后 至多经过时间经过时间 2 (两倍的端到端往返时延)就可知道发送的数据帧是否遭受了碰撞。就可知道发送的数据帧是否遭受了碰撞。 以太网的端到端往返时延 2 称为 争用期, 或碰撞窗口。碰撞窗口。 经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞。经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞。 二进制指数类型退避算法(truncated binary exponential type) 发生碰撞的站在停止发送数据后,要推迟(退避)一个发生碰撞的站在停止发送数据后,要推迟(退避)一个 随机时间 才能再发送数据。 基本退避时间取为争用期 2 。 从整数集合 [0, 1, , (2 k 1)] 中 中 随机 地取出一个数,记为 r。重传所需的时延就是。重传所需的时延就是 r 倍的基本退避时间。 参数 k 按下面的公式计算:k = Min[ 重传次数, 10] 当 当 k 10 时,参数 k 等于重传次数。 当重传达 16 次仍不能成功时即丢弃该帧,并向高层报告。 争用期的长度 10 Mbit/s 取 以太网取 51.2 s 为争用期的长度。 对于 10 Mbit/s 以太网,在争用期内可发送 512 bit ,即 64 字节。这意味着:以太网在发送数据时,若前 64 字节没有发生冲突,则后续的数据就不会发生冲突。字节没有发生冲突,则后续的数据就不会发生冲突。 最短有效帧长 如果发生冲突,就一定是在发送的前 64 字节之内。字节之内。 由于一检测到冲突就立即中止发送,这时已经发送出去的数据一定小于由于一检测到冲突就立即中止发送,这时已经发送出去的数据一定小于 64 字节。 以太网规定了最短有效帧长为 64 字节,凡长度小于字节,凡长度小于 64 字节的帧都是由于冲突而异常中止的无效帧。无效帧。 强化碰撞当发送数据的站一旦发现发生了碰撞时: (1) 立即停止发送数据; (2) 再继续发送若干比特的 人为干扰信号(jamming signal),以便让所有用户都知道现在已经发生了碰撞。,以便让所有用户都知道现在已经发生了碰撞。 T J人为干扰信号A BT Bt B 发送数据A 检测到冲突检测到冲突开始冲突信道占用时间信道占用时间A 发送数据B 也能够检测到冲突,并立即停止发送数据帧,接着就发送干扰信号。这里为了简单起见,只画出也能够检测到冲突,并立即停止发送数据帧,接着就发送干扰信号。这里为了简单起见,只画出 A 发送干扰信号的情况。 CSMA/CD 协议的要点 (1) 准备发送。 但在发送之前,必须先检测信道。 (2) 检测信道。若检测到信道忙,则应不停地检测,一直等待信道转为空闲。若检测到信道空闲,并在若检测到信道忙,则应不停地检测,一直等待信道转为空闲。若检测到信道空闲,并在 96 比特时间内信道保持空闲(保证了帧间最小间隔),就发送这个帧。内信道保持空闲(保证了帧间最小间隔),就发送这个帧。 (3) 检查碰撞。在发送过程中仍不停地检测信道,即网络适配器要边发送边监听。这里只有在发送过程中仍不停地检测信道,即网络适配器要边发送边监听。这里只有 两种可能性: ①发送成功:在争用期内一直未检测到碰撞。这个帧肯定能够发送成功。发送完毕后,其他什么也不做。然后回到在争用期内一直未检测到碰撞。这个帧肯定能够发送成功。发送完毕后,其他什么也不做。然后回到 (1) 。 ②发送失败:在争用期内检测到碰撞。这时立即停止发送数据,并按规定发送人为干扰信号。适配器接着就执行指数退避算法,等待在争用期内检测到碰撞。这时立即停止发送数据,并按规定发送人为干扰信号。适配器接着就执行指数退避算法,等待 r 倍 倍 512 比特时间 后,返回到步骤 (2),继续检测信道。但若重传达,继续检测信道。但若重传达 16 次仍不能成功,则停止重传而向上报错。 3.3.3 使用集线器的星形拓扑 传统以太网最初是使用粗同轴电缆,后来演进到使用比较便宜的细同轴电缆,最后发展为使用更便宜和更灵活的双绞线。传统以太网最初是使用粗同轴电缆,后来演进到使用比较便宜的细同轴电缆,最后发展为使用更便宜和更灵活的双绞线。 采用双绞线的以太网采用星形拓扑,在星形的中心则增加了一种可靠性非常高的设备,叫做采用双绞线的以太网采用星形拓扑,在星形的中心则增加了一种可靠性非常高的设备,叫做集线器 (hub) 。 使用集线器的双绞线以太网集线器两对双绞线 年,IEEE 制定出星形以太网 10BASE-T 的标准 802.3i 。10BASE T 双绞线 Mbit/s 星形以太网 10BASE-T  使用无屏蔽双绞线,采用星形拓扑。 每个站需要用两对双绞线,分别用于发送和接收。每个站需要用两对双绞线,分别用于发送和接收。 双绞线 插头。 集线器使用了大规模集成电路芯片,因此集线器的可靠性提高。集线器使用了大规模集成电路芯片,因此集线BASE-T 的通信距离稍短,每个站到集线器的距离不超过的通信距离稍短,每个站到集线BASE-T 以太网在局域网中的统治地位 这种 10 Mbit/s 速率的无屏蔽双绞线星形网的出现,既降低了成本,又提高了可靠性。 具有很高的性价比。速率的无屏蔽双绞线星形网的出现,既降低了成本,又提高了可靠性。 具有很高的性价比。 10BASE-T 双绞线以太网的出现,是局域网发展史上的一个非常重要的里程碑,它为以太网在局域网中的统治地位奠定了牢固的基础。双绞线以太网的出现,是局域网发展史上的一个非常重要的里程碑,它为以太网在局域网中的统治地位奠定了牢固的基础。 从此以太网的拓扑就从总线形变为更加方便的星形网络,而以太网也就在局域网中占据了统治地位。从此以太网的拓扑就从总线形变为更加方便的星形网络,而以太网也就在局域网中占据了统治地位。 集线) 集线器是使用电子器件来模拟实际电缆线的工作,因此整个系统仍然像一个传统的以太网那样运行。集线器是使用电子器件来模拟实际电缆线的工作,因此整个系统仍然像一个传统的以太网那样运行。 (2) 使用集线器的以太网在 逻辑上仍是一个总线网,各工作站使用的还是 CSMA/CD 协议,并共享逻辑上的总线。共享逻辑上的总线) 集线器很像一个多接口的转发器, 工作在物理层。 (4) 集线器采用了专门的芯片,进行自适应串音回波抵消,减少了近端串音。集线器采用了专门的芯片,进行自适应串音回波抵消,减少了近端串音。 具有三个接口的集线器集线器集线器网卡工作站网卡工作站网卡工作站网卡工作站网卡工作站网卡工作站双绞线 以太网的信道利用率 多个站在以太网上同时工作就可能会发生碰撞。 当发生碰撞时,信道资源实际上是被浪费了。因此,当扣除碰撞所造成的信道损失后,当发生碰撞时,信道资源实际上是被浪费了。因此,当扣除碰撞所造成的信道损失后,以太网总的信道利用率并不能达到以太网总的信道利用率并不能达到 100% 。 假设 是以太网单程端到端传播时延。则争用期长度为是以太网单程端到端传播时延。则争用期长度为 2 ,即端到端传播时延的两倍。检测到碰撞后不发送干扰信号。,即端到端传播时延的两倍。检测到碰撞后不发送干扰信号。 为 设帧长为 L (bit) ,数据发送速率为 C (bit/s),则帧的发送时间为,则帧的发送时间为 T 0 = L/C (s)。 。 以太网信道被占用的情况 一个站在发送帧时出现了碰撞。经过一个争用期 2 后,可能又出现了碰撞。这样经过若干个争用期后,一个站发送成功了。假定发送帧需要的时间是后,可能又出现了碰撞。这样经过若干个争用期后,一个站发送成功了。假定发送帧需要的时间是 T 0 。发 送 成 功 争用期 争用期 争用期2 T 0 t占用期 发生碰撞发送一帧所需的平均时间2 2 以太网信道被占用的情况 注意到,成功发送一个帧需要占用信道的时间是注意到,成功发送一个帧需要占用信道的时间是 T 0 + ,比这个帧的发送时间要多一个单程端到端时延比这个帧的发送时间要多一个单程端到端时延 。 这是因为当一个站发送完最后一个比特时,这个比特还要在以太网上传播。这是因为当一个站发送完最后一个比特时,这个比特还要在以太网上传播。 在最极端的情况下,发送站在传输媒体的一端,而比特在媒体上传输到另一端所需的时间是在最极端的情况下,发送站在传输媒体的一端,而比特在媒体上传输到另一端所需的时间是 。 参数 与利用率 要提高以太网的信道利用率,就必须减小 与T 0 之比。 在以太网中定义了参数 ,它是以太网单程端到端时延,它是以太网单程端到端时延 与帧的发送时间 T 0 之比:0T a = 0,表示一发生碰撞就立即可以检测出来, 并立即停止发送,因而信道利用率很高。,表示一发生碰撞就立即可以检测出来, 并立即停止发送,因而信道利用率很高。 越大,表明争用期所占的比例增大,每发生一次碰撞就浪费许多信道资源,使得信道利用率明显降低。越大,表明争用期所占的比例增大,每发生一次碰撞就浪费许多信道资源,使得信道利用率明显降低。 对以太网参数 的要求 为提高利用率,以太网的参数a的值应当尽可能小些。的值应当尽可能小些。 对以太网参数 的要求是: 当数据率一定时,以太网的连线的长度受到限制,否则当数据率一定时,以太网的连线的长度受到限制,否则 的数值会太大。 以太网的帧长不能太短,否则 T 0 的值会太小,使 值太大。 信道利用率的最大值 S max 在 理想化的情况下,以太网上的各站发送数据都不会产生碰撞(这显然已经不是的情况下,以太网上的各站发送数据都不会产生碰撞(这显然已经不是 CSMA/CD,而是需要使用一种特殊的调度方法),即总线一旦空闲就有某一个站立即发送数据。,而是需要使用一种特殊的调度方法),即总线一旦空闲就有某一个站立即发送数据。 是 发送一帧占用线 + ,而帧本身的发送时间是,而帧本身的发送时间是 T 0 。于是我们可计算出理想情况下的极限信道利用率理想情况下的极限信道利用率 S max 为:a TTS+=+=1100max 只有当参数 a 远小于 1 才能得到尽可能高的极限信道利用率。才能得到尽可能高的极限信道利用率。 据统计,当以太网的利用率达到 30%时就已经处于重载的情况。很多的网络容量被网上的碰撞消耗掉了。时就已经处于重载的情况。很多的网络容量被网上的碰撞消耗掉了。 3.3.5 以太网的 MAC 层重点介绍: 1. MAC 层的硬件地址 2. MAC 帧的格式 1. MAC 层的硬件地址 在局域网中, 硬件地址 又称为 物理地址,或 或 MAC 地址。 802 标准所说的“地址”严格地讲应当是每一个站的“标准所说的“地址”严格地讲应当是每一个站的“ 名字 ”或 标识符。 但鉴于大家都早已习惯了将这种 48 位的“名字”称为“地址”,所以本书也采用这种习惯用法,尽管这种说法并不太严格。位的“名字”称为“地址”,所以本书也采用这种习惯用法,尽管这种说法并不太严格。请注意,如果连接在局域网上的主机或路由器安装有多个适配器,那么这样的主机或路由器就有多个“地址”。更准确些说,请注意,如果连接在局域网上的主机或路由器安装有多个适配器,那么这样的主机或路由器就有多个“地址”。更准确些说, 这种 48 位“地址”应当是某个接口的标识符。位“地址”应当是某个接口的标识符。 48 位的 MAC 地址 IEEE 802 标准规定 MAC 地址字段可采用 6 字节 ( 48位) 或 或 2 字节 ( 16 位) 这两种中的一种。 IEEE 的注册管理机构 RA 负责向厂家分配地址字段 6 个字节中的前三个字节 ( 即 高位 24 位) ,称为组织唯一标识符。组织唯一标识符。 地址字段 6 个字节中的后三个字节 ( 即 低位 24 位) 由厂家自行指派,称为由厂家自行指派,称为 扩展唯一标识符,必须保证生产出的适配器没有重复地址。必须保证生产出的适配器没有重复地址。组织唯一标识符 扩展唯一标识符3 字节 (24 位) 3 字节 (24 位)48 位的 MAC 地址 48 位的 MAC 地址 一个地址块可以生成 2 24 个不同的地址。这种48 位地址称为 MAC-48 ,它的通用名称是 EUI-48 。 生产适配器时,6 字节的 MAC 地址已被固化在适配器的地址已被固化在适配器的 ROM ,因此,MAC 地址也叫做硬件地址硬件地址 (hardware address) 或 物理地址。 “MAC地址”实际上就是适配器地址或适配器标识符地址”实际上就是适配器地址或适配器标识符 EUI-48 。 单站地址,组地址,广播地址 IEEE 规定地址字段的第一字节的最低位为 I/G 位。I/G 表示 Individual / Group 。 当 当 I/G位 位 = 0 时, 地址字段表示一个 单站地址。 当 当 I/G位 位 = 1 时, 表示 组地址,用来进行多播(以前曾译为组播)。此时,用来进行多播(以前曾译为组播)。此时,IEEE 只分配地址字段前三个字节中的只分配地址字段前三个字节中的 23 位。 当 当 I/G 位分别为 0 和 和 1 时,一个地址块可分别生成 2 23个单个站地址和 2 23 个组地址。 所有 48 位都为 1 时,为广播地址。只能作为目的地址使用。时,为广播地址。只能作为目的地址使用。 全球管理与本地管理 IEEE 把地址字段第一字节的最低第 2 位规定为G/L 位,表示 Global / Local 。 当 当 G/L位 位 = 0 时 ,是 全球管理(保证在全球没有相同的地址),厂商向(保证在全球没有相同的地址),厂商向IEEE 购买的 OUI 都属于全球管理。都属于全球管理。 当 当 G/L位 位 = 1 时, 是 本地管理,这时用户可任意分配网络上的地址。这时用户可任意分配网络上的地址。 适配器检查 MAC 地址 适配器从网络上每收到一个 MAC 帧就首先用硬件检查帧就首先用硬件检查 MAC 帧中的 MAC 地址。 如果是 发往本站的帧则收下,然后再进行其他的处理。则收下,然后再进行其他的处理。 否则就将此帧丢弃,不再进行其他的处理。 “发往本站的帧”包括以下三种帧: 单播 (unicast) 帧(一对一) 广播 (broadcast) 帧(一对全体) 多播 (multicast) 帧(一对多) 适配器检查 MAC 地址 所有的适配器都至少能够识别前两种帧,即能够识别单播地址和广播地址。能够识别单播地址和广播地址。 有的适配器可用编程方法识别多播地址。 只有目的地址才能使用广播地址和多播地址。 以 混杂方式 (promiscuous mode) 工作的以太网适配器只要“听到”有帧在以太网上传输就都接收下来。工作的以太网适配器只要“听到”有帧在以太网上传输就都接收下来。 2. MAC 帧的格式 常用的以太网 MAC 帧格式有两种标准 : DIX Ethernet V2 标准 IEEE 的 的 802.3 标准 最常用的 MAC 帧是 以太网 V2 的格式。 以太网V2的 的 MAC 帧格式以太网 MAC 帧 物理层MAC 层010 0 10101011前同步码帧开始定界符前同步码帧开始定界符7 字节1 字节8 字节插入IP 层目的地址 源地址 类型 数 据 FCS6 6 2 4字节46 ~ 1500IP 数据报MAC 帧 以太网 V2 的 的 MAC 帧格式MAC 帧物理层MAC 层IP 层目的地址 源地址 类型 数 据 FCS6 6 2 4字节46 ~ 1500IP 数据报目的地址字段 6 字节 以太网 V2 的 的 MAC 帧格式MAC 帧物理层MAC 层IP 层目的地址 源地址 类型 数 据 FCS6 6 2 4字节46 ~ 1500IP 数据报源地址字段 6 字...

本文链接:http://megsmind.net/dianduidianxieyi/698.html
随机为您推荐歌词

联系我们 | 关于我们 | 网友投稿 | 版权声明 | 广告服务 | 站点统计 | 网站地图

版权声明:本站资源均来自互联网,如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

Copyright @ 2012-2013 织梦猫 版权所有  Powered by Dedecms 5.7
渝ICP备10013703号  

回顶部