基本问题
基本概念:
1.主机H1向H2发送数据:
层次上来看:
仅从数据链路层观察帧的流动:
注意:可以看到路由器只到网络层(三层协议),没有应用层,和传输层;
2.数据链路层传输的是帧:
数据链路层的三个基本点:
1.封装成帧
2.透明传输
3.差错控制
封装成帧:封装成帧(framing)就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。确定帧的界限。首部和尾部的一个重要作用就是进行帧定界。
透明传输:发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面插入一个转义字符“ESC”。如果转义字符也出现数据当中,那么应在转义字符前插入一个转义字符。在接收端进行处理之后可以还原出原始数据。这个过程透明传输的内容是转义字符,用户察觉不到转义字符的存在。
差错控制:在数据链路层传送的帧中,广泛使用了循环冗余检验 (CRC) 的检错技术:CRC是一种无比特差错,而不是无传输差错的检测机制。将得到的FCS(帧检验序列 )添加在原序列后面,在接收端检验:若得出的余数 R = 0,则判定这个帧没有差错,就接受(accept);若余数 R != 0,则判定这个帧有差错,就丢弃,在高层进行重传指令。
数据链路层的信道类型
点对点信道:
使用一对一的点对点通信方式,不会发生碰撞,因此也比较简单,使用 PPP 协议进行控制。PPP 协议是用户计算机和 ISP 进行通信时所使用的数据链路层协议,支持身份验证,支持多个网络层协议。
PPP协议帧格式:
1.A、C:在点到点信道没有实际意义,固定为:FF、03;
2.协议字段(2字节):用于标识信息部分是什么内容;
3.FCS(2字节):表示CRC得到的帧检验序列;
广播信道:
这种信道使用一对多的广播通信方式,因此过程比较复杂。广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送(随机接入):CSMA/CD(载波监听多点接入/碰撞检测) 协议:
多点接入:表示许多计算机以多点接入的方式连接在一根总线上。
载波监听:是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞。
碰撞检测:在发送中,如果监听到信道已有其它主机正在发送数据,就表示发生了碰撞。虽然每个主机在发送数据之前都已经监听到信道为空闲,但是由于传播时延的存在,还是有可能会发生碰撞。
记端到端的传播时延为 τ,最先发送的站点最多经过 2τ 就可以知道是否发生了碰撞,称 2τ 为 争用期 。只有经过争用期之后还没有检测到碰撞,才能肯定这次发送不会发生碰撞。以太网中经过计算,最短有效帧长为512bit,也就是64个字节,规定凡是长度小于64字节的帧都是无效帧。
当发生碰撞时,站点要停止发送,等待一段时间再发送。这个时间采用 截断二进制指数退避算法 来确定。从离散的整数集合 {0, 1, .., (2k-1)} 中随机取出一个数,记作 r,然后取 r 倍的争用期作为重传等待时间。
注意:该协议只能(只能进行半双工通信)。
以太局域网
概述:
以太网是一种星型拓扑结构局域网。早期使用集线器(hub)进行连接,集线器是一种物理层设备, 作用于比特而不是帧。目前以太网使用交换机替代了集线器,交换机是一种链路层设备,它不会发生碰撞,能根据 MAC 地址进行存储转发。
以太网提供的服务是不可靠的交付,即尽最大努力的交付。当接收站收到有差错的数据帧时就丢弃此帧,其他什么也不做。差错的纠正由高层来决定。如果高层发现丢失了一些数据而进行重传,但以太网并不知道这是一个重传的帧,而是当作一个新的数据帧来发送。
信道利用率:
一个帧从开始发送,经可能发生的碰撞后,将再重传数次,到发送成功且信道转为空闲时为止,是发送一帧所需的平均时间。 信道利用率可以表示为:T0/发送一帧所需的平均时间。
MAC层(数据链路层的子层):
在局域网中,硬件地址又称为物理地址,或 MAC 地址。MAC 地址是链路层地址,长度为 6 字节(48 位),用于唯一标识网络适配器(网卡)。一台主机拥有多少个网络适配器就有多少个 MAC 地址。例如笔记本电脑普遍存在无线网络适配器和有线网络适配器,因此就有两个 MAC 地址。
以太网MAC帧格式:
扩展以太网
网桥(淘汰):
在数据链路层扩展局域网是使用网桥。网桥工作在数据链路层,它根据 MAC 帧的目的地址对收到的帧进行转发。网桥具有过滤帧的功能。当网桥收到一个帧时,并不是向所有的接口转发此帧,而是先检查此帧的目的 MAC 地址,然后再确定将该帧转发到哪一个接口。
交换机:
交换机具有自学习能力,学习的是交换表的内容,交换表中存储着 MAC 地址到接口的映射。正是由于这种自学习能力,因此交换机是一种即插即用设备,不需要网络管理员手动配置交换表内容。
1.端口独享带宽;
2.比集线器安全,可以设置固定MAC地址;
3.接口到计算机全双工;
4.全双工模式不再使用CSMA/CD协议;
5.接口可以工作在不同的速率;
6.广播帧会转发到全部端口;
虚拟局域网(VLAN):
虚拟局域网可以建立与物理位置无关的逻辑组,只有在同一个虚拟局域网中的成员才会收到链路层广播信息。例如:在研发部某台主机广播的消息只能住研发部收到,销售部和人力资源部则收不到消息。
使用 VLAN 干线连接来建立虚拟局域网,每台交换机上的一个特殊接口被设置为干线接口,以互连 VLAN 交换机。IEEE 定义了一种扩展的以太网帧格式 802.1Q,它在标准以太网帧上加进了 4 字节首部 VLAN 标签,用于表示该帧属于哪一个虚拟局域网。