文章目录
第一章 计算机网络和因特网
1.1 什么是因特网
因特网即“万网之网”,由相互连接的ISP(因特网服务提供商)组成。
具体而言,由计算机设备、通信链路和分组交换机构成。
它能1. 为应用程序提供服务,2. 为应用程序提供编程接口。
协议:定义了在两个或者多个通信实体之间交换的报文格式和次序,以及报文发送/接受一条报文或其他事件所采取的动作。
1.2 网络边缘
网络边缘由主机构成,主机又可分为客户端和服务器。
通信模型分为三种:
(1)客户端/服务模型(C/S)
(2)对等模型(P2P):所有主机同时承担服务器和客户机的双重身份
(3)混合模型:既有C/S模型,又有P2P模型
边缘路由器:端系统到任何其他远程端系统的路径上的第一台路由器。
接入网的作用:将网络边缘与网络核心连接起来,即将端系统物理连接到其边缘路由器。
常见的接入方式有:Modem拨号、ADSL(不对称数字用户线)、FTTH(光纤到户)、HFC(光纤和同轴电缆)混合网络、LAN(局域网接入)、无线接入。
物理媒体:比特信息从源到目的地传输,要经过多个“发射器-接收器”,每个发射器-接收器通过“物理媒介”来传播电磁波或光脉冲。
物理媒体的分类:(1)导引型媒体:信号沿着固体媒体被导引,如双绞线、同轴电缆、光缆。
(2)非导引型媒体:信号自由传播,如无线电、无线局域网、数字卫星等。
1.3 网络核心
网络核心由分组交换机和链路构成,交换机又可以分为路由器和链路层交换机。
为什么要分组:(1)提高传输质量,(2)提高传输效率,(3)链路利用率高
1.3.1 分组交换
分组:源将较长的报文划分成较短的、固定长度的数据段,称为分组。
每一个数据段前面要添加首部构成分组,分组交换网以“分组”为单位依次将分组发送给接收端。
接收端收到分组后去除首部并还原成报文。
传输速率R:假设一条链路发送 L b i t s L\ bits L bits的分组,传输速率为 R b i t s / s R\ bits/s R bits/s,则耗时 L R s \dfrac {L}{R}s RLs。
分组传输的模式:存储转发机制
存储转发:交换机在开始向输出链路传输分组的第一个比特之前,必须接收整个分组。
KaTeX parse error: Undefined control sequence: \ at position 114: … \ Rbps\quad\ \̲ ̲
在上图中,当源发送给路由器一个分组,耗时
L
R
s
\dfrac L Rs
RLs,因为有了存储转发机制,路由器在接收到分组的第一个比特时,不能立马向目的地发送比特信息,而是必须等到接收完一整个分组才能发送,所以从源到目的地耗时
2
L
R
s
2\dfrac L R s
2RLs。
一般地,若通过 N 条路径(即 N-1 个路由器),总时延 $d_{端到端}=N\dfrac L R $。
排队时延:分组交换机具有一个输出缓存,用来存放路由器准备传输出去的分组,如果路由器正在忙于传输其他分组,则到达的分组要在输出缓存中等待,产生的时延称为排队时延。
丢包:由于输出缓存大小有限,当缓存空间占满时要丢弃一部分分组,这种现象称为丢包。
1.3.2 电路交换
传统的电话网络就是电路交换的例子,在发送信息前,必须在发送方和接收方之间建立连接(端到端连接),这称为一条电路,发送方能以恒定速率向接收方传送数据。
电路交换分为频分复用(FDM)和时分复用(TDM)
频分复用:链路给每条电路创建一个专用的频段,该频段的宽度称为带宽。
时分复用:时间被划分为帧,每个帧又被划分为固定数量的时隙,一条电路的传输速率=帧速率 × \times × 一时隙中的比特数量。
分组交换支持的用户数量比电路交换要多
分组交换网络的缺点:
(1)分组交换因为又存储转发,所以时延可能比较大
(2)分组携带首部信息,带来额外开销
(3)整个分组交换网的管理和控制比较复杂
若要连续传输大量数据,且传送时间远远大于建立端到端连接的时间,则采用电路交换比较合适。
分组交换不需要预先分配带宽,传送突发数据可用分组交换提高信道利用率。
1.3.3 因特网的结构
端系统通过接入网ISP连接到网络,任意两个ISP必须互联,才能使任意两个端系统之间能够通信,那全球有上百万个ISP,如何让它们之间互联呢?
网络结构一:两两互联,共需要 C n 2 C_n^2 Cn2 条连接,实现起来不可能。
网络结构二:所有ISP连接到一个全球承载ISP(global ISP)上,这样会造成一家公司垄断。
网络结构三:在结构二的基础上增加了多个global ISP,这些global ISP之间必须互联,且不同的global ISP 之间可以通过因特网交互点(IXP)或者peering link 相连。
网络结构四:由于不是所有国家都有能力建造global ISP,所以划分出来更小的ISP,即regional net。
网络结构五:内容提供商(如google)有自己的网络 content provider network,构成了我们现在的因特网结构。
1.4 分组交换网中的时延和吞吐量
分组交换网中的时延分为四种时延,分别是处理时延、排队时延、传输时延和传播时延。
处理时延
d
p
r
o
c
d_{proc}
dproc:检测比特差错、确定输出链路而造成的时延
排队时延 d q u e u e d_{queue} dqueue:之前提到过,因为链路忙于传输其他分组而必须在输出缓存中等待产生的时延
传输时延 d t r a n s d_{trans} dtrans:将比特流注入链路所需要的时间,与链路带宽R和分组长度L有关, d p r o c = L R d_{proc}=\dfrac L R dproc=RL
传播时延 d p r o p d_{prop} dprop:从链路起点到终点在物理媒介中传输的时间,与链路长度L和在物理媒介中的传播速率v有关, d p r o p = d v d_{prop}=\dfrac d v dprop=vd
分组时延公式:
d
n
o
d
a
l
=
d
p
r
o
c
+
d
q
u
e
u
e
+
d
t
r
a
n
s
+
d
p
r
o
p
d_{nodal}=d_{proc}+d_{queue}+d_{trans}+d_{prop}
dnodal=dproc+dqueue+dtrans+dprop
假设链路带宽为
R
b
i
t
s
/
s
R\ bits/s
R bits/s ,分组长度为
L
b
i
t
s
L\ bits
L bits,平均分组到达的速率为 a,即每秒到达的分组个数,则流量强度表示为
L
a
R
\dfrac {La} R
RLa。
吞吐量:发送方和接收方之间数据传输的速率,分为瞬时吞吐量和平均吞吐量,单位一般为熟悉的
K
B
/
s
KB/s
KB/s。
每一段链路的吞吐量都不一样,端到端的吞吐量由路径上吞吐量最小的链路决定。
假设从源到目的有 i i i 段链路,第 i i i 条链路的吞吐量为 R i R_i Ri,则端到端的吞吐量等于 m i n { R i } min\{R_i\} min{Ri},瓶颈链路就是取到最小值 R i R_i Ri 所对应的链路。
1.5 协议层次和服务类型
层次:每个层次实现一种服务,依赖下一层提供的服务
优点:是处理复杂系统的有效方法,系统组件更新更容易
缺点:有冗余,某一层的功能需要其他层的信息
一些专业术语:
实体:任何可以发送和接收信息的硬件或软件进程
对等体:处于同一层的实体
协议 :+ 语法:即数据与控制信息的结构或格式
| 语义:即需要发现何种控制信息,完成何种动作以及做出何种应答
| 同步:即事件实现顺序的详细说明
服务:下层为上层提供的功能
协议栈:特定系统使用的一组协议
协议的分层
因特网的协议栈:
应用层:是网络应用程序以及它们的应用层协议存留的地方,信息分组称为报文,例如HTTP、SMTP、FTP
运输层:主机间的数据传输,在应用程序端点之间,信息分组称为报文段,例如TCP、UDP
网络层:将数据报从一台主机移动到另一台主机,如IP、路由协议
链路层:网络层中相邻节点之间的传输,分组称为帧,如PPP、以太网
物理层:将帧中一个个比特从一个节点移动到下一个节点,如双绞铜线、同轴电缆、光纤
OSI模型:在因特网协议栈的基础上添加了表示层和会话层。
表示层:允许应用程序解释数据的含义,如加密、压缩等
会话层:提供了数据交换的同步、定界、建立检查点和恢复的能力
计算机网络体系结构当中,数据从应用层出发,一层一层往下传,不断地添加首部对数据进行封装,传递到底层后通过不同协议传输给另一台计算机,另一台计算机则将信息不断往上传,最终发送给应用层。