计算机网络(第三章)
第三章
3.1 数据链路层概述
链路-从一个结点到相邻结点的一段物理线路,中间没有任何其他交换结点
数据链路-把实现通信协议的硬件和软件加到链路上
数据链路层以帧为单位传输和处理数据
三个重要问题:封装成帧、差错检测、可靠传输-实现发送方发什么,接收方就能收到什么称为可靠传输
3.2 封装成帧
封装成帧是指数据链路层给上层交付的协议数据单位添加帧头和帧尾使之成为帧。帧头和帧尾包含有重要的控制信息,作用之一是帧定界。
透明传输-数据链路层对上层交付的传输数据没有任何限制
为了提高传输效率应使帧的数据部分长度尽可能大些,每种数据链路层协议都规定了帧的数据部分的长度上限
3.3差错检测
比特传输出现差错:1变为0,0变为1是比特差错
误码率BER-在一段时间内,传输错误的比特占传输比特总数的比率
奇偶校验-在待发数据后面添加一位奇偶校验位,是整个数据(包括所添加的校验位在内)中‘1’的个数位奇数(奇校验)或偶数(偶校验),如果有奇数个位发生误码,会导致奇偶性发生变化,表示出现误码,偶数个位不能检查出误码
循环冗余校验CRC-收发双方约定好一个生成多项式G(x);发送方基于带发送数据和生成多项式计算出差错检测码(冗余码),将其添加到待传输数据的后面一起传输;接收方通过生成多项式来计算1收到的数据是否产生了误码。
计算方法:1.构造被除数-待发送信息后面添加生成多项式最高次数个0;2.构造除数-生成多项式系数构成的比特串;3.做除法(进行二进制异或运算);4.检查余数-余数位数与生成多项式最高次数相同,若位数不够则在前面补0
3.4可靠传输的基本概念
FCS字段-检错码
不可靠传输服务-检测到误码时仅仅丢弃有误码的帧
可靠传输服务-想办法实现发送端发送什么,接收端就收到什么
从整个计网体系来看,传输差错还包括分组差错、分组失序和分组重复
可靠传输服务不局限于数据链路层:网际层-IP向上层提供无连接、不可靠传输服务,运输层-TCP提供面向连接的可靠服务,UDP提供无连接不可靠传输服务
3.5可靠传输的实现机制
停止-等待协议SW:
1.为了避免发送方一直等待接收方ACK或NAK,启动超时计时器,到了重传时间则重传数据分组,称为超时重传。
2.为了避免分组重复,必须给每个分组带上序号,只需用一个比特编号表示和上次不同即可
3.信道利用率U =Td(发送时延)/(Td+RTT(往返时间)+Ta),RTT远大于发送时延时信道利用率非常低
回退N帧协议GBN
1.概念:采用三个比特给分组编号,发送窗口尺寸Wt取值为1到2的三次方-1,接收窗口尺寸Wr为1.发送数据时发送窗口Wt个数据,到接收方按照每次Wr个接收,发送数据也将从Wt中依次减少并且删除缓存,下一批数据依次进入发送窗口,有点类似滑动窗口.
接收方不一定要对数据分组逐个发送确认,而是可以在收到几个数据分组后对按序到达的最有一个分组发送确认,ACKn表示序号为n及以前的所有数据已正确接收,即使确认分组丢失发送方也可能不必重传。
出现差错时,接收方抛弃所有数据,发送重复的ACKn,发送方收到后重新发送数据,实现回退n帧的效果。
发送窗口尺寸超过上限将导致接收方无法分辨新旧数据分组,导致分组重复
选择重传协议SR
接收窗口WR大于1,以便接收方先收下失序到达但无误码并且序号落在接收窗口的那些数据分组,等所缺分组收齐后再送交上层。为了是发送方仅重传出现差错的分组,接收方必须对每个正确接收到的数据分组逐一确认,只有再按序接收数据分组后接收窗口才能滑动。发送方类似未按序到达的确认分组要记录,防止超时重发。
3.5点对点协议PPP
点对点协议时目前使用最广泛的点对点数据链路层协议
帧格式
透明传输—面向字节的异步链路**采用在数据部分插入转义字符的字节填充发,如发送数据中出现7D转为7E+5D,接收后再专回来;面对比特的同步链路**采用插入比特0的比特填充法,如发送方发现5个连续的比特1,则立刻填充1个比特0,发送方同理删除
3.6 媒体接入控制
基本概念-共享信道要着重考虑的一个问题就是如何协调多个发送和接收站点对一个共享传输媒体的占用,即媒体接入控制MAC
信道复用-复用就是通过一条物理线路同时传输多路用户的信号,当网络中传输媒体的传输容量大于读条单一信道传输的总通信量时,可利用复用技术在一条物理线路上建立多条通信信道来充分利用传输媒体的带宽。
频分复用FDM、时分复用TDM、波分复用WDM、码分复用CDM
码分复用中每一比特时间再划分为m个短的间隔称为码片,使用CDMA的每一个站被指派唯一一个的m bit码片序列,一个站如果要发送比特1就发送他自己的m bit码片序列,发送比特0则发送码片序列的反码。分配给每个站的码片序列必须各不相同,并且必须相互正交。
判断是否正交:
CD协议——工作原理:动态接入控制—随机接入:多址接入MA-多个站连接在一条总线上竞争使用总线;载波监听CS-每个站在发送帧前检测总线上是否有其他站点在发生,空闲则发送,否则继续检测等待总线转为空闲96比特时间然后发送;碰撞检测CD每一个正在发送帧的站便发送边检测碰撞,发现出现碰撞理科停止发送,一段随机时间后再次发送。
CD协议——以太网的争用期:以太网端到端往返传播时延2ε称为争用期或碰撞窗口,过了争用期还没检测到碰撞则肯定不会发生碰撞;以太网发送帧的主机越多往返传播时延越大,碰撞概率越大,因此共享式以太网不能连接太多的主机,使用总线也不能太长。
CD协议——最小帧长-争用期×数据传播速率,对于10Mbps的传统以太网规定最小帧长为64字节即512比特(512比特时间即为争用期),确保主机可在帧发送完之前就检测到该帧的发送过程中是否遭遇了碰撞;在争用期内检测到碰撞时发送的数据一定小于64字节,因此小于64字节的帧都是无效帧
CD协议——最大帧长依据协议不同
阶段二进制指数规避算法
若多次发生碰撞表明较多主机参与竞争信道,利用规避算法可使重传需要推迟的平均时间随重传次数而增大(动态规避),因而减小发生碰撞的概率;当重传达16次仍不成功,说明打算发送帧主机太多,则抛弃该帧向高层报告
CD协议——信道利用率
在无线局域网中,不能使用碰撞检测CD,因为对硬件要求非常高,并且由于无线电波传播的特殊性(存在隐蔽站问题),进行碰撞检测的意义也不大。因此802.11无线局域网使用CSMA/CA协议
由于不可能 避免所有碰撞,并且无线信道误码率较高,802.11标准还使用了数据链路层确认机制(停止-等待协议)
802.11的MAC层标准定义了两种媒体接入控制方式:分布式协调功能DCF,点协调功能PCF
帧间间隔IFS-802.11规定所有站点必须在持续检测到信道空闲一段指定时间后才能发送帧;帧间间隔的长短取决于该站点要发送的帧的类型-高优先级帧需要等待的时间较短,低优先级帧等待时间长。常见帧间间隔如下-短帧间间隔SIFS(28us),DCF帧间间隔DIFS(128us)
CSMA/CA工作原理(1)先检测信道(进行载波侦听)。(2)目的站若正确收到此帧,则经过时间间隔SIFS后,向源站发送确认帧ACK。(3)所有其他站都设置网络分配向量NAV,表明在这段时间内信道忙,不能发送数
据。(4)当确认帧ACK结束时,NAV(信道忙)也就结束了。在经历了帧间间隔之后,
接着会出现一段空闲时间,叫做争用窗口,表示在这段时间内有可能出现各站点争用信道
的情况。(5)争用信道比较复杂,因为有关站点要执行退避算法。
CSMA/CA退避算法-在有站点正在发送帧时,其他要发送的站点随机缠产生一段退避时间,退避时间内检测信道是否空闲,存在其他站点再次占用时则冻结剩余退避时间,直至退避时间结束并且信道空闲时发送。
CSMA/CA信道预约-802.11标准允许要发送数据站点对信道进行预约,即在发送数据帧之前先发送请求发送RTS帧,在收到响应允许发送CTS帧后,就可发送数据帧。
CSMA/CA虚拟载波监听-除RTS帧和CTS帧会携带通信需要持续的时间,数据帧也能携带通信需要持续的时间;利用虚拟载波监听机制,站点只要监听到RTS帧、CTS帧或数据帧中的任何一个,就能知到信道被占用的持续时间,因此能减少隐蔽站带来的碰撞问题。
3.7 MAC地址、IP地址和ARP地址
MAC地址式以太网的MAC子层所使用的地址,IP地址是TCP/IP体系结构网际层所使用的地址;ARP协议属于TCP/IP体系结构的网际层,作用是·一直设备分配的IP,使用ARP协议可以通过IP获取到设备MAC地址
每个主机发送的帧中必须携带标识发送主机和接受主机的地址即MAC地址(硬件地址),严格来说MAC地址是对网络上个接口的唯一标识,而不是对网络上各设备的唯一标识。
MAC地址格式表示-六组十六进制
单播MAC地址-有发送方和接收方地址,广播MAC地址-只有发送方地址都能收到,多播MAC地址-首位十六进制不能整除2则为多播地址,拥有该多播组的接收方能收到,否则丢弃
IP地址-因特网上主机和路由器所使用的地址,用于标识网络编号和主机编号。在数据包转发过程中源IP地址和目的IP地址保持不变,源MAC地址和目的MAC地址随链路改变。
ARP协议-在发送数据前通过发送ARP报文广播获取接收方MAC地址和IP地址,只能在一段链路上或一个网络上使用,不能跨网络使用。
3.8集线器与交换机
使用集线器的以太网在逻辑上任是一个总线网,使用的还是CSMA/CD协议,集线器只在物理层工作,一般有少量的容错能力和网络管理能力
使用集线器HUB可以在物理层扩展以太网
以太网交换机有多个接口,一般以全双工方式工作,能同时联通多对几口是多对主机能同时通信,无碰撞(不适用CSMA/cd协议)。以太网交换机工作在数据链路层,受到帧后再帧交换表中查询帧的目的MAC地址对应接口好,然后转发该帧。帧的两种转发方式:存储转发,直通转发 。
区别:集线器单播帧会发给所有主机,交换机只会发给目的主机;两个主机同时发送数据时集线器会产生碰撞再将碰撞提示发送给其他主机,交换机会缓存数据再发送。扩展后结果也差不多,因此交换机可以隔离碰撞域,集线器会扩大碰撞域。
3.9以太网交换机自学习和转发帧流程
因为MAC地址与交换机接口对应关系不是永久的,所以交换机表会定期删除已学习的记录
学习过程
3.10以太网交换机的生成树协议STP
添加冗余链路可以提高以太网可靠性,但是也会形成网络环路引起广播风暴、主机收到重复广播帧、交换机的帧交换表震荡
因此使用生成树协议STP来避免网络环路的问题,交换机能自动计算并构建一个逻辑上没有闭环的网络,并且确保连接整个网络,当物理拓扑发生变化时,交换机都将进行生成树的重新计算。
3.11虚拟局域网VLAN
使用一个或多个以太网交换机互连起来的交换式以太网,其所有站点都属于一个广播域,广播域过大会引起广播风暴(发送ARP广播请求时会像所有主机发送导致浪费网络资源和个主机CPU资源),难以管理和维护,潜在的安全问题。
分割广播域的方法-使用路由器分割
虚拟局域网VLAN是一种将局域网内设备划分成与物理位置无关的逻辑组技术,这些逻辑组有某些共同的需求。
IEEE 802.1Q帧对以太网MAC帧格式进行了扩展,插入了4字节的VLAN标记。VLAN标记最后12比特称为VLAN标识符VID(标记了以太网帧属于哪一个VLAN),有效值为1~4094,802.1Q帧是由交换机来处理的,而不是用户主机来处理,收到普通以太网帧时会插入4字节VLAN标记转变为802.1Q帧,简称打标签。转发是删除VLAN标记
交换机端口类型-Access、Trunk、Hybrid
互联的Trunk端口PVID值不等,可能造成转发错误