以太网基础知识

       由于学习需要,对计算机网络基础进行了一定学习,下面对以太网基础进行了一定的总结。

1. 什么是以太网

       以太网是一种计算机局域网组网技术,IEEE 802.3给出了以太网的技术标准。以太网的发展为:

标准以太网(802.3)-》百兆以太网(802.3u)-》千兆以太网(803.ab/803.2z)-》万兆以太网(802.3ae)-》40G以太网(802.3ba)

2. 工作方式

  • 半双工:指数据可以沿两个方向传送,但是在同一时刻只允许单向传送。
  • 全双工:至数据可以沿两个方向传送,在同一时刻也可进行双向传送
  • 单工:仅能沿一个方向传送数据

 3. 多路访问技术

       以太网是一种局域网络技术,在同一时刻只能有一个站点发送数据,存在多个终端,即多路访问。常将多路访问技术分为:随机接入技术、轮流技术和信道划分技术。其中CSMA/CD是一种随机接入多路访问技术。

       CSMA/CD的工作原理一般总结为:先听后发,边发边听,冲突停发,随机延迟后重发。其原理图如图3.1所示:

以太网基础知识

图3.1 CSMA/CD工作流程图

  •     其中需注意以下两点:

    1、为什么需要等待IFG时间?

  •         让物理信道恢复平稳
  •         让接收者对接收的帧作必要的处理,清理接收缓冲区。

    2、为什么需要发送干扰信号?

        发送干扰信号的目的是确保共享介质上的所有站点都能检测到以太网上已经发生冲突。

4. 自协商

       由于以太网的不断发展,其速率也不断提高,为了保证前相兼容,需对设备进行自协商。其中,自协商是对速率、双工和流控进行了协商。其中,速率约束为两者都能实现的最大速率。

        在进行协商前,各站点需要保证能认为自己是半双工。(若一个为全双工、一个为半双工则不能实现协商,因而,在协商前,需认为自己是半双工)

5. 流控(flow control)

        自协商处理了某一端到另一端的传输协商,但是在多级传输的过程中,仍会存在拥塞问题。如存在A、B和C三个站点。

 A(1000M)  -->  B(100M)  -->  C(10M)

        A和B通过自协商后,其传输速率为100M,B和C协商后,其传输速率为10M,此时,数据在B处会出现拥塞现象,其主要原因是传入的数据比发送数据多,因而需要进行流控处理。

        半双工和全双工下流控方式是不同的,具体如下

        半双工: 

  •        方式一:在接收端故意制造冲突,从而延缓发送端数据的发送。
  •        方式二:接收端制造载波信号,使数据发送者误认为接收端准备发送数据,从而实现时延。

         全双工:

  •        接收端发送PAUSE帧,使发送端停止报文的发送。(图5.1为PAUSE帧格式图)

以太网基础知识

5.1 PAUSE帧格式

        PAUSE帧固定为64字节

  •         目的MAC为组播MAC:0180.c200.0001.
  •         源MAC为发送PAUSE帧节点的MAC.
  •         lenth/type固定为0x8808.
  •         MAC控制参数域表示要求发送者暂停发送流量的时间,其数值范围0~65535,单位为512bit time,先发送一个一定时间的PAUSE帧,在该时间段内将数据报文处理完后,发送一个时长为0的PAUSE帧给数据发送者开始发送数据。若直接超出了等待时间,发送者会继续发送报文。

6. MAC地址

        MAC地址为48位,其中前面24位是网络硬件制造商编号(OUI),后24位位该制造商所制造的某个产品的系列号(address)。

        MAC地址共为6个字节,其中OUI是前三个字节,第一个字节的第一位(I/G),即高8位的最后一位为1时是组播,若为0则为单播,简化为若第一个字节,第二个数是奇数,则该MAC地址为组播地址。如0120.1100.3010,第一个字节的第二个数为1是奇数,则该地址为组播地址。其原因是高8位最后一位为1,代表原数据是奇数。

        广播地址:FFFF.FFFF.FFFF

        组播地址:0100.1100.3010

        单播地址:0010.1100.3010

  • 注意:源MAC地址只能是单播地址

7. 以太网帧结构

        图7.1为以太网的帧结构:

以太网基础知识

图7.1 以太网帧结构

        帧结构包含8个字节的前导码,Preamble为10交替码,SFD为10101011,其中11用来通知接收方下一个字段就是目的主机的地址。DMAC为目的MAC地址,SMAC为源MAC地址。type/lenth分别为0x0000-0x05DC和0x0600-0xFFFF。payload范围为46个字节到1500个字节,最小为46,若不够46,则在后面进行补充。FCS为校验和。

        为什么以太帧最小帧为64个字节?

        6+6+2+46+4=64字节

        假设A传送数据到B,在A传送的过程中,B也开始发送数据,B会先检测到冲突,并且会发送冲突信号。A检测到冲突信号时,若其发送的信号已经被B接收完,那么A就不会再继续发送该数据,从而该数据会丢失。反之,若收到冲突信号时,还没有接收完信号,那么A会重新发送该数据。假设从A发送信号到收到冲突的时长为2t,即一帧的发送时间必须大于2t。IEEE定义,一个碰撞域内,最远的两台继器见的往返时间要小于512bit time,所以在10Mbps以太网速率下,2t时间内需要传输大于512bit(即64个字节)的数据,才能保证碰撞不造成数据丢失。

8. 交换容量/包转发速率

        通常所说的10M,100M等表示的是美秒传输的bit数,即bps,而每秒传送的数据包的数目用PPS表示,根据单位转换可知:

packet/s =(bit/s)/(bit/packet)  (仅作为记忆使用)

        其中,每帧的长度包含(数据帧的k bytes,8个字节的前导码,96位的时隙)

        假设端口速率为100M,发送数据帧的长度为64个字节,转换后PPS为N,则:

        N = 100*10^6/(64*8+8*8+96)