【计网】第五章部分知识点
程序员文章站
2022-03-06 15:59:09
差错检测和纠错技术发送方接受的挑战:为避免比特差错,使用差错检测和纠错比特(error-detection and-correction,EDC)来增强数据D。由于传输中比特翻转,到达目的地的EDC’和D’可能不同。接收方接受的挑战:只接收到D’和EDC’判断D’和初始D是否相同,接收方可能无法知道接收的信息中包含比特差错。奇偶校验单个比特校验:不够健壮。二位奇偶校验(tw......
差错检测和纠错技术
-
发送方接受的挑战:为避免比特差错,使用差错检测和纠错比特(error-detection and-correction,EDC)来增强数据D。由于传输中比特翻转,到达目的地的EDC’和D’可能不同。
-
接收方接受的挑战:只接收到D’和EDC’判断D’和初始D是否相同,接收方可能无法知道接收的信息中包含比特差错。
-
奇偶校验
- 单个比特校验:不够健壮。
- 二位奇偶校验(two dimensional parity):包含比特值改变的列和行的校验值都会出现差错。——检测到出错并纠正。
- 前向纠错(Forward Error Correction,FEC):接收方检测和纠正差错的能力。
-
检验和方法
- 互联网检验和(Internet checksum):数据的两个字节作为16比特的整数对待并求和,这个和的反码形成了携带在报文首部的互联网检验和。
- 对检验和方法的评价:分组开销小,差错保护相对较弱。
-
循环冗余检测
- 循环冗余检测(Cyclic Redundancy Check,CRC),也称为多项式编码(polynomial code),将发送的比特传看做是系数为0和1的一个多项式。
- CRC编码操作:发送方和接收方首先协商一个r+1比特模式,称为生成多项式(generator),表示为G。要求G的最高有效位为1。对于一个给定的数据D,发送方选择r个附加比特R,并附加到D上,用模2运算正好能被G整除。
- CRC差错检测过程:接收方用G除接收到的d+r比特,余数非0则出现差错。
多路访问协议
对于速率为Rbps的广播信道
- 充分利用资源:当仅有一个结点有数据发送时,该结点具有Rbps的吞吐量
- 公平:当有M个结点要发送数据时,每个结点的平均吞吐量为R/Mbps
- 分布式:不会因某主结点故障而使整个系统崩溃
- 简单:实现不昂贵
CSMA
CSMA/CA 具有碰撞避免的载波侦听多路访问
- 如果最开始站点监听到信道空闲,则在分布式帧间间隔(DIFS)后发送该帧
- 否则,选取一个随机回退值并且在监听到信道空闲时递减该值,监听到信道忙时,保持该值不变
- 计数值减为0时,站点发送整个数据帧并等待确认
- 若收到确认,则帧已被正确接收
CSMA/CD 具有碰撞检测的载波侦听多路访问
- 若适配器监听到信道空闲,则传输该帧;若监听到信道忙,则等待到不再监听到后传输
- 传输过程中,若未监听到其他信号能量,则持续传输直至结束
- 传输过程中,若监听到其他信号能量,则停止传输,代之以传输48比特的阻塞信号
- 在中止传输后,适配器进入一个指数后退(exponential backoff)阶段
- 阻塞信号的目的:确保所有其他正在传输的适配器都意识到此次碰撞
- 指数后退算法:在帧经受了一连串的n次碰撞后,适配器随机的从{0,1,2,…-1}等概率的为K选择一个值,其中m=min(0,10),然后适配器等待K*512比特时间后重新开始传输该帧
MAC
MAC地址为链路层地址,它一般被设计为永久的,无论适配器到哪里都不会发生变化。长度为6字节,如AA-AA-AA-AA-AA-AA
当某适配器要向某些适配器发送一个帧时,发送适配器将目的适配器的MAC地址插入到该帧中,并将该帧发送到局域网(LAN)上
- 若MAC地址是广播地址(FF-FF-FF-FF-FF-FF),则这个帧被局域网上其他所有适配器接收并处理
- 接收到该帧的每个适配器将检查该帧的目的地址与自己的MAC地址是否匹配:
- 如果匹配,则取出数据包,向上层传递
- 如果不匹配,则丢弃该帧
链路层为什么需要地址
- 如果适配器被指派IP地址,适配器将不能支持其他网络层协议
- 如果使用网络层地址,必须存储在适配器的RAM中,并且每次移动都需要重新配置
- 如果适配器不使用任何地址,主机将被局域网上发送的每个帧中断
ARP
ARP 地址解析协议。实现网络层地址(IP地址)和链路层地址(MAC地址)之间的转换
同一子网内,发送主机根据目的IP地址,获取目的MAC地址
- ARP只为同一个子网上的主机解析IP地址
- 发送主机需要获得目的主机的IP地址对应的MAC地址
- 每个主机的ARP模块都在它的RAM中有一个ARP表,包含IP地址到MAC地址的映射和生存周期
- 如果发送主机的APR表中有对应的表项,那么直接获取
- 如果没有,则发送主机广播一个ARP查询分组,询问子网上所有其他主机和路由器,目的主机的IP地址对应的MAC地址
- 发送主机的适配器使用MAC广播地址(FF-FF-FF-FF-FF-FF)来发送这个ARP分组
- 每个主机的适配器都把该ARP查询分组传递给ARP模块,如果找到匹配的MAC地址,则给查询主机发送一个ARP响应分组
- ARP响应分组是使用标准帧发送的,目的MAC地址为查询主机,即最初的发送主机
- 查询主机则更新ARP表,获得MAC地址
发送主机向另一个子网发送帧
- 发送主机首先获得它的默认网关(第一跳路由器)的MAC地址(使用ARP协议,过程同上)
- 然后将该MAC地址作为目的MAC地址,发送主机的适配器开始传送该帧
- 帧到了第一跳路由器后,路由器通过查询转发表决定转发接口,并将转发接口的MAC地址作为源MAC地址,最终目的地MAC地址作为目的MAC地址(如果在同一子网内,使用ARP协议得到),实现转发
交换机
- 过滤(filtering):决定一个帧转发还是丢弃
- 转发(forwarding):决定一个帧应该被导向哪个接口,并把该帧移动到接口
- 过滤与转发都借助交换机表完成:
交换机表中的一个表项包含:- 主机的MAC地址
- 能到达该主机的交换机接口
- 表项放置在表中的时间
- 交换机的工作过程:
假设具有目的地址DD-DD-DD-DD-DD-DD的帧从交换机接口x到达,交换机用MAC地址DD-DD-DD-DD-DD-DD索引它的表:- 表中没有针对该MAC地址的表项:向除了接口x外的所有接口转发该帧的拷贝(也即广播该帧)
- 表中有表项将该MAC地址与接口x联系起来:说明该帧从包括适配器DD-DD-DD-DD-DD-DD的局域网来,此时只需丢弃该帧,执行过滤功能
- 表中有表项将该MAC地址与接口y联系起来,且y≠x:转发该帧到与接口y相连的局域网
VLAN
- 在一个基于端口的VLAN中,交换机的端口由网络管理员划分为组,每个组构成一个VLAN,在每个VLAN中的端口形成一个广播域(即来自一个端口的广播流量仅能到达该组中的其他端口),实现了组的隔离
- 如果要实现一个交换机上两个VLAN之间的相连,那么将VLAN交换机的一个端口与一台外部的路由器相连,并且将该端口配置为属于相连的两个VLAN
- 如果是两个交换机之间的VLAN,可以将每台交换机上的一个特殊端口配置为干线端口,以互联这两台VLAN交换机,该干线端口属于所有VLAN,发送到任何VLAN的帧经过干线链路转发到其他交换机
本文地址:https://blog.csdn.net/hcm_0079/article/details/85943718
推荐阅读