当前位置:   article > 正文

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

ethernet frame

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

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)。

帧示例:

  1. Frame 1: 54 bytes on wire (432 bits), 54 bytes captured (432 bits)
  2. Arrival Time: May 4, 2008 18:15:17.630001000
  3. Epoch Time: 1209896117.630001000 seconds
  4. [Time delta from previous captured frame: 0.000000000 seconds]
  5. [Time delta from previous displayed frame: 0.000000000 seconds]
  6. [Time since reference or first frame: 0.000000000 seconds]
  7. Frame Number: 1
  8. Frame Length: 54 bytes (432 bits)
  9. Capture Length: 54 bytes (432 bits)
  10. [Frame is marked: False]
  11. [Frame is ignored: False]
  12. [Protocols in frame: eth:ip:tcp]
  13. [Coloring Rule Name: TCP]
  14. [Coloring Rule String: tcp]
  15. Ethernet II, Src: CompalEl_df:d0:05 (00:0f:b0:df:d0:05), Dst: HughesNe_a9:4f:87 (00:80:ae:a9:4f:87)
  16. Destination: HughesNe_a9:4f:87 (00:80:ae:a9:4f:87)
  17. Address: HughesNe_a9:4f:87 (00:80:ae:a9:4f:87)
  18. .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
  19. .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
  20. Source: CompalEl_df:d0:05 (00:0f:b0:df:d0:05)
  21. Address: CompalEl_df:d0:05 (00:0f:b0:df:d0:05)
  22. .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
  23. .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
  24. Type: IP (0x0800)
  25. Internet Protocol Version 4, Src: 192.168.128.101 (192.168.128.101), Dst: 172.25.4.24 (172.25.4.24)
  26. Version: 4
  27. Header length: 20 bytes
  28. Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport))
  29. 0000 00.. = Differentiated Services Codepoint: Default (0x00)
  30. .... ..00 = Explicit Congestion Notification: Not-ECT (Not ECN-Capable Transport) (0x00)
  31. Total Length: 40
  32. Identification: 0xc17e (49534)
  33. Flags: 0x02 (Don't Fragment)
  34. 0... .... = Reserved bit: Not set
  35. .1.. .... = Don't fragment: Set
  36. ..0. .... = More fragments: Not set
  37. Fragment offset: 0
  38. Time to live: 128
  39. Protocol: TCP (6)
  40. Header checksum: 0x4812 [correct]
  41. [Good: True]
  42. [Bad: False]
  43. Source: 192.168.128.101 (192.168.128.101)
  44. Destination: 172.25.4.24 (172.25.4.24)
  45. Transmission Control Protocol, Src Port: tht-treasure (1832), Dst Port: icon-discover (2799), Seq: 1, Ack: 1, Len: 0
  46. Source port: tht-treasure (1832)
  47. Destination port: icon-discover (2799)
  48. [Stream index: 0]
  49. Sequence number: 1 (relative sequence number)
  50. Acknowledgement number: 1 (relative ack number)
  51. Header length: 20 bytes
  52. Flags: 0x10 (ACK)
  53. 000. .... .... = Reserved: Not set
  54. ...0 .... .... = Nonce: Not set
  55. .... 0... .... = Congestion Window Reduced (CWR): Not set
  56. .... .0.. .... = ECN-Echo: Not set
  57. .... ..0. .... = Urgent: Not set
  58. .... ...1 .... = Acknowledgement: Set
  59. .... .... 0... = Push: Not set
  60. .... .... .0.. = Reset: Not set
  61. .... .... ..0. = Syn: Not set
  62. .... .... ...0 = Fin: Not set
  63. Window size value: 17520
  64. [Calculated window size: 17520]
  65. [Window size scaling factor: -1 (unknown)]
  66. Checksum: 0xf893 [validation disabled]
  67. [Good Checksum: False]
  68. [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网络技术学习指南》

   华为技术

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/码创造者/article/detail/991146?site
推荐阅读
相关标签
  

闽ICP备14008679号