计算机网络学习笔记(六)- 局域网

ARP协议

MAC地址

  1. IP地址:
    • 接口的网络层地址
    • 用于标识网络层(第3层)分组,支持分组转发
  2. MAC地址(或称LAN地址,物理地址,以太网地址) :
    • 作用:用于局域网内标识一个帧从哪个接口发出,到达哪个物理相连的其他接口
    • 48位MAC地址(用于大部分LANs),固化在网卡的 ROM中,有时也可以软件设置,e.g.: 1A-2F-BB-76-09-AD,局域网中的每块网卡都有一个唯一的MAC地址,在链路层只认MAC地址,不认IP地址(我的理解是,IP地址可以理解为辽宁省铁岭市象牙山村赵国强(尼古拉斯赵四),如果你要找这个IP,也就是这个人,那么IP地址可以将你引导到象牙山村,但你说IP地址赵国强没人认识,这就由路由器/交换机接口广播谁是赵国强,然后就有人回应我是我是,然后就找到了,赵国强告诉你他的MAC地址是赵四,以后直接找赵四就找到他了)

ARP地址解析协议

  1. 同一个局域网内
    A想要给同一局域网内的B发送数据报,但B的MAC地址不在 A的ARP 表中,A广播ARP查询分组,其中包含B的IP地址,目的MAC地址 = FF-FF-FF-FF-FF-FF,LAN中所有结点都会接收ARP查询,B接收ARP查询分组,IP地址匹配成功,向A应答B的MAC 地址,利用单播帧向A发送应答,A在其ARP表中,缓存B的IP-MAC地址对,直至超时后(每个缓存的MAC地址都有生命期,到了生命期会删除),再次刷新,ARP是“即插即用”协议,结点自主创建ARP表, 无需干预
  2. 在不同的局域网内
    如下图所示,主机A要给主机B发送数据,但是A仅知道B的IP地址,并不知道B的MAC地址,然后A将数发给了A的默认网关,也就是R的左侧接口,然后根据路由器的转发表,将数据发送到了右侧接口,然后在局域网内进行广播,接下来和在同一个局域网内操作一样

交换机

  1. 链路层设备
    • 存储-转发以太网帧
    • 检验到达帧的目的MAC地址,选择性(selectively) 向一个或多个输出链路转发帧
    • 利用CSMA/CD访问链路,发送帧,如下图所示,AA’之间和BB’之间发送数据没有冲突
  2. 透明(transparent)
    • 主机感知不到交换机的存在
  3. 即插即用(plug-and-play)
  4. 自学习(self-learning)
    当接收到一段数据帧,交换机会选择在转发表查找,如果没找到交换机就会向所有接口转发这段数据,也就是如果找不到MAC地址对应的接口,交换机就会向所有接口转发
  1. 虚拟局域网
    通过交换机管理软件将不同端口隔离,比如将123和456隔离,从而使得1只能发给23,不能发给456

  2. 交换表
    如下图所示,交换表初始为空,当A结点从接口1发送过来数据,交换机就会在交换表记录下1接口对应结点A的MAC地址

  3. 交换机.VS.路由器
    两者均为存储-转发设备:
    • 路由器: 网络层设备 (检测网络层分组首部)
    • 交换机: 链路层设备 (检测链路层帧的首部)
    二者均使用转发表:
    • 路由器: 利用路由算法(路由协议)计算(设置), 依据IP地址
    • 交换机: 利用自学习、泛洪构建转发表, 依据MAC地址

  4. 网络设备对比

以太网

物理拓扑结构

  1. 总线(bus): 上世纪90年代中期前流行,所有结点在同一冲突域(collision domain) (可能彼此冲突)
  2. 星型(star): 目前主流网络拓扑
    • 中心交换机(switch)
    • 每个结点一个单独冲突域(结点间彼此不冲突)

以太网服务

  1. 无连接(connectionless): 发送帧的网卡与接收帧的网卡间没有“握手”过程
  2. 不可靠(unreliable): 接收网卡不向发送网卡进行确认,差错帧直接丢弃,丢弃帧中的数据恢复依靠高层协议 (e.g., TCP),否则,发生数据丢失
  3. 以太网的MAC协议: 采用二进制指数退避算法的CSMA/CD

以太网CSMA/CD算法

  1. NIC从网络层接收数据报,创建数据帧。
  2. 监听信道:
    • 如果NIC监听到信道空闲,则开始发送帧;
    • 如果NIC监听到信道忙,则一直等待到信道空闲,然后发送帧。
  3. NIC发送完整个帧,而没有检测到其他结点的数据发送,则NIC确认帧发送成功!
  4. 如果NIC检测到其他结点传输数据,则中止发送,并发送堵塞信号(jam signal)
  5. 中止发送后,NIC进入二进制指数退避:
    • 第m次连续冲突后:
    • 取n = Min(m, 10)
    • NIC 从{0,1,2, …, 2n-1}中随机选择一个数K
    • NIC等待K·512比特的传输延迟时间,再返回第2步
    连续冲突次数越多,平均等待时间越长

以太网帧结构

  1. 前导码(Preamble)(8B):
    • 7个字节的10101010,第8字节为10101011
    • 用于发送端与接收端的时钟同步
  2. 目的MAC地址、源MAC地址(各6B):
    • 如果网卡的MAC地址与收到的帧的目的MAC地址匹配,或者帧的目的MAC地址为广播地址(FF-FF-FF-FF-FF-FF),则网卡接收该帧,并将其封装的网络层分组交给相应的网络层协议。
    • 否则,网卡丢弃(不接收)该帧。
  3. 类型(Type)(2B): 指示帧中封装的是哪种高层协议的分组 (如,IP数据报、Novell IPX数据报、AppleTalk数据报等)
  4. 数据(Data)(46-1500B): 指上层协议载荷。
    • R=10Mbps,RTTmax=512μs,Lmin / R = RTTmax
    • Lmin=512bits=64B,Datamin=Lmin-18=46B
  5. CRC(4B): 循环冗余校验码

802.11无线局域网

系列协议

## 信道与AP关联(手机搜wifi) 1. 被动扫描(scanning): • 各AP发送信标帧 • 主机(H1)向选择的AP发送关联请求帧 • AP向主机(H1)发送关联响应帧 主动扫描: • 主机(H1)主动广播探测请求帧(Probe Request Frame) • AP发送探测响应帧(Probe Response Frame) • 主机(H1)向选择的AP发送关联请求帧 • AP向主机(H1)发送关联响应帧

CSMA/CA协议

  1. 伪代码:
	//802.11 sender
	if 监听到信道**空闲了DIFS时间**
		发送整个帧(无同时检测冲突,即CD)
	else if 监听到信道忙
		开始随机退避计时
		当信道空闲时,计时器倒计时
		当计时器超时时,发送帧
	if 没有收到ACK
		增加随机退避间隔时间
		重复第2//802.11 receiver
	if 正确接收帧
		**延迟SIFS时间**后,向发送端发送ACK (由于存在隐藏站问题)	
  1. 允许主机预约信道
    基本思想:允许发送端“预约”(reserve)信道,而不是随机发送数据帧,从而避免长数据帧的冲突
    • 发送端首先利用CSMA向BS发送一个很短的RTS (request-to-send)帧
    • RTS帧仍然可能彼此冲突 (但RTS帧很短)
    • BS广播一个CTS(clear-to-send)帧作为对RTS的响应
    • CTS帧可以被所有结点接收,消除隐藏站影响(告诉其他主机信道被预约了),发送端可以发送数据帧,其他结点推迟发送
发布了18 篇原创文章 · 获赞 0 · 访问量 614

猜你喜欢

转载自blog.csdn.net/wanglizhi3733/article/details/105340358