计算机网络概念
计算机网络是一个将众多分散的、自治的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。
- 互联:互联互通;
- 自治:无主从关系,互相连通但不能彼此控制;
几个概念:
- 计算机网络:由若干结点和连接这些结点的链路组成。结点可以是计算机、集线器、交换机、路由器等,链路可以是有线链路、无线链路;主要功能:数据通信、资源共享
- 互连网:多个计算机网络通过路由器互相连接而成;内部可以使用任何通信协议;
- 互联网:译为因特网。,特质全世界最大的计算机网络,由各大ISP和国际机构组建;使用TCP/IP协议族作为通信规则
ISP:互连网服务提供商(Internet Service Provider),如移动、电信、联通
集线器、交换机用于连接同一网络内的不同结点;路由器用于连接不同的网络;
家用路由器的概念不同于路由器,家用路由器=路由器+交换机+其他功能;
计算机网络组成
从组成部分看
- 硬件
- 主机,即端系统,如电脑、手机、物联网设备
- 通信设备:如集线器、交换机、路由器
- 通信链路:如网线、光纤、同轴电缆
- 软件:方便用户使用,实现资源共享。如Email、聊天软件、网盘
- 协议:规定计算机网络中的通信规则,由硬件、软件共同实现。如网络适配器+软件 实现网络通信协议
从逻辑功能看
- 资源子网:计算机网络中运行应用程序,向用户提供可共享的硬件、软件和信息资源的部分。主要由连接到互连网上的主机组成;
- 通信子网:计算机网络中负责计算机间信息传输的部分。即把计算机和其他用户装置连在遗器的所有通信设备和介质的总称。主要由 通信链路+通信设备+协议 组成。
注:主机北部实现信息传输的网络适配器、底层协议属于通信子网的范畴。
从工作方式看
- 边缘部分:直接为用户服务(通信、资源共享),主要由连接到互连网上的主机和其软件组成;
- 核心部分:为边缘部分提供服务(连通性、交换服务),由大量网络和连接这些网络的路由器组成
计算机网络的功能
- 数据通信:实现计算机之间数据传输。是最基本,最重要的功能;
- 资源共享:包括硬件、软件、数据资源;
- 分布式处理:将某个复杂任务分配给网络中的多台计算机处理;
- 提高可靠性:网络中各台计算机互为替代机;
- 负载均衡:网络中各台计算机共同分担繁重工作;
- 其他:满足社会需求和生活需求;
数据交换技术
现代计算机网络技术诞生于20世纪60年代,APRAnet项目。数据通信的发展史:5世纪起兴起邮政网络,1830s出现电报网络,1870s出现电话网络。现代计算机发展初始,需要分析电报网络和电话网络的优缺点。
电话网络
电话网络采用电路交换技术,电路交换的步骤如下:
- 建立连接(尝试占用通信资源)
- 通信(一直占用通信资源)
- 释放连接(归还通信资源)
电路交换的优点:通信前从主叫端到被叫端建立一条专用的物理通路,在通信的全部时间内,两个用户始终占用端到端的线路资源。数据直送,传输速率高;
电路交换的确缺点:建立/释放连接,需要额外的时间开销;通信过程中线路被双方独占,录用率低;线路分配的灵活性差;交换结点不支持“差错控制”(无法发现传输过程中发生的数据错误);
电路交换更适用于低频次、大量地传输数据。但计算机之间的数据传输往往是“突发式”的传输,往往是高频词,少量传输数据。
电报网络
电报网络采用报文交换技术,报文交换采用存储转发思想,把传送的数据单元先存储进中间结点,再根据目的地址转发至下一结点。
报文交换的优点:
- 通信前无需建立连接;
- 数据以“报文”为单位被交换结点间“存储转发”,通信线路可以灵活分配;
- 在通信时间内,两个用户无需独占一整条物理线路,相比于电路交换,线路利用率高;
- 交换结点支持“差错控制”;
报文交换的缺点:
- 报文不定长,不方便存储转发管理;
- 长报文的存储转发时间开销大、缓存开销大;
- 长报文容易出错,重传代价高;
分组交换
计算机网络可以参考报文交换技术,但需要解决报文不定长的问题。所以出现了分组交换技术。把不定长的报文分成固定长度的组,包含:源地址、目的地址、分组号等。
在现代计算机网络技术中,路由器就是典型的分组交换机。
分组交换的优点:
- 通信前无需建立连接;
- 数据以“分组”为单位被交换结点间“存储转发”,通信线路可以灵活分配;
- 在通信时间内,两个用户无需独占一整条物理线路,相比于电路交换,线路利用率高;
- 交换结点支持“差错控制”;
相较于报文交换,分组交换改进了如下问题:
- 分组定长,方便存储转发管理;
- 分组的存储转发时间开销小、缓存开销小;
- 分组不易出错,重传代价低;
分组交换的缺点:
- 相比于报文交换,分组交换的控制信息占比增加了;
- 相比于电路交换,依然存在存储转发时延;
- 报文被拆分为多个组,传输过程中可能出现失序、丢失等问题,增加处理的复杂度;
电路交换 | 报文交换 | 分组交换 | |
---|---|---|---|
完成传输所需时间 | 最少(不包括建立/释放连接耗时) | 最多 | 较少 |
存储转发时延 | 无 | 较高 | 较低 |
通信前是否需要建立连接 | 是 | 否 | 否 |
缓存开销 | 无 | 高 | 低 |
是否支持差错控制 | 不支持 | 支持 | 支持 |
报文数据有序到达 | 是 | 是 | 否 |
是否需要额外的控制信息 | 否 | 是 | 是(控制信息占比大) |
线路分配灵活性 | 不灵活 | 灵活 | 非常灵活 |
线路利用率 | 低 | 高 | 非常高 |
计算机网络分类
按分布范围分类:
- 广域网(WAN:Wide Area Network)
- 城域网(MAN:Metropolitan Area Network):并入局域网范围探讨
- 局域网(LAN:Local Area Network):采用以太网技术
- 个域网(PAN:Personal Area Network):通常是用无线技术将个人设备连接起来,因此也称为无线个域网(WPAN)
如今局域网几乎都是采用以太网技术实现,因此“以太网”已经成为“局域网”代名词。局域网通过路由器接入广域网。
按传输技术分类:
- 广播式网络:当一台计算机发送数据分组时,广播范围内所有计算机都会收到该分组,并通过检查分组的目的地址决定是否接收该分组。所有的无线网络都是“广播式”;
- 点对点网络:数据只会从发送方“点对点”发送到接收方,精准送达。比如路由器转发的数据分组;
按拓扑结构分类:
- 总线形结构:数据“广播式”传输,存在“总线争用”的问题;比如集线器连接的设备;
- 环形结构:数据“广播式”传输,通过“令牌”解决总线争用问题,令牌顺着环形依次传递,拿到令牌者可以使用总线。如流行于上个世纪的令牌环网局域网技术;
- 星形结构:由中央设备实现数据的“点对点”传输,不存在“总线争用”问题,如以太网交换机连接的设备;
- 网状结构:数据通过各中间结点逐一存储转发;属于“点到点”传输。如众多路由器构建的广域网。
按使用者分类:
- 公用网———向公众开放的网络
- 专用网——仅供某个组织内部使用的网络
按传输介质分类
- 有线网络,如光纤、网线;
- 无线网络:如5G、WiFi、卫星;
计算机网络性能指标
速率、带宽、吞吐量
信道:表示向某一方向传送信息的通道,信道
速率:指连接到网络上的节点在信道上传输数据的速率。也称数据率、比特率、数据传输速率。
速率单位:bit/s、b/s、bps (每秒传输多少比特)
要注意B和b表示的不一样,1B=8b,有时候单位也会使用Bps、B/s;
要注意区分计网中的常用数量前缀和计组、操作系统中的数量前缀。
- 计网:千:k(
)、兆:M( )、吉:G( )、太:T( ); - 计组、操作系统等表示容量:K(
)、M( )、G( )、T( );
带宽是指某信道所能传送的最高数据率。单位也是bps;
在通信原理中,带宽也表示某信道允许通过的信号频带范围,单位Hz;
节点间通信实际所能到达的最高速率,由宽带、节点性能共同限制。不是带宽高了,传输速率就一定高。
吞吐量指单位时间内通过某个网络(或接口、信道)的实际数据率。单位也是b/s、B/s、MB/s;
吞吐量受带宽限制、受复杂的网络负载情况影响;
时延、时延带宽积、往返时延
时延:指数据(一个报文或分组、甚至比特)从网络(或链路)的一端传送到另一端所需的时间。也称延迟。
- 总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延
- 发送时延:又名传输时延,节点将数据推向信道所花的时间;
- 传播时延:电磁波在信道中传播一定距离所花的时间;
- 处理时延:被路由器处理所花的时间,比如分析首部、查找存储转发表;
- 排队时延:数据排队进入、排队发出路由器所花的时间
- 发送时延:又名传输时延,节点将数据推向信道所花的时间;
要注意区分传播时延 和 传输时延(发送时延)
时延带宽积 = 传播时延
时延带宽积表达的含义是一条链路中,已经从发送端发出但是还没有到达接收端的最大比特数。表现类似容量的概念。
往返时延:表示从发送方发送完数据,到发送方收到来自接收方的确认总共经历的时间。
往返时延 = t2 + t3 + t4 + t5. 不包括t1
信道利用率
信道利用率表示某个信道有百分之多少的时间是有数据通过的。
信道利用率 =
信道利用率不能太低,浪费资源;但信道利用率也不能太高,容易导致网拥塞。
分层结构
分层设计思想:将庞大而复杂的问题,转化为若干较小的局部问题。分层设计并不唯一,可以根据实际需求增加或减少层次。
网络的体系结构是计算机网络的各层及其协议的集合,就是这个计算机网络及其构件所应该完成的功能的精确定义(不涉及实现)。实现是遵循这种体系结构的前提下,用何种硬件或软件完成这些功能的问题。体系结构是抽象的,实现的具体的。
计算机常见的有三种网络体系结构:OSI参考模型(法律上的标准)、TCP/IP模型(事实上的标准)、五层模型(教学用标准)。
在计算机网络的分层结构中,第n层中的活动元素(软件+硬件)通常称为第n层实体。不同机器上的同一层称为对等层,同一层的实体称为对等实体。
网络协议是控制对等实体之间进行通信协议的规则的集合,是水平的。
接口即同一节点内相邻两层实体交换信息的逻辑接口,又称为服务访问点(SAP)。服务是指下层为紧邻的上层提供的功能调用,是垂直的。
数据组成:
- 协议数据单元(PDU):对等层次之间传送的数据单位。第n层的PDU记为n-PUD;
- 服务数据单元(SDU):为完成上一层实体所要求的功能而传递的数据。第n层的SDU记为n-SDU;
- 协议控制信息(PCI):控制协议操作的信息。第n层的PCI记为n-PCI;
- 三者关系:n-SDU + n-PCI = n-PUD = (n+1)SDU
协议的三要素: 1. 语法:数据与控制信息的格式。例如协议控制信息占几个字节、每个字节什么含义; 2. 语义:即需要发出何种控制信息、完成各种动作及做出何种应答; 3. 同步(或时序):执行各种操作的条件、时序关系等,即事件实现顺序的详细说明。例如发送方发完数据后需要立即应答,如果10s内没收到传输成功的应答,需要再次发送数据;
OSI参考模型
(口诀:物联网叔会使用)
层级 | 定义 | 功能 | 传输单位 |
---|---|---|---|
物理层 | 实现相邻节点之间比特的传输 | 1.需要定义电路接口参数(如形状、尺寸、引脚数) 2.需定义传输信号的含义、电气特征 |
比特 |
数据链路层 | 确保相邻节点之间的链路逻辑上无差错 | 1.差错控制:检查+纠错,或
检错+丢弃+重传; 2.流量控制:协调两个节点的速率; |
帧 |
网络层 | 把分组从源节点转发到目的节点 | 1.路由选择:构造并维护路由表,决定分组到达目的节点的最佳路径 2.分组转发:将"分组"从合适的端口转发出去; 3.拥塞控制:发现网络拥塞,并采取措施缓解拥塞 4.网际互联:实现异构网络互联 5.其他功能,包括差错控制、流量控制、连接建立与释放(确保分组有序不重复到达)、可靠传输管理(消息回应); |
分组 |
传输层 | 实现端到端的通信,即进程到进程的通信,这里的端指端口 | 1.复用和分用:发送端几个高层实体复用一条低层的连接,在接收端进行分用; 2.其他功能:差错控制、流量控制、连接的建立于释放、可靠传输管理 |
报文段 |
会话层 | 管理进程间会话 | 会话管理:采用检查点机制,当通信失效时从检查点继续恢复通信(断点续传) | 报文 |
表示层 | 解决两台主机上信息表示不一致的问题 | 数据格式转换,如编码转换、压缩/解压缩、加密/解密 | 报文 |
应用层 | 实现特定的网络应用 | 功能繁多,根据应用需求设计 | 报文 |
注意:数据链路层、网络层、传输层都有差错控制,这几个不一样。数据链路层传输数据的单位是"帧"、网络层传输数据的单位是"分组"、传输层传输数据的单位是报文段。一个分组由很多帧组成,报文段可以拆分成很多组。数据链路层确保帧的差错控制,网络层确保分组之间的差错控制,传输层确保报文段之间的差错控制。
TCP/IP模型
(口诀:接网叔用)
TCP/IP模型把表示层和会话层删去了,因为这两个层次并不是所有网络应用都需要的。如果某些应用需要数据格式转换、会话管理功能,就交给应用层的特定协议去实现。
TCP/IP在低层没有采用OSI中的物理层+数据链路层的模型,因为网络硬件种类繁多,不应该有过多的限制。TCP/IP模型低层为网络接口层,实现相邻节点间的数据传输(为网络层传输"分组")。但具体怎么传输不做规定。这使得T=CP/IP网络体系结构具有更强的灵活性、适应性。
TCP/IP模型的网络层去掉了OSI模型中网络层的差错控制、流量控制、可靠传输管理功能,传输层直接把报文段传递给网络层,由网络层拆分成不同分组,传递给网络接口层,再由网络接口层拆分为多个帧传输。因此网络接口层不完全可靠,因为它收到的分组有可能有差错。。这就是TCP/IP模型网络层特点:只保证尽最大能力交付数据,不保证数据可靠。网络层是网络的核心部分,这么做的优点是降低网络层功能复杂度,负载降低,造价降低。
TCP/IP模型中传输层来负责差错控制、流量控制、连接建立与释放、可靠传输管理,由它来保证传输的正确性、可靠性。TCP/IP模型把保证数据正确的功能全部交给传输层负责,压力给到网络的边缘部分(主机)。
OSI参考模型 | TCP/IP模型 | |
---|---|---|
网络层 | OIS网络层可以向上层提供: 1.有连接可靠的服务(虚电路); 2.无连接不可靠的服务(数据报) |
TCP/IP网络层仅向上提供:无连接不可靠的服务(数据报) |
传输层 | OSI传输层仅可向上提供有连接的可靠的服务 | TCPI/IP模型可向上层提供: 1.有连接可靠的服务(TCP协议); 2.无连接不可靠的服务(UDP协议) |