以太网卡、以太网帧、以太网交换机

2023-10-17 01:50

本文主要是介绍以太网卡、以太网帧、以太网交换机,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

以下文章仅为个人学习笔记,如有错误请谅解!

1.以太网卡

网络接口卡Network Interface Card,NIC)通常也被称为“网卡”,是计算机、交换机、路由器等网络设备与外界网络相连的关键部件。

根据使用技术不同,网络接口卡可以分为很多种类型,例如令牌环接口卡FDDI接口卡SDH接口卡、以太网接口卡

1.1计算机上的以太网卡收发原理

假设在计算机设备上有一个网络接口,那么在接口处就会安装一块网卡。

逻辑上说,网卡包含7个模块:CU(Control Unit,控制单元),OB(Output Buffer,输出缓存),IB(Input Buffer,输入缓存),LC(Line Coder,线路编码器),LD(Line Decoder,线路解码器),TX(Transmitter,发射器),RX(Receiver ,接收器)

1.1.1发送信息

  1. 用户产生原始数据,经过tcp/ip模型的应用层、传输层、网络层处理后,会得到一个个的数据包(Packet),网络将这些Packet逐个下传给网卡的CU
  2. CU将每个Packet封装成一个个的帧(Frame),即以太帧(Ethernet Frame),并将这些Frame传给OB
  3. OB将接收到的Frame按接收顺序排成队列逐个传递给LC。
  4. LC接收到Frame后开始进行编码。逻辑上将Packet封装成Frame的时候已经是长度有限的01二进制了,但是01对应的物理量(电平等)只适合存储在缓冲区中,不适合在线路(例如双绞线)上传输,LC线路编码就是将01转换为适合传输的物理信号(例如电压波形/电流等),并将物理信号传递给TX
  5. TX将对接收到的物理信号进行功率等特性的调整,通过线路发送出去。

1.1.2接收信息

  1. RX对接收到的物理信号进行功率等特性的调整,传递给LD
  2. LD对物理信号进行解码,识别出逻辑上的01,将这些01以Frame为单位逐个传递给IB
  3. IB将接收到的Frame按顺序排成队列,以Frame为单位传递给CU
  4. CU对Frame进行分析处理(丢弃或者去掉帧头、尾)上传。
  5. 经过CU处理的数据在经过网络层、传输层、应用层处理后转换为原始数据。

1.2交换机上的网卡转发原理

组成结构和计算机上的网卡一致。

  • 除了CU与计算机不同,其他模块流程都一致!

1.2.1接收数据

CUIB接收到Frame后,进行分析处理(三种情况):

  • 直接丢弃;
  • 传递给本交换机上的其他某一块网卡;
  • 被复制N份,传给本交换机上其他n个网卡的CU

1.2.2转发数据

将本交换机上其他网卡CU收到的数据直接传给OB

其他步骤类似。

总结

  • 网卡工作在数据链路层和物理层(tcp/ip),具有两层的功能。
  • 计算机网卡用来收发数据,交换机用来转发。
  • 计算机网卡需要进行封装和解封装,交换机上的网卡不会对帧进行封装和解封装。
  • 一块网卡只能控制一个网口的数据转发/收发行为。

2.以太网帧

以太网技术使用的帧的就是以太帧。

2.1mac地址

1980年2月 IEEE(美国电气和电子工程师协会)召开会议,启动了一个庞大的技术标准化项目,称为IEEE802项目,此项目旨在指定一系列关于LAN(局域网)的标准,称IEEE802标准。

mac(Medium Access Control)地址也是在IEEE802中定义并规范的,凡是符合此标准的网卡都必须要配一个mac地址(不符合这个标准的则不是,如SDH网卡)。

mac地址长度48bit(6个字节),才有十六进制表示,每两位十六进制为一组,具有全球唯一标识。

网卡制造商在制造网卡前需向IEEE注册,得到一个24bit的厂商代码,OUI(Organizationally-Unique Identifier)。厂商在制造网卡时就会往每一块网卡的ROM(Read Only Memory)烧入一个48Bit 的BIA地址(Burned-In Address,固化地址),BID的前三个字节就是OUI,后三个字节由制造商自己确定。

mac地址分为3类:

  1. 单播mac地址:第一个字节最低位为0
  2. 组播mac地址:第一个字节最低位为1
  3. 广播mac地址:每一个比特位都是1

2.2以太帧的格式

以太帧(Ethernet Frame)的标准有两种

一种由IEEE802.3定义,称为IEEE802.3格式。

另一种由DEC、Intel、Xerox三角公司联合定义,称为Ethernet Ⅱ格式或者DIX格式。

两种格式都可以在现在的网络设备上使用,但是Ethernet Ⅱ格式使用的更广泛些

 Ethernet Ⅱ帧格式:

DMAC:目的MAC地址,IPV4为6字节,该字段标识帧的接收者。

SMAC: 源MAC地址,IPV4为6字节,该字段标识帧的发送者。

Type:协议类型。

常见Type值与对应的属性

Type值 格式 0x0800 Internet Protocol Version 4 (IPv4) 0x0806

Address Resolution Protocol (ARP)

0x0808 Frame Relay ARP 0x22F4

L2-IS-IS

0x86DD IP Protocol version 6 (IPv6)

Data 

数据字段,标识帧的负载(可能包含填充位)。

数据字段的最小长度必须为46字节以保证帧长至少为64字节,这意味着传输1字节信息也必须使用46字节的数据字段。

如果填入该字段的信息少于46字节,该字段的其余部分也必须进行填充。数据字段的最大长度为1500字节。

以太帧的长度必须为整数字节,因此帧的负载长度不足整数字节,需插入填充字段以保证数据帧的长度为整数字节。

FCS:

帧校验序列FCS(Frame Check Sequence)是为接收者提供判断是否传输错误的一种方法,如果发现错误,丢弃此帧。

FCS只是通用叫法,具体的FCS还可以细分多种校验方法。在以太帧中,FCS通常采用循环冗余码校验CRC(Cyclical Redundancy Check)。

帧示例:

Frame 1: 54 bytes on wire (432 bits), 54 bytes captured (432 bits)Arrival Time: May  4, 2008 18:15:17.630001000 Epoch Time: 1209896117.630001000 seconds[Time delta from previous captured frame: 0.000000000 seconds][Time delta from previous displayed frame: 0.000000000 seconds][Time since reference or first frame: 0.000000000 seconds]Frame Number: 1Frame Length: 54 bytes (432 bits)Capture Length: 54 bytes (432 bits)[Frame is marked: False][Frame is ignored: False][Protocols in frame: eth:ip:tcp][Coloring Rule Name: TCP][Coloring Rule String: tcp]
Ethernet II, Src: CompalEl_df:d0:05 (00:0f:b0:df:d0:05), Dst: HughesNe_a9:4f:87 (00:80:ae:a9:4f:87)Destination: HughesNe_a9:4f:87 (00:80:ae:a9:4f:87)Address: HughesNe_a9:4f:87 (00:80:ae:a9:4f:87).... ...0 .... .... .... .... = IG bit: Individual address (unicast).... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)Source: CompalEl_df:d0:05 (00:0f:b0:df:d0:05)Address: CompalEl_df:d0:05 (00:0f:b0:df:d0:05).... ...0 .... .... .... .... = IG bit: Individual address (unicast).... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)Type: IP (0x0800)
Internet Protocol Version 4, Src: 192.168.128.101 (192.168.128.101), Dst: 172.25.4.24 (172.25.4.24)Version: 4Header length: 20 bytesDifferentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport))0000 00.. = Differentiated Services Codepoint: Default (0x00).... ..00 = Explicit Congestion Notification: Not-ECT (Not ECN-Capable Transport) (0x00)Total Length: 40Identification: 0xc17e (49534)Flags: 0x02 (Don't Fragment)0... .... = Reserved bit: Not set.1.. .... = Don't fragment: Set..0. .... = More fragments: Not setFragment offset: 0Time to live: 128Protocol: TCP (6)Header checksum: 0x4812 [correct][Good: True][Bad: False]Source: 192.168.128.101 (192.168.128.101)Destination: 172.25.4.24 (172.25.4.24)
Transmission Control Protocol, Src Port: tht-treasure (1832), Dst Port: icon-discover (2799), Seq: 1, Ack: 1, Len: 0Source port: tht-treasure (1832)Destination port: icon-discover (2799)[Stream index: 0]Sequence number: 1    (relative sequence number)Acknowledgement number: 1    (relative ack number)Header length: 20 bytesFlags: 0x10 (ACK)000. .... .... = Reserved: Not set...0 .... .... = Nonce: Not set.... 0... .... = Congestion Window Reduced (CWR): Not set.... .0.. .... = ECN-Echo: Not set.... ..0. .... = Urgent: Not set.... ...1 .... = Acknowledgement: Set.... .... 0... = Push: Not set.... .... .0.. = Reset: Not set.... .... ..0. = Syn: Not set.... .... ...0 = Fin: Not setWindow size value: 17520[Calculated window size: 17520][Window size scaling factor: -1 (unknown)]Checksum: 0xf893 [validation disabled][Good Checksum: False][Bad Checksum: False]

3.以太网交换机

转发数据的端口是以太网口的交换机称为以太网交换机,类似的还有令牌环交换机(Token Ring Switch)等。

3.1交换机的工作原理

每台交换机都会拥有一张mac地址表(如果是新设备就会先学习再形成),mac地址表记录着局域网中各个设备mac的对应的端口,交换机根据MAC地址表中mac端口形成的映射关系,进行数据的转发操作,并且会周期性的更新MAC地址表(缺省时间为300s).

3.2三种转发操作

交换机会对端口传入的数据帧进行“转发”操作,这里的转发是广义的转发,包括丢弃(Discarding )、转发(Forwarding)、泛红(Flooding).

泛洪(Flooding):当交换机接收到一个数据帧时,将其转发到除了自己所在的所有端口。

转发(Forwarding):将接收到的数据帧从另一个特定的端口(目的mac所映射的,假设已经存在交换机的mac地址表里)转发出去。

丢弃(Discarding):直接将接收到的数据帧丢弃。

  • 参考

《HCNA网络技术学习指南》

   华为技术

这篇关于以太网卡、以太网帧、以太网交换机的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/222117

相关文章

以太网交换机工作原理学习笔记

在网络中传输数据时需要遵循一些标准,以太网协议定义了数据帧在以太网上的传输标准,了解以太网协议是充分理解数据链路层通信的基础。以太网交换机是实现数据链路层通信的主要设备,了解以太网交换机的工作原理也是十分必要的。 1、以太网协议介绍 1.1以太网协议 以太网是当今现有局域网(Local Area Network, LAN)采用的最通用的通信协议标准,该标准定义了在局域网中采用的电缆类型和信号

61.以太网数据回环实验(4)以太网数据收发器发送模块

(1)状态转移图: (2)IP数据包格式: (3)UDP数据包格式: (4)以太网发送模块代码: module udp_tx(input wire gmii_txc ,input wire reset_n ,input wire tx_start_en , //以太网开始发送信

集线器,转发器,网桥,以太网交换机

集线器: 特点:1.使用集线器的以太网在逻辑上仍是一个总线网,各站共享逻辑上的总线,实用的还是CSMA/CD。各站中的适配器执行CSMA/CD协议,各站必须竞争对传输媒体的控制,并且在同一时刻之多只允许一个站发送数据;   2.一个集线器有许多接口,从工作原理上来说,集线器很像一个多接口的转发器;   3.集线器工作在物理层,每个接口仅仅进行简单的比特转发,不进行碰撞检测。   4.集线器

60.以太网数据回环实验(3)以太网数据收发器接收模块

(1)状态设计: ST_IDLE        :空闲状态ST_PREAMBLE     :前导码+帧起始界定符ST_ETH_HEAD     :以太网帧头:目标MAC地址+源MAC地址+类型/长度ST_IP_HEAD         :IP首部ST_UDP_HEAD     :UDP首部(8个字节)ST_RX_DATA        :接收数据状态ST_RX_DONE

以太网属性找不到身份验证

有时候我们需要在以太网属性里 添加身份验证,但是打开之后发现可能没有这个tab页。查询资料,整理如下: 设置、本地服务、找到wired AutoConfig 属相设置:启动,应用,确定! 然后回来发现以太网属性,就会有身份验证一栏了。

以太网通信之ARP

免责声明: 本文所提供的信息和内容仅供参考。作者对本文内容的准确性、完整性、及时性或适用性不作任何明示或暗示的保证。在任何情况下,作者不对因使用本文内容而导致的任何直接或间接损失承担责任,包括但不限于数据丢失、业务中断或其他经济损失。 读者在使用本文信息时,应自行验证其准确性和适用性,并对其使用结果负责。本文内容不构成专业技术咨询或建议,具体的技术实现和应用应根据实际情况和需要进行详细分析和验证

虹科干货|以太网系列FAQ(二):如何用EES记录和识别多个ECU流量?

面对包含众多设备的复杂网络,我们该如何有效地记录流量信息?在捕获到大量数据后,又如何确保每个数据包都能准确地与其生成设备相关联?更关键的是,如何在不改变原有网络路由的前提下实现这些目标?那么,如何利用虹科EES(增强型以太网交换机)来完成这些任务呢?本文将为您详细解答。 虹科EES如何实现流量记录与识别? 请想象有4个ECU在网络中,通讯方式如图1所示,在不改变网络拓扑的前提下记录这些ECU产

【网络基础】数据链路层总结:深入探讨其功能、协议与以太网技术

文章目录 数据链路层1. 前言(tmp)2. 对比理解 “数据链路层” 和 “网络层”3. 以太网4. ARP协议5. 其他重要协议 / 技术 总结 此前我们对网络层IP协议等进行了系统的学习,下面进行数据链路层的分析学习 数据链路层 1. 前言(tmp) 如之前的路由过程,我们知道通过在路由器间的跳跃,可以从本主机到目标主机的跨网络通信,但IP只是提供了转发的策略,实际上设

【网络基础】探讨以太网:封装解包、MTU、MAC地址与碰撞

文章目录 1. 概念2. 帧格式3. 如何解包和封装4. 整体网络思想 谈 跨网络通信5. 碰撞问题① 汇总整体的网络通信过程,发现问题并补充细节 6. 认识MAC地址7. 对比理解MAC地址与IP地址8. 认识MTU① MTU对UDP协议的影响② MTU对TCP协议的影响③ MSS 与 MTU的关系④ 命令 查看硬件地址MAC与MTU⑤ MTU 与 分片 1. 概念 “以太网

800G和1.6T以太网:创新与挑战

随着大数据、5G网络、云计算和物联网(IoT)技术的广泛应用,市场对带宽和数据传输速率的更高需求日益增长,800G和1.6T网络速率的升级备受期待。本文将从800G以太网和1.6T网络在升级方面的所做出的创新举措及其所面临的主要挑战两个方面,深入探讨数据中心未来的发展方向。 以太网速率随时间变化 网络升级所要面临的挑战: 如何提高800G以太网的速率和容量? 当前的800G以太网