计算机网络笔记No.23

局域网

    • MAC地址
    • ARP协议
    • 寻址: 从一个LAN路由至另一个LAN
    • 以太网
    • 交换机
    • 虚拟局域网(VLAN)

MAC地址

局域网中的每块网卡都有一个唯一的MAC地址

MAC地址由IEEE统一管理与分配,网卡生产商购买MAC地址空间(前24比特)
MAC地址:身份证号
IP地址:邮政地址

32位IP地址:

  • 接口的网络层地址
  • 用于标识网络层(第3层)分组,支持分组转发

MAC地址(或称LAN地址,物理地址,以太网地址) :

  • 作用:用于局域网内标识一个帧从哪个接口发出,到达哪个物理相连的其他接口
  • 48位MAC地址(用于大部分LANs),固化在网卡的ROM中,有时也可以软件设置
  • eg: 1A-2F-BB-76-09-AD

问题: (在同一个LAN内)如何在已知目的接口的IP地址前提下确定其MAC地址
ARP表: LAN中的每个IP结点(主机、路由器)维护一个表
存储某些LAN结点的IP/MAC地址映射关系: < IP地址; MAC地址; TTL>
TTL (Time To Live):经过这个时间以后该映射关系会被遗弃(典型值为20min)

ARP协议

同一局域网内:

  • A想要给同一局域网内的B发送数据报——B的MAC地址不在 A的ARP 表中
  • A广播ARP查询分组,其中包含B的IP地址——目的MAC地址 = FF-FFFF-FF-FF-FF
  • B接收ARP查询分组,IP地址匹配成功,向A应答B的MAC 地址——利用单播帧向A发送应答
  • A在其ARP表中,缓存B的IP-MAC地址对,直至超时——超时后,再次刷新
  • ARP是“即插即用”协议——结点自主创建ARP表,无需干预

寻址: 从一个LAN路由至另一个LAN

通信过程: A通过路由器R向B发送数据报

  • 关注寻址:IP地址(数据报中)和MAC地址(帧中)
    计算机网络笔记No.23_第1张图片
  1. A构造IP数据报,其中源IP地址是A的IP地址,目的IP地址是B的IP地址
  2. A构造链路层帧,其中源MAC地址是A的MAC地址,目的MAC地址是R(左)接口的MAC地址,封装A到B的IP数据报。
  3. 帧从A发送至R
  4. R接收帧,提取IP数据报,传递给上层IP协议
  5. R转发IP数据报(源和目的IP地址不变!)
  6. R创建链路层帧,其中源MAC地址是R(右)接口的MAC地址,目的MAC地址是B的MAC地址,封装A到B的IP数据报

以太网

以太网(ETHERNET):“统治地位”的有线LAN技术

  • 造价低廉(NIC不足¥100.00)
  • 应用最广泛的LAN技术
  • 比令牌局域网和ATM等,简单、便宜
  • 满足网络速率需求:10 Mbps – 10 Gbps

以太网:物理拓扑

  • 总线(bus): 上世纪90年代中期前流行——所有结点在同一冲突域(collision domain) (可能彼此冲突)
  • 星型(star): 目前主流网络拓扑——中心交换机(switch)、每个结点一个单独冲突域
    计算机网络笔记No.23_第2张图片
    以太网:不可靠、无连接服务
  • 无连接(connectionless): 发送帧的网卡与接收帧的网卡间没有“握手”过程
  • 不可靠(unreliable): 接收网卡不向发送网卡进行确认
    • 差错帧直接丢弃,丢弃帧中的数据恢复依靠高层协议 (e.g., TCP),否则,发生数据丢失
  • 以太网的MAC协议: 采用二进制指数退避算法的CSMA/CD

以太网CSMA/CD算法

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

以太网帧结构
计算机网络笔记No.23_第3张图片
前导码(Preamble)(8B):

  • 7个字节的10101010,第8字节为10101011
  • 用于发送端与接收端的时钟同步

目的MAC地址、源MAC地址(各6B):

  • 如果网卡的MAC地址与收到的帧的目的MAC地址匹配,或者帧的目的MAC地址为广播地址(FF-FF-FF-FF-FF-FF),则网卡接收该帧,并将其封装的网络层分组交给相应的网络层协议
  • 否则,网卡丢弃(不接收)该帧。

类型(Type)(2B):

  • 指示帧中封装的是哪种高层协议的分组(如,IP数据报、Novell IPX数据报、AppleTalk数据报等)

数据(Data)(46-1500B): 指上层协议载荷

CRC(4B): 循环冗余校验码——丢弃差错帧

许多不同的以太网标准

  • 相同的MAC协议和帧格式
  • 不同速率: 2 Mbps, 10 Mbps, 100 Mbps, 1Gbps, 10G bps
  • 不同物理介质: 光纤, 线缆

交换机

以太网交换机(switch)
链路层设备:

  • 存储-转发以太网帧
  • 检验到达帧的目的MAC地址,选择性(selectively) 向一个或多个输出链路转发帧
  • 利用CSMA/CD访问链路,发送帧

透明(transparent):

  • 主机感知不到交换机的存在
    即插即用(plug-and-play)
    自学习(self-learning)

交换机: 多端口间同时传输
主机利用独享(dedicated)链路直接连接交换机
交换机缓存帧
交换机在每段链路上利用CSMA/CD收发帧,但无冲突,且可以全双工
交换(switching): A-A’与 B-B’的传输可以同时进行,没有冲突

计算机网络笔记No.23_第4张图片
每个交换机有一个交换表(switch table), 每个入口(entry):
(主机的MAC地址, 到达主机的接口, 时间戳)

交换机: 自学习
交换机通过自学习,获知到达主机的接口信息

  • 当收到帧时,交换机“学习”到发送帧的主机(通过帧的源MAC地址),位于收到该帧的接口所连接的LAN网段
  • 将发送主机MAC地址/接口信息记录到交换表中

交换机: 帧过滤/转发
当交换机收到帧:

  • 记录帧的源MAC地址与输入链路接口
  • 利用目的MAC地址检索交换表
  • if 在交换表中检索到与目的MAC地址匹配的入口(entry)
    then
    {
    if 目的主机位于收到帧的网段
    then 丢弃帧
    else 将帧转发到该入口指向的接口
    }
    else 泛洪(flood) /* 向除收到该帧的接口之外的所有接口转发 */

自学习与转发过程举例
目的MAC地址A’,位置未知:泛洪
目的MAC地址A,位置已知:选择性转发

计算机网络笔记No.23_第5张图片
交换机 vs. 路由器
两者均为存储-转发设备:

  • 路由器: 网络层设备 (检测网络层分组首部)
  • 交换机: 链路层设备 (检测链路层帧的首部)

二者均使用转发表:

  • 路由器: 利用路由算法(路由协议)计算(设置), 依据IP地址
  • 交换机: 利用自学习、泛洪构建转发表, 依据MAC地址

网络设备对比
计算机网络笔记No.23_第6张图片

虚拟局域网(VLAN)

VLANs: 动机
考虑以下情形:

  • CS用户迁移到EE,但是希望连接至CS交换机,怎么办?
  • 单一广播域
    • 所有第2层广播流量(ARP, DHCP, 未知目的MAC地址位置)必须穿越整个LAN
    • 安全/隐私、效率问题

计算机网络笔记No.23_第7张图片

虚拟局域网(VirtualLocal Area Network)
支持VLAN划分的交换机,可以在一个物理LAN架构上配置、定义多个VLAN

基于端口的VLAN: 分组交换机端口 (通过交换机管理软件),于是, 单一的物理交换机就像多个虚拟交换机一样运行

基于端口的VLAN:

  • 流量隔离(traffic isolation)
    去往/来自端口1-8的帧只到达端口1-8
  • 动态成员: 端口可以动态分配给不同VLAN
  • 在VLAN间转发: 通过路由(就像在独立的交换机之间)——实践中,厂家会将交换机与路由器集成
    在一起

计算机网络笔记No.23_第8张图片

跨越多交换机的VLAN
计算机网络笔记No.23_第9张图片

多线缆连接

  • 每个线缆连接一个VLAN

中继端口(trunk port): 在跨越多个物理交换机定义的VLAN承载帧

  • 为多VLAN转发802.1帧容易产生歧义 (必须携带VLAN ID信息)
  • 802.1q协议为经过中继端口转发的帧增加/去除额外的首部域

—————————————————————————————————————————————————————
由于水平有限及时间仓促或疏忽大意以及其他的一些原因,文中难免会存在一些错误,如若有发现不正确的地方,还请大佬们评论或私信告之于我,以便及时纠错

你可能感兴趣的:(计算机网络学习笔记)