CAN201-链路层 2
CAN201-链路层 2
迟然Switches
- 以太网交换机(Ethernet Switch):
- 链路层设备:以太网交换机是一种工作在链路层(第二层)的设备,它在网络中起着积极的作用。
- 功能:
- 存储和转发以太网帧:交换机接收以太网帧,并根据帧中的目的MAC地址决定将其转发到哪个端口。
- 检查MAC地址:当帧需要在网段上转发时,交换机会检查传入帧的MAC地址,并选择性地将帧转发到一个或多个输出链路。
- 使用CSMA/CD:在访问网段或链路时,交换机使用CSMA/CD(带冲突检测的载波监听多路访问)协议。
- 特点:
- 透明:主机察觉不到交换机的存在,它们认为自己是直接连接到网络上的。
- 即插即用、自学习:交换机不需要进行复杂的配置,它能够自动学习网络中的设备位置。
- 交换机的工作原理:
- 多个同时传输:主机与交换机之间有专用的直接链路,交换机可以缓冲数据包,每个传入链路都使用以太网协议,但不会发生冲突,因为每个链路都是自己的冲突域,允许多个传输同时进行(例如A到A’和B到B’可以同时传输而不冲突)。
- 交换机表(Switch Table):
- 作用:交换机通过交换机表来决定如何转发帧。交换机表包含了MAC地址、对应的交换机接口以及时间戳等信息。
- 自学习过程:当交换机接收到一个帧时,它会学习发送主机的位置(即传入的LAN网段/链路),并将MAC地址和对应的接口记录在交换机表中。如果在一段时间内没有收到具有特定MAC地址的帧,相应的表项会被删除。
- 帧过滤/转发算法:
- 步骤:
- 当交换机收到帧时,记录传入链路/接口以及发送主机的MAC地址。
- 使用目的MAC地址在交换机表中进行索引。
- 如果找到了目的地址的表项:如果目的地址在帧到达的LAN网段/链路上,则丢弃该帧;否则,按照表项指示的接口转发该帧。如果没有找到目的地址的表项,则进行泛洪,即向除了到达接口之外的所有接口转发该帧。
- 步骤:
- 互连交换机:多个自学习交换机可以连接在一起,它们通过自学习的方式来确定如何转发帧。例如,从主机A发送到主机G的帧,交换机S1会通过自学习知道应该通过S4和S3来转发该帧。
- 交换机与路由器的比较:
- 相同点:两者都是存储转发设备。
- 不同点:
- 工作层次:路由器是网络层设备,检查网络层头部;交换机是链路层设备,检查链路层头部。
- 转发表的构建:路由器使用路由算法和IP地址来计算转发表;交换机通过泛洪、学习和MAC地址来学习转发表。
VLAN
- 虚拟局域网(VLAN)的动机:
- 缺乏流量隔离:在传统的LAN中,所有的二层广播流量(如ARP、DHCP、未知目的MAC地址的流量)必须跨越整个LAN,这会导致安全、隐私和效率问题。
- 用户管理困难:例如,当计算机科学(CS)用户将办公室搬到电气工程(EE)部门(在不同的建筑物中),但仍希望连接到CS交换机时,会存在管理上的困难。
- VLAN的定义和实现:
- 定义:支持VLAN功能的交换机可以通过配置在单个物理LAN基础设施上定义多个虚拟LAN。
- 端口分组:交换机端口可以被分组(由交换机管理软件完成),使得单个物理交换机可以像多个虚拟交换机一样工作。例如,可以将一些端口配置为属于计算机科学VLAN,另一些端口属于电气工程VLAN。
- 基于端口的VLAN的特性:
- 流量隔离:到/来自特定VLAN端口的帧只能到达同一VLAN的端口。例如,VLAN端口1 - 8的帧只能在这些端口之间传输,无法到达其他VLAN的端口。
- 动态成员资格:端口可以在VLAN之间动态分配。
- 转发:不同VLAN之间的转发通过路由实现(就像使用独立的交换机一样)。在实际应用中,厂商通常会出售结合了VLAN交换机和路由器功能的设备,因此图中所示的外部路由器可能不需要。
- 跨多个交换机的VLAN:
- Trunk端口(中继端口):用于在多个物理交换机上定义的VLAN之间传输帧。
- 帧格式:在VLAN之间转发的帧不能是普通的802.1帧,必须携带VLAN ID信息。这是通过802.1q协议在帧中添加/删除额外的头部字段来实现的。
Data center networking
- 数据中心网络的概述:
- 应用场景:互联网公司拥有大量紧密耦合的主机,支持各种不同的云应用,如搜索引擎、数据挖掘、电子商务、社交网络、内容服务器等。
- 挑战:需要管理和平衡负载,避免处理、网络和数据方面的瓶颈,以确保多个应用能够高效地为大量客户端提供服务。
- 负载均衡器(Load Balancer):
- 作用:在数据中心网络中,负载均衡器起着关键作用。它接收外部客户端的请求,并将工作负载分配到数据中心内部的不同服务器上,同时将结果返回给外部客户端,对客户端隐藏数据中心的内部细节。
- 实现方式:可以使用应用层路由技术,常见的负载均衡器软件有Apache、Nginx等,也可以使用Python或Nodejs等自行开发。 希望这次的讲解对你理解数据中心网络的这部分内容有所帮助。如果你有任何问题,请随时提问。
- 丰富的互连:
- 交换机和机架之间的互连:数据中心网络中,交换机和机架之间具有丰富的互连结构。这种结构可以增加机架之间的吞吐量,因为存在多个路由路径可供选择,同时通过冗余提高了网络的可靠性。
- 综合示例:一个网页请求的全过程:
- 连接到互联网:
- 笔记本电脑连接到校园网络时,需要获取自己的IP地址、第一跳路由器的地址以及DNS服务器的地址,这通过DHCP协议实现。DHCP请求被封装在UDP中,再封装在IP数据包(目的地址为广播IP)中,最后封装在以太网帧中进行广播。路由器接收到该帧后,进行解复用,将其传递给DHCP服务器。DHCP服务器回复包含客户端IP地址、第一跳路由器IP地址和DNS服务器名称及IP地址的DHCP ACK,通过交换机学习转发,最终客户端接收到DHCP ACK并获取相关信息。
- ARP(在DNS和HTTP之前):在发送HTTP请求之前,需要获取www.google.com的IP地址,这通过DNS查询实现。首先创建DNS查询,将其封装在UDP、IP和以太网帧中。为了将帧发送到路由器,需要获取路由器接口的MAC地址,这通过ARP查询实现。ARP查询以广播的形式发送,路由器收到后回复ARP应答,提供其接口的MAC地址,客户端从而得知第一跳路由器的MAC地址,进而可以发送包含DNS查询的帧。
- 使用DNS:包含DNS查询的IP数据报通过校园网络交换机转发到第一跳路由器,然后从校园网络进入Comcast网络,通过路由协议(如RIP、OSPF、IS - IS和/或BGP)将其路由到DNS服务器,DNS服务器解析域名并回复客户端www.google.com的IP地址。
- TCP连接携带HTTP:为了发送HTTP请求,客户端首先打开与Web服务器的TCP连接。客户端发送TCP SYN段(三次握手的第一步),经过域间路由到达Web服务器,Web服务器回复TCP SYNACK(三次握手的第二步),客户端再回复TCP ACK(三次握手的第三步),从而建立TCP连接。
- HTTP请求/回复:客户端通过TCP连接发送HTTP请求,包含HTTP请求的IP数据报被路由到www.google.com。Web服务器收到请求后,回复HTTP应答(包含网页内容),应答被路由回客户端,最终网页在客户端显示。
- 连接到互联网:
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果