【计算机网络(上篇)】计算机网络基础
用MarkDown写出漂亮的数学公式,参考:
计算机网络7层结构
- 应用层
应用层(application-layer)的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程(进程:主机中正在运行的程序)间的通信和交互的规则。对于不同的网络应用需要不同的应用层协议。在互联网中应用层协议很多,如域名系统 DNS,支持万维网应用的 HTTP 协议,支持电子邮件的 SMTP 协议等等。我们把应用层交互的数据单元称为报文。- 运输层
运输层(transport layer)的主要任务就是负责向两台主机进程之间的通信提供通用的数据传输服务。应用进程利用该服务传送应用层报文。“通用的”是指并不针对某一个特定的网络应用,而是多种应用可以使用同一个运输层服务。
由于一台主机可同时运行多个线程,因此运输层有复用和分用的功能。所谓复用就是指多个应用层进程可同时使用下面运输层的服务,分用和复用相反,是运输层把收到的信息分别交付上面应用层中的相应进程。- 网络层
在计算机网络中进行通信的两个计算机之间可能会经过很多个数据链路,也可能还要经过很多通信子网。网络层的任务就是选择合适的网间路由和交换结点, 确保数据及时传送。在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组和包进行传送。在 TCP / IP 体系结构中,由于网络层使用 IP 协议,因此分组也叫 IP 数据报,简称数据报。- 数据链路层
数据链路层(data link layer)通常简称为链路层。两台主机之间的数据传输,总是在一段一段的链路上传送的,这就需要使用专门的链路层的协议。在两个相邻节点之间传送数据时,数据链路层将网络层交下来的 IP 数据报组装成帧,在两个相邻节点间的链路上传送帧。每一帧包括数据和必要的控制信息(如:同步信息,地址信息,差错控制等)。
在接收数据时,控制信息使接收端能够知道一个帧从哪个比特开始和到哪个比特结束。这样,数据链路层在收到一个帧后,就可从中提出数据部分,上交给网络层。控制信息还使接收端能够检测到所收到的帧中有无差错。如果发现差错,数据链路层就简单地丢弃这个出了差错的帧,以避免继续在网络中传送下去白白浪费网络资源。如果需要改正数据在链路层传输时出现差错(这就是说,数据链路层不仅要检错,而且还要纠错),那么就要采用可靠性传输协议来纠正出现的差错。这种方法会使链路层的协议复杂些。- 物理层
在物理层上所传送的数据单位是比特。物理层(physical layer)的作用是实现相邻计算机节点之间比特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异。使其上面的数据链路层不必考虑网络的具体传输介质是什么。“透明传送比特流”表示经实际电路传送后的比特流没有发生变化,对传送的比特流来说,这个电路好像是看不见的。
基础知识
计算机网络的分类
按照网络的作用范围:
广域网(WAN)、城域网(MAN)、局域网(LAN);
按照网络使用者:
公用网络、专用网络。
按传输技术分类
- 广播式网络:所有联网计算机都共享一个公共通信通道。
- 点对点网络:每条物理线路连接一对计算机
按拓扑结构分类
网络拓扑结构:由网中节点(路由器、主机等)与通信线路(网线)之间的几何关系表示的网络结构,主要指通信子网的拓扑结构。
- 总线型网络:用单根传输线把计算机连接起来。
优点:建网容易、增/减节点方便、节省线路
缺点:重负载时通信效率不高、总线任意一处对故障敏感- 星形网络:每个终端或计算机都以单独的线路与中央设备相连。中央设备早期是计算机,现在是路由器或交换机。
优点:便于集中控制和管理
缺点:成本高、中央设备对故障敏感- 环形网络:所有计算机接口设备连接成一个环。最经典的例子——令牌环局域网,环可以是单环也可以是双环,环中信号单向传输。
- 网状网络:一般情况下,每个节点至少有两条路径与其他节点相连,多用于广域网。有规则型和非规则型两种。
优点:可靠性高
缺点:控制复杂、线路成本高
计算机网络的性能指标
速率:bps=bit/s
带宽(单位赫兹Hz)
- 在通信领域中,带宽是指信号的构成频率中,最高频率和最低频率的差值。
- 在计算机网络中,带宽是指 数字信道中所能传输的“
最高数据率
”。
时延:发送时延、传播时延、排队时延、处理时延
- 发送时延(也叫传输时延)
- 传输延迟:在路由器中发送一整个分组需要的时间。
- 发送时延 = $$ \frac{数据帧长度(bit) }{发送速率(bit/s)}$$
- 传播延迟:信号从这一个节点到下一个节点所需要的时间,也就是在介质中传输需要的时间。
- 传播延迟 = $$\frac{信道长度}{电磁波在信道上的传播速度(m/s)}$$
- 自由空间:
3x108 m/s
- 铜线:
2.3x108 m/s
- 光纤:
2.0x108 m/s
- 自由空间:
- 传播延迟 = $$\frac{信道长度}{电磁波在信道上的传播速度(m/s)}$$
- 排队时延:(很少涉及)
- 处理时延: 处理时延指的是主机或者路由器早收到分组信息时花费的时间。
- 发送时延(也叫传输时延)
往返时间
- RTT(Round-Trip Time) 往返时间表示从发送端将数据发送到传播媒介开始,到发送端收到来自接收端的确认总共经历的时间(不包含发送时延)。
- RTT由三部分决定:链路的传播时间、末端系统的处理时间、路由器的缓存中的排队和处理时间。RTT的变化在一定程度上反映了网络拥塞程度的变化。
利用率(利用率分为信道利用率和网络利用率:)(⭐️)
- 信道利用率:用来表示某信道有百分之几的时间是被利用的;
- (当某信道的利用率增大时,该信道引起的时延也会迅速增加。)
- 网络利用率:全网络的信道利用率的加权平均。
- 信道利用率:用来表示某信道有百分之几的时间是被利用的;
丢包率(丢包率即分组丢失率,指在一定的时间范围内,传输过程中丢失的分组数量和总分组数量的比率。)
分组丢失主要有两种情况:
分组在传输过程中出现误码,被结点丢弃。主机发送的分组在传输过程中出现了误码,当分组进入传输路径中的结点交换机后,被结点交换机检测出了误码,进而被丢弃。
分组到达一台队列已满的分组交换机时被丢弃。在通信量较大时可能造成网络拥塞,路由器会根据自身的拥塞控制方法,在输入缓存还未满的时候就主动丢弃分组。
丢包率反映了网络的拥塞情况:无拥塞时路径的丢包率为0,轻度拥塞时路径丢包率为1% ~ 4%,严重拥塞时路径丢包率为5% ~ 15%。
计算机网络功能
1)数据通信
最基本也是最重要的功能,用来实现联网计算机之间各种信息的传输,并将分散到不同地理位置的计算机,进行统一的调配、控制和管理。
如:文件传输、电子邮件等。
2)资源共享
可以是软件共享、数据共享,也可以是硬件共享。它使计算机网络中的资源互通有无,分工合作,从而大规模地提高硬件资源、软件资源和数据资源的利用率。
3)分布式处理
党计算机网络中的某个计算机系统负荷过重时,可以将其处理的某个复杂任务分配给网络中的其他计算机系统,从而利用空闲计算机资源以提高整个系统的利用率。
4)提高可靠性
计算机网络中的各台计算机可以通过网络互为替代机。
5)负载均衡
将工作任务均衡地分配给计算机网络中的各台计算机。
计算机接口、协议、服务
基本原则:
1、各层之间相互独立,每层只能实现一种相对独立的功能
2、每层之间界面自然清晰,易于理解,交流简节
3、结构上可以隔开,每层采用最合适的技术实现
4、上层对下层独立,上层单向使用下层提供的服务
5、整个分成结构能促进标准化工作
建模
计算机网络体系结构的各个层次中,每个报文都分为两部分:一是数据部分,即SDU;二是控制信息部分,即PCI;
PCI 和 SDU共同组成PDU
SDU服务数据单元:为完成用户所要求的功能而应传送的数据
PCI协议控制信息:控制协议操作的信息
PDU协议数据单元:对等层次之间传送的数据单元
计算机网络协议、接口、服务的概念
实体:第n层中的活动元素称为n层实体,同一层的实体称为对等实体
协议:为网络中的对等实体数据交换而建立的规则、标准或约定——水平结构对等层次
- 协议三要素:语法、语义、同步
接口(访问服务点SAP):下层使用上层服务的入口
服务:下层为相邻上层提供的功能调用——垂直结构
1)协议
规则的集合。
这些规则明确规定了所交换的数据的格式及有关的同步问题。这些为进行网络中的数据交换而建立的规则、标准或约定称为网络协议,它是控制两个(或多个)对等实体进行通信的规则的集合,是水平的。
它由语法、语义和同步三部分组成:
- 语法:规定了传输数据的格式
- 语义:规定了所要完成的功能,即要发出何种控制信息、完成何种动作及做出何种应答
- 同步:规定了执行各操作的条件,时序关系等,即事件实现顺序的详细说明
一个完整的协议应具有线路管理(建立、释放连接)、差错控制、数据转换等功能。
2)接口
同一节点内相邻两层间交换信息的连接点,是一个系统内部的规定。
每层只能为紧邻的层次之间定义接口,不能跨层定义接口。
在典型的接口上,同一节点相邻两层的实体通过服务访问点(SAP,服务是通过SAP提供给上层使用的)进行交互。每个SAP都有一个能识别它的地址。SAP是一个逻辑接口(类似邮政信箱)。
3)服务
下层为紧邻的上层提供的功能调用,是垂直的。实现本层的协议需要调用下一层所提供的服务。
使用服务时上层必须和下层交换一些命令(在OSI参考模型中称为服务原语),原语可划分为4类:
- 请求:由服务用户发往服务提供者,请求完成某项工作。
- 指示:由服务提供者发往服务用户,指示用户做某事。
- 响应:由服务用户发往服务提供者,作为对指示的响应。
- 证实:由服务提供者发往服务用户,作为对请求的证实。