以太网

以太网(Ethernet),是局域网的一种实现,是美国施乐(Xerox)公司的Palo Alto研究中心(PARC)在1975年研制的。使用的网络结构就是总线型网络
1980年DEC公司,Intel公司和Xerox公司联合提出数据率为集线器/交换机/网卡/以太网杂谈 - 图1的以太网规约的第一个版本DIX V1,82年修改为第二版DIX V2成为世界上第一个局域网产品规约
在此基础上,IEEE 802委员会的 802.3工作组在83年制定了第一个IEEE的以太网标准IEEE 802.3[W-IEEE802.3],数据率为10Mb/s。802.3局域网对以太网标准中的帧格式作了很小的一点更动,但允许基于这两种标准的硬件实现可以在同一个局域网上互操作。以太网的两个标准DIX Ethernet V2与IEEE的802.3标准只有很小的差别,因此很多人也常把802.3局域网简称为“以太网”
又因为有关厂商在商业上的竞争,IEEE802委员会未能形成一个统一的,最佳的局域网标准,而是被迫制定了几个不同的局域网标准,如802.4令牌总线网、802.5令牌环网等。
为了使数据链路层能更好地适应多种局域网标准,IEEE 802委员会就把局域网的数据链路层拆成两个子层,即逻辑链路控制 LLC(Logical Link Control)子层和媒体接入控制MAC (MediumAccess Control)子层。与接入到传输媒体有关的内容都放在MAC子层,而LLC子层则与传输媒体无关,不管采用何种传输媒体和MAC子层的局域网对LLC子层来说都是透明的
到了20世纪90年代后,激烈竞争的局域网市场逐渐明朗。以太网在局域网市场中已取得了垄断地位,并且几乎成为了局域网的代名词。由于因特网发展很快而TCP/IP体系经常使用的局域网只剩下DIX Ethernet V2而不是IEEE 802.3标准中的局域网,因此现在IEEE 802委员会制定的逻辑链路控制子层LLC(即IEEE 802.2标准)的作用已经消失了,很多厂商生产的适配器上就仅装有MAC协议而没有LLC协议。

网卡

计算机与外界局域网的连接是通过通信适配器(adapter)。适配器本来是在主机箱内插入的一块网络接口板(或者是在笔记本电脑中插入一块PCMCIA卡——个人计算机存储器卡接口适配器)。这种接口板又称为网络接口卡 NIC (Network InterfaceCard)或简称为“网卡”。由于现在计算机主板上已经都嵌入了这种适配器,不再使用单独的网卡了,因此本书使用适配器这个更准确的术语。在适配器上面装有处理器和存储器(包括RAM和ROM)。适配器和局域网之间的通信是通过电缆或双绞线以串行传输方式进行的,而适配器和计算机之间的通信则是通过计算机主板上的I/O总线以并行传输方式进行的。因此,适配器的一个重要功能就是要进行数据串行传输和并行传输的转换。由于网络上的数据率和计算机总线上的数据率并不相同,因此在适配器中必须装有对数据进行缓存的存储芯片。若在主板上插入适配器时,还必须把管理该适配器的设备驱动程序安装在计算机的操作系统中。这个驱动程序以后就会告诉适配器,应当从存储器的什么位置上把多长的数据块发送到局域网,或者应当在存储器的什么位置上把局域网传送过来的数据块存储下来。适配器还要能够实现以太网协议。
请注意,适配器所实现的功能包含了数据链路层及物理层这两层次的功能。
现在的芯片的集成度都很高,以致很难把一个适配器的功能严格按照层次的关系精确划分开。适配器接收和发送各种帧时不使用计算机的CPU。这时CPU可以处理其他任务。当适配器收到有差错的帧时,就把这个帧丢弃而不必通知计算机。当适配器收到正确的帧时,它就使用中断来通知该计算机并交付协议栈中的网络层。当计算机要发送IP数据报时,就由协议栈把IP数据报向下交给适配器,组装成帧后发送到局域网。下图表示适配器的作用。
image.png

集线器

集线器在逻辑上,仍然是 总线型网络 。
一个集线器拥有多个接口,通过RJ-45插头(即现有的双绞线水晶头)与一台计算机上的适配器相连。
工作在物理层,只是简单的转发bit,不进行碰撞检测。
具有少量的容错能力和网络管理功能,比如网络中一个适配器出了故障,不停发送数据,集线器可以主动断开与该适配器的连接。

image.png

交换机

工作在数据链路层
每个接口都直接与一个单个主机或另一个集线器相连,并且一般都工作在全双工方式。
当主机需要通信时,交换机能同时连通许多对的接口,使每一对相互通信的主机都能像独占传输媒体那样,无碰撞地传输数据。
交换机的自学习
我们假设一个以太网交换机有1、2、3、4,共4个接口,每个接口都分别连接了一台计算机
他们的MAC地址分别是A、B、C和D。在最开始的时候,交换机的交换表是空的
假如A向B发送了一帧,从接口1进入交换机,交换机收到这一帧之后会先查找交换表,不过很显然表是空的,交换机查不到应该从哪个接口转发这个帧(就是找不到目的地址为B的表项)。那么接下来,交换机就会把这个帧的源地址A和接口1写入交换表中,并向除了接口1之外的所有接口广播这个帧。
交换机不知道发往哪里,所以进行广播,但是知道从哪里发过来的,因此向交换表中写入(接口1,A),标识A是连接到接口1的,之后其他计算机向A发送时,查找交换表发现A在表中,直接向接口1进行转发即可

交换机是星型结构的,不同于使用集线器的星型结构,交换机在逻辑上也是星型结构,因此不会产生碰撞问题,因此不需要使用CSMA/CD协议,同时也可以使用全双工通信方式。基于以上原因现在总线型以太网很少见,取而代之的是星型以太网。