计算机网络(谢希仁第七版)
第一章
1.2 互联网概述
\quad
1.2.1 网络的网络
1.计算机网络:由若干结点和连接结点得链路组成,结点可以是计算机、集线器、交换机或路由器等。
2.互连网:网络之间通过路由器互连起来,构成更大得网络,因此是“网络的网络”。
3.基本概念:网络把许多计算机连接在一起,而互连网则把许多网络通过路由器连接在一起。与网络相连的计算机常称为主机。
\quad
1.2.2 互联网的发展(略)
\quad
1.3 互联网的组成
-
边缘部分:所有连接在互联网上的主机组成,是用户直接使用的。
-
核心部分:由大量网络和连接这些网络的路由器组成,为边缘部分提供服务的。
\quad
1.3.1 边缘部分
1.端系统:处在互联网边缘的部分是连接在互联网上的所有主机。
2.主机A和B通信:两个主机的进程进行通信。
3.客户服务方式(C-S)和对等方式(P2P):网络边缘的端系统之间的通信方式可以划分为两大类。
1)客户-服务器方式
主要特征:客户是服务请求方,服务器是服务提供方。
说明:客户和服务器本来都指的是计算机进程(软件)
2)对等连接方式(peer-to-peer)
本质:也可看成是客户-服务器方式,即同一台主机既可以是客户同时也是服务器。
\quad
1.3.2 核心部分
核心部分起特殊作用的是路由器,用于分组交换,任务是转发收到的分组。
1.电路交换的主要特点
过程:建立连接(占用通信资源)——》通话(一直占用通信资源)——》释放连接(归还资源)
特点:在通话的全部时间内,通话的两个用户始终占用端到端的通信资源。效率很低。
\quad
2.分组交换的主要特点
分组交换采用存储转发的技术,下图表示一个报文分成几个再传送。通常将发送的整块数据称为一个报文。
注意:路由器暂时存储的是一个短分组,而不是一个长报文。短分组是暂时在路由器的存储器(内存)中而不是磁盘中。分组交换在传送数据前不必先占用一条端到端的链路的通信资源。分组在哪段链路上传送才占用这段链路的通信资源。分组到达一个路由器后,先暂时存储下来,查找转发表,然后发出去。分组在传输时就这样一段一段地断续占用通信资源,而且还省去了建立连接和释放连接的开销,因而数据传输效率更高。
\quad
3.报文交换
电报通信也时是基于存储转发原理的报文交换。
归纳
电路交换:整个报文的比特流连续地从源点直达终点,好像在一个管道中传送。
报文交换:整个报文先传送到相邻结点,全部存储下来后查找转发表,转发到下一个结点。
分组交换:单个分组(这只是整个报文的一部分)传送到相邻结点,存储下来后查找转发表,转发到下一个结点。
\quad
1.4 计算机网络在我国的发展(略)
\quad
1.5 计算机网络的类别
1.5.1 按照网络的作用范围来进行分类
(1)广域网(WAN)
(2)城域网(MAN)
(3)局域网(LAN) : 校园网、企业网
(4)个人区域网(PAN): 无线个人区域网
\quad
1.5.2 按照网络的使用者分类
(1)公用网:公众使用
(2)专用网:军队等
\quad
1.5.3 用于把用户接入到互联网的网络
接入网:本地接入网、居民接入网。
\quad
1.6 计算机网络的性能
1.6.1 性能指标
1.速率:指数据的传送速率,它也称为数据率或比特率。单位为bit/s。
G = 10的9次方 T = 10的12次方 P = 10的15次方
2.带宽:
(1)本来指某个信号的频带宽度,单位为H、KH、MH、GH
(2)在计算机网络中,表示网络某通道传送数据的能力,单位时间内网络中某信道能通过的**“最高数据率”**。
3.吞吐量:表示单位时间内通过某个网络(接口、信道)的实际的数据量。
4.时延:指数据从网络的一段传送到另一端需要的时间
(1)发送时延(传输时延):主机或路由器发送数据帧所需要的时间。也就是从发送数据的第一个比特算起,到该帧最后一个比特发送完需要的时间。
特点:发生在机器内部的发送器中,与传输信道的长度没有 任何关系。
发
送
时
延
=
数
据
帧
长
度
(
b
i
t
)
发
送
速
率
(
b
i
t
/
s
)
发送时延 = \frac{数据帧长度(bit)}{发送速率(bit/s)}
发送时延=发送速率(bit/s)数据帧长度(bit)
(2)传播时延: 是电磁波在信道中传播一定距离需要花费的时间
特点:与信号的发送速率没关系,信号传送距离越远,传播时延越大。
传
播
时
延
=
信
道
长
度
(
m
)
电
磁
波
在
信
道
上
的
传
播
速
率
(
m
/
s
)
传播时延 = \frac{信道长度(m)}{电磁波在信道上的传播速率(m/s)}
传播时延=电磁波在信道上的传播速率(m/s)信道长度(m)
(3)处理时延:主机或路由器在收到分组时要花费一定时间进行处理,如分析首部等 。
(4)排队时延:分组进入路由器后,在输入队列中排队等待处理,路由器确定了转发接口后,在输出队列中排队等待转发。
总
时
延
=
发
送
时
延
+
传
播
时
延
+
处
理
时
延
+
排
队
时
延
总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延
总时延=发送时延+传播时延+处理时延+排队时延
\quad
5.时延带宽积
表示发送的第一个比特到达终点时,发送端已经发送的比特个数。
时
延
带
宽
积
=
传
播
时
延
×
带
宽
时延带宽积 = 传播时延 \times 带宽
时延带宽积=传播时延×带宽
\quad
6.往返时间RTT
\quad
7.利用率 :有信道利用率和网络利用率。
D
=
D
0
1
−
U
D = \frac{D_0}{1-U}
D=1−UD0
D表示网络当前时延、D0表示网络空闲时的时延、U表示利用率。信道或网络的利用率过高会产生非常大的时延。
\quad
1.7 计算机网络体系结构
\quad
1.7.1 网络体系结构组成
\quad
1.7.2 协议与划分层次
网络协议三要素:语法、语义、同步
\quad
1.7.3 五层协议
1)应用层
通过应用进程间的交互来完成特定网络应用,定义应用进程间通信和交互的规则。如域名系统DNS、万维网HTTP协议,SMTP协议等。
2)运输层
负责向两台主机中进程之间的通信提供通用的数据传输服务。主要有两种协议
-
传输控制协议TCP:提供面向连接的、可靠的传输,传输单位为报文、字节流
-
用户数据报协议UDP:无连接、尽最大努力的数据传输服务,传输单位为用户数据报、支持一对多、多对多、多对一的方式、不可靠、头部开销小,传输数据报文高效。
3)网络层
负责为分组交换网上的不同主机提供通信服务。
4)数据链路层
将网络层交下来的IP数据报组装成帧,在两个相邻结点之间的 链路上传送帧,如发现差错,链路层将简单地丢弃此错误帧。
5)物理层
传输地数据地单位是比特。
\quad
1.7.4 实体、协议、服务和服务访问点
实体:任何可发送或接收信息地硬件或软件进程。
协议:控制两个对等实体(多个实体)进行通信地规则地集合,两个对等实体间地通信使得本层能向上一层提供服务。要实现本层协议,还需要使用下面一层提供的服务。
协议与服务:协议是水平的,控制对等实体之间的通信,服务是垂直的,由下层向上层通过层间接口提供。
\quad
1.7.5 TCP/IP的体系结构
TCP/IP协议可以为各式各样的应用提供服务,也允许IP协议在各式各样的网络构成的互联网上运行。
\quad
\quad
\quad
第二章 物理层
2.1 基本概念
- 机械特性:接口所用接线器的形状和尺寸、引脚数目等
- 电气特性:接口电缆的各条线上出现的电压范围
- 功能特性:某条线上出现的某一电平的电压意义
- 过程特性:指明对于不同功能的各种可能时间的出现顺序
\quad
2.2 数据通信基础知识
\quad
2.2.1 通信系统模型
-
源点:设备产生要传输的数据。
-
发送器:典型的为调制器,源点生成的数字比特流要用过发送器编码后才能在传输系统传输。
-
接收器:接收传输系统传来的信号,并把它准换为能够被目的设备处理的信息。典型的为解调器。
-
终点:终点设备从接收器获取传送来的数字比特流,然后把信息输出。
\quad
2.2.2 信道的基本概念
- 单向通信:只能一边发,另一端收
- 双向交替通信(半双工):一边发,另一端收,或者反过来,不能同时
- 双向同时通信(全双工):两边同时发送或接收
\quad
2.2.3 信道极限容量
(1) 信道能通过的频率范围
在任何信道中,码元的传输速率是有上限的,传输速率超过此上限,就会出现严重的码间串扰的问题,使接收端对码元的判决(识别)成为不可能。
(2) 信噪比
信
噪
比
(
d
B
)
=
10
l
o
g
10
(
S
/
N
)
(
d
B
)
信噪比(dB) = 10 log_{10}(S/N)(dB)
信噪比(dB)=10log10(S/N)(dB)
信道极限信息传输速率为:
C
=
W
l
o
g
2
(
1
+
S
/
N
)
(
b
i
t
/
s
)
C = W log_2(1+S/N) (bit/s)
C=Wlog2(1+S/N)(bit/s)
信道的带宽或信道中的信噪比越大,信息的极限传输速率越高。
\quad
2.3 物理层下面的传输媒体
传输媒体分为导引型和非导引型
\quad
2.3.1 导引型传输媒体
- 双绞线:局域网间连接电脑,小于100m
- 同轴电缆:对铜芯线加装外导体屏蔽层以抗干扰
\quad
2.3.2 非导引型传输媒体
红外、激光等等
\quad
2.4 信道复用技术
2.4.1 频分复用、时分复用和统计时分复用
1)频分复用:所有用户在同样的时间占用不同的带宽资源
2)时分复用(同步时分复用):多有的用户在不同的时间占用同样的频带宽度
3)统计时分复用(异步时分复用):使用STDM帧来传送复用的数据,STDM帧按需要动态分配时隙。
\quad
2.4.2 波分复用
光的频分复用
\quad
2.4.3 码分复用
-
码分多址(CDMA):个各个用户经过特殊挑选的不同码型,因此各用户之间不会造成干扰。
-
码片:每一个比特时间再划分为m个短的间隔,例如指派给S站的m bit 码片序列为00011011,如S站要发送比特1,则发00011011,如果要发送0,则发送反码11100100,方便计算,1表示+1,而0表示-1。
-
两个不同站的码片序列正交:
S ⋅ T = 1 m ∑ i = 1 m S i T i = 0 S\cdot T = \frac{1}{m}\sum_{i=1}^mS_iT_i = 0 S⋅T=m1i=1∑mSiTi=0
2.5 数字传输系统
\quad
2.6 宽带接入技术
-
用户到互联网的宽带接入方法有非对称数字用户线ADSL,光纤同轴混合网HFC和FTTx。
-
为了有效利用光纤资源,在光纤干线和用户之间广泛使用无源光网络PON。无源光网络无需配备电源,其长期运营成本和管理成本都很低。最流行的无源光网络是以太网无源光网络EPON和吉比特无源光网络GPON。
\quad
\quad
\quad
第三章 数据链路层
3.1 点对点信道的数据链路层
3.1.1 数据链路和帧
- 链路:从一个结点到相邻结点的一段物理线路,中间无任何交换结点。
- 数据链路:必要的通信协议,把实现这些协议的硬件和软件加到链路上,构成了数据链路。
- 通信步骤:
- 结点A的数据链路层把网络层交下来的IP数据报添加首部和尾部封装成帧
- 结点A把封装好的数据帧发送到结点B的数据链路层
- 若结点B的数据链路层收到的帧无差错,则从收到的帧中提取出IP数据报交给上面的网络层;否则丢弃这个帧。
\quad
3.1.2 三个基本问题
-
封装成帧
- 概念:在一段数据的前后分别添加首部和尾部,用作帧定界,以此构成一个帧。
- 最大传送单元MTU:每一种链路层协议都规定了所能传送的帧的数据部分长度上限。
- 构成:首部为SOH,尾部为EOT,不完整则丢弃。
\quad
-
透明传输
-
概念:指不管所传数据是什么样的比特组合,都应当能够在链路上传送。所以当所传数据中的比特组合恰巧与某一个控制信息完全一样时,就必须采取适当的措施,使接收方不会将这样的数据误认为是某种控制信息。这样才能保证数据链路层的传输是透明的。例如下图:
-
字节填充:发送端的数据链路层的数据中出现控制字符时,在前面插入一个转义字符“ESC”。而接收端的数据链路层在送到网络层前将其删除。如下图:
-
\quad
-
差错检测
- 比特差错:一帧中,比特1变为0,或者0变为1。
- 误码率BER:一段时间内,传输错误的比特占所传输比特的总数的比率。
- 循环冗余检验(CRC):双方规定一个相同位数除数,例如四位数1101,则此时在发送前需要在传输的数据后添加 (4-1 = 3)三位0,并除以1101,此时得到的三位余数R,R称为帧检验序列(FCS),把得到的R添加到需要传输的数据后面(注意前面添加的三个0不要),并发送出去。接收端接收到数据后,以帧为单位进行CRC检验,就是每一帧除以约定的除数1101,如果余数为0,则正确,否则认为错误,丢弃此帧。
- 注意:"无比特差错"和"无传输差错"的区别,出现帧丢失、帧重复或帧失序都属于传输出错,因此CRC只能实现无比特差错传输,而不是可靠传输,需要实现可靠传输,还需要其他协议。
\quad
3.2 点对点协议PPP
3.2.1 PPP协议特点
- 概念:互联网用户需要接入某个ISP才能接入互联网,ppp协议是用户计算机和ISP进行通信时所使用的数据链路层协议。
- 特性:
- 简单
- 封装成帧
- 透明性
- 多种网络层协议:ppp协议必须能够在同一条物理链路上同时支持多种网络层协议
- 多种类型链路
- 差错检测
- 检测连接状态
- 最大传送单元
- 网络层地址协商
- 数据压缩协商
\quad
- ppp协议的组成:
- 一个将ip数据报封装到串行链路的方法,ppp支持异步链路和面向比特的同步链路
- 一个用来建立、配置和测试数据链路连接的链路控制协议LCP
- 一套网络控制协议NCP
\quad
3.2.2 PPP协议的帧格式
- 字段意义
-
字节填充
- 信息字段出现0x7E,变为0x7D,0x5E
- 信息字段出现0x7D,变为0x7D,0x5D
- 信息字段出现ASCII码控制字符(数值小于0x20),该字符前加入0x7D,同时改变该字符的编码,如0x03,变为0x7D,0x23。
-
零比特填充
- 在发送端,先扫描整个信息段,只要发现有5个连续1,则立即填入一个0。
\quad
- 在发送端,先扫描整个信息段,只要发现有5个连续1,则立即填入一个0。
3.2.3 PPP协议的工作状态
\quad
3.3 使用广播信道的数据链路层
3.3.1 局域网的数据链路层
- 局域网特点:网络为一个单位所拥有,且地理范围和站点数目均有限。
- 共享信道技术:
- 静态划分信道
- 动态媒体接入控制,为多点接入
\quad
3.3.2 CSMA/CD 协议
-
以太网采取的措施
- 无连接方式、不可靠
- 发送的数据使用曼彻斯特编码
-
协议要点
- 多点接入:总线型网络
- 载波监听:就是检测信道,发送前和发送后,每个站都必须不停检测信道
- 碰撞检测:边发送边监听
-
传播时延与载波监听
-
在使用CSMA/CD 协议,一个站只能进行半双工通信。
-
每一个站在自己发送数据后的一小段时间内,存在遭遇碰撞的可能性。
-
帧长度最小为64bit
-
-
强化碰撞:发生碰撞时,立即停止发送外,还要继续发送32bit或48bit的人为干扰信号,以便让所有用户都知道已经发生了碰撞。
-
以太网规定帧间最小间隔为9.6us。
-
协议要点归纳:
- 准备发送:从网络层获得分组,加首尾组成帧,放入适配器缓存,发送前检测信道
- 检测信道:忙则不停检测,空闲 ,并在96bit(9.6us)内信道保持空闲,发送帧
- 边发送边监听,有两种可能:
- 发送成功:争用期内没发生碰撞
- 发送失败:碰撞,停止发送,并人为发送信号,适配器执行指数退避算法,等待r倍512bit时间后,返回到检测信道,重传16次都不成功,则停止并向上报错
- 以太网每发送完一帧,需要把已发送的帧暂时保留一下,有可能发生碰撞,需要重传。
\quad
3.3.3 使用集线器的星形拓扑
- 集线器概念:
- 特点:
- csma/cd协议,半双工通信
- 一个集线器有多个接口
- 工作在物理层,简单地转发比特,不进行碰撞检测
- 可靠、采用专门芯片进行自适应串音回波
\quad
3.3.4 以太网的信道利用率
a = τ T 0 S m a x = T 0 T 0 + τ a = \frac{\tau}{T_0} \\ S_{max} = \frac{T_0}{T_0 + \tau} a=T0τSmax=T0+τT0
\quad
3.3.5 以太网MAC层
- MAC层硬件地址:适配器地址或者适配器标识符,局域网上每一台计算机固化在适配器上的ROM中的地址。
\quad
3.4 拓展的以太网
3.4.1 物理层拓展以太网
- 光纤:拓展主机和集线器之间的距离
- 多个集线器
\quad
3.4.2 数据链路层拓展以太网
- 以太网交换机
- 交换机的自学习
\quad
\quad
第四章 网络层
4.1 网络层提供的两种服务
\quad
4.2 网际协议IP
与IP协议配套使用的还有三个协议:
- 地址解析协议ARP
- 网际控制报文协议 ICMP
- 网际组管理协议IGMP
\quad
4.2.1 虚拟互连网络
- 四种不同的中间设备
- 物理层:转发器
- 数据链路层:网桥或桥接器
- 网络层:路由器
- 网络层以上的:网关
- 直接交付:不需要经过任何路由器,间接交付:经过路由器后交付
\quad
4.2.2 分类的IP地址
-
IP地址及其表示方法
- IP编制方法
- 分类的IP地址
- 子网的划分
- 构成超网
- IP编制方法
-
常用三种类别IP地址
-
IP地址特点
- IP地址时分等级的地址结构
- 标志着一台主机(或路由器)和一条链路的接口
- 用转发器或网桥连接起来的若干个局域网仍为一个网络
\quad
4.2.3 IP地址与硬件地址
- 物理地址:是数据链路层和物理层使用的地址,而IP地址是网络层和以上各层使用的地址,是一种逻辑地址(IP地址是软件实现的)
-
强调几点:
- 在IP层抽象的互联网上只能看到IP数据报
- 路由器只根据目的站的IP地址的网络号进行路由选择
- 在局域网的链路层,只能看见MAC帧
- 但IP层抽象的互联网却屏蔽了下层这些很复杂的细节,只要我们在网络层上讨论问题,就只能使用统一的、抽象的IP地址研究主机和主机或路由器之间的通信。
\quad
4.2.4 地址解析协议APP
- 解决:主机或路由器怎样知道应当在MAC帧的首部填入什么样的硬件地址?
\quad
4.2.5 IP数据报的格式
- 各字段的内容
- IP数据报首部的可变部分
\quad
4.2.6 IP层转发分组的流程
-
分组转发时,是从一个路由器转发到下一个路由器,每一条路由最主要的两个信息:
(目的网络地址,下一跳地址)
-
分组转发算法
- 从数据报的首部提取目的主机的IP地址D,得出目的网络地址为N
- 若N就是与此路由器直接相连的某个网络地址,则进行进行直接交付,不需要再经过其他的路由器,直接把数据报交付目的主机。
- 若路由表中有目的地址为D的特定主机路由,则把数据报传送给路由表中的所指明的下一跳路由器,否则执行(4)
- 若路由表中有到达网络N的路由,则把数据包传送给路由表中所指明的下一跳路由器,否则,执行(5)
- 若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器,否则,执行(6)
- 报告转发分组出错
\quad
4.3 划分子网和构造超网
4.3.1 划分子网
- 从两级IP地址到三级IP地址
- IP地址空间利用率有时很低
- 给每一个物理网络分配一个网络号会使路由变得太大因而使网络性能变坏
- 两级IP地址不够灵活
- 划分思路
- 子网掩码
- 概念:因为32位的IP地址本身以及数据报的首部都没有包含任何有关子网划分的信息。这就是子网掩码。
- 子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。
\quad
4.3.2 使用子网时分组的转发
使用划分子网后,路由表必须包含一下三项内容,目的网络地址、子网掩码和下一跳地址
\quad
4.3.3 无分类编址CIDR(构造超网)
- 网络前缀
\quad
\quad
第五章 运输层
5.1 运输层协议概述
5.1.1 进程间通信
- 运输层向它上面的应用层提供通信服务
- 从运输层来看,通信真正端点是主机和主机之间的进程
\quad
5.1.2 两个主要协议
- 用户数据包协议UDP
- 传输控制协议TCP
- 主要区别前面章节已归纳
\quad
5.4 可靠传输的工作原理
5.4.1 停止等待协议
- 无差错情况与有差错时的超时重传
- 确认丢失与确认迟到
- 连续ARQ协议
\quad
5.5 TCP报文段的首部格式
\quad
5.6 TCP可靠传输的实现
5.6.1 以字节为单位的滑动窗口
\quad
5.6.2 超时重传时间的选择
\quad
5.7 TCP流量控制
5.7.1 滑动窗口实现流量控制
- 流量控制:让发送方的发送速率不要太快,要让接收方来得及接收
- 发送方的发送窗口不能超过接收方给出的接受窗口的数值,TCP窗口的单位是字节,不是报文段
\quad
5.7.2 TCP传输效率
\quad
5.8 TCP拥塞控制
5.8.1 原理
- 某个时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络的性能就要变坏
- 拥塞控制:防止过多的数据注入网络中,使得网络中的路由器或链路不至于过载
- 流量控制往往是指点对点通信量的控制,端到端的问题
- 死锁:当提供的负载继续增大到某一数值时,网络的吞吐量就下降到零,网络无法工作
\quad
5.8.2 TCP拥塞控制方法
慢开始、拥塞避免、快重传、快恢复
-
慢开始:当主机开始发送数据时,由小到大逐渐增大发送窗口,也就是说由小到大逐渐增大拥塞窗口数值
-
拥塞避免:让拥塞窗口缓慢增大,经过一个往返时间RTT就把发送方的拥塞窗口增加1
-
快恢复:ssthresh = cwnd/2
-
快重传:发送方只要一连收到3各重复确认,就知道接收方确认没有收到报文段,因此立即进行重传
\quad
5.9 TCP的运输连接管理
5.9.1 TCP的连接建立
- 为什么A最后要发送一次确认:防止已失效的连接请求报文段突然又传送到了B,因而产生错误。
\quad
5.9.2 TCP连接释放
- 时间等待计时器:释放时,客户端等待2MSL后才关闭
- 保活计时器:服务器等待2小时,客户端没东西来,就停