一、计算机网络定义
计算机网络:通过传输媒体和中间各种类型网络设备(包括“网卡”,“路由器”,“交换机”等)连接起来的计算机集合。
两点释疑:
- 以上计算机网络定义跟计算机节点之间的地理距离完全无关,两个计算机节点地理距离即便只有1CM,只要通过传输媒体和中间各种类型网络设备连接起来就构成了计算机网络
- 两个计算机通过USB、PCI、HDMI等接口连接,而不是通过网络设备,那么就不构成计算机网络
二、组建计算机网络的关键——协议
组建计算机网络,必须定义和实现计算机节点之间的网络协议。
网络协议自诞生之日起就蓬勃发展,但是不兼容的网络协议导致不同的计算机网络难以互连,针对此问题,ISO和因特网标准化组织给出了两种标准化协议模型:OSI模型和TCP/IP模型。
2.1、协议模型
对协议模型作几点说明:
- 对网络协议模型进行分层,只允许相邻层传递数据,分解问题空间,降低设计和实现难度,层协议具备更好的独立性和灵活性
- 属于同层的网络协议可能地位不同,比如“在运输层中,TCP/UDP是核心协议,QUIC协议基于UDP协议”,“在网络协议中,IP协议是核心协议,IGMP/ICMP协议是基于IP协议的辅助协议,ARP/RARP协议是不基于IP协议的辅助协议”
- 一些网络协议能够被精确映射到网络协议分层,另外一些网络协议不能被精确映射到网络协议分层是客观的,因为存在特殊需求的网络协议实现其功能并不能被某个网络协议分层的定义所100%覆盖,故不要花费过多精力追求将所有网络协议精确映射到网络协议分层。比如:“ICMP/IGMP基于IP在IP之上,但未到运输层,一般仍算为网络层”,“ARP/RARP不基于IP,但一般仍算为网络层”
2.2、OSI模型 VS TCP/IP模型
2.2.1、OSI模型
OSI模型:
- 发展:具体分为7层,从下到上依次为
物理层,数据链路层,网络层,运输层,会话层,表示层,应用层
。对每层只给出了层功能定义,没有直接限定协议,以充分兼容已有协议 - 优点(跟TCP/IP模型比较):
- 层次划分相较细致,概念相较清晰,比如“划分了数据链路层和物理层”
- 协议兼容性相较强,比如“网络层的核心协议可以是非IP协议”,“运输层的核心协议可以是既非TCP协议又非UDP协议”
- 缺点(跟TCP/IP模型比较):
- 实现相较复杂,比如“有‘表示层’和‘会话层’两个层属协议”,“需要考虑各种可能的网络层和运输层协议”
- 现状:已成为历史
2.2.2、TCP/IP模型
TCP/IP模型(原始是四层):
- 发展:基于已存在的TCP、UDP和IP三个协议,参考OSI模型,提出TCP/IP模型。具体分为4层,从下到上依次为
网络接口层,网际层,运输层,应用层
:- 网络接口层不限定具体协议
- 网际层限定核心协议为IP协议
- 运输层限定核心协议为TCP或者UDP协议
- 应用层不限定具体协议,但是所基于的运输层核心协议必为TCP或者UDP协议
- 优点(跟OSI模型比较):
- 实现相较简单
- 缺点(跟OSI模型比较):
- 层次划分相较不细致,比如“网络接口层不划分数据链路层和物理层”
- 协议兼容性相较弱,比如“网际层的核心协议就是IP协议”,“运输层的核心协议就是TCP协议或者UDP协议”,“应用层协议必须基于TCP或者UDP协议”
- 现状:事实标准。虽然在组建网络时,可以用不兼容TCP/IP模型的其他协议(可以是已存在的,甚至可以是新设计和实现的),但是完全没有必要
虽然TCP/IP四层模型是事实标准,但是在实际应用中发现仍然有“物理层”和“数据链路层”分层必要,故实际一般使用“TCP/IP五层模型(后续叙述如无特别说明都基于该五层模型)”,从下到上依次为物理层,数据链路层,网络层,运输层,应用层
。
五层模型与层属协议示例见下表。
TCP/IP五层模型 | 层属协议 |
---|---|
应用层 | HTTP,FTP,SMTP,POP3,TELNET,DNS |
运输层 | TCP,UDP |
网络层 | IP,ICMP,IGMP,ARP,RARP |
数据链路层 | PPP,Ethernet |
物理层 | 光纤,电缆,无线信道 |
三、组建计算机网络的性能指标
3.1、带宽
在继续介绍之前首先介绍带宽的含义:
- 原义:带宽原指频率范围,单位为赫兹(Hz)。以带宽(频率)区分后述扩展义
- 扩展义:后由于带宽跟数据速率的紧密关系,被借用表示数据速率,单位为比特/秒(“bit/s”,简写为“b/s”或者“bps”)。须知
Kbps,Mbps,Gbps
中的K,M,G
分别表示10^3,10^6,10^9
,而不是2^10,2^20,2^30
。以带宽(速率)区分上述原义
3.1.1、网卡带宽
表示网卡的数据处理速率,单位为“bps”。
日常所说的“百兆网卡”,“千兆网卡”,“万兆网卡”,表示网卡的最大数据处理速率分别为“100Mbps”,“1000Mbps”和“10000Mbps=10Gbps”。
3.1.2、信道带宽
香农定理描述了特定传输媒体上的不失真信息传输速率理论极限值C,具体有公式C = B * log2(1 + S/N)
。
其中:
C
是极限的不失真信息传输速率,即理论极限不失真带宽(速率),单位为“比特/秒(bps)”B
是信道带宽(频率),单位为“赫兹(Hz)”S
是平均信号功率,N
是平均噪声功率,S/N
是信噪比
根据以上定理,假定实际不失真信息传输速率为F,即实际不失真带宽(速率),那么我们可以不断追寻合适的编码方案以期将F不断逼近C,虽然实际不可能达到,因为传输过程中信号还要受到其他一些损伤,比如“各种脉冲干扰”。
3.2、时延
结合笔者理解,跟[1]中定义不完全一致。
3.2.1、单趟时延
单趟时延 = 发送时延 + 传播时延 + 处理时延 + 接收时延 + 排队时延。
各个时延介绍如下:
- 发送时延:发送节点在发送数据时使数据块从节点进入到信道所需要的时间,也就是从数据块的第一个比特开始发送算起,到最后一个比特发送完所需的时间,有公式
发送时延 = 数据块长度/网卡带宽
- 传播时延:信号在信道中传播一定的距离所需要的时间,有公式
传播时延 = 信道长度/信号在信道上的传播速率
,即跟数据块大小无关 - 处理时延:数据在交换节点(比如“路由器”)进行收、转换、发等处理所需要的时间
- 接收时延:接收节点从信道接收数据块的第一个比特开始到完成接收该数据块最后一个比特所需要的时间,有公式
接收时延 = 数据块长度/网卡带宽
- 排队时延:整个单趟过程中各环节排队所需要时间的总和,比如“在交换节点的排队所需要时间”,“在接收节点的排队所需要时间”
3.2.2、往返时延
往返时延(RTT)是重要的性能指标,从发送端发送数据开始,到发送端收到来自接收端的确认(接收端收到数据后便立即发送确认)。
往返时延 = 发送单趟时延 + 接收方处理时延 + 接收单趟时延。
各个时延介绍如下:
- 发送单趟时延:参见“3.2.1、单趟时延”
- 接收方处理时延:接收方接收到数据块后进行处理所需要的时间
- 接收单趟时延:参见“3.2.1、单趟时延”
四、计算机网络分类
可基于多种角度对计算机网络进行分类,但也切忌耗费过多精力强求分类。
4.1、基于作用范围
基于作用范围可将计算机网络分为:局域网,广域网,城域网。
说明如下:
- 局域网:Local Area Network(LAN),作用范围通常为几米到几十公里,例如一个家庭、一个企业就是最基础的局域网
- 广域网:Wide Area Network(WAN),作用范围通常为几十公里到几千公里
- 城域网:Metropolitan Area Network(MAN) ,作用范围在局域网与广域网之间
基于作用范围的分类没有太大意义,因为距离阈值人为定义,不一定能准确对照到实际,比如“有些大的局域网覆盖范围有几百公里”,“有些小城市的城域网覆盖范围只有几公里”。
4.2、基于网络核心部分
是否允许公共接入
基于网络核心部分
是否允许公共接入可将网络分为:公用网和专用网。
两点说明:
- 计算机网络由
核心部分
和边缘部分
构成:1)前者是网络骨干,不包括主机,为后者提供连通交换服务;2)后者包括所有主机,使用前者提供的服务进行相互通信 - 公共接入的含义是具体的,比如“全球网络视角下,因特网
核心部分
接入是公共接入,俄罗斯国家网核心部分
接入不是公共接入;全俄罗斯网络视角下,俄罗斯国家网核心部分
接入是公共接入”。后续如无特别说明,在全球网络视角下讨论是否为公共接入
举例说明:
- 因特网
核心部分
允许公共接入,故其是公用网 - 如果有一个网络X,其用户是全球网络用户(现实中除了因特网之外不存在其他全球性网络),即
核心部分
允许公共接入,故其也是公用网 - 俄罗斯国家网
核心部分
不允许公共接入,故其是专用网 - 中国人民解放军军网
核心部分
不允许公共接入,故其是专用网 - 某个家庭内部网络
核心部分
不允许公共接入,故其是专用网
4.3、基于是否为全球网络
基于是否为全球网络可将计算机网络分为:全球网和局域网。这里的局域网是广义的,“4.1、基于作用范围”小节中的局域网是狭义的。
举例说明:
- 因特网是全球网
- 如果有一个网络X,其用户是全球网络用户(现实中除了因特网之外不存在其他全球性网络),那么其也是全球网
- 俄罗斯国家网是广义局域网
- 中国人民解放军军网是广义局域网
- 某个家庭内部网络是广义局域网
4.4、基于是否为子网
基于是否为子网可将计算机网络分为:子网和整体网。须知子网的定义是具体的。
举例说明:
- 俄罗斯国家网:从自身视角是整体网;接入因特网后,从因特网视角是子网
- 因特网:整体网
- 企业网:从自身视角是整体网;接入因特网后,从因特网视角是子网
五、现实中的计算机网络介绍
现实中存在各种形形色色的计算机网络,介绍常见的几种。
计算机网络 | 含义 | 基于作用范围 | 基于网络核心部分 是否允许公共接入 |
基于是否为全球网络 | 基于是否为子网 |
---|---|---|---|---|---|
因特网(常称互联网) | 英文名为“Internet”,全球最大的计算机网络 | 广域网 | 公用网 | 全球网 | 整体网 |
中国人民解放军军网 | 解放军专用网络 | 广域网 | 专用网 | 广义局域网 | 自身视角是整体网,接入因特网后是子网 |
俄罗斯国家网 | 俄罗斯国家专用网络 | 广域网 | 专用网 | 广义局域网 | 自身视角是整体网,接入因特网后是子网 |
学校网 | 学校专用网络 | 一般是局域网 | 专用网 | 广义局域网 | 自身视角是整体网,接入因特网后是子网 |
企业网 | 企业专用网络 | 一般是局域网 | 专用网 | 广义局域网 | 自身视角是整体网,接入因特网后是子网 |
家庭网 | 家庭专用网络 | 一般是局域网 | 专用网 | 广义局域网 | 自身视角是整体网,接入因特网后是子网 |
[备注] “Internet”表示因特网/互联网,“internet”表示计算机网络/互连网。
参考文献
[1]《计算机网络》(第8版)
[2]https://blog.csdn.net/guoweimelon/article/details/50857130
[3]https://blog.csdn.net/weixin_39647186/article/details/112309210
[4]https://blog.csdn.net/Erice_s/article/details/123099350