计算机网络(10)-局域网
MAC地址
IP地址:
- 接口的网络层地址
- 用于标识网络层分组,支持分组转发
MAC地址(物理地址,LAN地址,以太网地址):
- 链路层标识一个帧从哪个接口发出,到达哪个物理相连的其他地址
- 48位MAC地址,固化在网卡ROM中,有时也可软件设置
- 局域网中每块网卡都有唯一的MAC地址
- 由IEEE统一管理与分配
ARP(地址解析协议)
ARP表:LAN中每个IP结点(主机、路由器)维护一个表:
- 存储某些LAN结点的IP/MAC映射关系
- TTL(time to live),经过该时间后该映射关系会被遗弃,因为IP地址不是确定的
在一个局域网内,当需要没有存储的映射关系时,广播ARP查询分组,广播时MAC地址设为全1,对应结点接收查询分组时,向查询者响应其MAC地址(单播)
需要跨越路由器时,已知需要转化的IP地址、第一跳路由器IP地址(默认网关)、第一跳路由器MAC地址(一个局域网内ARP协议),在起点封装链路层数据帧时,MAC地址为第一跳路由器MAC地址,路由器接收数据帧后,提取网络层数据报,交给网络层处理,然后封装到新的链路层数据帧,发送到下一跳路由器,以此类推。
以太网(Ethernet)
统治地位的有线LAN技术,造价低廉,应用广泛,比令牌局域网和ATM等简单、便宜,可以满足网络速率需求
总线(bus)网络:上世纪90年代中期前流行,使用一条同轴电缆形式的总线连接所有结点,彼此可能冲突
星型:目前主流网络拓扑,利用交换机(switch),有一个中心交换机,结点间彼此不冲突
以太网提供不可靠、无连接的服务
- 发送帧的网卡和接收帧的网卡没有握手过程
- 接收网卡不向发送网卡进行确认,差错帧直接丢弃,数据恢复依靠高层协议(如TCP)
- 以太网采用二进制指数退避算法的CSMA/CD协议
以太网CSMA/CD协议
- 网卡从网络层接收数据报,创建数据帧
- 监听信道,如果信道空闲,则开始发送帧;
- 如果信道忙,则一直等待到信道空闲,然后发送帧
- 网卡发送完整个帧,没有检测到其他结点的数据发送,则网卡确认帧发送成功
- 如果检测到其他结点传输数据,则终止发送,并发送阻塞信号
- 终止发送后,网卡进入二进制指数退避:第m次冲突,取n=max(m,10),从(0,1,…,$ 2^n-1 $)中随机取一个数k,网卡等待k*512比特的传输延迟时间,再重新开始监听信道,连续冲突次数越多,平均等待时间越长
以太网帧结构
网卡将IP数据报封装到以太网帧中
前导码:8byte,前7个字节为10101010,第8字节为10101011,用于发送端和接收端时钟同步
目的MAC地址、源MAC地址:各6byte,全1为广播地址
类型:2byte,指示封装的是哪种高层协议的分组
数据:46-1500byte
CRC:4byte
以太网标准
许多不同的以太网标准:
- 相同MAC协议和帧格式
- 不同速率
- 不同物理介质
以太网交换机
链路层设备
- 存储、转发以太网帧
- 检验到达帧目的的MAC地址,选择性向一个或多个输出链路转发帧
- 利用CSMA/CD协议
常用透明(transparent)交换机
- 主机感知不到交换机的存在
- 即插即用
- 自学习
主机利用独享链路直接连接交换机
交换机实现帧缓存与转发
在每段链路上使用CSMA/CD协议,但无冲突,且可以全双工
不同链路可以并行传输
交换机维护转发表(交换表),每个入口记录主机MAC地址、到达主机的接口、时间戳
交换机通过自学习获知到达主机的接口信息,收到数据帧时,交换机得知MAC地址和到达接口的对应关系,记录到交换表中,然后查找表进行转发。如果源MAC地址和目的MAC地址位于相同的网段,则丢弃数据帧,不需要转发;如果在交换表中没有找到,则泛洪转发,转发到除接收接口之外的所有接口上。
交换机可以互联(层级连接,一个中心交换机连接其他的交换机)
交换机和路由器对比:
- 都是存储-转发设备
- 路由器为网络层设备,处理网络层数据报
- 交换机为链路层设备,处理链路层帧
- 二者都使用转发表,路由器利用路由算法计算得到,交换机利用自学习、泛洪构建转发表
虚拟局域网(VLAN)
不使用路由器隔离广播域
物理LAN的基础上配置、定义多个VLAN
单一物理交换机的端口分开,就像多个交换机一样
- 流量隔离,分隔的端口只能在范围内广播
- 也可以基于MAC地址划分
- 动态成员,不需要改动物理线路
- VLAN之间转发,需要使用路由器,厂家会将交换机和路由器集成在一起
VLAN如果要跨越多交换机划分:
- 多线缆连接,每个线缆连接一个VLAN
- 中继端口,连接两个物理交换机,传输跨越交换机的VLAN的帧(需要携带VLAN ID,802.1q协议,在标准以太网帧的基础上插入标记协议ID和控制信息的部分)
PPP协议
点对点数据链路控制
- 不存在介质访问控制
- 无需MAC寻址
- 如,拨号链路,ISDN链路
- 常见协议:HDLC、PPP
需求:
- 组帧,可以承载任何网络层协议分组
- 可以向上层实现复用和分用,在数据帧增加字段描述
- 比特透明传输,数据域必须支持任何比特模式
- 差错检测
- 连接活性检测
- 网络层地址协商,端结点可以学习/配置彼此网络地址
不支持功能:
- 差错纠正
- 流量控制
- 不存在乱序交付
- 不需要多点链路
PPP数据帧
首部和尾部分别flag:01111110,定界符
地址:无效
控制:无效
协议:上层协议,实现复用分用
信息:上层协议分组
校验:CRC校验
字节填充
透明传输需求:数据域需要允许包含标志模式01111110
发送端出现上述模式时,在前面进行填充
协议过程
在交换数据之前:
- 配置PPP链路,最大帧长,身份认证,数据帧中可变部分的长度
- 学习/配置网络层信息,对于IP协议,通过IPCP(IP control protocol)协议,完成IP地址等信息的配置
802.11无线局域网(WIFI)
802.11b:2.4-2.5GHz免费频段,最高速率为11Mbps,物理层采用直接序列扩频技术(如CDMA,所有主机使用相同的码片序列)
802.11a:5-6GHz,最高速率54Mbps
802.11g:2.4-2.5GHz,最高速率54Mbps
802.11n:多天线技术,2.4-2.5GHz,最高速率600Mbps
均使用CSMA/CA多路访问控制协议
均有基站网络模式和自组网网络模式
体系结构
- 无线主机与基站通信(访问点,accesspoint,AP)
- 基本服务集(BSS),基站模式包括基站和与基站关联的主机,自组网模式只有主机
主机必须与某个AP关联(associate),主机扫描信道,AP会定期广播信标(beacon)帧,包含名称(SSID)和MAC地址,使用DHCP等协议配置IP
多路访问控制
期望避免冲突
基于CSMA,发送数据前监听信道
不能向以太网CSMA/CD那样,边发送、边检测冲突,无线信道很难实现,信号强度衰减很快
需要避免冲突(Collision Avoidance)
CSMA/CA协议
发送方:
- 监听信道空闲了DIFS时间,发送整个帧(无同时检测冲突,CD)
- 如果监听到信道忙,开始随机规避计时,当计时器超时且信道空闲,发送帧
- 如果没有收到接收方ACK,增加随机规避间隔时间,重新监听
接收方:
- 如果正确接收帧,延迟SIFS时间(较短)后,向发送端发送ACK
基本思想:允许发送端预约信道,而不是随机发送数据帧,从而避免长数据帧的冲突
利用很小的预约帧避免了数据帧的冲突
Original author: 马旭
Original link: https://bhmaxu.github.io/2020/02/11/计算机网络(10)-局域网/
Copyright Notice: Please indicate the source of the reprint (must retain the author's signature and link)