探索以太网:基础概念与应用

        最近正好在学习以太网,感觉非常有用,进行一个总结,欢迎指正。

        如今,以太网已在现实中大量使用,低廉的价格和较快的速度都是它从许多网络中存活下来的因素。学校/公司中大多用得都是以太网。

目录

以太网电缆(Ethernet Cabling)

曼彻斯特编码(Manchester encoding)

以太网MAC子层协议(The Ethernet MAC Sublayer Protocol)

交换式以太网(Switched Ethernet)

本地网络互联(Local Internetworking)


以太网电缆(Ethernet Cabling)

        从上到下,分别是粗同轴电缆、细同轴电缆、双绞线、光纤

        术语10base5的含义是:它使用基带信号运行在10Mbps的速率上,并且所支持的分段长度可以达到500米。第一个数字是以Mbps为单位的速度值,然后紧跟着单词“Base”标明了它使用基带传输。最后,如果介质是同轴电缆,则它的长度被附在“Base”之后,以100m为单位(四舍五入)。

只用基带传输,意为如果把网线拆开直接用电压表测量就是方波

(在数字通信中,基带传输频带传输相对应,可以不经过调制解调而直接传送数字基带信号。注意区分基带信号和基波。)

        10Base-T就是平时常用的双绞线网线,都有一条电缆连接到一个中心集线器(hub)上,通过中心集线器,所有的站被连接到一起,就好像它们都被焊接到一起一样。

        第四种以太网电缆是10Base-F,它采用了光纤这种连接方式。这种连接方式由于连接器和终结器的成本较高所以非常昂贵,但是它有极好的抗噪声能力,适用于楼与楼之间的连接,或者用于远距离隔开的集线器之间的连接,其长度即使到上千米也是允许的。

在一个建筑物内进行布线的几种方案:(电缆拓扑结构图)

最常用的是树形,如图C。

        每段电缆的长度都有最大值限制,为了构建更大的网络,多跟电缆可以通过中继站(repeater)连接起来。中继站是一个物理层设备,用于放大信号,因为传输过程中会减弱信号。

hub可以有repeater的功能。

曼彻斯特编码(Manchester encoding)

 

以太网使用曼彻斯特编码

        可保证时钟同步,让接收方在没有外部时钟参考的情况下,可以确定每一位的起始、结束位置。但是曼彻斯特编码的一个缺点是,它所要求的带宽是直接二进制编码的两倍,所以脉冲是位宽度的一半。

以太网MAC子层协议(The Ethernet MAC Sublayer Protocol)

        以太网协议规定每一帧之间有一段停顿时间,每一帧以前导域开头,CRC校验和结尾。发送帧的时候,应该是由高低电平组成,而停顿时间电平直接为0。这个framing和一般网络不同。

        首先是8字节的 Preamble(前导域),每个字节包含了比特模式10101010(除了最后一个字节的最后2位为11),这最后一个字节称为802.3的帧起始定界符(Start of Frame,SOF)。这个位模式经过曼彻斯特编码后,可以便于接收方和发送方的时钟同步。

header包含Destination and Source Addresses and a Type field

trailer是CRC校验和

目标地址和源地址都是6字节的MAC地址(物理地址)

每个计算机会有一个unique MAC 地址(网卡的地址),具有全球唯一性。

        tpye(类型)字段,它用于告知接收方应该如何处理这一帧。在同一台计算机上,有可能同时有多个网络层协议在使用,所以当一个以太网帧到达时,内核必须知道应该将此帧交给哪一个网络层协议,类型域指定了应该将此帧交给哪个进程。

        数据字段,最多可以1500字节,应为收发器需要足够的内存(RAM)来存放一个帧。一帧包含的最少数据部分也有规定,和数据传输速度有关系,主要原因在于以太网中发送出现冲突时,如下图所示。

        如果一个站尝试传送一个非常短的帧,虽然冲突发生了,但是在冲突噪声回到发送方(2\tau)之前,传送任务已经完成了。这样的话,发送方就以为这帧已经成功发送出去。所以,所有的帧至少需要 2\tau 的时间才能完成发送(一来一回所以是 2\tau ),一般是64字节。

CSMA/CD with Binary Exponential Backoff(二进制指数后退):

        2\tau的时间称为Slot time(时槽),在第一次冲突发生后,每个站等待0或1个时槽之后再重新发送。如果选择了相同时间,即发生第二次冲突,每个站随机选择0,1,2,3,然后再等待这么多个时槽再发送。以此类推,在0到2^{n}-1之间随机选择一个数,并等待这么多个时槽。到达10次冲突之后,随机数的选择区间固定在最大值为1023上,以后不再增加。在16次冲突后,控制器放弃并给计算机送回失败报告。

以太网效率:

        网络带宽指的是链路上每秒所能传送的比特数,强调的是最大能达到的速率。 单位是Mbit/s Gbit/s ,无论无线有线,比如百兆以太网的带宽是100Mbps。

        可见,增加网络带宽或远距离传输,将使信道效率降低。在高带宽或广域网条件下,以太网可能不是合适的。

交换式以太网(Switched Ethernet)

        由前文的分析可以看出,连到同一个以太网的主机数量将很大程度上影响是否发生冲突,因此我们可以把所有主机切成小的groups,每个group的主机数量少,这样冲突概率小。因而引入交换式以太网(Switched Ethernet),这种系统的核心是交换机(switch)。相当于一个交换机管很多主机,交换机也会有复杂的协议。

        这里要说下 hub(集线器)switch(交换机)的区别,他们的形式看上去一样,就是把多跟线汇成一根线,但是有很大区别。hub是将线与线物理上连接在一起,网上有卖那种usb扩展坞,也是hub,它是一种物理层设备,hub中连接的不同主机(D、E)是不能同时发信息的。而switch连线的线路是并行的,可以做到互不干涉,不同主机可以同时发信息(A、B、C),它是数据链路层设备,交换机实现的是全双工

要注意图上看上去是一根线,其实内部是两根线,一个发一个收。

可以是hub或者switch连到另一个switch的端口。

        不管有线无线,都会先到Switch,最后通过Router(路由器)来连接到广域网。也可以不连接到广域网,举例校园网或者飞机场的wifi,他会有一个登陆网页,你可以登录这个网页,但却不能使用百度这种软件,原因在于这个登陆网页是局域网。只有想连接到广域网才会收费。

本地网络互联(Local Internetworking)

        局域网的互联通过网桥或者路由器实现,网桥和交换机互相替代,现在不太用网桥了。

        举例,连到同一个交换机不同端口的两台主机想要通信,已知帧格式中包含了源地址和目标地址(均为MAC地址),但对于交换机而言,还需要知道MAC地址和端口的对应关系,所以引入MAC地址表

        MAC表不是一开始就有的,而是通过Backward Learning(逆向学习法)得到,一开始是空表。交换机收到信息后,先存下来,然后解析报文(只能解析这层的头和尾,比如以太头),可以看到源地址和目标地址,当MAC表中找不到对应关系,就采取群发(Flooding),除了源地址对应端口,其余所有端口都会收到信息然后检查目标MAC地址与自己地址是否匹配,不匹配则discard。可以看出以太网本质是广播式(broadcast)的。与此同时,交换机把源地址对应端口信息登记在MAC表中,这样自己学习得到完整的MAC表格。

        举例,一开始B1、B2空表,A想发到E,A->B->B1->C->B2,由于B2空表,所以群发,F、G、H、D、E都会收到,F、G、H、D发现不是发给自己的于是将信息抛弃。

        这样不断学习下来,最后得到的MAC表,我们将左边的端口看作为port 1,那么B1的port 1对应A、B两台主机的MAC地址,B2的port 1对应A、B、C三台主机的MAC地址。

 

         为了提高可靠性,有些站点在LAN间并行使用多个网桥,这就引入了回路。在未知目的MAC地址对应端口时,它会导致一直群发,不断循环下去,导致局域网无法工作,称为广播风暴(broadcast storm)。用生成树(spanning tree)可以解决广播风暴问题。

物联沃分享整理
物联沃-IOTWORD物联网 » 探索以太网:基础概念与应用

发表评论