计算机网络-局域网
继续复习,接下来以局域网,广域网,Internet的分类学习相关的技术和协议。
参考书 《计算机网络原理》第二版 王志文 陈研
为什么要学习局域网、广域网?
局域网、广域网其实是基于 OSI 模型的概念,
局域网的功能实现主体对应着数据链路层,广域网的功能实现主体对应着网络层。
也就是说,局域网主体功能的实现封装在数据链路层,广域网主体功能封装在网络层。
当一个包经过广域网在网络层中到达了目的网络的局域网,然后它就可以通过数据链路层在局域网中达到目标主机。
这种封装是向上兼容的。
局域网
是什么?
局域网是较小地理范围内计算机、通信设备相互连接起来形成的一个小型网络。主要目的是实现在此范围内设备间信息、功能共享互联。
特点
- 范围小
- 速度快
- 误码率低
- 为一个单位内部服务,由单位单独建立和管理
决定其功能的属性为以下三个:
- 传输方式
- 拓扑结构
- 传输介质
体系结构?
局域网的体系结构实现的标准最具代表性的是IEEE 802,它将数据链路层划分为逻辑链路控制子层(LLC)和介质访问控制子层(MAC)
逻辑链路控制子层
负责的任务有
- 管理链路通信
- 链接寻址
- 定义服务接入点(SAP)
- 排序
提供了四种服务类型
- 无确认无连接服务
- 面向连接服务
- 无连接有确认服务
- 高速传输服务
介质访问控制子层
负责的任务主要是控制和协调所有站点对共享信道的使用
怎么实现?
广播信道共享技术
局域网范围小,采用广播较多。共享信道的分配就成了首先要解决的问题。
- 静态分配,静态固定分配资源例如时分,频分等,均分信道给所有站点,适用于较小的局域网
- 动态分配,动态分配资源,便于根据使用情况分配信道使用权,主要有无冲突和冲突协议两大类
无冲突协议
通过预约、仲裁等方式保证站点获得信道控制权,节点发送受控,所以无冲突。
负载重时,仲裁所花时间占比少,信道吞吐量高。负载轻时,仲裁占比多,反而会导致信道利用率低。
令牌协议
一个环型网络中存在且只存在一个在所有站点依次流动的令牌(token),站点拥有令牌时才允许占用信道发送数据,其他站点等待截获令牌。
拥有令牌的站点可以向环上发送数据,非收发方收到时必须转发,当目的站点收到数据时,复制一份,并将原数据标志为已收到,然后将标记数据发送到环上,直至发送方收到被标记数据不再转发。并转让令牌给下游。
因为需要等待令牌,相当于串行,令牌协议传输效率并不高。有方式是采用多令牌机制,但是这样仲裁和管理方式比较复杂,会导致更多的延时。
冲突协议
不协调节点对信道的使用权。所以可能会产生冲突,需要冲突反馈机制。
在轻载时由于没有仲裁延时所以性能好,重载时则因为多次冲突而性能下降。
ALOHA协议
控制比较简单,易于实现,但是信道利用率不高
纯ALOHA协议
发生冲突后等待随机时间后重新发送
时间片ALOHA协议
把时间轴等分成时间片,发生冲突后等待随机个时间片后重新发送
CSMA协议
意思为载波监听访问,通过监听信道是否空闲决定是否发送。如果信道有电平变化则被占用,反之则没有。
坚持监听
发送数据帧前,节点若发现信道非空闲,则坚持监听,只要信道空闲则发送数据。这样两个及以上节点监听则会造成冲突,冲突后停止发送并等待一段时间后重新监听。因为信道空闲监听节点发送数据帧概率为1,所以称为1-坚持监听。
非坚持式监听
发送前,节点若发现信道非空闲则等待一段时间之后再进行监听,若仍非空闲再等待一段时间重复该过程。
p-坚持监听
适用于时间片分槽信道,发送前监听若发现空闲则以p概率发送,以1-p概率推延到下一个时间片发送。
1-坚持监听的信道在轻载时利用率较高,非坚持信道则在重载时避免了大量冲突。p-坚持监听则根据 p 的值,在两者之间变化。
以太网(Ethernet)
以太网是IEEE正式标准的局域网组网规范
由收发器、接口、控制器和总线介质组成。总线需要由驱动器驱动,但是总线功率有限,所以长度有限。当超出长度时可以用中继器(中继放大器)扩展。
以太网有不同的标准通过ABC的格式。如10Base5,A代表传输速率单位Mbit/s,B表示Base/Broad基带或者频带传输,C代表支持的总线最大段长单位100m。或者C为-T之类的字母表示介质
传统以太网体系结构
将物理层划分了PLS和PMA层
PLS为MAC层提供服务,负责对信号进行曼彻斯特编码/解码,进行载波监听。
PMA为PLS提供监听的服务,并进行冲突检测,负责发送、接受数据并传递给上一层。
网卡包含PLS,MAC,LLC层
传统以太网介质控制方式
采用1-坚持CSMA/AD,但是进行了一些改进
规定了帧间隙(IFG)9.6us,当帧发送完毕后,必须等待9.6us后才能进行下一次监听
节点一旦检测到冲突则立刻停止发送。但是帧一部分已经发出,这部分有头无尾的帧被称为冲突碎片,其小于最小帧长不必传递给上一层。如果有一个节点发现冲突立刻发送冲突加强信号,以便冲突的各方均立刻停止。
发生冲突后等待的随机事件采用二进制指数退避算法,将冲突后时间划分为51.2us的时间槽,第i次冲突后,在0-2^i - 1之间选择一个时槽数进行重监听重传。16次冲突后,发送失败报告上层。
CSMA/AD 中 AD 的含义是检测冲突。节点一边发送数据一边接受总线的数据,并将其按位比较。如果发生冲突则出现不同。
- 避免冲突未被检测到,在未确认是否冲突前不能发送最后一位的数据。
- 极端情况下AB之间的检测到冲突的延迟相当于冲突双方最长传递时间,这也限制了传递的最短时间(最短也得等最长传递时间后再发送最后一位的数据)。所以要么增大帧长,要么缩短距离。
传统以太网帧的格式
PA:前导字段
SFD:是开始字段
DA:目的地址
SA:源地址
DA SA采用的Ethernet地址,又叫MAC地址、物理地址、网卡地址
MAC地址由网卡唯一确定
TYPE:类型字段,表明上层使用的协议,如IP,IPX
LLC-PDU:上层待传的数据
PAD:帧填充字段
FCS:32位CRC检验
高速以太网体系结构
物理编码层用于将帧转变为物理编码(4B/5B 或 8B/6T),物理介质附属子层和物理介质相关子层用于将编码转换为信号。自动协调子层可选,用于允许两个相互作用的端口自动选择最有效的操作模式,如半双工、全双工。
MAC子层采用了几乎一样的CSMA/CD协议,但是采用了更小的帧间隙0.96us
千兆以太网体系结构
支持全双工和半双工,半双工模式因为速率提升,为了能进行差错控制必然需要增大最小帧长或者减少传输距离。
所以引入了载波扩展(carrier extension)和帧突发(packet bursting)
载波扩展:最小帧长不变(64B),小于512B的帧会被载波扩展符扩展
帧突发:允许多个短帧被连续发送
10吉比特以太网
不再使用CSMA/CD协议,只支持全双工模式。
交换式以太网
传统以太网采用CSMA/CD,使得所有节点在一个冲突域中,对于信道的效率、安全性、可靠性有很大的负面影响。采用交换式可以避免这一点。
交换式以太网的设备从网桥到交换机发展。
网桥(bridge)
局域网数据链路层互联
可以互联不同数据链路层协议、不同传输介质与不同传输速率的网络
接受、存储、地址过滤和转发的方式实现互联网路通信
需要数据链路层以上采用相同的协议
网桥可以分隔两个网络之间的广播通信量,有利于增强安全性和性能
交换式以太网概述
交换机工作在混杂方式收到所有端口发出的帧,通过查询地址/端口对应表(也称站表)来确定是丢弃还是转发,如果找不到对应项,则采用洪泛(flooding)方法转发帧,否则只向目的端口转发。
转发过程中采用逆向学习(backward learning)算法收集 MAC 地址,即交换机通过分析帧的源MAC地址得到MAC地址和端口对应关系,并写入对应表。
对应表定期更新,删除长时间没有更新的项。
- 可以连接不同速率的网段及节点。
- 不再采用广播方式,采用点对点,提高安全性。
- 提供多条信道,支持并发传输。
- 不需要改变其他硬件,只需要使用交换机替代共享式 HUB。
- 隔离了冲突域,减少了冲突发生,提高通信效率。
转发方式主要有两种:直通(cut through)式及存储转发(store-and-forward)式
直通当端口检测到帧时,检查目的地址然后通过目的地址查询内部表,找到目的端口,连通输入输出端口,并将数据包直接送到输出端口并实现交换。
- 这种方式无法进行错误检测
- 没有缓存所以不能接通不同速率端口
- 端口增加时交换矩阵会越来越复杂
存储转发先存储帧,然后CRC检查,检查正确的帧提取地址并查表转发。
- 时延大
- 支持错误检测和接通不同速率端口
结合这两种存在一种无碎片交换方式,具体工作原理是接收完帧的前64字节才转发,这样可以避免冲突碎片,但无法进行错误检测。
全双工以太网
使得以太网可以以全双工的模式工作,理论上可以使得传输速度提高一倍。
- 发送接受信道必须使用分离的网络介质
- 任两个节点必须配备专门的链路
- 节点网卡和交换机都必须支持全双工方式
因为这些限制,全双工以太网主要用于以下场合
- 交换机到交换机的连接,它们之间通常有较远的距离。
- 交换机到服务器的连接,以提高通往服务器链路的带宽。
- 长距离节点间的连接
不再使用CSMA/CD,节点需要则立刻进入队列发送。
- 禁止载波检测
- 禁止冲突检测
- 禁止回送已发送数据到接收器
虚拟局域网(VLAN)
指在交换式局域网的基础上,采用网络管理软件构建的可跨越不同网段、不同网络的端到端逻辑网络。一个VLAN构成一个逻辑子网。
适用场景是很多企业都有一个有一定规模的局域网,各部门都要独立一个局域网,但是各部门人员不一定在同一个办公地点,这样可以通过创建虚拟局域网划分公用局域网。
- 方便的进行增加、改变和删除。
- 减少局域网广播。
- 提高安全性。
划分VLAN方式
基于端口进行划分
基于MAC地址的划分
使用主机的MAC地址来划分成员,适用于小型网络,大规模网络配置麻烦
基于网络层的划分(基于策略policy的划分)
利用网络层地址(TCP/IP子网段地址)或者划分使用协议(多协议)来确定网络成员
基于IP组播的划分
把VLAN扩展到广域网,不适合局域网