CAN201-链路层 2

Switches

  1. 以太网交换机(Ethernet Switch)
    • 链路层设备:以太网交换机是一种工作在链路层(第二层)的设备,它在网络中起着积极的作用。
    • 功能
      • 存储和转发以太网帧:交换机接收以太网帧,并根据帧中的目的MAC地址决定将其转发到哪个端口。
      • 检查MAC地址:当帧需要在网段上转发时,交换机会检查传入帧的MAC地址,并选择性地将帧转发到一个或多个输出链路。
      • 使用CSMA/CD:在访问网段或链路时,交换机使用CSMA/CD(带冲突检测的载波监听多路访问)协议。
    • 特点
      • 透明:主机察觉不到交换机的存在,它们认为自己是直接连接到网络上的。
      • 即插即用、自学习:交换机不需要进行复杂的配置,它能够自动学习网络中的设备位置。
  2. 交换机的工作原理
    • 多个同时传输:主机与交换机之间有专用的直接链路,交换机可以缓冲数据包,每个传入链路都使用以太网协议,但不会发生冲突,因为每个链路都是自己的冲突域,允许多个传输同时进行(例如A到A’和B到B’可以同时传输而不冲突)。
    • 交换机表(Switch Table)
      • 作用:交换机通过交换机表来决定如何转发帧。交换机表包含了MAC地址、对应的交换机接口以及时间戳等信息。
      • 自学习过程:当交换机接收到一个帧时,它会学习发送主机的位置(即传入的LAN网段/链路),并将MAC地址和对应的接口记录在交换机表中。如果在一段时间内没有收到具有特定MAC地址的帧,相应的表项会被删除。
  3. 帧过滤/转发算法
    • 步骤
      • 当交换机收到帧时,记录传入链路/接口以及发送主机的MAC地址。
      • 使用目的MAC地址在交换机表中进行索引。
      • 如果找到了目的地址的表项:如果目的地址在帧到达的LAN网段/链路上,则丢弃该帧;否则,按照表项指示的接口转发该帧。如果没有找到目的地址的表项,则进行泛洪,即向除了到达接口之外的所有接口转发该帧。
  4. 互连交换机:多个自学习交换机可以连接在一起,它们通过自学习的方式来确定如何转发帧。例如,从主机A发送到主机G的帧,交换机S1会通过自学习知道应该通过S4和S3来转发该帧。
  5. 交换机与路由器的比较
    • 相同点:两者都是存储转发设备。
    • 不同点
      • 工作层次:路由器是网络层设备,检查网络层头部;交换机是链路层设备,检查链路层头部。
      • 转发表的构建:路由器使用路由算法和IP地址来计算转发表;交换机通过泛洪、学习和MAC地址来学习转发表。

VLAN

  1. 虚拟局域网(VLAN)的动机
    • 缺乏流量隔离:在传统的LAN中,所有的二层广播流量(如ARP、DHCP、未知目的MAC地址的流量)必须跨越整个LAN,这会导致安全、隐私和效率问题。
    • 用户管理困难:例如,当计算机科学(CS)用户将办公室搬到电气工程(EE)部门(在不同的建筑物中),但仍希望连接到CS交换机时,会存在管理上的困难。
  2. VLAN的定义和实现
    • 定义:支持VLAN功能的交换机可以通过配置在单个物理LAN基础设施上定义多个虚拟LAN。
    • 端口分组:交换机端口可以被分组(由交换机管理软件完成),使得单个物理交换机可以像多个虚拟交换机一样工作。例如,可以将一些端口配置为属于计算机科学VLAN,另一些端口属于电气工程VLAN。
  3. 基于端口的VLAN的特性
    • 流量隔离:到/来自特定VLAN端口的帧只能到达同一VLAN的端口。例如,VLAN端口1 - 8的帧只能在这些端口之间传输,无法到达其他VLAN的端口。
    • 动态成员资格:端口可以在VLAN之间动态分配。
    • 转发:不同VLAN之间的转发通过路由实现(就像使用独立的交换机一样)。在实际应用中,厂商通常会出售结合了VLAN交换机和路由器功能的设备,因此图中所示的外部路由器可能不需要。
  4. 跨多个交换机的VLAN
    • Trunk端口(中继端口):用于在多个物理交换机上定义的VLAN之间传输帧。
    • 帧格式:在VLAN之间转发的帧不能是普通的802.1帧,必须携带VLAN ID信息。这是通过802.1q协议在帧中添加/删除额外的头部字段来实现的。

Data center networking

  1. 数据中心网络的概述
    • 应用场景:互联网公司拥有大量紧密耦合的主机,支持各种不同的云应用,如搜索引擎、数据挖掘、电子商务、社交网络、内容服务器等。
    • 挑战:需要管理和平衡负载,避免处理、网络和数据方面的瓶颈,以确保多个应用能够高效地为大量客户端提供服务。
  2. 负载均衡器(Load Balancer)
    • 作用:在数据中心网络中,负载均衡器起着关键作用。它接收外部客户端的请求,并将工作负载分配到数据中心内部的不同服务器上,同时将结果返回给外部客户端,对客户端隐藏数据中心的内部细节。
    • 实现方式:可以使用应用层路由技术,常见的负载均衡器软件有Apache、Nginx等,也可以使用Python或Nodejs等自行开发。 希望这次的讲解对你理解数据中心网络的这部分内容有所帮助。如果你有任何问题,请随时提问。
  3. 丰富的互连
    • 交换机和机架之间的互连:数据中心网络中,交换机和机架之间具有丰富的互连结构。这种结构可以增加机架之间的吞吐量,因为存在多个路由路径可供选择,同时通过冗余提高了网络的可靠性。
  4. 综合示例:一个网页请求的全过程