计算机网络基础 底层知识

速查表

OSI 七层模型从上至下:

  • 上三层
    • 应用层(Application):信息本体(数据是信息的载体)
    • 表示层(Presentation):加解密、解压缩、转换编码等加工
    • 会话层(Session):管理通信双方的连接
  • 下四层
    • 传输层(Transport):加上通信双方的端口
    • 网络层(Network):加上通信双方的 IP
    • 数据链路层(Data Link):加上通信双方的 MAC(设备)地址以及 FSC 帧校验(用来验证数据包的完整性)
    • 物理层(Physical):把数据转化为 01 的信号流并进行传输

五层模型就是把「上三层」合并为一层「应用层」。

关于计算机网络我最痛苦的回忆就是那本全英文的教材超级重,和电脑一起拿真的折磨。

有线网络

区别铜缆光纤
材质玻璃
信号类型电信号光信号
传输距离相对较短相对较长
传输速度相对较慢相对较快
工程造价相对便宜相对昂贵*
抗干扰能力相对较弱相对较强

*「光纤无铜,偷也没用」不知道你们见过经济落后地区特有的这种标语没有。
这里姑且不讨论这种还没有实现全面脱贫之前的实属无奈之举的宣传方式是否妥当,这个说法的原理是 玻璃光纤的造价确实比铜缆高,但愚昧到偷剪网络电缆的人又不会关心你制造工艺,他是偷去当废铁卖的,所以才有这条堪称荒谬的标语。
感概一下人穷志短是普遍存在的客观事实,扶贫先扶志也确实是金科玉律。

无线网络

Wi-Fi,待补完。

以太网标准

孟子说「不以规矩,不能成方圆」,如果你有你的标准,我有我的原则,双方根本就没办法正常交流。
于是为了推动行业发展和社会进步,大家都自发达成了某种协议(制定了统一标准),并自觉遵守这种约定俗成的规则,这种专业内部交流的「协议」就是行业标准。
综上所属,「标准」也好,「协议」也罢,我们说的是同一个东西。

众所周知,网络本质是 0 和 1 的数字流,那么这种数字流如何转化为可保证的确切信息呢?
当然也要靠协议(或者说标准,怎么说都行,就是个叫法,知道意思就行,下文不再赘述)。

1980 年,由 DEC、Intel、Xerox 三家公司合作提出了以太网规约「DIX V1」(DIX 是三家公司的首字母)。

1982 年,IEEE(电气与电子工程师协会)的 802(局域网技术标准)委员会和 ISO(国际标准化组织)共同推出了「IEEE 802.3」标准。
同年,DEC、Intel、Xerox 三家公司也推出了第二版的「(DIX)Ethernet V2」标准。

「以太(ether)」是亚里士多德意淫的一种无处不在的基本元素,和水、火、气、土一起构成了整个物质世界。
「以太网(ethernet)」顾名思义,无处不在甚至能因此连通全世界的 局域网

IEEE 的「802 标准」分为几个部分:

  • 802.1 对这组标准做了介绍并定义了接口原语
  • 802.2 创建了一个数据链路层的 LLC(Logical Link Control),用于上层协议的复用(相当于一个前置的必要条件)
  • 802.3 - 802.5 描述了 3 个局域网标准, 对应数据链路层的 MAC (Media Access Control)用于处理物理层的访问
    • 802.3 + 802.2 CSMA/CD
    • 802.4 + 802.2 令牌总线
    • 802.5 + 802.2 令牌环

我们习惯把(带上 802.2 的)802.3 称为 IEEE 的以太网标准:

  • 802.3
    • 源 MAC(占 6 byte)
    • 目的 MAC(占 6 byte)
    • 长度(占 2 byte)
  • 802.2(占 8 byte)

DIX 的 Ethernet II(以太网本网)标准:

  • 源地址(占 6 byte)
  • 目的地址(占 6 byte)
  • Ether-type(占 2 byte,可以理解为干了 802.2 的活)

二者实现的功能一样,但小学生都算得出来 Ethernet 2 要少 8 byte。基于效率优先的原则,Ethernet 2 渐渐成为主流。
当然发展到如今,现在的网卡基本都是兼容两种协议的,用不着你来操心。底层打得再凶,用户无感还是能做到的。

由于科技的突飞猛进,技术瓶颈也大大提高,已经不像以前需要到处抠性能了。
因此 802 的标准化优势开始显现,异军突起的无线网络 Wi-Fi 也参考了 802.11,进一步推动了 802 的普及率,所以目前的网络标准还是以 802 为标准的。

这事告诉我们两个道理:

  • 脱离实践的理论即使再优美也只是空中楼阁。
  • 没有最好的,只有最合适最顺应时代的,无视客观条件踩一捧一多少带点。
正式名非正式名常用名俗称速度线缆类型最大传输距离
802.310BASE-T以太网小水管10 Mbps双绞线100 m
802.3u100BASE-T快速以太网百兆网100 Mbps双绞线100 m
802.3z1000BASE-LX1 Gigabyte 以太网千兆网(光纤)1 Gbps光纤5000 m
802.3ab1000BASE-T1 Gigabyte 以太网千兆网(双绞线)1 Gbps双绞线100 m
802.3an10GBASE-T10 Gigabyte 以太网万兆网10 Gbps双绞线100 m

非正式名的后缀 -T / -LX 是指双绞线(UTP,Unshielded Twisted Pair,即非屏蔽双绞线)和光纤(LX 是用的光模块的型号,一般是单模光纤)的区别。

我本科是物联网工程,有门实践课就是自己做网线。
就是普通的双绞线,剪一臂长的线材,绞好对齐压水晶头,联(内网测)通,写实验报告,结课,简单又好玩。
唯一的难点就是一句写在黑板上的口诀:「橙白/橙,绿白/蓝,蓝白/绿,棕白/棕」,难在有的同学就是不肯抬头看看黑板就是要嗯问你。

双绞线的线材是有区别的,也就是我们买网线时说的五类线、超五类线、六类线。

正式名俗称用途速率
CAT-1电话线早年用于有线电话*
CAT-2早年用于令牌环网络4 Mbit/s
CAT-3提供 16 MHz 的频宽,早年的网线10 Mbit/s
CAT-4提供 20 MHz 的频宽,早年用于令牌环网络16 Mbit/s
CAT-5五类网线提供 100 MHz 的频宽,常用于百兆网,支持千兆网100 Mbit/s
CAT-5e超五类网线提供 125 MHz 的频宽,常用于千兆网,支持万兆网1000 Mbit/s
CAT-6六类网线提供 250 MHz 的频宽,用于万兆网最长 55 m10 Gbit/s
CAT-6A超六类网线提供 500 MHz 的频宽,用于万兆网,最长 100 m10 Gbit/s
CAT-7设计供以 600 MHz 频率传输信号
CAT-8/Class I提供 2000 MHz 的频宽,用于四万兆网40 Gbit/s
CAT-8.2/Class II提供 2000 MHz 的频宽,用于四万兆网,与 Class I 使用的连接器不同40 Gbit/s

*现在的孩子可能都没见过有线电话了吧,ADSL 可能都没见过,更不用说电话线拨号上网了,早年上网的时候电话打不进来,现在不开 VoLTE 一样接电话断流量,毅种传承。

顺带一提,五类线跑千兆网完全没问题,如果是按照标准做的没有偷工减料的超五类跑万兆都没问题,详见《用万兆网卡测试超五类网线传输速度,颠覆你的认知》。
更不必说好多家庭甚至连百兆不到,就不要想太多了。不过也不排除你手里的网线连五类都不是的可能,这种情况还是会导致线材拖慢网速的。

总结一下:

  • 五类 CAT-5 你想买都买不到,如果你手里已经有了,千兆网没问题
  • 超五类 CAT-5e 区区千兆网随便跑,几十米范围内的话万兆网都没问题
  • 六类 CAT-6 支持万兆网,甚至能当电线用(多个 POE 供电,比如 AP 面板、监控摄像头等设备)
  • 超六类 CAT-6A 企业级万兆网

结论:只是千兆网的话,超五类和六类没有区别,考虑到以后升级,装新房建议上六类。已经埋了超五类的家庭也没必要重新装修,等真的变成刚需了再升级也不迟。

网速的计算方式

另外,以太网传输速率(俗称网速)有两套计量单位。
拿「多少多少兆(全称兆比特,Megabits)」来举例:

小 b,即 Mbps(Megabits per second)或者 Mbit/s。
这两个单位是同一个东西两种写法,类似茴香豆的茴艹头下面可以写回、囬、囘、𡇌[1]
这里的 b 是 bit(比特位),可以存储 1 无符号二进制数(0 或 1),一般用于描述带宽。
因为无论电信号还是光信号,人家物理层传的都是 0 和 1 的信号流,想要精确地描述具体传输了多少多少「」0 或 1 就是得用 bit 位。
这就是带宽——带宽Band Width:同一时刻(某个瞬间)这个频带最多能通过多大的信息量。

大 B,即 MB/s,这里的 B 是指 Byte(字节),可以存储 8 位 无符号二进制数(0 或 1),换算成十进制就是 0 - 255(0000 0000 - 1111 1111)。
一般用于描述文件传输速度,因为操作系统的文件系统是用字节(byte)的,你看你电脑上文件都是多少多少 KB,没有 Kb 的吧?
宏观描述文件大小(与之相对,描述 bit 传输属于微观)统一单位对人类友好,方便人为辨识。不统一的话,你想象一下每次估算一个文件大小要自己除以 8 是什么地狱绘图。

总而言之,由此可得:

  • 1 Mbps = 1 Mbit/s = 0.125 MB/s
  • 1 MB/s = 8 Mbps = 8 Mbit/s

所以小 b 换大 B 首先除以 8,再加上传输过程中肯定有火耗 信号损失,再除去校验位之类用来保证数据包可靠性的元数据。
千兆网理论峰值下载速度也就 100 MB/s 左右,百兆宽带 10 MB/s 左右,很正常。

注意这还是理论峰值,如果加上手机电脑平板一堆设备同时用网还要打折扣,用的是 Wi-Fi 不是有线连接再折扣,还是 2.4 GHz 频段继续折扣,楼层 Wi-Fi 过多挤占信道互相干扰……实际下载速度比这还低太正常了。不要再为难运营商的苦逼网工了,人家上门一看发现是这种情况还能怎么办,三言两语也解释不清还可能被认为是推卸责任,测完线和猫都没问题最多也就给你重新拔插一下路由光猫主动地被动散热意思意思。
回家过年家里两台路由器连着十几部手机,我爸刷不动短视频一个电话质问移动售后要求上门维修的时候我尴尬死了。

光纤

全双工(Full Duplex)与半双工(Half Duplex)

首先解释一下双工是什么意思,可以按照字面意思理解为「两种工作方式」。
区别于「只能发送 / 只能接收」的单工,很明显双工就是「既能发送又能接收」。

全双工,意为它是「完全体的双工」,同一时间(这个瞬间),它既在发送,又在接收。发送和接收可以同时进行。
半双工,意味它只是「半成品的双工」,同一时间,发送和接收只能选一个。

单芯(Single Core)与双芯(Dual Core)

单芯光纤,里面就一根单行道,如果左右两方同时来车不是撞上了吗。
所以它只能以半双工运行,允许双向通行,但一次只能过一辆车。

双芯光纤,两车道,中间是实心黄线,靠右行就完事了,各走各走的最多追尾(可能追尾的问题当然也被解决了,详情搜索 以太网帧)不可能迎头撞上。
所以它是全双工的,这个瞬间,它可以同时接收和发送。
所以双芯光纤传输速率(峰值)是单芯的一倍,因为接收和发送可以进行不会阻塞。

单模(SM:Single Mode)和多模(MM:Multi Mode)

单模使用单束的激光作为光源,所以传输距离更远。

双模使用 LED 作为光源,所以光线是散射的,不是强光导致它的传输距离有限。
但较低的生产成本是最大的优点。

一般看实际使用的传输距离,网络运营商从他们的基站牵到你们小区,肯定是单模才能实现。
你自己买光纤给家里或者公司(同一栋楼内)用,那肯定是多模划算。


  1. 鲁迅《孔乙己》桥段,典出《康熙字典》。就是这四个字,最后的「𡇌」不是我编的:「口」字里一个「目」,码位 U+211CC,HTML 实体 𡇌 / 𡇌,URL 编码 %F0%A1%87%8C
    回字的四种写法 其实这玩意类似「壹隻憂鬱臺灣烏龜尋釁幾羣骯髒變態囓齒鱷龞,幾羣骯髒變態囓齒鱷龞圍毆壹隻憂鬱臺灣烏龜」那只讨打的乌龟,有点意思,但没什么🐔儿用。
    古体字当然不是糟粕,也值得研究;但它们确实已经被时代淘汰了,不吹不黑客观看待即可。 

updatedupdated2022-05-012022-05-01