S'S ALGORITHM

网络基础知识学习笔记(链路层,以太网,MAC)

接之前的网络层继续。

数据链路层

数据链路层是计算机网络中的一种网络层次,位于物理层和网络层之间。它的主要职责是管理通过物理链路传输的数据帧(frame),并提供一些基本的错误检测和纠正功能。以下是数据链路层的主要职责:

总的来说,数据链路层的主要目标是在不可靠的物理介质上提供可靠的数据传输(说得好!),并为上层协议提供一个可靠的通信环境。

数据链路层的类型

数据链路层通常可以根据其工作方式、功能和使用场景来分类。

成帧问题(封装)

在数据链路层中,成帧是指将逻辑上的数据流划分成适当大小的数据帧,以便在物理链路上传输。成帧问题包括确定何时开始和结束一个数据帧,并在数据帧之间进行区分。常见的成帧方法包括:

成帧问题的解决方案取决于具体的网络技术和协议,不同的成帧方法可能适用于不同的场景和需求。成帧的正确实现对于数据链路层的可靠数据传输至关重要。

错误检测

链路层的错误检测是指在数据帧传输过程中检测出可能发生的错误。错误检测在链路层至关重要,因为它可以帮助识别并纠正在数据传输过程中可能引入的错误,从而提高通信的可靠性。

单播、组播和广播

以太网

以太网(Ethernet)是一种常见的局域网(LAN)技术,它定义了在局域网中数据的传输方式和物理层的接口标准。以太网最初由美国的Xerox公司发明,并在1980年代初期由DEC(Digital Equipment Corporation)、Intel和Xerox联合开发。现在以太网已成为最为广泛使用的局域网技术之一。

以下是以太网的一些重要特点和特性:

  1. CSMA/CD访问方法: 以太网使用载波监听多点接入/碰撞检测(Carrier Sense Multiple Access with Collision Detection,CSMA/CD)作为其访问控制方法。在发送数据之前,每个节点都会监听网络上是否有其他节点正在发送数据。如果网络上没有活动,节点就开始发送数据。如果多个节点同时开始发送数据,它们的数据包可能会发生碰撞。当检测到碰撞时,发送节点会停止发送,并在一段随机延迟后重新尝试发送。

  2. 物理介质: 以太网可以在各种物理介质上运行,包括双绞线、光纤和同轴电缆。常见的以太网速率包括10 Mbps、100 Mbps、1 Gbps、10 Gbps甚至更高。

  3. 数据帧格式: 以太网数据帧的基本格式包括目的MAC地址、源MAC地址、类型字段和数据字段。目的MAC地址和源MAC地址用于标识数据帧的发送和接收方,类型字段用于指示数据的类型(如IPv4、IPv6、ARP等)。

MAC地址(Media Access Control address),也称为物理地址,是数据链路层(通常是以太网)中用于唯一标识网络设备的地址。MAC地址通常是一个48位的十六进制数,通常以冒号(:)或连字符(-)分隔为6个字节。例如,一个MAC地址可以是类似于 00:1A:2B:3C:4D:5E00-1A-2B-3C-4D-5E 的形式。

MAC地址分为两个部分:

厂商识别码(Organizationally Unique Identifier,OUI): MAC地址的前三个字节是厂商识别码,由IEEE注册管理,用于识别网络设备的制造厂商。每个厂商都被分配了唯一的OUI,以确保MAC地址的全球唯一性。

设备序列号(Device Serial Number): MAC地址的后三个字节是设备序列号,由制造商分配给具体的网络设备。它们用于唯一标识同一制造商生产的不同设备。

MAC地址通常是固定的,与设备硬件直接相关。在以太网中,每个网络接口都有一个唯一的MAC地址,它在设备生产时就被固定到网络接口的物理硬件中,并且通常无法更改。MAC地址在局域网内用于唯一标识和寻址网络设备,以便正确地路由数据帧。

  1. IEEE标准: 以太网的标准由IEEE(Institute of Electrical and Electronics Engineers)制定和管理。最初的以太网标准是IEEE 802.3,后来发展出了许多变种和衍生标准,如Fast Ethernet(IEEE 802.3u)、Gigabit Ethernet(IEEE 802.3z)和10 Gigabit Ethernet(IEEE 802.3ae)等。

以太网帧

以太网帧(Ethernet frame)是在以太网网络中传输的数据单元,它是数据链路层中的一个重要概念。以太网帧是以太网数据传输的基本单元,负责在网络中传输数据包。

以下是一个标准的以太网帧的结构:

  1. 目的MAC地址(Destination MAC Address): 占6个字节,用于标识数据帧的目标设备的物理地址。

  2. 源MAC地址(Source MAC Address): 占6个字节,用于标识数据帧的发送设备的物理地址。

  3. 类型字段(Type Field)或长度字段(Length Field): 占2个字节,用于指示数据的类型或数据帧的长度。在以太网中,这个字段通常指示上层协议类型,例如IPv4、IPv6、ARP等。

  4. 数据字段(Data Field): 可变长度,包含了数据帧传输的实际数据。

  5. 帧校验序列(Frame Check Sequence,FCS): 占4个字节,是一个CRC校验码,用于检测数据帧在传输过程中是否发生了错误。

以太网帧的长度通常在64字节到1518字节之间,包括了所有的头部和数据字段。如果数据字段的长度少于46字节,以太网会使用填充字段将数据字段填充到46字节以上,以满足最小帧长度要求。

以太网帧在局域网中被发送、接收和处理,它负责将数据从一个设备传输到另一个设备,并提供了一种可靠的数据传输机制。以太网帧的结构和功能是以太网技术的基础,广泛应用于各种网络环境中。

以太网的拓扑结构

以太网可以在不同类型的传输介质上运行,包括双绞线、光纤和同轴电缆。常见的以太网传输介质有:

以太网的拓扑结构指的是局域网中设备之间物理连接的方式和布局。在以太网中,主要的拓扑结构包括总线型、星型和混合型。

  1. 总线型拓扑(Bus Topology): 在总线型拓扑中,所有设备都连接到一个共享的主干电缆上,形成一个线性结构。数据从一个设备传输到另一个设备时,通过主干电缆传输。总线型拓扑简单、成本低廉,但是存在单点故障和性能下降的风险。

  2. 星型拓扑(Star Topology): 在星型拓扑中,所有设备都连接到一个中央交换设备(如交换机或集线器)上。数据传输是通过中央交换设备进行的,设备之间不直接通信。星型拓扑具有良好的可扩展性和可管理性,但是中央设备成为单点故障的风险。

  3. 混合型拓扑(Hybrid Topology): 混合型拓扑是总线型、星型或其他拓扑结构的组合。例如,多个星型子网络可以通过一个总线型或环形网络相连,形成混合型拓扑。混合型拓扑结构可以根据具体需求和网络规模灵活地设计和部署。

  4. 树形拓扑(Tree Topology):是一种局域网的物理拓扑结构,它基于星型拓扑和总线型拓扑的组合。在树形拓扑中,网络被组织成多个星型子网,每个子网通过一个中央设备(如交换机)连接,而这些中央设备又通过一个主干网络连接起来,形成了一个树状结构。树形拓扑结构在实际网络中广泛应用,特别是在企业和组织中的大型局域网部署中。它综合了星型拓扑和总线型拓扑的优点,具有良好的容错性、扩展性和管理性,是一种常见且有效的局域网拓扑结构。

以太网交换机

交换机(Switch)是一种网络设备,用于连接局域网中的多台设备,并实现数据帧的转发。与集线器(Hub)不同,交换机具有智能的数据转发功能,能够根据MAC地址表将数据帧转发到目标设备的端口,而不是简单地广播到所有端口。交换机可以提高局域网的性能和安全性,同时支持多个端口之间的并发数据传输。

MAC地址表(MAC Address Table)是交换机内部存储的一个数据结构,用于记录与交换机端口相连的设备的MAC地址和端口之间的映射关系。当交换机收到一个数据帧时,它会查找数据帧中目的MAC地址,并将源MAC地址与接收数据帧的端口关联起来,然后将这些信息记录在MAC地址表中。通过MAC地址表,交换机可以根据目的MAC地址快速地将数据帧转发到正确的端口,从而实现了局域网内的数据交换。

MAC地址学习算法(MAC Address Learning Algorithm)是交换机使用的一种算法,用于动态学习网络中设备的MAC地址和端口之间的映射关系。当交换机接收到一个数据帧时,它会提取数据帧中的源MAC地址,并将该MAC地址与接收数据帧的端口关联起来,并将这些信息记录在MAC地址表中。通过这种方式,交换机可以动态地学习网络拓扑,并根据学习到的信息实现数据的快速转发。

生成树协议(Spanning Tree Protocol,STP)是一种用于防止局域网中出现环路的协议。在一个有环路的局域网中,数据帧可能会在网络中无限循环,导致网络拥塞和性能下降。生成树协议通过选举一个根交换机和关闭一些端口,使得网络中形成一棵无环的树状拓扑,从而防止数据帧的循环传输。STP是IEEE 802.1D标准定义的一种协议,是局域网中广泛使用的一种防环协议。

生成树协议(Spanning Tree Protocol,STP)的底层算法是基于最小生成树(Minimum Spanning Tree,MST)的原理。

最小生成树是一个连通图中的一棵包含所有顶点的子图,并且边的权值之和最小。在局域网中,生成树协议通过选举一个根交换机,并关闭一些端口,使得网络中形成一棵无环的树状拓扑,从而防止数据帧的循环传输。

生成树协议使用了一种称为”Root Bridge”的概念,即根交换机。根交换机负责成为生成树的根,并选择最短路径到达所有其他交换机。其他交换机则通过计算到达根交换机的最短路径,并关闭一些端口,以确保生成树中没有环路。

STP的基本工作原理是通过BPDU(Bridge Protocol Data Unit)消息进行交换,每个交换机根据接收到的BPDU消息选择一个根交换机,并计算到达根交换机的最短路径。然后,交换机根据最短路径关闭一些端口,使得网络中的生成树拓扑不含环路。

Recap

说实在的在总结网络这块的知识的时候很多地方都非常抽象,明明应该是很多硬件知识的地方但是这里却很费解,由于需要对网络进行全部的理解,我准备还是继续学习,并且深入理解这些东西。