310 KiB
概述
计算机网络是互连(互联互通)、自治(无主从关系)的计算机集合。
计算机功能
- 数据通信。
- 资源共享(硬件、软件、数据)。
- 分布式处理。
- 提高可靠性。
- 负载均衡。
标准化
标准的分类
- 法定标准:由权威机构制定的正式合法的标准,如$OSI$。
- 事实标准:某些公司产品在竞争中占据主流,其产品的协议与技术就成为了标准,如$TCP/IP$。
工作阶段
$RCF$($Request For Comments$)因特网标准形式。
- 因特网草案($Internet,Draft$)。
- 建议标准($Proposed,Standard$)。
草案标准($Draft,Standard$)。- 因特网标准($Internet,Standard$)。
相关组织
- 国际标准化组织$ISO$:$OSI$、$HDLC$。
- 国际电信联盟$ITU$:制定通信规则。
- 国际电气电子工程师协会$IEEE$:$IEEE802$。
- 因特网工程任务组$IETF$:因特网标准制定。
计算机组成
- 组成部分:硬件、软件、协议。
- 工作方式:边缘部分(用户直接使用,包括$C/S$与$P2P$方式)、核心部分(为边缘部分服务)。
- 功能组成:通信子网(数据通信)、资源子网(资源共享数据处理)。
计算机分类
- 分布范围:广域网$WAM$(交换技术)、城域网$MAN$、局域网$WAN$(广播技术)、个人区域网$PAN$。
- 使用者:公用网、专用网。
- 交换技术:电路交换、报文交换、分组交换。
- 拓扑结构:总线、星型、环型、网状。
- 传输技术:广播式、点对点式。
电路交换
- 建立连接(电路建立)。
- 通信。
- 释放连接(拆除电路)。
链路支持多路复用(可参考数据链路层的$TDM$等)。
优点:
- 通信时延小,速度快。
- 有序传输。
- 无冲突争用。
- 实时性强。
缺点:
- 建立连接时间长。
- 线路独占,使用效率低。
- 灵活性较差。
- 不能流量控制。
- 无差错控制能力。
报文交换
报文:源应用发送的信息整体。
- 源先根据报文加上IP地址,物理地址等,通过物理层发送。
- 交换机收到报文之后,先进行存储,等待链路空闲之后进行转发,但是转发的路径不是固定的,是比较随机的。
- 最后通过许多交换机最终到达目的地。
优点:
- 无需建立连接。
- 存储转发,动态分配线路。
- 线路可靠性高。
- 线路利用率较高。
- 多目标服务。
缺点:
- 有存储转发时延。
- 报文大小不定,需要网络结点有较大的缓存空间。
所以报文交换不能应用于实时通讯,如电话,视频。
分组交换
将大的数据块分割为小的数据块。分组交换和报文交换基本相同,就是将报文切割之后再进行发送。
优点:
- 无需建立连接。
- 存储转发,动态分配线路。
- 线路可靠性高。
- 线路利用率较高。
- 分组大小一定,存储管理更容易。
- 分组更小,所以传输时延比报文交换的更小。
缺点:
- 有存储转发时延。
- 需要传输额外的信息量(编号、目的地址等)。
- 乱序到达目的主机时,需要对分组进行排序。
- 报文交换和分组交换都采用存储转发。
- 传输数据量大且传输时间远大于呼叫时间,就选择电路交换,其传输时延最小。
- 报文交换分组交换在信道利用率上优于电路交换。
分组交换传输方式
数据报和分组的关系:分组是一段比较长的数据,将它进行切割成一段段之后就得到数据报。其都是网络层的传输单位。
分组交换分为数据报方式和虚电路方式两种。
对于出错率高的线路应该使用数据报方式。
数据报方式
- 提供无连接服务,可随时发送和接受。
- 尽最大可能交付,所以不保证可靠性。
- 不事先为分组的传输确定传输路径,每个分组独立确定传输路径,不同分组传输路径可能不同,也不一定按序到达。
- 每个分组携带源和目的地址。
- 存储转换需要排队等待。当出现拥塞时会丢弃部分分组。
- 可及时更新转发表,适应性强。
- 时延小,提高吞吐量。
- 不单独占用信道,资源利用率高。
- 路由器根据分组的目的地址转发组:基于路由协议/算法构建转发表(目的网络地址与链路接口的散列对);检索转发表;每个分组独立选路。
虚电路方式
- 虚电路将数据报方式与电路交换方式结合。
- 虚电路是一条源主机到目的主机类似电路的逻辑连接,路径上所有结点都要维持该虚电路的建立,都维持一张虚电路表,每一项都记录一个打开的虚电路的信息。
- 虚电路方式提供连接服务,首先为分组的传输确定传输路径,然后沿该路径/连接传输系列分组,分组的传输路径相同,结束后拆除连接。
- 一条物理链路可能有多个逻辑电路。
- 虚拟电路包含临时和永久两种:
- 永久性虚电路$PVC$:是一种提前定义好的、基本上不需要任何建立时间的端点之间的连接。
- 交换型虚电路$SVC$:是端点之间的一种临时性连接,这些连接只持续所需的时间,并且在会话结束时就取消这种连接,B错误。
传输过程:
- 建立虚电路连接:每个分组携带虚电路标识($VCID$),而非目的地址,源主机发送呼叫请求分组并收到呼叫应答分组后才算建立连接。
- 数据传输:全双工通信。
- 释放虚电路连接:源主机发送释放请求分组以拆除虚电路。
优点:
- 虚电路通信链路建立拆除需要时间,不适合交互式和小量短分组,适合长时间频繁数据交换。
- 链路建立确定传输路径。
- 可靠通信,保证有序到达。
- 提供流量控制。
- 虚电路某点或某部分破坏,则会影响其他相关电路。
- 分组首部不包含目的地址,包含虚电路标识符,开销小。
| 数据报服务 | 虚电路服务 | |
|---|---|---|
| 建立连接 | 不用 | 必须 |
| 目的地址 | 每个分组都要有完成的目的地址 | 仅在建立连接时使用,之后每个分组使用较短的虚电路号 |
| 路由选择 | 每个分组单独进行路由选择与转发 | 属于同一条虚电路的分组按照同一个路由转发 |
| 分组顺序 | 不保证有序到达 | 保证有序到达 |
| 可靠性 | 不保证,可靠性依靠用户主机保证 | 保证 |
| 网络故障适应性 | 强 | 弱 |
| 差错控制和流量控制 | 用户主机完成 | 可由网络完成也可以由用户主机完成 |
性能指标
速率
数据传输率或比特率。是主机在数字信道上传输数据位数的额定理想速度。
$1Tb/s=10^3Gb/s=10^6Mb/s=10^9kb/s=10^{12}b/s$。
( 存储容量方面,$1Byte=8bit$,因为一个字节占八个比特位,所以一般都是以字节为单位。 $1TB=2^{10}GB=2^{20}MB=2^{30}KB=2^{40}B$。 )
带宽
网络中某点到另外一点所能通过的最高数据率,单位是b/s等。即网络设备发送的极限最高速率约束。
吞吐量
单位时间内通过某网络或信道接口的数据量,单位是$b/s$等。这是网络实际的平均速率。吞吐量受网络带宽的限制。
时延
是数据从网络的一端传送到另一端锁需要的时间,单位为$s$。时延=发送(传输)时延+传播时延+排队时延+处理时延。
- 发送时延:从发送分组的第一个比特开始到最后一个比特发送完毕的时间。发送时延=数据长度\信道带宽(发送速率)。
- 传播时延:数据在信道上传播的时间。传播时延=信道长度\电磁波传播速率。
- 排队时延:等待输入与输出链路可用的时间。
- 处理时延:检错数据与查找转发出口的时间。
时延带宽积
时延带宽积=传播时延×带宽,单位为$bit$。表示是以比特为单位的链路长度,即链路当前的数据比特容量。
往返时延RTT
从发送方发送数据开始,到发送方收到接收方的确认(假如收到数据立刻返回确认)总共经历的时延。
$RTT$越大,在收到确认前可以发送的数据越多。
$RTT$=往返传播时延+末端处理时延。
利用率
- 信道利用率:有数据通过时间\(有+无)数据通过时间。
- 网络利用率:信道利用率加权平均值。
利用率越高则时延越长,且加速度不断提高。
体系结构
分层原因
- 发起通信的计算机必须将数据通信的通路进行激活。
- 要告诉网络如何识别目的主机。
- 发起通信的计算机要查明目的主机是否开机,并且与网络连接正常。
- 发起通信的计算机要弄清楚,对方计算机中文件管理程序是否已经做好准备工作。
- 确保差错和意外可以解决。
分层结构概念
- 实体:第$n$层中的活动元素称为$n$层实体。同一层的实体就是对等实体。
- 协议:为进行网络中的对等实体数据交换而建立的规则、标准或约定。是水平方向的。
- 语法:传输数据的格式。
- 语义:所要完成的功能。
- 同步:各种操作的顺序。
- 接口(访问服务点$SAP$):上层使用下层服务的入口。
- 接口连接的是相邻层次。
- 服务:下层为相邻上层提供的功能调用。是垂直方向的。
- 上层使用下层提供的服务。
- 第$n$层向$n+1$层提供服务时,不仅包括第n层本身的功能,还包括下面所有层次所提供的所有功能。
- 本层所提供服务细节对上一层完全屏蔽。
- 服务类型:
- 面向连接和无连接。
- 可靠和不可靠。
- 有应答和无应答。
- $SDU$服务数据单元:为完成用户所要求的功能而应传输的数据。即要传输的目的数据。
- $PCI$协议控制信息:控制协议操作的信息。即协议控制头。
- $PDU$协议数据单元:对等层次之间传送的数据单位。
- $n+1$层的$PDU$作为第$n$层的$SDU$,在加上本层的$PCI$就变成了本层的$PDU$,然后交给$n-1$层。所以$(u+1)-PDU+n-SDU=u-SDU+n-PCI=n-PDU=(n-1)-SDU$。
- 物理层的$PDU$为比特,数据链路层的$SDU$为帧,网络层的$SDU$为分组,传输层的$PDU$为报文段。
OSI参考模型
为一个法定标准,但是没有实现。为$ISO$于$1984$年提出的开放系统互连模型。
| 名称 | 英文名 | 作用 |
|---|---|---|
| 应用层 | Application,Layer | 用户与网络的界面;直接为用户的应用进程(例如电子邮件、文件传输和终端仿真)提供服务;HTTP、SMTP、FTP、DNS |
| 表示层 | Presentation,Layer | 规范交换信息的表示方式;数据格式转换;加密和解密;数据压缩和恢复;JPEG、ASCII |
| 会话层 | Session,Layer | 负责在数据传输中建立和维护计算机网络中两台计算机之间的通信连接(会话);使用校验点同步(SYN)或恢复通信;ADSP、ASP |
| 传输层 | Transport,Layer | 负责端到端通讯;传输单位为报文段(TCP)或用户数据报(UDP);可靠传输,不可靠传输 ;差错控制;流量控制;复用分用;TCP、UDP |
| 网络层 | Network,Layer | 传输分组,传输单位是数据报或分组;路由选择;流量控制;差错控制;规划IP地址(ipv4和ipv6变化只会影响网络层);拥塞控制;网际互联;IP、ICP、IGMP、ARP、RARP、OSPF |
| 数据链路层 | Data,Link,Layer | 负责点到点通讯;将数据报组装成帧,传输单位为帧;成帧(帧的开始和结束);透明传输;差错校验(一般丢弃,纠错由传输层解决);流量控制;访问(接入)控制(控制信道的控制);SDLC、HDLC、PPP、STP |
| 物理层 | Physical,Layer | 简单将数据转变为物理电信号,在物理媒体上实现比特流的透明传输,传输单位为比特;定义接口特性;定义传输模式(单工、半双工、双工);定义传输速率;比特同步;比特编码;Rj45、802.3 |
端系统一般都是七层,而中间系统如路由器等最多只有三层。上面四层是端到端的通信,而下面三层是点到点的通信。
TCP/IP参考模型
先有协议栈才有参考模型。
OSI与TCP/IP的联系
- 应用层-应用层+表示层+会话层:$HTTP$、$FTP$、$DNS$。
- 传输层-传输层:$TCP$、$UDP$。
- 网际层-网络层:$IP$。
- 网络接口层-数据链路层+物理层:$Ethernet$、$ATM$、$Frame,Relay$。
面向连接与无连接
面向连接:
- 发出请求,建立连接。
- 传输数据。
- 释放连接。
无连接直接传输数据。
两个模型之间的连接区别:
| $OSI$参考模型 | $TCP/IP$模型 | |
|---|---|---|
| 传输层 | 面向连接 | 无连接+面向连接 |
| 网络层 | 无连接+面向连接 | 无连接 |
五层参考模型
应用层、传输层、网络层、数据链路层、物理层。