网卡的历史从同轴到光纤!
2021-07-21OverLord
OverLord
什么是網卡?
网卡即网络接口控制器(NIC),又被称为网络适配器或局域网接收器,是构成电脑网络系统中最基本的、最重要的、最不可缺少的连接设备。虽然现在大家可能都不太在意网卡,但它确实是电脑的必备品,目前的主板、台式机机,乃至大部分笔记本电脑都集成有网卡,因为即使在无线技术已经非常发达的今天,要想实现各种网络设备和计算机之间的互联互通,还是少不了它。
每一个网卡都尤其独特性,这就是一个被称为MAC地址的独一无二的48位串行号,它被写在卡上的一块ROM中。在网络上的每一个网卡,一般也就是相应的电脑都拥有一个独一无二的MAC地址。没有任何两块被生产出来的网卡拥有同样的地址。这是因为电气电子工程师协会(IEEE)负责为网络接口控制器(网卡)销售商分配唯一的MAC地址。
网卡上面装有处理器和存储器(包括RAM和ROM),网卡和局域网之间的通信是通过电缆或双绞线以串行传输方式进行的,而网卡和计算机之间的通信则是通过计算机主板上的I/O总线以并行传输方式进行。因此,网卡的一个重要功能就是要进行串行/并行转换。由于网络上的数据率和计算机总线上的数据率并不相同,因此在网卡中必须装有对数据进行缓存的存储芯片。
现在我们最常见到的是以太网(Ethernet)网卡,对应目前主流的以太网网络技术。按网卡所支持带宽的不同可分为10Mb p s网卡、100Mbps网卡、100/1000Mbps自适应以太网卡、2.5Gbps网卡乃至万兆网卡几种。10Mbps网卡已逐渐退出历史舞台,而100/1000bps自适应网卡是目前普通电脑上常用的以太网网卡。对于大数据流量网络来说,服务器应该采用万兆以太网网卡,这样才能提供高速的网络连接能力。
网卡如何工作?
那么网卡究竟是如何工作的呢?简单说分为两个部分,第一就是物理层定义数据传送与接收所需要的电与光信号、线路状态、时钟基准、数据编码和电路等,并向数据链路层设备提供标准接口;第二,网卡的数据链路层则提供寻址机构、数据帧的构建、数据差错检查、传送控制、向网络层 提供标准的数据接口等功能。如此一来,网卡才能实现数据内容的传输。
这里我们还得了解一下互联网协议套件(Internet Protocol Suite,缩写IPS)。它代表的是网络通信模型以及整个网络传输协议家族,为网际网络的基础通信架构,通称为TCP/IP协议族(TCP/IP Protocol Suite或TCP/IP Protocols),简称TCP/IP,这是因为该协议家族的两个核心协议:TCP(传输控制协议)和IP(网际协议)是家族中最早通过的标准。由于在网络通讯协议普遍采用分层的结构,当多个层次的协议共同工作时,类似计算机科学中的堆栈,因此又称为TCP/IP协议栈 。TCP/IP提供了点对点链接的机制,将资料应该如何封装、寻址、传输、路由以及在目的地如何接收,都加以标准化。在当前电脑的各种操作系统下,网卡就无一例外都是工作在TCP/IP协议下的。
当有数据需要进行网络传输时,网卡大致是这样一个工作流程:
1、数据的封装、解封:有如邮寄一个包裹,包裹里面的东西是数据,包裹的外包装就是帧头和帧尾,用于封装数据和解封数据(对应传输和接收);
2、固定地址:数据发送出去后,究竟需要发给谁?这就需要固定地址来帮助电脑判断,也就是俗称的IP地址,可以是IPv4也可以是IPv6;
3、数据的编码和译码:在数据得传输需要搭载在实物介质上,在实际过程中,传送的是电信号或光信号,那么就需要将数据转换成电信号或光信号(光口网卡或者电口网卡,前者只出现在万兆网卡上);
4、链路管理:以太网是共享式链接,所以当你在发送数据的时候,如果别人也在使用,那么就会产生冲突,所以当你要求发送的时候,就需要检查链路的状态是否处于空闲状态;
5、发送和接收数据。
只有经过这几步的工作流程,数据才可能被“传递”,从而实现网络的连接、传输。
注意,这里的IPV4/IPV6地址需要配合MAC地址的绑定才能正确让数据“认识自己的传输对象”。前文我们也提到过这个MAC地址,这里具体说一下,MAC地址(英语:Media AccessControl Address)直译为媒体访问控制地址,也称为局域网地址(LAN Address)、以太网地址(Ethernet Address)或物理地址(Physical Address),它是一个用来确认网络设备位置的地址。在OSI模型中,第三层网络层负责IP地址,第二层数据链接层则负责MAC地址。MAC地址用于在网络中唯一标示一个网卡,一台设备若有一或多个网卡,则每个网卡都需要并会有一个唯一的MAC地址。MAC地址共48位(6个字节),以十六进制表示。第1Bit为广播地址(0)/群播地址(1),第2Bit为广域地址(0)/区域地址(1)。前3~24位由IEEE决定如何分配给每一家制造商,且不重复,后24位由实际生产该网络设备的厂商自行指定且不重复。例如一台路由器,含有一个WAN端口及四个LAN端口。它的WAN端口会有一个如192.168.0.1的IPv4地址,也会有一个如00:0A:02:0B:03:0C的MAC地址。而它的四个LAN端口会各分配到一个例如192.168.1.0/24的IP地址,四个端口各会有一个不同的MAC地址。
网卡的类型
网卡经过时间漫长的发展,形态也变化颇多,而且技术规格也不可同日而语,具体来说分为这么几个特征:
1、总线类型,网卡的总线大致分为ISA、PCI、PCI-E、USB,其中ISA、PCI是较为早期的总线,早已淘汰。而USB接口的网卡主要应用在消费级电子中,日常使用还是PCI-E总线产品为主。这其中,早期的ISA总线为模拟总线,所以还需要设置中断值才可以让网卡正常工作。也就是说,电脑在安装好网卡后,还需要手动设置才可以让它正常工作,非常麻烦。现如今的网卡则基本上可以实现“即插即用”的状态;
2、形态类型,从形态上划分,网卡现在主要分为板载集成网卡、PCI-E接口的独立网卡、USB外接网卡三类。现如今大多数板载网卡实际是PHY网络芯片,它和独立网卡的最大区别是将网络控制芯片的运算部分交由处理器或南桥芯片处理,以简化线路设计,从而降低成本。独立网卡则是具备完整的网络控制芯片,这是二者之间最大的区别。
3、速度区别,目前主流的网卡为100/1000Mbps,2.5Gbps網卡也日渐成熟,而万兆网卡则主要集中在服务器领域使用,而且分为光口和电口两种形态。至于10/100Mbps网卡,早已被淘汰了;
4、从接口上区分,网卡主要分为电口(RJ45)和光纤口(SC、LC等等)两类,前者就是我们日常使用的使用双绞线的网卡,线缆类型多为CAT-5/E、CAT-6(俗称五类线、超五类线和六类线);而光纤口则使用光纤线缆为传输载体,用于服务器。此外在10Mbps的网卡上,还曾经出现过使用BNC同轴细缆的接口——一如我们使用的电视信号线缆。
不得不提的2.5Gbps网卡
因为硬盘速度的提升加之宽带速度的提升,1000Mbps网卡已经不能满足使用需求了,而万兆网卡因为功耗设计、成本等因素,很难普及,因此才出现了2.5Gbps网卡。2.5Gbps的网卡是个“意外”产物,它的正式名称是IEEE802.3bz,由“2.5G/5GBASE-T项目小组”在2015年3月开始着手于2.5GBASE-T和5GBASE-T标准。对,你没看错,除了2.5Gbps之外,这一标准实际上还有5Gbps的速率产品,只不过现阶段没有出现。802.3bz的标准具体是可以在最长100米的CAT-5E线缆上达到2.5Gbit/s(特定情况下实现5Gbit/s的速度),而在最长100米的CAT-6线缆上达到5 Gbit/s速度。
在2014年左右,人们意识到现有的1000Mb p s网络并不能满足未来使用需求,而在CAT-5E线缆上也不可能实现10Gbps(即万兆网)的连接,尤其是IEEE802.11ac、Wi-Fi 6无线网络的高速发展,这就决定了需要在1000Mbps和10Gbps之间提供一个可以兼容使用现有双绞线缆(CAT-5E、CAT-6)提供一个更为廉价但又高速的选择,毕竟10Gbps的相关设备成本高昂,更不用提无法利用现有的双绞线网络了。
然而,时至今日,尽管Intel已经在自家主板上提供了2.5Gbps的网络芯片(从Intel400系列芯片组主板产品开始,AMD平台也有很多主板采用)I225-V,但是配套的设备价格并不便宜,例如2.5Gbps最廉价的交换机目前也需要四百余元(1000Mbps交换机不足百元)。
而且,这个Intel I225-V的2.5Gbps网卡本身也存在缺陷——丢包掉速,这对于有线网络来说几乎是不可原谅的错误,这个问题通过软件层面也无法修复。之后Intel推出了B2版本的I255-V网络芯片(之前购买的产品无法替换),丢包掉速问题得到了改善,但是依旧存在些许问题,直到I225-V推出了B3版本才算彻底解决这些问题。
而另一个网络芯片的“大户”RTL瑞昱也推出了2.5Gbps的网卡产品,包括USB接口的RTL8156和独立网卡芯片RTL8125B。但是,目前除了USB网卡销量还算不错之外,用于老电脑升级的独立网卡普及度并不高——毕竟价格依旧不算便宜。
简言之,2.5Gbps的网卡距离普及还有一段时间,笔者预计从2022年开始才有望正式开启普及的大幕——届时新一代主板芯片组将全面覆盖2.5Gbps网络芯片,同时升级用的独立网卡、交换机等产品有望将价格进一步拉低。现阶段除非对局域网传输速度有较高要求的用户,普通消费者还没有升级2.5Gbps网络的迫切性。