第一章——计算机网络体系结构
1.1 计算机网络概述
1.1.1 计算机网络的概念
略
1.1.2 计算机网络的组成
组成部分
由硬件、软件、协议三大部分组成
- 硬件 :主机、光纤、交换机路由器等
- 软件 :各种软件
- 协议 :TCP、UDP等
工作方式
分为边缘部分和核心部分。
-
边缘部分
主机和服务器
-
核心部分
网络和连接这些网络的路由器
功能组成
分为通信子网和资源子网
-
通信子网
各种传输介质(电线、网络)通信设备(手机、电脑)和网络协议组成
-
资源子网
提供其他计算机上的硬件资源(如提供深度学习算力)软件资源(各种软件下载)和数据资源的服务
重点:资源子网包括硬件资源
1.1.3 计算机网络的功能
-
数据通信
最基本和最重要的功能
-
资源共享
包括软件、硬件和数据共享
-
分布式处理
-
提高可靠性
各个单独的主机通过网络可以存在多个替代机器
-
负载均衡
1.1.4 计算机网络的分类
1. 范围
- 广域网
- 城域网
- 局域网
- 个人局域网
广域网使用点对点网络(交换技术),局域网使用广播式网络(广播技术)
2. 传输技术
-
广播式网络
发送一个消息,所有人都能听到,根据信息决定是否接收信息
-
点对点网络
- 两台计算机中间通过物理线路连接
- 若没有物理线路,通过其他主机作为中间节点,接收存储和转发信息
3. 拓扑结构
-
总线
用一根线把所有计算机连起来。建网容易节省线路,但是通讯效率很低,因为一次只能传输一台主机的信息,其他主机决定是否接收
-
星形
所有主机都和一个中央设备相连(路由器)
-
环形网络
所有计算机连成一个环。环中信号单向传输
-
网状
每个结点至少有两个节点与其他节点相连
两个,就是一个边把数据传进来,一个边可以把数据传出去,
4. 使用者
公用网,专用网
5. 交换技术(重点)
-
电路交换技术
在起点和终点之间建立一条专用通路传输数据。
没有中转站,直接传输数据本身
优点:效率高,延时小
缺点:利用率低(没有数据传输的时候电路就空闲了),不便于纠错
-
报文交换网络
首先把数据包装成报文。报文是数据加上原地址、目标地址、校验码等辅助信息。
从起点开始,报文被发送给相邻结点。报文整个被相邻结点接收、存储后,查找转发表,再一起转发给下一个结点。
-
分组交换网络(包交换网络)
分组、包这两个是完全等价的概念
包相当于把一整个数据切割成很多小数据块,加上目标地址、校验码等辅助信息,发送方式和报文交换网络的形式一样。
6. 传输介质
有线网、无线网
1.1.5 计算机网络性能指标(重点)
1. 带宽
原意是通信线路允许信号通过的信号频率波段,Hz
现在表示通信线路的数据传输能力,等价于最高数据传输速率, 单位(b/s),
单位中是小写b的,都是以10次幂计算的 k=103, m=106
2. 时延
-
发送时延
一个包(分组),从电脑里发送到传输线路里的时间。重复一遍,是电脑里的数据发送到传输线路里的时间。
是包的第一个比特从电脑出去,到最后一个比特都进去线路所用的时间。
发送时延 = 分组长度 ( 包有多少比特 ) 信道宽度 ( 每秒能传多少个比特 ) 发送时延 = \frac {分组长度(包有多少比特)}{信道宽度(每秒能传多少个比特)} 发送时延=信道宽度(每秒能传多少个比特)分组长度(包有多少比特)
信道就是消息传播的通道,可以当做传输数据的电线(当然不一定是物理的线)信道宽度就是带宽,想象成电线的切面面积,一次能进去多少个比特
信道长度就是信道连接的两个结点之间的距离,电线有多长
-
传播时延
数据在信道上,从一端传到另一端用的时间
传播时延 = 信道长度 电磁波在信道上的传播速率 传播时延= \frac {信道长度} {电磁波在信道上的传播速率} 传播时延=电磁波在信道上的传播速率信道长度
电线的长度/电传导速度 -
处理时延
-
排队时延
题目里,通常只要前两个时延需要计算,如果有其他说明,再加上他说的时延
3. 时延带宽积
时延带宽积 = 传播时延 × 信道宽度 时延带宽积=传播时延 \times 信道宽度 时延带宽积=传播时延×信道宽度
按上面的例子,就是数据传播的时间,乘以电线的横截面积,
电线的横截面积传输bit的多少
也就是,时延带宽积表示信道可以容纳的比特数量
4. 往返时延(RTT)
从发出一个分组,到接收的确认,所历经的时延(时延是上面四个时延总和)
5. 吞吐量
单位时间接收到的数据量
6. 速率
数据传输速率,也叫比特率,最高数据传输速率就是带宽
某些时刻速率并达不到最高
7. 信道利用率
信道利用率 = 有数据通过的时间 有数据通过的时间 + 无数据通过的时间 信道利用率=\frac {有数据通过的时间} {有数据通过的时间 + 无数据通过的时间} 信道利用率=有数据通过的时间+无数据通过的时间有数据通过的时间
1.2 计算机网络体系结构与参考模型
1.2.1 计算机网络的分层结构
总结一下主要要点:
- 下层给上层提供服务,通过服务访问点进行交互
- 不同机器上的同一层称为对等层
- 数据单位,每一层名称、含义都各不相同,如物理层叫比特,数据链路层叫帧,网络层叫分组/包,传输成叫报文段
- 数据单位,全称协议数据单元,由两部分组成
- 服务数据单元(SDU),是真的数据
- 协议控制单元(PCI),是附加信息
- 合起来是协议数据单元(PDU)
- 两台主机通信时,对等层在逻辑上有一条直接信道,表现为不经过下层就直接把信息传递给对方
1.2.2 计算机网络协议、接口、服务的概念 (重点)
1. 协议
用于控制多个对等实体进行通信的规则。
由语法、语义、同步三部分组成
- 语法规定传输数据的格式
- 语义规定要完成的功能,需要发出什么控制信息,完成何种动作,返回什么应答
- 同步规定执行各种操作的条件和时序关系。
一个完整的协议通常有线路管理,差错控制,数据转换等功能
2. 接口
接口是同一结点内(网络的一端)相邻两层之间交换信息的连接点。典型的接口是SAP服务访问点。
3. 服务
下层为上层提供的功能调用。
对等实体在协议的控制下,使得本层能为上一层提供服务。
这句话说明,服务不是在一个结点里被调用的,是需要下层两个结点形成协议,下层的对等实体能独立的交流,这样下层才能给上层提供服务。
上层使用下层服务时,需要发送服务原语。
- 请求。上层发给下层
- 指示。下层发给上层
- 响应。上层发给下层
- 证实。下层发给上层
只有能被上层看见的才叫服务。
服务的分类:
-
面向连接服务和无连接服务
面向连接:分为连接建立、数据传输和连接释放三个阶段,保证可靠性,例如TCP
无连接:直接发送数据,不保证通信的可靠性,例如IP,UDP
-
可靠服务和不可靠服务
就是有没有纠错检错应答机制。
用户可以自行对不可靠服务发送的数据进行检查,让不可靠服务变成可靠服务
-
有应答服务和无应答服务
接收到数据是否给出应答。
WWW服务时无应答服务,文件传输服务时有应答服务(传输失败发送否定应答)
1.2.3 ISO/OSI和TCP/IP
OSI参考模型
OSI,开放系统互联参考模型
分为7层:
-
物理层
传输单位:比特
协议:物理层接口标准(物理层规程)
接口标注有:EIA-232C、EIA/TIA RS-449、CCITT的X.21等 -
数据链路层
传输单位:帧
主要功能:
- 成帧(该层的数据打包)
- 差错控制
- 流量控制
- 传输管理
- 广播式网络中,要考虑控制对共享信道的访问。有一个“介质访问子层”就是解决这个问题的
-
网络层
传输单位:数据报
主要任务:把包(分组)从起点送到终点
主要功能:
- 流量控制
- 差错控制
- 拥塞控制
- 网际互联
- 路由选择
主要协议:无连接的网际协议(IP, Internet Protocol),和路由选择协议
-
传输层
传输单位:报文段(TCP),用户数据报(UDP)
数据链路层提供点到点通信,传输层提供端到端通信
点到点:两个主机之间的通信
端到端:端,端口,port,两个主机之前的两个不同进程在通信
协议:TCP,UDP
-
会话层
Session
功能:为表示层实体之间或进程之间传输数据的有序性,也称建立同步
-
表示层
处理两个通信系统中交换信息的表示方式。
简单的说,把编码不同的数据进行标准编码,解码。压缩、加密等也是表示层的任务
-
应用层
最高层,用户直接看到的层,HTTP,FTP,SMTP这些协议。
TCP/IP
只有4层,但是实际上TCPIP并没有详细严谨的规定层的概念。
-
网络接口层
类似于OSI的物理层和数据链路层,向上传递IP分组
-
网际层
网际层将包发往任何网络,并选择合适的路由。网际层定义了标准的分组格式和协议
-
传输层
TCP和UDP
-
应用层
DNS,FTP,SMTP,HTTP
和上面的OSI都类似,故省略
易错点
ISO的网络层可以提供有连接和无连接的传输服务,但是传输层只能提供可靠的有连接服务
TCPIP的网络层只提供无连接的通信,传输层支持有连接和无连接两种方式
据进行标准编码,解码。压缩、加密等也是表示层的任务
-
应用层
最高层,用户直接看到的层,HTTP,FTP,SMTP这些协议。
TCP/IP
只有4层,但是实际上TCPIP并没有详细严谨的规定层的概念。
-
网络接口层
类似于OSI的物理层和数据链路层,向上传递IP分组
-
网际层
网际层将包发往任何网络,并选择合适的路由。网际层定义了标准的分组格式和协议
-
传输层
TCP和UDP
-
应用层
DNS,FTP,SMTP,HTTP
和上面的OSI都类似,故省略
易错点
ISO的网络层可以提供有连接和无连接的传输服务,但是传输层只能提供可靠的有连接服务
TCPIP的网络层只提供无连接的通信,传输层支持有连接和无连接两种方式