计算机网络 MAC子层知识点整理

// The Medium Access Control Layer
// 媒体访问控制 / 介质接入控制

// 1. Channel Allocation Problem 
//    信道分配问题 

// 2. Multiple Access Protocols
//    多路访问协议

// 3. IEEE 802 Reference Model
//    IEEE 802 协议模型

// 4. Ethernet
//    以太网

// 5. Wireless LANs
//    无线网

// 6. Data Link Layer Switching
//    数据链路层的交换

// //******************************************
// //******************************************


// 1. Channel Allocation Problem 
//    信道分配问题 

//    1. PPP 点到点链路
//        1. 一个发送者, 一个接收者
//        2. 不需要地址
//        3. 可靠传输
//       广播链路
//        1. 多个发送者, 多个接收者
//        2. 共向媒体
//        3. 需要地址
//    2. 共享信道的两种方式
//        1. 静态分配信道
//            1. 频分复用
//            2. 波分复用
//            3. 同步时分复用
//        2. 动态分配信道
//            异步时分复用 ( 统计时分复用 )
//            1. 随机分配:
// 	           1. ALOHA
// 	           2. 时隙 ALOHA
// 	           3. CSMA
// 	           4. CSMA/CD
// 	       2. 有控制的分配
// 	           1. PCF 中心控制   Polling
// 	           2. DCF 分布式协调 Token Ring 令牌环
// 	    静态分配信道不能很好地处理 burst traffic 

// 2. Multiple Access Protocols
//    多路访问协议
//    1. ALOHA         
// 	   1. 站点随意发送帧    
// 	   2. 争用期 2T0  
//    2. 时隙 ALOHA    
// 	   1. 固定时间发送      
// 	   2. 争用期  T0   
// 	   3. 需要中央时钟控制
//    3. CSMA 载波监听多点接入
// 	   1. 侦听不忙就发      
// 	   2. 争用期 2 t   
// 	   3. 传播时延 < 发送时延
// 	   4. 需要 ACK, 超时重发
// 	   5. 分类
// 		   1. 非坚持 CSMA
// 			   1. 如果信道忙, 就随机等待一段时间, 然后再监听
// 			   2. 重载时, 吞吐量高
// 		   2. 1-persistant CSMA
// 			   1. 如果信道空闲, 立刻就发
// 			   2. 低载时, 吞吐量高, 时延低
// 			   3. 重载时, 吞吐量低
// 		   3. p-persistant CSMA
// 			   1. 如果信道空闲, 以概率 p 发送

// 	   6. CSMA/CD 带冲突检测的载波监听多点接入
// 		   1. CSMA 之上添加了冲突检测
// 		   2. 半双工 Half-duplex
// 		   3. 用于以太网
// 		   4. 检测到冲突就放弃发送, 指数退避, 等待 2 ^ 之内随机时间再发送, 最大 10, 尝试 16 次之后放弃传输, 报告给上层处理
// 		   5. 检测到冲突会发送 jam 强化信号
// 		   6. 争用期: [  Tjam + 2 t  ,  Tjam + 3 t  ]

// 	4. 无冲突协议
// 		1. 位图法 预约 按序发送
// 		2. 令牌环 Token Ring
// 		3. 二进制倒计时协议, 比较, 当前最大地址传输, 之后置为最低

// 	    低载时, 优先考虑时延, contention Protocols
// 	    高载时, 优先考虑吞吐量, Collision-free protocols are better 

//     5. 有限竞争协议
// 	    1. Use contention protocol at low load 
// 	       Use a collision-free technique at high load
// 	    2. 分组, 每站只在组内竞争信道 
// 	    3. 适应树

// 	6. 无线网 LAN Protocols
// 		1. 有基站
// 		2. 传输距离有限
// 		3. 冲突发生在接收方
// 		4. CSMA/CD 不合适

// 		" 隐蔽站 "
// 			A 发送给 B, C 在 A 的范围之外, 不知道 A 在发给 B
// 			同时发给 B, 造成冲突
// 		" 暴露站 "
// 			B 发给 A, C 听到了, 以为自己不可以发给 D

// 		解决策略:
// 		1. PCF 点协调
// 			Polling 轮询, 集中控制
// 		2. DCF 分布式协调
// 			先建立连接
// 			1. MACA
// 				1. 带冲突避免的多点接入
// 				2. RTS
// 				3. CTS
// 				4. ACK
// 				5. RTS 和 CTS 用于预约信道
// 				6. 同时发送 RTS, 指数退避
// 			2. CSMA/CA 
   
// 3. IEEE 802 Reference Model
   
// 	   LAN 局域网
// 	   1. 站点有限, 范围有限
// 	   2. 高数据率
// 	   3. 低误码率
// 	   4. 支持广播和组播
// 	   5. 一个 Administration
// 	   6. 拓扑结构
// 		   1. Bus 
// 		   2. Star
// 		   3. Ring
// 		   4. Tree
// 	   7. 传输介质 
// 		   1. 双绞线
// 		   2. 同轴电缆
// 		   3. 光纤
// 		   4. RF

//     IEEE 802 协议模型

//     1. 物理层
// 	    1. 编码, 解码
// 	    2. 比特传输

//     2. MAC 子层 ( Media Access Control 媒体访问控制 )
// 	    1. 封装成帧 ( 帧尾 )
// 	    2. 差错检测
// 	    3. MAC 地址
// 	    4. 多点接入控制
// 	    5. 交换, VLAN
// 	    6. 网桥
// 	    7. 交换机
// 	    8. VLAN

//     3. LLC 子层 ( Logic Link Control   逻辑链路控制 )
// 	    1. 忽视 MAC 子层的差异, 统一接口
// 	    2. 流量控制
// 	    3. 差错控制
// 	    5.  Sevices : P71
// 		    1. 不可靠的传输 Ethernet 以太网
// 		    2. ACK  MACA
// 		    3. 可靠的面向连接服务 Token Ring 


// 4. Ethernet
//    以太网

// 	1. 传统以太网  
// 	    Classic Ethernet : Physical Layer 
// 		1. NIC 网卡 NetWork interface Cards 
// 			1. 建立, 管理计算机的网络连接
// 			2. 编码: 数字信号 -> 模拟信号
// 			3. 提供 LLC MAC 物理层服务
// 			4. 有唯一的 MAC 地址
// 		2. 10 Mbps
// 			1. 10Base2
// 			2. 10Base5
// 			3. 10Base-T
// 				1. 没有共享电路
// 				2. 有集线器
// 					1. 站点连接到 HUB Max = 100m
// 		3. 中继器
// 			1. 物理层设备
// 			2. 对信号放大再生
// 			3. 一个 LAN 段最多 4 个中继器
// 			4. 两站最远 2.5 KM ( 限制了高速以太网 )
// 		4. 集线器
// 			1. 多接口中继器
// 			2. 物理上星型拓扑, 逻辑上( 实际上 ) 总线型拓扑
// 			3. 支持 10 Mbps ~ 100 Mbps
// 			4. 提供更可靠的连接
// 			5. 采用曼彻斯特编码
// 			6. 收到一个方向的数据, 就把这个数据以广播的形式传输给其他站

//     2. 经典以太网  
// 	    Classic Ethernet: MAC Sublayer Protocol 
//         1. 应用 IEEE 802.3
//         2. 广播链路
//         3. 需要地址
//         4. 只有一个站 ( MAC 地址符合的 ) 会接收帧
//         5. IFG 帧间间隔 9.6us, 用于发送和接收的切换
//         6. CSMA/CD 协议
//         7. 帧结构 : 
// 	        1. 前导码   ->  时钟同步
// 	        2. MAC 地址, 6 字节, 48 bit 
// 		        1. PC的网卡地址, 物理地址
// 		        2. 前 3 位国际规定, 后 3 位厂商自定义
// 		        3. MAC 地址最后一位置 0 表示单播地址
// 				   MAC 地址最后一位是 1 表示组播地址
// 				   MAC 的 48 位全部置 1 表示广播地址
// 		    3. Type ( Ethernet ) 
// 			       更高层协议
// 		       Length ( IEEE 802.3 )
// 			       Data + Pad
// 			4. 64 ~ 1518 ( 数据 46 ~ 1500 )
// 				1. 1518 
// 					1. 接收端的缓存空间有限
// 				    2. 是数据太长, 一旦失败损失很大
// 				    3. 每个终端不能一次占用的时间太长
// 				2. 64
// 					1. 为了检测冲突, 发送时延不可以小于传播时延, 也就是两个 "Tao "
// 					2. 如果小于 64 ,  那就添加其他字符填充 ( 46 位数据后面加 )
// 		    5. CRC 循环冗余校验
// 	     
//     3. Ethernet Performance  
//         1. 以太网效率计算

//     4. 交换式以太网
// 	    Switched Ethernet  
// 	    1. 含有一块高速 Backplane
// 	    2. 对到来的帧, 会识别 MAC 地址, 直接送到对应的端口
// 	    3. 允许不同用户间进行传送
// 		    more than one station transmitting at a time 
// 		4. 比经典以太网安全

// 		" 交换机 " :
// 			交换机则是工作在数据链路层的设备, 在接收到数据后, 通过查找自身系统
// 			MAC地址表中的MAC地址与端口对应关系, 将数据传送到目的端口。
// 			交换机在同一时刻可进行多个端口之间的数据传输, 每一端口都是独立的物理网段, 
// 			连接在端口上的网络设备独自享有全部的带宽
// 			因此, 交换机起到了分割冲突域的作用, 每一个端口为一个冲突域
// 			——分离流量并创建更小的冲突域来使用户获得更高的带宽
// 		" 集线器 " :
// 			集线器是一种物理层设备, 本身不能识别MAC地址和IP地址, 
// 			当集线器下连接的主机设备间传输数据时, 数据包是以广播的方式进行传输, 
// 			由每一台主机自己眼中MAC地址来确定是否接收。
// 			这种情况下, 同一时刻由集线器连接的网络中只能传输一组数据, 
// 			如果发生冲突则需要重传, 集线器下连接的所有端口共享整个带宽, 
// 			即所有端口为一个冲突域
// 		" 冲突域" :
// 			冲突域就是连接在同一导线上的所有工作站的集合, 
// 			或者说是同一物理网段上所有节点的集合, 
// 			或以太网上竞争同一带宽的节点集合
// 		" 网桥 " : 
// 			传统的网桥(Bridge)可以根据MAC表对单播报文进行转发
// 			对于广播报文向所有的端口都转发
// 			所以网桥的所有端口连接的节点属于一个广播域
// 			但是每个端口属于一个单独冲突域
// 		" 转发表 " :
// 		    一开始是 Flooded 洪泛式, 广播
// 			它检测从以太端口来的数据包的源和目的地的 MAC ( 介质访问层 ) 地址
// 			然后与系统内部的动态查找表进行比较
// 			若数据包的MAC层地址不在查找表中, 则将该地址加入查找表中, 
// 			并将数据包发送给相应的目的端口
// 			还要设置一个定时器, 因为有些设备会更改位置之类的
// 			MAC地址换成其他机器的了, 这时候就需要把长期不用的点删掉
// 		" MAC 地址  VS  IP 地址 " :
// 			1. IP地址就像区域号, MAC地址就像你的身份证号
// 			2. 先要找到某个区域, 然后在这个区域里找到唯一的 MAC 
// 			3. 先找到 IP 子网, 然后在子网中搜索 MAC 

// 		" 老师语录 " :
// 			1. 比如主机A-路由器R-主机B的拓扑结构中, 主机A要发送一个IP包给主机B。
// 			主机A的网络层构成IP包, 源地址为A, 目的地址为B, 
// 			这两个地址在A-B的端到端路径上传输时一直不变。
// 			A的网络层把IP包交给数据链路层, 数据链路层加上帧头帧尾, 构成帧, 
// 			通过物理层发送给路由器左边接口, 这个帧里的源地址时A的MAC地址, 
// 			目的地址是路由器左边接口网卡的MAC地址。

// 			路由器左边接口网卡收到帧后, 判断无误, 则剥去帧头帧尾, 
// 			把IP包交给路由器的网络层。网络层根据IP包的目的地址, 
// 			查表选路, 确定应该转发给右边接口的网卡。
// 			右边接口网卡收到IP包, 加上帧头帧尾, 源MAC地址是右边接口网卡地址, 
// 			目的MAC地址是B的地址, 通过物理层发出, B收到。
// 			同样B的数据链路层处理帧, 网络层处理IP包。

// 			2. 要分清网络层和数据链路层功能的区别
// 			数据链路层实现相邻的两个节点(主机/路由器)之间的数据传输,
// 			网络层的功能则是路由选择

// 			3. 一样啊,路由器和路由器之间传输数据用的是数据链路层协议,
// 			   传输的是帧,用的地址是类似MAC地址的物理地址

// 			4. IP地址只在网络层识别,在路由器里用于查表选择转发接口

// 			5. 是,但是选择了下一跳和转发给下一跳是两件事情,
// 			   选择下一跳是网络层做得, 转发给下一跳是数据链路层做得

// 			6. 路由器和路由器之间的数据链路层协议不一定是LAN,
// 			   如果是其他数据链路层协议,要使用那个协议规定的物理地址,
// 			   不一定是MAC地址

// 			7. 相邻节点之间可靠的数据传输是数据链路层的功能,
// 			   物理层的功能是在传输介质上发送/接收二进制比特串


//     5. 快速以太网
//        Fast Ethernet  
// 	    1. IEEE 802.3u
// 	    2. 保留了 802.3 帧的格式, 64 ~1518 , 接口, 处理流程
// 	    3. 100 Base-T4
// 		    1. 发送时,一个固定的发送窗口,两个动态的发送窗口,
// 		       一个接收窗口,所以就是三个发送窗口
//             2. 接收时,一个固定的接收窗口,两个动态的接收窗口,
//                一个发送窗口,所以就是三个接收窗口
//                3. 8 B / 6 T 编码
//         4. 不用曼彻斯特编码



//     6. 千兆以太网
//        Gigabit Ethernet
//        1. IEEE 802.3z
//        2. 保留了 802.3 帧的格式, 64 ~1518 , 接口, 处理流程
//        3. 以太网的一个组成部分,千兆以太网也支持流量管理技术
// 			因为带宽太大,所以
// 			1. 要有流量控制
// 			2. 帧长要变长
// 			3. 支持点到点链接
// 	   4. Switch : 
// 		   1. 全双工
// 		   2. 不存在冲突, 不用 CSMA/CD , 那用的是什么 ?
// 		   3. 传播时延和发送时延受到制约
// 		   4. 支持自动配置 10 Mbps 100 Mbps
// 	   5. Hub :
// 		   1. 存在冲突, 用 CSMA/CD
// 		   2. 解决办法 :
// 			   1. 载波拓展 ( 类似 46 , 增加帧长, 提高发送时延, 保证可以检测到冲突 )
// 			   2. 帧突发, 一次发送多帧, 组成一个长帧

// 	7. 万兆以太网
// 	  10 G Ethernet
// 		1. 保留了 802.3 帧的格式, 64 ~1518 , 接口, 处理流程
// 		2. 只支持全双工
// 		3. 

//     8. 以太网的优势
// 	    1. 可靠, 可以借助 Hub 或者 Switch 实现星型拓扑
// 	    2. 便宜
// 	    3. 容易维护
// 	    4. 不需要软件, 靠硬件实现
// 	    5. 不需要管理配置表
// 	    6. 和 TCP/IP 兼容性好
// 	    7. 在 LAN 和 MAN 中处于领导地位




// 5. Wireless LANs
//    无线网
//    IEEE 802.11
//    1. AP Access Point 基站, 提供连接
//    2. Ad hoc Mode 不需要基站, 自己组织
//    3. 因为范围有限, 不能检测冲突
//    4. 有 PCF 和 DCF 两种解决办法
//    5. 有确认的无连接服务
//    5. 使用 CSMA/CA  协议 ( DCF )
// 	   1. 使用 ACK
// 	   2. 指数退避
// 	   3. Optional Collion Avoidance 选择性地使用 RTS 和 CTS
// 		   1. 对小于100Byte的数据帧,采用RTS/CTS反而降低网络的吞吐率
// 		   2. 虽然RTS/CTS帧很短,但也存在冲突问题,特别是无线信道的干扰也会造成它们无法正确接收
// 	   4. 不能解决 "暴露站" 问题
// 	   5. 不用 MACA 的原因是———— CSMA/CA 更容易实现
// 	   发送方:
// 		   1. 侦听信道空闲, 等待 DIFS 后发送
// 		   2. 侦听信道忙, 先退避
// 		   3. 如果没有 ACK, 随机退避
// 	   接收方:
// 		   1. 接收到帧后, 等待 SIFS 时间, 返回 ACK 
//    6. 虚拟侦听
// 	   1. NAV 网络分配向量
// 		   1. Time period that the channel is assumed to be busy 
// 		   2. 在 802.11 帧格式里就有一段 duration 表示本帧预计要占用信道的时间
//    7. 分段突发
// 	   1. 短帧出错概率低
// 	   2. stop and wait 协议
//    8. IFS 
// 	   1. 用于提供优先级服务
//    9. 帧格式
// 	   1. duration
// 	   2. P 167
//    10. WiMax 802.16
// 	   1. 使用基站
// 	   2. 全方位传播
// 	   3. 点到点链路
// 	   和 Wifi 802.11 的区别:
// 		   1. 要求更高
// 		   2. 安全性
// 		   3. 更高的带宽
// 		   4. 局域网之间
//    11. 蓝牙 
// 	   1. 802.16
// 	   2. 个域网 PAN
// 	   3. ad hoc 模式

// 6. Data Link Layer Switching
//    数据链路层的交换
//    1. 网桥  Bridges
// 	   1. 数据链路层设备 MAC
// 	   2. 分割冲突域
// 	   3. 连接两个局域网的存储转发设备
// 	   4. 有转发表, 和 Switch 原理相同
// 	   5. 可以实现协议翻译, 转换, 从 Ethernet 到 Wifi
// 		   1. 因为 Wifi 帧数据帧 2000 多位, Ethernet 帧长度 <= 1518, 可能失败
// 		   2. 不同局域网之间数据率不同
// 		   3. 时延更长, 比 Switch 慢
// 			   1. 接收到帧后, 要先全部存储下来, 查找站表, 然后转发, 增加了时延
// 			   2. 不同局域网互联, 要修改帧格式中的一些内容, 增加了时延
// 			   3. 只适合于用户不太多, 信息量不大
// 		   4. 没有流量控制, 高载时容易丢帧
// 		   5. 和 Switch 一样, 无法避免广播风暴
// 		   6. 服务质量没有保证
// 	   6. 生成树
// 		   1. 防止形成环的广播, 无限循环, 白白消耗网络资源
// 		   2. 短环, 形成生成树
// 		   3. 和最短路径有关
// 		   4. 自动检测
// 		   5. 有两个端口, 不能和主机直接相连

// 	   7. " 网桥 " 和 " 交换机" 的区别
// 		   1. 网桥是软件实现的, 交换机依靠硬件
// 		   2. 网桥一时间只可以处理一个方向的转发, 交换机可以同时转发多个
// 		   3. 网桥是"存储转发", 交换机既有"存储转发"也有 " 直通 "
// 		   4. 网桥具有比交换机更大的缓存
// 			   1. 因为网桥可以链接两个不同的局域网, 数据率不等时可以缓存下来
// 			   2. 网桥速率比交换机慢
// 		   5. 交换机可以理解为多个网桥的集合, 但交换机不可以跨越协议
// 		   6. 网桥只能判断是否在同一个物理网段
// 		   7. 交换机则可以判断数据包是属于那个端口 

// 	   8. " 网桥 " 和 " 交换机" 的共同点
// 		   1. 都位于数据链路层
// 		   2. 都有广播风暴
// 		   3. 都没有选择最优路径的能力

//    2. VLAN  
// 	   虚拟局域网
// 	   1. 可以解决广播风暴
// 	   2. 建立在 VLAN-aware Switchs
// 	   3. 需要修改帧格式, 例如以太网
// 	   4. 大多用 software 实现
// 	   5. 更安全
// 	   6. VLAN ID 
// 		   1. The bridges and switches know what VLAN ID an incoming frame is 
// 		   "场合"
// 			   1. Every port is assigned a VLAN ID 
// 			   2. Every MAC address is assigned a VLAN ID 
// 			   3. Every layer 3 protocol or IP address is assigned a VLAN ID
// 	   7. 逻辑上分割冲突域
// 		   1. 染色

猜你喜欢

转载自blog.csdn.net/nishisiyuetian/article/details/80271723