目录
2. 使用广播信道的数据链路层 CSMA/CD协议(学习笔记丢失)
数据链路
数据链路层接受到数据后查看帧头和帧尾,进行差错检验,交给网络层,然后再回到链路层,重新分装,更改MAC地址,加上帧头和帧尾, 加上校验和,交给物理层传输。数据链路层不关心物理层的事,不关心是模拟信号还是数字信号,只关心从哪里开始收,到哪里结束,以及是否出现了错误。
数据链路层信道
点对点信道:使用一对一的点对点通信方式
广播信道:使用一对多的广播通信方式,因此过程比较复杂,广播信道上连接的主机很多,必须使用专用的共享信道协议来协调这些主机的数据发送。
链路与数据链路
链路:一条点到点的物理线路段,中间没有任何其他的交换结点。
数据链路:除了物理线路外,还必须有通信协议来控制数据的传输。若把实现这些协议的硬件和软件都加到链路上,就构成了数据链路,
- 现最常见的方法是使用适配器(即网卡)来实现这些协议的硬件和软件
- 一般的适配器都包括了链路层和物理层这两层的功能。
帧
帧头 帧尾 物理层地址 校验值
数据链路层解决的问题
封装层帧
确定帧的界限 帧界定(首部和尾部)
用控制字符进行帧界定的方法举例
问题:如果帧还未发送完,发送端出现了问题,只能重发此帧。接收端收到了前面的"半截子帧",它会抛弃码?为什么?
- 若传输的数据是ASCII码中的"可打印字符(共95个)"集时,一切正常。
- 若传输的数据不是仅由"可打印字符"组成时,就会出现以上的问题。
透明传输
解决方式
- 发送端的数据链路层在数据中出现控制字符"SOH"或"EOT"的前面插入一个转义字符"ESC"(其十六进制编码是1B)
- 字节填充和字符填充--接受端的数据链路层在将数据送往网络层之前删除插入的转义字符
- 如果转义字符也出现在数据中,那么应在转义字符前插入一个转义字符。当接受端收到连续的两个转义字符时,就删除其中前面的一个。
在发送的时候插入额外的一些字符,在收的时候删除这些字符。
差错检测
传输过程中可能会产生比特差错:1可能会变成0,0可能会变成1。在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率BER
误码率与信噪比有很大的关系
为了保证数据传输的可靠性,在计算机网络传输数据时,必须采取各种差错检测措施。数据链路层只负责接受正确的数据帧,错误的直接丢弃,不进行可靠的传输控制,可靠传输控制由传输层进行控制,通常使用CRC循环冗余检验。
原本需要传递的数据时101001,然后还需要加上余数001(FCS,帧检验序列),最终传输的数据会是101001001.
接受方如何检查有没有错误呢?
还是作除法,除数还是1101,如果余数为0,则说明没错,否则表明出错,需要扔掉,不进行接受。但这种检测方法并不能确定是哪一个或哪几个比特出现了差错,只要经过严格的挑选,并使用位数足够多的除数P,那么出现检测不到的差错的概率就很小很小。
注意:循环冗余校验CRC和帧检验序列FCS并不等同
- CRC是一种常用的检错方法,而FCS是添加在数据后面的冗余码。
- FCS可以用CRC这种方法得出,但CRC并非用来获得FCS的唯一方法。
两种情况下的数据链路层
1. 点到点通信数据链路层协议
现在全世界使用得最多的数据链路层协议是点对点协议(PPP协议),用户使用拨号电话线接入因特网时,一般都是使用PPP协议。
PPP协议
由三个部分组成
- 数据链路层协议可用于异步串行或同步串行介质
- 使用LCP(链路控制协议)建立并维护数据链路连接,具有身份验证和计费的功能,如果ADSL拨号至ISP失败,意味着链路层无法使用,只有链路层协议通了,网络层才能通。
- 网络控制协议(NCP)允许在点到点连接上使用多种网络层协议,如图:
PPP协议帧格式
A字段是固定的,因为是点到点的协议,不需要使用地址。
字节填充-实现透明传输
如果PPP协议里封装的不是字节流,而是二进制流。
零比特填充法-实现透明传输
不使用序号和确认机制
- 在数据链路层出现差错的概率不大时,使用比较简单的PPP协议较为合理
- 在因特网环境下,PPP的信息字段放入的数据是IP数据报。数据链路层的可靠传输并不能够保证网络层的传输也是可靠的。
- 帧检验序列FCS字段可保证无差错接受
PPP协议的工作状态
- 当用户拨号接入ISP时,路由器的调制解调器对拨号做出确认,并建立一条物理连接
- PC向路由器发送一系列的LCP分组(封装成多个PPP帧)
- 这些分组及其响应选择一些PPP参数和进行网络层配置,NCP给新接入的PC机分配一个临时的IP地址,使PC成为因特网上的一个主机
- 通信完毕后,NCP释放网络层连接,收回原来分配出去的IP地址。
- 接着,LCP释放数据链路层连接。
- 最后释放的是物理层的连接。
2. 使用广播信道的数据链路层 CSMA/CD协议(学习笔记丢失)
MAC层的硬地址(MAC地址)
- 在局域网中,硬件地址又称为物理地址,或MAC地址
- IEEE的注册管理机构RA负责向厂家分配地址字段的前三个字节(即高位24位)
- 地址字段中的后三个字节(即低位24位)由厂家自行指派,称为扩展标志符号,必须保证生产出的适配器没有重复地址。
- 一个地址块可以生成
个不同的地址。这种48位地址称为MAC-48,它的通用名称时EUI-48
- “MAC"地址实际上就是适配器地址或者适配器标识符EUI-48
适配器检查MAC地址
适配器从网络上每收到一个MAC帧就首先用硬件检查MAC帧中的MAC地址
- 如果是发往本站的帧则收下,然后再进行其他的处理
- 否则就将此帧丢弃,不再进行其他的处理
"发往本站的帧"包括以下三种帧:
- 单播帧(一对一)
- 广播帧(一对全体)
- 多播帧(一对多)
无效的MAC帧
- 帧的长度不是整数个字节
- 用收到的帧检验序列FCS查出有差错
- 数据字段的长度不在46~1500字节之间
- 有效的MAC帧长度位64~1518字节之间
- 对于检查出的无效MAC帧就简单地丢弃。以太网不负责重传丢弃的帧。
帧间最小间隔
- 帧间最小间隔位9.6
,相当于96bit的发送时间
- 一个站在检测到总线开始空闲后,还要等待9.6
才能再次发送数据,这样做是为了使刚刚收到数据帧的站的接收缓存来得及清理,做好接受下一帧的准备。
如何扩展以太网
使用网桥和交换机优化以太网
在数据链路层扩展局域网使用网桥
网桥工作在数据链路层,它根据MAC帧的目的地址对收到的帧进行转发,
网桥具有过滤帧的功能。当网桥收到一个帧时,并不是向所有的接口转发此帧,而是先检查此帧的目的MAC地址,然后再确定将该帧转发到哪一个接口。
然后网桥的接口越来越多,所有的计算机都直接连在交换机上就可以,不用再连接在集线器上,也就成了现在的交换机。交换机也能自己学习MAC表,交换机连的网是存储转发的。用交换机连的网可以是全双工通信。
以太网(集线器) 》 网桥设备 》 交换机 端口带宽独享 安全 基于MAC地址转发 通过学习构建MAC地址表