计算机网络复习总结(三)
第三章 数据链路层
- 数据链路层信道分类
- 点对点信道:使用一对一的点对点通信方式。
- 广播信道:使用一对多的广播通信方式。
- 广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送。
- 数据链路:除了物理线路外,还必须有通信协议来控制这些数据的传输。
- "数字管道":可以把数据链路比作管道,而在这条数字管道上传输的数据单位是帧。
- 三个基本问题
- 封装成帧:在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。确定帧的界限。
- 首部和尾部的一个重要作用就是进行帧定界。
- 透明传输:不管所传数据是什么样的比特组合,都应当能够在链路上传送。
- 当所传数据中的比特组合恰巧与某一个控制信息完全一样时,就必须采取适当的措施,使收方不会将这样的数据误认为是某种控制信息。这样才能保证数据链路层的传输是透明的。
- 即:使得链路层"看不见"有妨碍数据传输的东西。
- 可用字节填充法解决透明传输的问题。
- 差错检测:在传输过程中可能会产生比特差错:1 可能会变成 0 而 0 也可能变成 1。
- 误码率:在一段时间内,传输错误的比特占所传输比特总数的比率。
- 误码率与信噪比有很大的关系。
- 误码率:在一段时间内,传输错误的比特占所传输比特总数的比率。
- 封装成帧:在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。确定帧的界限。
- 循环冗余检验 CRC:在数据链路层传送的帧中,广泛使用了循环冗余检验 CRC 的检错技术。
- 1、在发送端,先把数据划分为组。假定每组 k 个比特。
- 2、假设待传送的一组数据为 M = 101001(即 k = 6)。
- 3、用二进制的模 2 运算进行 2^n 乘 M 的运算,这相当于在 M 后面添加 n 个 0。
- 4、得到的 (k + n) 位的数除以事先选定好的长度为 (n + 1) 位的除数 P,得出商是 Q 而余数是 R,余数 R 比除数 P 少1 位,即 R 是 n 位。
- 5、把余数 R 作为冗余码添加在数据 M 的后面发送出去。发送的数据是:2^n*M + R
- 6、接收端对收到的每一帧进行 CRC 检验
- (1) 若得出的余数 R = 0,则判定这个帧没有差错,就接受(accept)。
- (2) 若余数 R ≠ 0,则判定这个帧有差错,就丢弃。
- 这种检测方法并不能确定究竟是哪一个或哪几个比特出现了差错。
- 只要经过严格的挑选,并使用位数足够多的除数 P,那么出现检测不到的差错的概率就很小很小。
- 帧检验序列 FCS:即在数据后面添加的冗余码。
- FCS 可以用 CRC 这种方法得出,但 CRC 并非用来获得 FCS 的唯一方法。
- 点对点协议 PPP
- 全世界使用得最多的数据链路层协议。
- 用户使用拨号电话线接入因特网时,一般都是使用 PPP 协议。
- PPP 协议应满足的需求:
- 简单
- 封装成帧
- 透明性
- 多种网络层协议
- 多种类型链路
- 差错检测
- 检测连接状态
- 最大传送单元
- 网络层地址协商
- 数据压缩协商
- PPP 协议不需要的功能:
- 纠错
- 流量控制
- 序号
- 多点线路
- 半双工或单工链路
- PPP 协议的组成
- 一个将 IP 数据报封装到串行链路的方法。
- 链路控制协议 LCP (Link Control Protocol)
- 链路控制数据
- 网络控制协议 NCP (Network Control Protocol)
- 网络控制数据
- 透明传输问题
- 当 PPP 用在同步传输链路时(SDH),协议规定采用硬件来完成比特填充(和 HDLC 的做法一样)。
- 零比特填充
- 信息字段中出现了和标志字段 F 完全一样的 8 比特组合时;
- 发送端在 5 个连 1 之后填入 0 比特再发送出去;
- 在接收端把 5 个连 1之后的 0 比特删除;
- 信息字段中出现了和标志字段 F 完全一样的 8 比特组合时;
- 零比特填充
- 当 PPP 用在异步传输时,就使用一种特殊的字符填充法。
- 当 PPP 用在同步传输链路时(SDH),协议规定采用硬件来完成比特填充(和 HDLC 的做法一样)。
- PPP 协议不使用序号和确认机制
- 在数据链路层出现差错的概率不大时,使用比较简单的 PPP 协议较为合理。
- 在因特网环境下,PPP 的信息字段放入的数据是 IP 数据报。数据链路层的可靠传输并不能够保证网络层的传输也是可靠的。
- 帧检验序列 FCS 字段可保证无差错接受。
- PPP 协议的工作状态
- 当用户拨号接入 ISP 时,路由器的调制解调器对拨号做出确认,并建立一条物理连接。
- PC 机向路由器发送一系列的 LCP 分组(封装成多个 PPP 帧)。
- 这些分组及其响应选择一些 PPP 参数,和进行网络层配置,NCP 给新接入的 PC机分配一个临时的 IP 地址,使 PC 机成为因特网上的一个主机。
- 通信完毕时,NCP 释放网络层连接,收回原来分配出去的 IP 地址。
- 然后LCP 释放数据链路层连接。
- 最后释放的是物理层的连接。
- 局域网的数据链路层
- 局域网:网络为一个单位所拥有,且地理范围和站点数目均有限。
- 具有广播功能,从一个站点可很方便地访问全网。局域网上的主机可共享连接在局域网上的各种硬件和软件资源。
- 便于系统的扩展和逐渐地演变,各设备的位置可灵活调整和改变。
- 提高了系统的可靠性、可用性和生存性。
- 决定局域网性能的三个要素
- 网络拓扑
- 传输介质
- 媒体接入控制方法
- 局域网:网络为一个单位所拥有,且地理范围和站点数目均有限。
- 动态媒体接入控制(多点接入)
- 随机接入
- 带有冲突检测的载波侦听多路访问CSMA/CD ----以太网
- 受控接入
- 令牌环 token ring-----------------------------令牌环网
- 随机接入
- 数据链路层的两个子层
- 逻辑链路控制 LLC (Logical Link Control)子层;
- 媒体接入控制 MAC (Medium Access Control)子层。
- 适配器(网卡)的作用
- 进行串行/并行转换;
- 对数据进行缓存;
- 实现以太网协议(IEEE802.X)。
- 以太网提供的服务
- 不可靠:以太网提供的服务是不可靠的交付,即尽最大努力的交付;
- 无差错控制:当目的站收到有差错的数据帧时就丢弃此帧,其他什么也不做。差错的纠正由高层来决定;
- 高层修补:如果高层发现丢失了一些数据而进行重传,但以太网并不知道这是一个重传的帧,而是当作一个新的数据帧来发送。
- CSMA/CD(载波监听、多点接入、碰撞检测)
- 多点接入:表示许多计算机以多点接入的方式连接在一根总线上。
- 载波监听:每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞。
- 碰撞检测:就是计算机边发送数据边检测信道上的信号电压大小。
- 当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)。
- 当一个站检测到的信号电压摆动值超过一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞。
- 使用 CSMA/CD 协议的以太网不能进行全双工通信,只能进行双向交替通信。
- 争用期
- 最先发送数据帧的站,在发送数据帧后至多经过时间 2τ(两倍的端到端往返时延)就可知道发送的数据帧是否遭受了碰撞。
- 以太网的端到端往返时延 2τ称为争用期,或碰撞窗口。
- 经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞。
- 二进制指数类型退避算法
- 发现总线上出现了碰撞应立刻停止发送数据,并推迟(退避)。
- 确定基本退避时间,一般是取为争用期 2τ;
- 定义重传次数 k ,k ≤ 10,即k = Min[重传次数, 10];
- 从整数集合[0,1,…, (2^k)-1]中随机地取出一个数,记为 r。重传所需的时延就是 r*基本退避时间;
- 当重传达 16 次仍不能成功时即丢弃该帧,并向高层报告。
- 集线器的一些特点
- 使用电子器件来模拟实际电缆线的工作,因此整个系统仍然像一个传统的以太网那样运行;
- 使用集线器的以太网在逻辑上仍是一个总线网,各工作站使用的还是 CSMA/CD 协议,并共享逻辑上的总线;
- 集线器很像一个多接口的转发器,工作在物理层。
- 以太网的信道利用率
- 以太网的信道被占用的情况:
- 争用期长度为 2τ,即端到端传播时延的两倍。检测到碰撞后不发送干扰信号;
- 帧长为 L (bit),数据发送速率为 C (b/s),因而帧的发送时间为 L/C = T0 (s);
- 要提高以太网的信道利用率,就必须减小τ 与 T0 之比。
- 在以太网中定义了参数 a,它是以太网单程端到端时延τ与帧的发送时间 T0 之比;
- a→0 表示一发生碰撞就立即可以检测出来,并立即停止发送,因而信道利用率很高;
- a 越大,表明争用期所占的比例增大,每发生一次碰撞就浪费许多信道资源,使得信道利用率明显降低。
- 信道利用率的最大值 Smax
- 在理想化的情况下,以太网上的各站发送数据都不会产生碰撞;
- 发送一帧占用线路的时间是 T0 + τ,而帧本身的发送时间是 T0,所以Smax = 1/(1+a).
- 以太网的信道被占用的情况:
- 以太网的 MAC 层
- MAC 层的硬件地址 :在局域网中,硬件地址又称为物理地址,或 MAC 地址.
- 适配器从网络上每收到一个 MAC 帧就首先用硬件检查 MAC 帧中的 MAC 地址:
- 如果是发往本站的帧则收下,然后再进行其他的处理;
- 发往本站的帧”包括以下三种帧:
- 单播(unicast)帧(一对一)
- 广播(broadcast)帧(一对全体)
- 多播(multicast)帧(一对多)
- 发往本站的帧”包括以下三种帧:
- 否则就将此帧丢弃,不再进行其他的处理.
- 如果是发往本站的帧则收下,然后再进行其他的处理;
- 在物理层扩展局域网
- 主机使用光纤和一对光纤调制解调器连接到集线器;
- 用集线器扩展局域网:
- 优点:使原来属于不同碰撞域的局域网上的计算机能够进行跨碰撞域的通信。扩大了局域网覆盖的地理范围;
- 缺点:碰撞域增大了,但总的吞吐量并未提高。如果不同的碰撞域使用不同的数据率,那么就不能用集线器将它们互连起来。
- 在数据链路层扩展以太网
- 扩展以太网更常用的方法是在数据链路层进行;
- 早期使用网桥,现在使用以太网交换机。
- 以太网交换机的特点:
- 以太网交换机实质上就是一个多接口的网桥,通常都有十几个或更多的接口;
- 每个接口都直接与一个单台主机或另一个以太网交换机相连,并且一般都工作在全双工方式;
- 以太网交换机具有并行性,能同时连通多对接口,使多对主机能同时通信;
- 相互通信的主机都是独占传输媒体,无碰撞地传输数据。
- 以太网交换机的优点:
- 用户独享带宽,增加了总容量;
- 从共享总线以太网转到交换式以太网时,所有接入设备的软件和硬件、适配器等都不需要做任何改动;
- 以太网交换机一般都具有多种速率的接口,方便了各种不同情况的用户;
- 以太网交换机的交换方式:
- 存储转发方式:把整个数据帧先缓存后再进行处理;
- 直通 (cut-through) 方式:
- 接收数据帧的同时就立即按数据帧的目的 MAC 地址决定该帧的转发接口,因而提高了帧的转发速度。
- 缺点是它不检查差错就直接将帧转发出去,因此有可能也将一些无效帧转发给其他的站
- 以太网交换机的自学习功能:
- 一开始交换表是空;
- 若在表中查找不到对应的主机在哪个接口时,将广播给所有接口;
- 每当一个主机发送帧,交换机就会自动维护交换表,即记录或更新其源地址、进入的接口和有效时间。
- 在交换表中每个项目都设有一定的有效时间,过期的项目就自动被删除。
- 若交换表中给出的接口就是该帧进入交换机的接口,则丢弃这个帧,因为不需要转发。
- 交换机的生成树协议:
- 不改变网络的实际拓扑;
- 在逻辑上则切断某些链路,使得从一台主机到所有其他主机的路径是无环路的树状结构。
- 分割冲突域:交换机、路由器、网桥;
- 分割广播域:路由器。
- 高速以太网:速率达到或超过 100 Mbit/s 的以太网
- 100BASE-T 以太网:又称为快速以太网,代号为 IEEE 802.3u;
- 在双绞线上传送 100 Mbit/s 基带信号的星形拓扑以太网,仍使用 IEEE 802.3 的CSMA/CD 协议;
- 可在全双工方式下工作而无冲突发生,在全双工方式下工作时,不使用 CSMA/CD 协议。
- MAC 帧格式仍然是 802.3 标准规定的。
- 吉比特以太网
- 允许在 1 Gbit/s 下以全双工和半双工两种方式工作;
- 在半双工方式下使用 CSMA/CD 协议;
- 全双工方式不使用 CSMA/CD 协议
- 使用 IEEE 802.3 协议规定的帧格式;
- 吉比特以太网工作在半双工方式时,就必须进行碰撞检测:
- 为保持 64 字节最小帧长度,以及 100 米的网段的最大长度,吉比特以太网增加了两个功能:
- 载波延伸:使最短帧长仍为 64 字节(这样可以保持兼容性),同时将争用时间增大为 512 字节。
- 凡发送的 MAC 帧长不足 512 字节时,就用一些特殊字符填充在帧的后面,使MAC 帧的发送长度增大到 512 字节;
- 接收端在收到以太网的 MAC 帧后,要将所填充的特殊字符删除后才向高层交付。
- 分组突发
- 当很多短帧要发送时,第一个短帧要采用载波延伸方法进行填充;
- 随后的一些短帧则可一个接一个地发送,只需留有必要的帧间最小间隔即可;
- 这样就形成可一串分组的突发,直到达到 1500 字节或稍多一些为止。
- 载波延伸:使最短帧长仍为 64 字节(这样可以保持兼容性),同时将争用时间增大为 512 字节。
- 当吉比特以太网工作在全双工方式时(即通信双方可同时进行发送和接收数据),不使用载波延伸和分组突发。
- 允许在 1 Gbit/s 下以全双工和半双工两种方式工作;
- 10 吉比特以太网:只工作在全双工方式,因此没有争用问题,也不使用 CSMA/CD 协议。
- 100BASE-T 以太网:又称为快速以太网,代号为 IEEE 802.3u;
- VLAN 可以跨越多个交换机分隔广播域。