计算机网络1:计算机网络概述
1 计算机网络概述
1.1 计算机网路基本概述
计算机网络的两大基础:硬件、协议。
硬件包括主机、路由器、通信链路等是计算机网络的基础。
协议是计算机网络所有通信过程必须遵守的某种或某些规则。
定义:
网络协议,简称协议,是为进行网络中的数据交换而建立的规则、标准或约定。e.g., TCP, IP, HTTP, Skype, ...
协议规定了通信实体之间所交换的消息的格式、意义、顺序以及针对收到信息或发生的事件所采取的动作。
协议的三要素:
-
语法
- 数据与控制信息的结构或格式
- 信号电平
-
语义
- 需要发出何种控制信息
- 完成何种动作以及做出何种响应
- 差错控制
-
时序
- 事件顺序
- 速度匹配
1.2 计算机网络结构
1.网络边缘:
- 主机
- 网络应用
应用模型:
- 客户/服务器(client/server)应用模型:客户发送请求,接受服务器响应。e.g., Web应用,FTP应用。
- 对等(peer-peer, P2P)应用模型:无(或不仅依赖)专用服务器,且通信在对等实体之间直接进行。e.g., BT, Skype, QQ。
2.接入网络,物理介质:
- 有线或无线通信链路
可以分为住宅接入网络、机构接入网络、移动接入网络等。用户关心的是带宽和接入方式(独占/共享)。
典型接入网络:
- 数字用户线路(DSL/ADSL):电话线,独占。

- 电缆网络(HFC):有线电视,共享。

典型家庭网络的接入:

机构接入网络:

无线接入网络:

3.网络核心(核心网络):
-
互联的路由器(或分组转发设备)
关键功能:路由+转发——需要有路由表(本地转发表)。
路由(routing):确定分组从源到目的传输路径。
转发(forwarding):将分组从路由器的输入端口交换至正确的输出端口。
-
网络之网络

1.3 网络核心
数据交换:
问题:N链路问题、连通性、网络规模...
方案:引入交换设备 -> 交换网络
功能:
- 动态转接:在端口之间建立物理上或者逻辑上的连接,要求可以并行。
- 动态分配传输资源。
类型:
1.3.1 电路交换
三个阶段:建立连接(呼叫/电路建立),通信,释放连接(拆除电路)。
最典型——电话网络。
独占资源。

电路交换网络如何共享中继线?
——多路复用

-
过程
- 链路/网络资源划分为“资源片”
- 将资源片分配给各路“呼叫”
- 每路呼叫独占分配到的资源片进行通信
- 资源片可能闲置
-
典型方法
- 频分多路复用(FDM)

- 时分多路复用(TDM)

- 波分多路复用(WDM):就是光的频分复用


- 码分多路复用(CDM)


多个用户传输数据示例:用户1的码片序列S1=(1,1,1,-1,1,-1,-1,-1),发送的原始数据是{d1,d0}={-1,1},将它们相乘,再与用户2的向量叠加后进入信道传输;在接收端,譬如需要接收用户1的数据,则取用户1的码片序列S1=(1,1,1,-1,1,-1,-1,-1)与信道中的总信号P作内积,即可得到{d1,d0}={-1,1}.

1.3.2 报文交换
报文:源(应用)发送的信息整体。比如:一个文件。
1.3.3 分组交换
分组:报文分拆出来的一系列相对较小的数据包(头+数据)。
需要进行报文的拆分与重组 -> 需要额外开销
多路复用方法——统计多路复用:按需共享链路,对每个分组都带宽拉满。

交换方式:存储-转发方式。
- 报文交换与分组交换都采用存储-转发交换方式。区别是:报文交换以完整报文进行“存储-转发”;分组交换以较小的分组进行“存储-转发”。
分组交换的传输延迟(时延):
若每个分组为L bits,链路上的传输速率为R bits/sec,那么分组传输延迟为\(delay = \frac {L(bits)}{R(bits/sec)}\).
报文交换VS分组交换



分析:该例中报文交换时路由器必须有至少7.5Mbits的缓存,而分组交换只需要1500bits的缓存;报文交换在各个节点间的传输是串行的,而分组交换可以并行进行。因此分组交换已经大量使用。
分组交换的报文交付时间:

例题1.1


分组交换VS电路交换


1.4 计算机网络性能
1.4.1 速率
速率即数据率或称数据传输速率或比特率。
- 单位时间(秒)传输信息(比特)量
- 计算机网络中最重要的一个性能指标
- 单位:b/s(或bps)、kb/s、Mb/s、Gb/s...(k=103、M=106、G=109)
1.4.2 带宽
“带宽”原指信号的频带宽度,单位是赫兹。网络的“带宽”通常是数字信道所能传送的“最高数据率”,单位b/s.
1.4.3 延迟/时延

四种分组延迟:
- 节点处理延迟
- 排队延迟
- 传输延迟
- 传播延迟



1.4.4 时延带宽积
相当于以比特为单位的链路长度。

1.4.5 分组丢失(丢包)

1.4.6 吞吐量/率



1.5 计算机网络体系结构
计算机网络是一个非常复杂的系统,涉及许多组成部分,e.g.,主机、路由器、各种链路、应用、协议、硬件软件……
Q:是否存在一种系统结构有效描述网络?
-- 分层结构
计算机网络体系结构是从功能上描述计算机网络结构的。
每层遵循某个/些网络协议完成本层功能。
体系结构是抽象的。
Q:为什么采用分层结构?
-- 结构清晰,有利于识别复杂系统的部件及其关系;模块化的分层易于系统更新、维护;有利于标准化。

1.5.1 OSI参考模型
开放系统互连(OSI)参考模型是于1984年提出的分层网络体系结构模型。
- 目的是支持异构网络系统的互联互通。
- 是异构网络系统互联的国际标准。
- 是理解网络通信的最佳学习工具。(理论模型)
一共7个层次:

OSI参考模型解释的通信过程:

实线:实通信路线。虚线:对等层之间交换数据的示意。
协议是水平对等的,数据传输时纵向的。
数据封装:

-
增加控制信息,构造协议数据单元(PDU),包括:
地址:标识发送/接收端;
差错检测编码:用于差错检测或纠正;
协议控制:实现协议功能的附加信息,如优先级、服务质量、安全控制等。
1.5.1.1 物理层
简单来说,其功能就是实现在物理介质上进行每一比特的传输。

- 定义一些接口特性:机械特性、电气特性、功能特性、规程特性。
- 定义一些比特编码。
- 定义一些数据率。
- 解决比特同步:时钟同步。
- 定义传输模式:单工、半双工、全双工。
1.5.1.2 数据链路层
简单来说,其功能是结点与结点之间的数据传输(以帧的形式)。

- 组帧:加头加尾,譬如头加上地址,尾加上差错检测,还要保证能拆分出每一帧。
- 物理寻址:在帧头中增加发送端和/或接收端的物理地址标识数据帧的发送到和/或接收端。

- 流量控制:控制发送和接收速度,避免淹没接收端。
- 差错控制:检测并重传损坏帧或丢失帧,并避免重复帧。
- 访问(接入)控制:在任一给定时刻决定哪个设备拥有链路(物理介质)的控制使用权。
1.5.1.3 网络层
简单来说,其功能是负责源主机到目的主机数据分组(packet)的交付。

可能穿越多个网络,因此必须需要逻辑寻址。
- 逻辑寻址:全局唯一逻辑地址,确保数据分组被送达目的主机,如IP地址。
- 路由:路由器互连网络,并路由分组至最终目的主机;路径选择。
- 分组转发:网络层的逻辑地址一直不变。

1.5.1.4 传输层
简单来说,其功能是负责源-目的(端-端)(进程间)完整报文的传输。
将会话层传来的完整报文分割成段(segments),再交给网络层进行传输。

-
分段与重组
-
SAP寻址
- 确保将完整报文提交给正确进程,如端口号

-
连接控制:是一种逻辑连接。
-
流量控制:匹配数据发送和接收速度等。
-
差错控制:引入差错编码等。
1.5.1.5 会话层
接收来自表示层的协议数据单元,构造会话层的协议数据单元,然后发给传输层,只会在数据中插入一些控制信息。

- 对话控制:对话的建立、维护
- 同步:在数据流中插入“同步点”(如果数据传输在某个同步点附近中断了,下次恢复的时候只需恢复到最近的同步点)
1.5.1.6 表示层
处理两个系统间交换信息的语法和语义问题

-
数据表示转化
- 转换成主机独立的编码
-
加密/解密
-
压缩/解压缩
1.5.1.7 应用层

各个应用遵循应用层协议处理用户数据(可能会加控制信息),构造出应用层的协议数据单元,交给表示层。
- 支持用户通过用户代理(如浏览器)或网络接口使用网络服务
- 典型应用层服务:
- 文件传输(FTP)
- 电子邮件(SMTP)
- Web(HTTP)
1.5.2 TCP/IP参考模型
4层参考模型:


展开为5层参考模型:

传输过程:

-
源主机:[应用层]-报文 -> [传输层]-构造段,添加段头 -> [网络层]-加上头,构造数据包 -> [链路层]-加头加尾,构造数据帧 -> [物理层]-将数据帧以比特传输到交换机。
-
交换机:物理层到链路层,发送给路由器。
-
路由器:接收到帧以后,还原到[链路层]-去掉帧头帧尾 -> 还原到[网络层]数据报,交换转发时再一次封装成数据帧,从特定端口发送给目的主机。
-
目的主机:与源主机过程相反。
1.6 计算机网络发展历史




