数据链路层在网络体系结构中所处的地位
链路:就是从一个节点到相邻节点的一段物理线路,而中间没有任何其他的交换节点。
数据链路:是指把实现通信协议的硬件和软件加到链路上,就构成了数据链路。
数据链路层以帧为单位传输和处理数据
封装成帧
差错检测:发送的过程中可能会出现错误(FCS检错码)
可靠传输:不符合的帧直接丢弃
帧头和帧尾中包含重要的控制信息
帧头和帧尾的作用之一就是帧定界
面向字节的物理链路使用字节填充(或称字符填充)的方法实现透明传输。
面向比特的物理链路层使用比特填充的方法实现透明传输(五个1后面填充一个0)
在待发送的数据后面添加1位奇偶数校验位,使整个数据(包括所添加的校验位在内)中"1"的个数为奇数(奇校验)或偶数(偶校验)。
收发双方约定好一个生成多项式(G)
不可靠传输服务:仅仅丢弃有误码的帧,其他什么也不做;
可靠传输服务:想办法实现发送端发什么,接收端就接收到什么;
可靠连接的实现比较复杂,可开销也比较大,是否使用可靠传输取决于应用需求。
扩展:
TCP向其上层提供面向连接的可靠传输服务
UDP向其上层提供无连接不可靠传输服务
停止等待协议SW、退回N帧协议GBN、选择重传协议SR
这三种可靠传输实现机制的基本理论不仅仅用于数据链路层,可以用到计算机网络体系结构的各层协议中。
停止等待协议SW
确认与否,当收到接收方的信息后发送ACK确认分组,接收到误码后,则会发送NAK丢弃的信息
超时重传,当数据丢弃了,就会有个超时重传的时间,超过了这个时间就会从新发送数据
确认丢失,给相邻数据带上0、1的编号,这样才可以保证到数据丢失
确认迟到,也就是给相邻的ACK带上0、1的编号从而得到解决。
小结:
停止等待协议的信道利用率
通过上图可以看出
当往返时延RTT远大于发送时延Td的时候就会出现信道利用率很低很低。(例如卫星链路),停止等待协议的信道利用率很低,若出现超出重传,则信道利用率会更低。
采用流水线的传输可以提高信道的利用率,这就是以下两种可靠传输的方式。
回退N帧协议GBN
累积确认,即使确认分组丢失,发送方也可能不必重传。当发送5个数据的时候,接收方检测0,1确认无误则发送ACK1,然后接收方检测2,3,4,确认无误,发送ACK4,就算ACK1丢失,ACK4到达了,也可以确认前面4个无误,然后交给上层服务进行处理。可以减少开销,较少网络资源。
选择重传协议SR
这是对回退N帧协议GBN的改进
注意:选择重传协议是为了是发送方仅重传出现差错的分组,接收方不能再采用累积确认,而需要对每个正确接收到的数据进行逐一确认。
与退回帧协议不同,选择协议不支持累积确认。接收方每接收一个数据帧,就会发回相应的确认帧。
1、对各种协议数据报的封装方法(封装成帧)
2、链路控制协议LCP 用于建立、配置以及测试数据链路的连接
3、一套网络控制协议NCPS 其中的每一个协议支持不同网络层协议
帧的格式
透明传输
面向字节的异步链路采用插入转义字符的字节填充法
面向比特的同步链路采用插入比特0的比特填充法(遇见5个1则填充一个0)
差错检测
使用PPP的数据链路层向上不提供可靠传输服务。
工作状态
随着技术的发展,交换技术的成熟和成本的降低,具有更高性能的使用点对点链路和链路层交换机的交换式局域网在有线领域已完全取代了共享式局域网,但由于无线信道的广播天性,无线局域网任然使用的是共享媒体技术。
媒体接入控制-----静态划分信道
复用是信道技术中一个重要概念。复用就是通过一条物理线路同时传输多路用户信号。
当网络中传输媒体的传输容量大于多条单一信道传输的总通信时,可以利用复用技术在一条物理线路中建立多条通信信道来充分利用传输媒体的宽带。
频分复用FDM:
频分复用的所有用户同时占用不同的频带资源并进行通信。
时分复用TDM:
使用时分复用的所有用户在不同的时间占用同样的频率带宽。
波分复用WDM:
就是波的频分复用
码分复用CDM:
码分复用CDM是另一种共享信道的方法。实际上由于该技术要用于多址接入,人们更常用的名词是马粪多址CDMA。
与FDM和TDM不同,CDM的每一个用户可以在同样的时间使用同样的频带进行通信
由于各用户使用经过特殊挑选的不同码型,因此各用户之间不会造成干扰。
媒体接入控制-----动态介入控制
载波监听/多址接入/碰撞检测 CS/MA/CD
首先各点都进行载波监听,信道空闲96比特时间,则发送帧,并进行碰撞检测,如果产生碰撞,则都退避一段随机时间。
1、CSMA/CD协议------争用期(碰撞窗口)
2、CSMA/CD协议-------最小帧长
很显然,以太网的帧长不能太短!
以太网规定最小帧长为64字节,即512比特(发送512比特的时间即为争用期)
以太网的最小帧长确保了主机可以在帧发送完成之前就检测到该帧的发送过程中是否遭遇了碰撞。
3、CSMA/CD协议-------最大帧长
4、CSMA/CD协议--------截断二进制指数退避算法
若连续多次发生碰撞,就表明可能有较多的主机参与竞争信道。但使用上述算法可使重传需要推迟的平均时间随着重传次数而增大(这也称为动态退避),因而减小发生碰撞的概率,有利于整个系统的稳定。
当重传达16次仍不能成功时,表明同时打算发送帧的主机太多,以至于连续发生碰撞,则丢弃该帧,并向高层报告。
5、CSMA/CD协议-------信道利用率
6、CSMA/CD协议-------帧发送流程
7、CSMA/CD协议---------帧接收流程
CSMA/CD协议曾用于各种总线结构以太网和双绞线以太网早期版本中。现在的以太网基于交换机和全双工连接,不会有碰撞,因此没必要使用CSMA/CD协议。
载波监听多址接入/碰撞避免 CSMA/CA
802.11无线局域网使用CSMA/CA协议,在CSMA的基础上增加了一个碰撞避免CA功能,而不实现碰撞检测功能。
由于不可避免所有的碰撞,并且无线信道误码率较高,802.11标准还使用了数据链路层确认机制(停止-等待协议)来保证数据被正确接收。
802.11的MAC层标准定义了两种不同的媒体接入控制方式:
分布式协调功能DCF、点协调功能PCF
802.11标准规定,所有的站点必须在持续检测到信道空闲一段指定时间后才能发送帧。
载波监听多址接入/碰撞避免 CSMA/CA的工作原理:
1、当站点检测到信道是空闲的,并且所发送的数据帧不是成功发送完上一个数据帧之后理解连续发送的数据帧则不使用退避算法。
2、一下情况下使用退避算法:
在发送数据帧之前检测到信道处于忙状态时
在每一次重传一个数据帧时
在每一次成功发送后要连续发送下一个帧时(这是为了避免一个站点长时间占用信道)
载波监听多址接入/碰撞避免 CSMA/CA的退避算法:
CSMA/CA协议的信道预约和虚拟载波监听
除源站和目的站外的其他各站,在收到CTS帧(或数据帧)后就会推迟接入到无线局域网中。这样就会保证了源站和目的站之间的通信不会受到其他站点的干扰。
由于RTS帧和CTS帧很短,发送碰撞的概率、碰撞产生的开销及本身的开销都很小。因此用很小的代价对信道进行预约往往都是值得的。
除了RTS帧和CTS帧会携带通信所需要的持续时间,数据帧也能携带通信需要的时间,这称为802.11的虚拟载波监听机制。
由于利用虚拟载波监听机制,站点只要监听到RTS帧、CTS帧或者数据帧中的任何一个,就能知道信道被占用的连续时间,而不需要真正监听到信道上的信号,因此虚拟载波监听机制能减少隐蔽站带来的碰撞问题。
CSMA是指载波监听多址接入,并不使用确认机制;
CSMA/CD是载波监听多址接入/碰撞检测,是对CSMA的改进,是早期共享信道以太网使用的信道访问控制协议,并不使用确认机制;
CSMA/CA是指载波监听多址接入/碰撞避免,是802.11局域网采用的无线信道访问控制协议。802.11局域网在使用CSMA/CA的同时,还使用停止等待协议,这是因为无线信道的通信质量远不如有线信道,因此无线站点每发送完一个数据帧后,还要等到收到对方确认帧后才能继续发送下一帧;
CDMA是指马分多址,属于静态划分信道,是物理层的通信复用技术,而不是MAC协议
CDMA是指码分多址;
TDMA是指时分多址;
FDMA是指频分多址;
CSMA是指载波监听多址接入;
TDMA,FDMA,CDMA是常见的物理层信道复用技术,属于静态划分信道,用于多用户共享信道,不会发生冲突。
CSMA属于争用型媒体接入控制协议,连接在同一媒体上的多个站点使用该协议以竞争方式发送数据帧,可能出现冲突(也称为碰撞)
MAC地址是以太网的MAC子层所使用的地址;数据链路层
使用点对点信道的链路层不需要使用MAC地址
IEEE802局域网的MAC地址发送顺序
总数量 2^48个
字节发送顺序为第一字节到第六字节
字节内的比特发送顺序:b0 -> b7
IP地址是TCP/IP体系结构网际层所使用的地址;网际层、网络层
网络编号:标识因特网上数以百万计的网络
主机编号:标识同一网络上不同主机(或路由器各接口)
如果知识一个单独的网络,不接入因特网,可以只是用MAC地址(这不是一般用户的应用方式)
如果主机所在的网络要接入因特网,则IP地址和MAC地址都是需要使用的。
从网络体系结构上看IP地址与MAC地址
数据包转发过程中源IP地址和目的的IP地址保持不变;
数据包发送过程中源MAC地址和目的MAC地址逐个链路(或逐个网络)改变
ARP协议属于TCP/IP体系结构的网际层,其作用是用已知设备分配到IP地址,使用ARP协议可以通过该IP地址获取到设备的MAC地址;网际层
IP地址===地址解析协议===>MAC地址
发送报文先获取目的地址的IP地址和MAC地址对应
集线器
交换机
对比集线器和交换机
如何提高以太网的可靠性?
添加冗余链路可以提高以太网的可靠性
但是,冗余链路也会带来负面效应--------形成网络环路
网络环路会带来以下问题:
广播风暴
大量消耗网络资源,使得网络无法正常转发其他数据帧;
主机收到重复的广播帧
大量消耗主机资源
交换机的帧交换表震荡(漂移)
虚拟局域网VLAN是一种将局域网内的设备计划分成物理位置无关的逻辑组的技术,这些逻辑组具有某些共同的需求。
IEEE802.1Q帧
交换机的端口类型
Access
Trunk
Trunk端口发送处理方法:
对VID等于PVID的帧,"去标签"再转发;
对VID不等于PVID的帧,直接转发
Hybrid
在思科交换机上称为Native VLAN,即本征VLAN。
在华为交换机上称为Port VLAN ID,即端口VLAN ID简记为PVID