计算机网络 自顶向下方法 学习笔记 第一章

第一章 计算机网络和因特网

1.1 什么是因特网

1.1.1 网络

网络是一个笼统的称呼,包含节点(节点和边的形状大小并不会影响网络的结构)。

网络可以是人际网、情报网、神经元网络甚至是蜘蛛网。


1.1.2 计算机网络

联网的计算机构成的系统;由节点和边构成的系统叫作计算机网络

计算机网络中的节点包含:

  1. 主机及其上运行的应用程序
  2. 路由器、交换机、高层的负载均衡设备等网络交换设备(数据交换或中转节点)

Small Tip:一般情况下在绘制简易图象的时候,将主机画为长方形,将交换机路由器等画为圆形

数据交换节点不是数据的源,也不是数据的目标,它只负责转发数据。通过中转节点的配合实现从源节点到目标节点的传输

计算机网络中的边成为通信链路,通信链路分为:

  1. 接入网链路(access):主机链接到互联网的链路
  2. 主干链路(backbone):路由器之间的链路或路由器和交换机之间的链路

所有连入因特网的设备都叫做主机或者端系统

端系统通过通信链路分组交换机连接到一起。

端系统之间发送数据时,发送端系统将其数据分成一段一段,然后加上必要的信息后形成一个个的数据包,这个数据包用术语来说叫分组。于是分组=用户数据+必要信息。此外,从发送端系统到接收端系统,一个分组所经历的一系列通信链路和分组交换机称为通过该网络的路径

端系统通过因特网服务提供商(Internet Service Provider,简称ISP)接入因特网

通信链路不仅仅是“网线本身”,还包含了支持它们运转的链路层的协议等。通信链路最重要的指标是它的传输速率:带宽(bps)意为每秒传输的位。

不同的链路能够一不同的速率传输数据,链路的传输速率(transmission rate)以比特/秒(bps)度量。


1.1.2.1 计算机网络的分类

  • 按传输介质:
    1. 有线网络
    2. 无线网络
  • 按大小和规模划分
    1. 最小的计算机网络:PAN(Personal Area Networks)覆盖的范围1米左右
    2. 局域网:LAN(Local Area Networks)覆盖范围一公里左右
    3. 城域网:MAN(Metroplitan Area Networks)覆盖范围十公里左右
    4. 广域网:WAN(Wide Area Networks)覆盖范围约100/1000公里
    5. 互联网:Internet覆盖范围为全球

这里提到的距离不是绝对的,判断网络类型的绝对因素是其是否具有对应网络类型的特征以及是否采用对应技术


1.1.3 互联网(从具体构成角度了解Internet)

TCP/IP协议为主的一小簇协议来支撑Internet工作。

互联网的节点: PC、sever、wireless laptop、iPad、smartphones等数以十亿计的互联的计算设备。

端系统(主机,host,end system)组成部分一共有三个

  1. 设备本身
  2. 支持设备进行网络通信的操作系统
  3. 在操作系统上驻留运行的应用程序

包含(举例):光纤、同轴电缆、无线电、卫星等。


1.1.4 协议

定义: 对等层实体 在通信过程当中应当遵守的规则的集合,包括(语义、语法、时序

对等层实体:在网络体系结构中,通信双方实现同样功能的层。(源端系统对目标端系统、源节点TCP传输层协议对目标节点传输层TCP协议)
语义、语法、时序:表明传输过程中传输内容和接收内容必须保证完全一致,不能存在重复、遗漏、倒叙等引发其他情况发生
协议定义了在两个或多个通信实体之间交换的报文格式和次序,以及在报文传输/接收或其他事件方面采取的动作

协议可以控制发送/接收消息(TCP、IP、HTTP、FTP、PPP);协议是支撑互联网工作的最重要的标准;不同生产商根据协议生产网络设备,不同厂商间的设备通过遵守相同协议的网络实体可以实现无差别互操作或互联。

Internet 中所有行为都要受到协议的制约。网络之间可以互联;网络中也可以包含更小的网络。


1.1.5 Internet 标准

  1. RFC(Request for Comments)文档:请求评述
  2. IETF(Internet Engineering Task Force):互联网工程任务组

互联网中所有网络协议标准都会以RFC文档的形式在IETF官网发布。


1.1.6 从服务角度了解Internet

应用进程借助于本机操作系统提供的网络API可以和对方的应用进程进行通讯。

与因特网相连的端系统提供了一个套接字接口(socket interface),该接口规定了运行在一个端系统上的程序请求因特网基础的设施向运行在另一个端系统上的特定目的的程序交付数据的方式。

  1. 使用通信设施进行通信的分布式应用(Web、VoLP、email、分布式游戏、电子商务、社交网络)

可以说,分布式应用是网络存在的理由,同时Internet可以为分布式应用提供通信服务的基础设施

  1. 通信基础设施位App提供编程接口API(通信服务)
    • 将发送和接收数据的App与互联网连接起来
    • 为App应用提供服务选择,类似于邮政服务

服务选择一般分为两种:

  1. 无连接不可靠服务(UDP)
  2. 面向连接的可靠服务(TCP)

具体的服务选择方式参考实际情况,毕竟不同的通信传输服务在速率、丢包率上的实际反应是不相同的。


1.2 网络边缘

1.2.1 互联网子系统

根据组成类型可以将互联网分成一个个子系统,其中最主要的三个子系统分别是:网络边缘、网络核心和网络接入。(也称边缘系统、接入系统和网络核心)

网络边缘(edge)包含:主机、应用程序(客户端和服务器)
网络边缘上存在网络应用,是网络存在的理由;网络应用和另外一个分布式应用之间要交换报文来实现各种各样的网络应用。

网络核心(core)包含:互联的路由器或交换机、网络的“网络
网络核心主要负责整体的数据交换,实际上是由数百万个数据节点、路由器、交换机构成的分布式系统

** 接入网、物理媒体**(access)包含:有线或者无线通信链路
接入网是将网络边缘接入到网络核心,由网络核心跟其他边缘系统之间的关联,从而把数据发送给目标主机

互联网系统

接入系统:把边缘系统的主机或端系统接入到核心中。交换节点和交换节点之间的链路可以被两个不同的端系统通讯复用,形成一个相对高效的有效通信网络。

网络核心的实质作用是数据交换,源主机或端系统发出去,正确的目标主机或端系统可以准确收到对应报文;主要作用是:一个大型的、全球节点之间的瞬时切换开关进行数据交换;工作原理是:由无数个小的交换机以及连接它们的链路相互构成的分布式系统,由它们的相互配合来完成由源主机向目标主机的发送和接收。


1.2.1 网络边缘的定义和应用进程间的通信模式

端系统(主机)的作用:

  1. 运行应用程序
  2. Web,E-mail
  3. 在“网络的边缘”

应用进程间的通信模式:

  1. C/S模式(客户/服务器模式)
    • 客户端向服务器请求、接收服务
    • 如Web浏览器/服务器;email客户端/服务器
      (服务器先进行运转,守候在对应端口,等待客户端向服务器请求一系列的硬件、软件或数据资源;服务器被动请求客户端发送的请求,客户端主动发送请求并接收服务器响应处理请求的处理结果。资源在服务器中
  2. P2P(对等模式peer to peer)
    • 很少(甚至没有)专门的服务器
    • 如Gnutella、KaZaA、Emule
      (一个主机可以充当或主机或客户端的职责,而且交互过程完全是分布式交互可扩展性高

两种通信模式都要使用主机应用层下的所有基础设施提供的通信服务才能够实现自由通信


1.2.2 采用网络设施的面向连接服务

基础设施为网络应用提供通信服务有两种方式面向连接服务无连接服务

面向连接服务

目标: 在两个端系统之间传输数据

具体过程: 两个通信端系统在通信之前要相互知晓,并且端系统底层的协议栈(TCP传输控制协议,Internet上面向连接的服务)要为二者的通信交互分配合适的资源,设定响应变量,流量控制。通信状态的维持只在端系统之间维持,并不在网络中维护。

TCP服务:

  • 可靠地、按顺序地传输数据(确认/重传)
  • 流量控制(发送放不会淹没接收方)
  • 拥塞控制(当网络拥塞时,发送方降低发送速率)

1.2.3 采用基础设施的无连接服务

无连接服务主要采用UDP传输协议

目标: 在两个端系统之间传输数据(无连接服务)

UDP(用户数据协议 User Datagram Protocol)

  • 无连接
  • 不可靠数据传输
  • 无流量控制
  • 无拥塞控制

1.2.4 使用TCP/UDP的应用

使用TCP的应用:

  • HTTP(Web)
  • FTP(文件传送)
  • Telnet(远程登陆)
  • SMTP(email)

使用UDP的应用:

  • 流媒体
  • 远程会议
  • DNS
  • Internet 电话

1.3 网络核心

网络核心:路由器(交换机)的网状结构。

数据传输的基本方式有两种:一种是电路交换,另一种是分组交换


1.3.1 电路交换(Circuit switch)

电路交换:为每个呼叫预留一条专有电路,如电话网(应用领域很少)。

端到端的资源被分配给从源端到目标端的呼叫“call”:

在这里插入图片描述
主机之间要实现通信首先要经过信令系统,在网络核心当中为两者之间的通讯分配一条”独享“的线路。由于交换节点之间的通信链路很粗,带宽比较大,所以可以采用时分多路复用,平分多路复用,码分多路复用等多种方法把它分解成若干个pieces。通过信令系统,在被分成的若干个碎片中选取没有被享用的通讯链路碎片进行拼接,形成一条两个主机之间独享的新的通信链路,之后双方可以利用这条线路进行双向的通讯

独享线路一旦建立起来就可以保证线路传输的性能,但是与此同时,如果独享线路没有进行数据传输,那么为它分配的资源就会被浪费(no sharing)。

网络资源(如带宽)被分成片,呼叫所进行的电路交换为呼叫分配片,如果某个呼叫没有数据交换,则该资源片处于空闲状态(不共享)。带宽分片的方式有很多种,取决于物理传输模式:频分(FDM)[带宽宽,可用通讯频率范围比较大,可以寻找通讯频率碎片的空闲的部分]、时分(TDM)、波分(WDM)

转载自中科大郑老师


1.3.1.1 电路交换不适合计算机之间的通信的原因

  1. 连接建立的时间过长
  2. 计算机之间的通信具有突发性,如果使用线路交换,则浪费的片比较多。即使这个呼叫没有数据传递,其所占据的片也不能被别的呼叫使用。
  3. 可靠性不高:一旦关键交换主机宕机,则与它的链路碎片所连接的所有信道全部会收到影响。

1.3.2 分组交换(Packet switch)

  1. 节点间的通信链路不再细分为一个个pieces,使用的话就使用整个通信链路的全部带宽。
  2. 主机之间的通信数据分成一个个package。
  3. 以package为单位,在每一个交换节点中存储、转发(分组每次移动一跳),最后传输到目标主机。
  • 在转发之前,节点必须收到整个分组
  • 延迟比线路交换要大
  • 存在排队时间

需要进行存储再转发而不是直接转发的原因是:分组交换占用的是整个通信链路的全部带宽,如果源主机到目标主机之间的通讯链路完全用于数据传输的话,相当于该链路变成了”独享链路“,会降低整个网路的通信交换效率。


1.3.2.1 存储转发速率

路由器在转发前需要接收、存储和处理整个分组。

通过N条速率均为R的链路组成的路径(在源和目的地之间有N-1台路由器),从源到目的地发送一个分组,对应的端对端时延是:

d 端 到 端 = N ∗ L R . d_{端到端} = N * { \frac{L}{R}}. d=NRL.

发送和接收是相对不同参考系而言的,不能在计算中同时考虑发送和接收的双向情况


1.3.2.2 排队延迟和丢包

转载自中科大郑老师

分组交换是使用到交换机之间链路的全部带宽的,所以当多个主机需要用到邻近节点的相同交换机时,当主机的传入(到达)速率>链路的输出速率的时候,分组会进行随机排队(后到的分组需要排在正在占用带宽分组后面)并等待传输,导致传输途中延迟的产生

同时,当路由器(交换机)缓存达到上限时,会自动丢弃存储的部分分组,导致丢包情况的发生。

上述两种情况都是为了实现网络互联,资源共享所必须付出的代价。


1.3.2.3 网络核心的关键功能

路由: 决定分组采用的源到目标的路径。主要由**“路由算法”**(routing algorithm)实现,是一个全局功能的实现。
转发: 将分组从路由器的输入链路转移到输出链路,是一个局部功能的实现。

由全局(路由定线)和局部(分组转发)的配合实现分组从源主机到目标主机的传输。


1.3.2.4 统计时分多路复用

统计时分复用也叫异步时分复用:将所需传输的信息分成小块,附加标记。同一信号可以占用同一桢中的不同时隙,不同路的信号根据标记加以区分。(划分时间片给不同的分组,时间片可能存在空置的情况,但是分组并没有固定的模式,完全随机)


1.3.3 分组交换 VS. 电路交换(总结)

分组交换允许更多的用户使用网络。

分组交换是“突发数据的胜利者”,适合于突发数据的传输。在同样的网络资源下(网络拓扑一致,节点带宽一致),分组交换能够支持的分组通讯交换数量更多。

分组交换的优势
资源共享:分组需要在交换机内存储,有利于网络资源的共享;此外在不占用通信连路的过程中,交换机之间没有必要持续维持连接状态,为其他分组交换腾出空间。
简单,不需要建立呼叫:用完就可以走人。

分组交换实现资源共享的代价:过度使用会造成w网络拥塞;分组延时和丢包。所以,对可靠地数据传输需要协议来约束:拥塞控制


1.3.4 分组交换网络:存储-转发

分组交换:分组的存储-转发一段一段从源端传到目标端,按照有无网络层的连接,分成数据报网络虚电路网络


1.3.4.1 数据报网络(Datagram network)

源主机发送给目标主机的分组携带了目标主机的完整地址,交换机通过解析分组携带的目标地址并确定分组转发方向(决定下一条的方向)。两个主机在进行分组传输之前并不需要建立联系,每一个分组的传递都是独立的,在交换机中传输过程也不需要维护分组的状态

在路由器上,有两个重要的东西,一个是路由算法,用来确定通过网络的端到端路径;另一个是转发表,转发表确定了本路由器如何转发分组。需要注意的是对于转发表,目的地址是32位的IP地址,那么就有几十亿个IP地址,一个路由器不可能维护一个几十亿的表,所有转发表是按照地址的范围转发的。

在这里插入图片描述

端到端的分组传输可能会存在不同的多条路径(IP),这样在一定程度上可能会导致分组失序


1.3.4.2 虚电路网络

虚电路网络由信令系统主操控。一条虚电路由如下组成:源和目的主机之间的路径(一系列链路和路由器)、VC(Virtual Circuit)号,沿着该路径的每段链路的号码、以及该路径上每台路由器中的转发表。

属于一条虚电路的分组将在它的首部携带一个VC号。一条虚电路在每条链路上可能具有不同VC号,故每台中间路由器必须用一个新的VC号替代每个传输分组的VC 号。该新的VC号从转发表获得。

虚电路网络,每台路由器的转发表包括了VC号的转换【入接口,入VC号,出接口,出VC号】。无论何时跨越一台路由器创建一条虚电路,转发表就增加一个新表项。无论何时删除一条虚电路,沿着该路径每个表中的相应项将被删除(路由器必须为进行中的连接维持连接状态信息)。

虚电路网络交换中的三个阶段

(1)虚电路建立
在建立阶段,发送运输层与网络层联系,指定接收方地址,等待网络建立虚电路。网络层决定发送方和接收方之间的路径,即该虚电路的所有分组要通过的一系列链路和路由器。网络层也为沿着该路径的每条链路决定VC号。最后,网络层在沿着路径的每台路由器的转发表中增加一个表项。
(2)数据传输过程
发起呼叫(源主机)——入呼叫(目的主机)——接受呼叫(目的主机)——呼叫连接(源主机)——数据流开始(源主机)——接收数据(目的主机)
(3)虚电路删除
当发送方(或接收方)通知网络层它希望终止该虚电路时,就启动该阶段。网络层通常将通知网络另一侧的端系统结束呼叫,并更新路径上每台路由器中的转发表以表明该虚电路已不存在。


1.3.4.3 运输层连接建立和网络层连接建立区别

数据报网络——运输层的连接建立仅涉及两个端系统,两个端系统独自决定运输层连接的参数(初始序号和流量控制窗口长度),端系统知道该运输层连接,但网络中路由器对这些完全不知情。

虚电路网络层,沿着两个端系统之间的路径上的路由器都要参与虚电路的建立,且每台路由器都完全知道经过它的所有虚电路。

端系统向网络发送指示虚电路启动与终止的报文,以及路由器之间传递的用于建立虚电路(即修改路由器表中的连接状态)的报文,被称为信令报文,用来交换这些报文的协议称为信令协议


1.4 接入网和物理媒体

网络边缘(端系统)通过接入网接入网络核心实现数据交换的功能,使得源主机和目标主机能够实现通信。

接入网的两个指标:带宽(bps)、共享/独享网络。


1.4.1 住宅接入(modem)

将上网数据调制加载到音频信号上,在电话线上进行传输,在局端将其中的数据解调出来,反之亦然。

在这里插入图片描述

modem模式实际上分为调制(modulate)和解调(demodulate)两个步骤。 为防止线路过于复杂,modem模式依旧延续采用在网络边缘端系统和与其相邻最近的交换机之间的“电话线路”,通过对波频的更改(调频、调幅、相位调整、综合调制)将网络交换数据加载在音频上实现数据的交换,只不过这种modem模式能够交换数据的速率很低(最高56Kbps),而且由于共用一条线路的原因,联网和通话两个动作并不能同时进行


1.4.2 Digital Subscriber Line (DSL)

在这里插入图片描述

它是采用频分复用的方式将低频语音信号、中/高频数字上传/下载信号调制于普通电话双绞线上进行传输的技术。(高于语音传输的频率波段被分成不对等的上行和下行波段【一般来说下行的带宽更大】,不对称波段分配一般称为ADSL)DSL技术当中的ADSL技术同样不改变用户接入的物理线路,也同样采用和modem模式相同的调制解调方式,但是却满足了打电话和上网同时进行的需求。同时由于速率远高于普通2B+D的ISDN线路,且接入网络两端改造成本较低,很快便替代了后者成为2002年左右开始的主流用户接入方式。这种接入方式的用户端设备叫做ADSL调制解调器,也就是我们常见的、已经慢慢淘汰了的ADSL猫。


1.4.3 线缆网络

类似于电视台等视频信号媒体传播平台也存在和网络边缘端系统的有线连接,最开始的线缆仅支持视频信号的单项传输(电视台将电视信号传到千家万户)。当将有线电视信号线缆双向改造之后,有一部分带宽依旧用于传统的数字广播,有一部分带宽用于千家万户上行的互联网访问,还有一部分带宽用于下行数据的传送(额外有极小的一部分带宽用于信令系统的阈值控制,可以忽略不计)。这种分配方式属于FDM(频分多路复用),因此线缆网络的带宽是共享的

在这里插入图片描述

HFC: hybrid fiber coax 非对称; 最高30Mbps的下行传输速率, 2 Mbps上行传输速率
线缆和光纤网络将各家庭用户接入到ISP 路由器
各用户共享到线缆头端的接入网络
与DSL不同, DSL每个用户一个专用线路到CO(central office)


1.4.4 物理媒体

物理媒体是物理链路形成的介质,用于传播电磁波或者光脉冲来发送比特,它可以具有多种多样的形状和形式,并且对沿途的每个发射器-接收器对而言不必具有相同的类型。

物理媒体被分为两类:导引型媒体和非导引型媒体。

导引型媒体:电波沿着固体媒体前行,如光缆、双绞铜线或同轴电缆。(有形介质)
非导引型媒体:颠簸在空气或者外层空间中传播,例如在无线局域网或数字卫星频道中。(无形介质)

有形介质和无形介质的特性差别特别大,因而它们的接入方式也有很大的区别。信号在有形介质中比较收缩,衰减速率很慢;但在无形介质中迅速衰减扩散。


1.4.4.1 双铜绞线

在这里插入图片描述

双铜绞线由两根绝缘的铜线组成,每根大约1mm粗,以规则的螺旋状排列着。这两根线被绞合起来,以减少临近类似的双绞线的电气干扰。一对电线构成了一个通信链路,传输速率10Mbps~10Gbps。


1.4.4.2 同轴电缆

同轴线缆一般被最常用作导引型共享媒体,许多端系统能够直接与该电缆相连,每个端系统统都能够接收由其他端系统发送的内容。


1.4.4.3 光纤

光纤是一种细而柔软的、能够导引光脉冲的媒体,每个脉冲标识一个比特。他们不受电磁干扰,长达100km的光纤信号衰减极低,并且很难窃听,这些特征是的光纤成为长途导引形传输媒体,特别是跨海连路。


1.4.4.4 陆地无线通信道和卫星无线通信道

陆地无线通信倒是无线信道中承载电磁频谱的信号,它不需要安装物理线路,并且具有穿透墙壁、提供与移动用户的连接以及长距离承载信号的能力,因而成为了一种有吸引力的媒体。无限信道的特性极大地依赖于传播环境和信号传输的距离,环境上的考虑取决于路径损耗和遮挡衰落、多径衰落以及干扰。

卫星无线通信道:一颗通信卫星连接地球上的两个或者多个微波发射器/接收器,它们被称为地面站。该卫星在一个频段上接收传输,使用一个转发器再生信号,并在另一个频率上发射信号。同步卫星的相对静止状态可以用于那些无法使用DSL或电缆因特网接入的区域。近地轨道卫星由于和地球自转并不同步,需要很多的数量来保证提供对一个位置的连续覆盖。

1.5 Internet结构和ISP

互联网的划分方式除了最传统的网络边缘、网络核心、接入网三个部分之外(按照节点的类型和内容划分);还可以将一些关系比较密切的设备构成的一个小的ISP网络,不同的ISP网络之间通过路由器来构建联通(ISP网络中也可以包含一些小的ISP网络,称作网络的“网络”)。

1.5.1 网络的网络

网络的“网络”嵌套可以采用递进式的方式理解。我们在不同的生活场景中使用的端系统设备是存在差异的:有家里的台式机、随身携带的手机、笔记本等,它们通过接入网接入到对应的ISP网络中(一般是不同或相同的运营商),不同的ISP之间也需要能够互联从而达成整个互联网的建立。

如果不同的ISPs之间单纯采用点对点式建立连接,那么整个互联网络的复杂度为:

O ( n ) = n 2 O_{(n)} = n^{2} O(n)=n2

当接入端系统的数量级在一定的高度层级的时候,这时候互联网复杂度是十分恐怖的,网络建设需要耗费的财力、精力都十分巨大,而且具有不可拓展性。

1.5.2 比较合理的解决方案(网络层次结构演化)

将每个接入ISP都连接到全局ISP(全局范围内覆盖),客户ISPs和提供者ISPs有经济合约。这是指,全球ISP是一个又路由器和通信链路构成的网络,该网络跨越全球,并且其他的接入ISP都至少和一个它的路由器相连。

如果说全局ISP是一个可行的业务,那么就是有利可图的一个全新项目,必然会产生竞争。于是就会存在多个全球承载ISP,它们分别于一部分的接入ISP互联;为了实现端系统的互联,这多个全球ISP也必须互联;网络结构是一个两层结构,其中全球承载ISP位于顶层,接入ISP处于底层

顶层全球承载ISP基本上已经定型,但是接入ISP现在还很混乱,比如,它们直接同顶层ISP相连;但是接入ISP也是需要分层的:较小区域中的ISP连入较大区域的ISP,而不是直接与顶层ISP相连;出现这样的“嵌套”的情况的原因是:如果都直接同顶层ISP相连,那么两个同一较小区域内,分属不同ISP的端系统之间通信的数据也会到顶层ISP中心去一趟,如果它们不是直接接入顶层ISP,而是接入了一个较大区域的ISP,那么它们之间的通信数据就不用去顶层ISP中心了,因为它们通过较大区域的ISP已经实现了互连,通信速率更快

在两层网络结构的基础上增加了以下特点而形成的结构:存在点(Point of Presence,PoP)、多宿对等因特网交换点(Internet exchange point,IXP)。

PoP存在于网络等级结构中所有层次,但是底层ISP除外。一个PoP是ISP网络中的一台或者多台路由器群组,其中客户ISP能够通过第三方提供的高速链路直接将它的路由器和供应商的PoP连接,从而实现与提供商ISP连接,这样明显提高了接入速度

多宿(multi-home)是指任何ISP(除第一层ISP)都可以与两个或者多个提供商ISP连接,这被称为多宿,可以提高网络的可靠性。
对等(peer) 是指位于相同等级结构层次的一对邻近ISP能够直接将它们的网络连接到一起,使它们之间流量经直接连接而不是经过上游的中间ISP传输,这样既不用付费,速度也可能会快一些.
因特网交换点(PoP)为了实现多个ISP可以对等而创建的。

此外,例如Google等大型软硬件服务企业同样接入ISP实现对用户的服务提供,他们一般会建立自己的服务器ISP链路通道而不是使用一些顶层全球承载ISP集群提供的服务,这样既可以提高数据分组的传输速度(使网络响应效率更高),也可以在一定程度上减少额外支出

1.6 分组延时、丢失和吞吐量

1.6.1 分组延时和丢失

端系统通过接入网将分组传输到路由器,在路由器缓冲区的分组队列中。由于分组到达链路的速率超过了链路输出的能力,所以导致了由各个端系统传输到路由器之后被有序安排在了路由器缓冲区队列中,当分组排队到队头时才能被路由器转发出去。由于分组的排队等待需要时间,就导致了分组延时的形成;而路由器缓冲区本身容量也有一定限度,缓冲区满后,其他希望加入到分组队列的分组就会被自动丢弃,形成丢包

1.6.1.1 四种分组延时

  1. 节点处理延时

出现原因是检查bit级差错,检查分组首部和决定将分组导向何处

检查 bit级差错
检查分组首部和决定将分组导向何处

  1. 排队延时

出现原因是在输出链路上等待传输的时间,取决于路由器的拥塞程度

在输出链路上等待传输的时间
依赖于路由器的拥塞程

流量强度

R = 链路宽度(bps)
L = 分组长度(bits)
a = 分组到达队列的平均速率
流量强度 = La/R
流量强度趋于0时,排队延时很小
流量强度趋于1时,排队延时快速增加直至无穷大
流量强度等于或大于1时,排队延时无穷大,几乎所有分组都会处于排队状态
设计系统时需要保证流量强度小于1,大于或等于1网络会崩溃,从而导致分组丢包

  1. 传输延时

出现原因是将分组发送到链路上所消耗的时间,也被称为存储转发延时

R = 链路带宽(bps)
L = 分组长度(bits)
将分组发送到链路上的时间 = L/R
存储转发延时

  1. 传播延时

传播延时出现的原因是由于比特流在物理线路上传播时,产生的传播时间。

d = 物理链路的长度
s = 在媒体上的传播速度(~2x10^8 m/sec)

在这里插入图片描述
5. 节点延时

d n o r m 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_{normal} = d_{proc} + d_{queue} + d_{trans} + d_{prop} dnormal=dproc+dqueue+dtrans+dprop

d(proc)表示处理延时,通常是微秒级或更少
d(queue)表示排队延时,时长取决于拥塞程度
d(trans) = L/R 表示传输延时,对低速率的链路其传输延时较为明显(如拨号),通常为微秒级到毫秒级
d(prop)传播延时,一般为几微妙到几百毫秒

两个端系统之间进行交互,那么它们之间所经过的所有路由器之间的每一条(hop)都会存在上面这四种延时。


1.6.1.2 分组丢失

  1. 链路的队列缓冲区容量有限(可能被用完)
  2. 当分组到达一个满的队列时,该分组将会丢失
  3. 丢失的分组可能会被前一个节点或源端系统重传,或根本不重传

1.6.2 吞吐量

吞吐量:在源端和目标端之间传输的速率(数据量/单位时间)
瞬间吞吐量:在一个时间点的速率
平均吞吐量:在一个长时间内平均值
瓶颈链路:端到端路径上,限制端到端吞吐的链路

端到端的平均吞吐量应该是两个端之间所有通信链路中吞吐量最小的那个决定的,遵循“木桶效应”。

实际上在日常网络使用中,几乎可以看做是在一个瞬间所有接入网络核心的端系统共用整个通信链路的带宽,端到端的吞吐瓶颈一般是端系统接入到最近的路由器那一段独享的接入链路


1.7 协议层次和服务模型

1.7.1 计算机网络分层原因

  1. 各层独立工作,层之间通过接口联系,降低协议工作的复杂程度
  2. 提高灵活性,任何一层的改变不影响其他层
  3. 每层的实现技术可以不同,减少了实现的复杂度
  4. 易于维护,每层可以单独进行调试
  5. 便于标准化

1.7.2 OSI七层模型

在因特网协议栈出现以前,OSI模型是ISO组织研发的计算机网络结构模型。OSI的模型一共有7层,从下到上依次为:物理层,链路层,网络层,传输层,会话层,表示层,应用层。相比因特网体系结构,OSI多了两层。

层次名称功能描述
7应用层(Application)主要为各种各样的网络应用提供网络服务,应用报文之间的交互(Email,FTP,微信)
6表示层(Presentation)将信息表示为一定形式的数据流(将信息转换为比特)完成的任务有压缩与解压缩,加密解密等
5会话层(Session)它负责通信主机间的会话的建立,管理和拆除(协调通信双方会话)
4传输层(Transport)是参考模型的核心层之一,负责通信主机间的进程到进程的区分,并负责提供可靠的传输(对于TCP来说,其还负责提供可靠的传输,差错恢复,拥塞控制等额外功能)
3网络层(Network)是另一个核心层,功能是通过IP地址以及最优路径,将每一个每一个分组从信源机一路送至目的机(以分组为单位,端到端的传输)
2数据链路层(Data Link)在相邻的两点间传输以帧为单位的数据(提供介质访问服务(通过物理地址识别通信主机,提供可靠的帧传递,并作差错控制,流控等))
1物理层(Physical)发送端将上层的帧转换为物理信号,通过介质传送到相邻的接收方,接收方将物理信号转换为还原为比特流数据(提供透明的比特流(光信号,电信号,无线信号…)传递,物理流只关心比特流传输,不关心比特流包含内容)

每一层都利用它下层的服务,为它的上层提供服务,因特网将两层的功能留给了开发者自行实现。

因此因特网协议栈中没有表示层和会话层,如果需要这些服务,必须在应用层中实现


1.7.3 相关层协议

层次简介数据单元相关协议
应用层完成一个端系统与另一个端系统之间的信息交换。包含大量应用普遍需要的协议,支持网络应用报文(message)FTP、SMTP、HTTP
运输层在应用程序端点之间传送应用报文。主机到主机数据传输,负责从应用层接收报文段( segment ),并传输应用层的报文,到达目的后将消息上交给应用报文段(segment)TCP、UDP
网络层在完成网络中一台主机与另一台主机之间的通信。从源到目的地数据报(datagram)的选路有连接方式:分组(packet);无连接方式:数据报(datagram)IP、选路协议
链路层为网络层将分组从一个节点移动到下一个节点。在邻近网元之间传输数据帧(frame)PPP、以太网
物理层将链路层一帧中一个一个比特从一个节点移动到下一个节点。物理层负责将链路层帧中的每一位(bit)从链路的一端传输到另一端比特(bit)

  • SDU:服务数据单元,是上层传送给下层的数据单元
  • PDU:协议数据单元,是相同层级间交换的数据单元

1.7.4 封装和解封装

一个分组,在不同的层次有不同的称谓,是因为它们经过每一层的时候就被该层封装上了属于该层的相关信息,也就是前面提到的必要信息;于是,每一分层的分组有两种类型的字段:首部字段和有效负载;其中有效负载即为来自上一层的分组数据,而首部字段就是该层加上的必要信息;分组不断被封装以实现各层协议规定的相关功能。

接收方:进行解封装/解包,从最底层逐渐上行到最高层提取出信息(解封装的过程就是封装的逆向过程,在每层去掉头部信息,最终还原出应用层的输出:信息)

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 成长之路 设计师:Amelia_0503 返回首页