主机H1向H2发送数据
路由器在转发分组时使用的协议栈只有下面的三层,数据进入路由器后要先从物理层上到网络层,在转发表中找到下一跳的地址后,再下到物理层转发出去
数据链路层使用的信道主要有以下两种类型:
点对点信道的数据链路层在进行通信时的主要步骤:
1)结点A的数据链路层把网络层交下来的IP数据报添加首部和尾部封装成帧
2)结点A把封装好的帧发送给结点B的数据链路层
3)若结点B的数据链路层收到的帧无差错,则从收到的帧中提取出IP数据报交给上面的网络层;否则丢弃这个帧
1)封装成帧
2)透明传输
发送端的数据链路层在数据中出现控制字符SOH或EOT的前面插入一个转义字符ESC。而在接收端的数据链路层在把数据送往网络层之前删除这个插入的转义字符。这种方法称为字节填充或字符填充
如果转义字符也出现在数据当中,那么应在转义字符前插入一个转义字符。当接收端收到连续的两个转义字符时,就删除其中前面的一个
3)差错检测
比特在传输过程中可能会产生差错:1可能会变成0,而0也可能变成1,这就叫比特差错
在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率,误码率与信噪比有很大的关系
为了保证数据传输的可靠性,数据链路层使用循环冗余检验CRC的检错技术
在发送端,先把数据划分为组,假定每组k个比特,现假定待传送的数据M=101001(k=6)。CRC运算就是在数据M的后面添加供差错检测用的n位冗余码,然后构成一个帧发送出去,一共发送(k+n)位
这n位冗余码可用以下方法得出:用二进制的模2运算进行 2 n 2^n 2n乘M的运算,这相当于在M后面添加n个0。得到的(k+n)位的数除以收发方先商定的长度为(n+1)位的除数P,得出商是Q而余数是R(n位)
上图案例中,M=101001,除数P=1101,得出余数为001,这个余数作为冗余码拼接在数据M的后面发送出去。这种为了进行检错而添加的冗余码常称为帧检验序列FCS。因此加上FCS后发送的帧是101001001
在接收端把接收的数据以帧为单位进行CRC检验:把收到的每一个帧都除以同样的除数P,然后得到的余数R
如果在传输过程中无差错,那么经过CRC检验后得到的余数R肯定是0(如果出现误码,余数仍然是0的概率非常非常小)
互联网用户通常都要连接到某个ISP才能接入到互联网,PPP协议就是用户计算机和ISP进行通信时所用的数据链路层协议
PPP协议有三个组成部分:
首部的第一个字段和尾部的第二个字段都是标志字段F,规定为0x7E(0x标识后面的字符是用十六进制表示的),标志字段表示一个帧的开始或结束。因此标志字段就是PPP帧的定界符
首部中的地址字段A规定为0xFF,控制字段C规定为0x03。这两个字段并不起什么作用
PPP搜捕的第四个字段是2字节的协议字段。当协议字段为0x0021时,PPP帧的信息字段就是IP数据报。若为0xC021,则信息字段是PPP链路控制协议LCP的数据,而0x8021表示这是网络层的控制数据
信息字段的长度是可变的,不超过1500字节
尾部中的第一个字段是使用CRC的帧检验序列FCS
字符填充:
将信息字段中出现的每一个0x7E字节转变成为2字节序列(0x7D,0x5E)
若信息字段中出现一个0x7D的字节,则将其转变成为2字节序列(0x7D,0x5D)
若信息字段中出现ASCII码的控制字符(即数值小于0x20的字符),则在该字符前面要加入一个0x7D字节,同时将该字符的编码加以改变
零比特填充:
PPP协议用在SONET/SDH链路时,是使用同步传输(一连串的比特连续传送)。这时PPP协议采用零比特填充方法来实现透明传输
在发送端,只要发现有5个连续1,则立即填入一个0。接收端对帧中的比特流进行扫描。每当发现5个连续1时,就把这5个连续1后的一个0删除
1)当用户拨号接入ISP时,路由器的调制解调器对拨号做出确认,并建立一条物理连接
2)PC机向路由器发送一系列的LCP分组(封装成多个PPP帧)
3)这些分组及其响应选择一些PPP参数,和进行网络层配置,NCP给新接入的PC机分配一个临时的IP地址,使PC机成为因特网上的一个主机
4)通信完毕时,NCP释放网络层连接,收回原来分配出去的IP地址。接着,LCP释放数据链路层连接。最后释放的是物理层的连接
局域网最主要的特点是:网络为一个单位所拥有,且地理范围和站点数目均有限
局域网具有如下的一些主要优点:
共享信道在技术上有两种方法:
1)静态划分信道
这种划分信道的方法代价较高,不适合于局域网使用
2)动态媒体接入控制
又称为多点接入,其特点是信道并非在用户通信时固定分配给用户,分为:
CSMA/CD协议特性:
使用CSMA/CD协议的以太网不能进行全双工通信而只能进行双向交替通信(半双工通信)
每个站在发送数据之后的一小段时间内,存在着遭遇碰撞的可能性。这种发送的不确定性使整个以太网的平均通信量远小于以太网的最高数据率
争用期:
最先发送数据帧的站,在发送数据帧后至多经过时间2τ(端到端往返时间)就可直到发送的数据帧是否遭受了碰撞
经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞
最短有效帧长:
二进制指数退避算法:
发生碰撞的站在停止发送数据后,要推迟一个随机时间才能再发送数据
确定基本退避时间,一般取值争用期2τ
定义参数k:k=Min[重传次数,10]
从整数集合[0,1,2…,(2k-1)]中随机地取出一个数,记为r,重传所需的时延就是r倍的基本退避时间
当重传16次仍不能成功时即丢弃该帧,并向高层报告
一个帧从开始发送,经可能发生的碰撞后,将再重传数次,直到发送成功且信道转为空闲时为止,是发送一帧所需的平均时间
占用信道时间=发送时间 T 0 T_0 T0+传输时间τ
要提高以太网的信道利用率,就必须减小τ与 T 0 T_0 T0之比, a = τ / T 0 a=τ/T_0 a=τ/T0
在理想化的情况下,以太网上的各站发送数据都不会发生碰撞,即总线一旦空闲就有某一个站立即发送数据
发送一帧占用线路的时间是 T 0 + τ T_0+τ T0+τ,而帧本身的发送时间是 T 0 T_0 T0。可以计算出理想情况下的极限信道利率用 S m a x S_{max} Smax为:
每个网卡有一个全球唯一的MAC地址,也称为硬件地址或物理地址,共由48位二进制组成,前24位标识厂家,后24位厂家指定
适配器(网卡)从网络上每收到一个MAC帧就首先用硬件检查MAC帧中的目的地址
发往本站的帧包括以下三种:
MAC帧的格式:
以太网规定了最短有效帧长为64字节,数据字段的最小长度最短为46字节(最小长度64字节-18字节的首部和尾部)
无效的MAC帧:
对于检查出的无效MAC帧就简单地丢弃,以太网不负责重传丢弃的帧
帧间最小间隔为9.6μs,相当于96bit的发送时间(一个站在检测到总线开始空闲后,还要等待9.6μs才能再次发送数据),这样做是为了使刚刚收到数据帧的站的接收缓存来得及清理,做接收下一帧的准备
以太网上的主机之间的距离不能太远(例如,10BASE-T以太网的两台主机之间的距离不超过200米),否则主机发送的信号经过铜线的传输就会衰减到使CSMA/CD协议无法正常工作
主机使用光纤和一对光纤调制解调器连接到集线器,光纤调制解调器的作用就是进行电信号和光信号的转换。由于光纤带来的时延很小,并且带宽很宽,因此使用这种方法可以很容易地使主机和几公里以外的集线器相连接
一个学院的三个系各有一个10BASE-T以太网,可通过一个主干集线器把各系的以太网连接起来,成为一个更大的以太网
用集线器扩展局域网的优点:
用集线器扩展局域网的缺点:
在数据链路层扩展局域网是使用网桥,网桥工作在数据链路层,它根据MAC帧的目的地址对收到的帧进行转发
网桥具有过滤帧的功能,当网桥收到一个帧时,并不是向所有的接口转发此帧,而是先检查此帧的目的MAC地址,然后再确定将该帧转发到哪一个接口
以太网的交换机实质上就是一个多接口的网桥
自学习算法:
A先向B发送一帧,从接口1进入到交换机。交换机收到帧后,先查找交换表,没有查到应从哪个接口转发这个帧。接着,交换机把这个帧的源地址A和接口1写入交换表中,并向除接口1以外的所有接口广播这个帧。C和D将丢弃这个帧,因为目的地址不对。只B才收下这个目的地址正确的帧
使用网桥扩展以太网的优点:
使用网桥扩展以太网的缺点:
虚拟局域网VLAN是由一些局域网网段构成的与物理位置无关的逻辑组
虚拟局域网只是局域网LAN给用户提供的一种服务,并不是一种新型局域网
10台计算机分配在三个楼层中,构成了三个局域网,即:
L A N 1 LAN_1 LAN1:( A 1 A_1 A1, A 2 A_2 A2, B 1 B_1 B1, C 1 C_1 C1), L A N 2 LAN_2 LAN2:( A 3 A_3 A3, B 2 B_2 B2, C 2 C_2 C2), L A N 3 LAN_3 LAN3:( A 4 A_4 A4, B 3 B_3 B3, C 3 C_3 C3)
但这10个用户划分为三个工作组,也就是说划分为三个虚拟局域网VLAN。即:
V L A N 1 VLAN_1 VLAN1:( A 1 A_1 A1, A 2 A_2 A2, A 3 A_3 A3, A 4 A_4 A4), V L A N 2 VLAN_2 VLAN2:( B 1 B_1 B1, B 2 B_2 B2, B 3 B_3 B3), V L A N 3 VLAN_3 VLAN3:( C 1 C_1 C1, C 2 C_2 C2, C 3 C_3 C3)
一个VLAN=一个广播域=逻辑网段(子网)
100BASE-T以太网:
100BASE-T以太网可在全双工方式下工作而无冲突发生,因此,不使用CSMA/CD协议,MAC帧格式仍然是802.3标准规定的
保持最短帧长不变,但将一个网段的最大电缆长度减小到100m,帧间时间间隔从原来的9.6us改为现在的0.96us
吉比特以太网:
吉比特以太网允许你在1Gb/s下全双工和半双工两种方式工作,使用802.3协议规定的帧格式,在半双工方式下使用CSMA/CD协议,与10BASE-T和100BASE-T技术向后兼容
当吉比特以太网工作在全双工方式时,不使用载波延伸和分组突发
推荐学习资料:
韩老师讲高校《计算机网络原理》:https://www.bilibili.com/video/BV1Tb411x7CE?p=1