计算机网络自顶向下之计算机网络和因特网
1.因特网概述
(1)主机(端系统):出于因特网网络边缘的连接网络的所有主机,也可以称为端系统。端系统通过因特网服务提供商ISP接入因特网
(2)Internet从服务角度:为网络应用提供通信服务的通信基础设施、为网络应用提供应用编程接口
(2)协议:为进行网络中的数据交换而建立的规则、标准或者约定;具体而言,就是规定通信实体之间交换的消息的格式、意义、顺序和针对收到的信息或发生的时间所采取的动作;(三要素:语法、语义、时序)
2.计算机网络结构
(1)网络核心:处于网络最核心的部分,用于向网络边缘设备的主机提供联通性,使得网络边缘的每一部分都能向其他主机通信,称为网络核心。比如路由器或者交换机等
网络核心的关键功能:路由和转发
网络核心解决的基本问题:使用数据交换将数据从源主机通过网络核心到达目的主机
(2)网络边缘:处于网络最边缘的计算机或者其他设备称为网络边缘(桌面计算机或者移动计算机)
由主机(端系统)构成,运行各种网络应用程序(Web,eMail),采用C/S(客户端发送请求,服务器端响应客户端的请求)应用模型或者P2P(不依赖于特定的服务器,各个端系统之间可以通信对等模式)应用模型进行通信
(3)接入网:是指网络边缘哪些主机或者其他设备连接到其边缘路由器的物理链路称为接入网
通过家庭接入,机构接入或者广域无线接入
3.数据交换技术
(1)电路交换(特点:资源独占)
a)预留了端系统通信之间沿着路径所需要的资源,所以有资源独占的特点。电路交换的3个阶段:建立连接、通信、释放连接
b)电路交换网络中共享中继线的方式:多路复用
c)多路复用:将链路/网络资源划分为资源片,然后将资源片分配给各路使用,在每条路上面独占所分配到的链路资源,这种方式也可能存在闲置情况(即当一条呼叫所分配到的资源片在某时间段该条路不使用该资源,那么所分配到的资源就被闲置,其余无法使用该资源)。
d)方式
频分多路复用:各用户占用不同的带宽资源(这里面的带宽资源指的是频率带宽),当用户分配到某个频率之后,从始至终都占用这个频带
时分多路复用:将时间划分为一段段等长的时分复用帧(TDM帧),各个用户在每个TDM帧中占用固定序号的时隙。每个用户的时隙是周期性的出现(周期就是每个TDM帧的长度);时分复用的所有用户在不同的时间占用相同的频带带宽
码分多路复用:对光的频分复用
波分多路复用:
(2)分组交换(存储转发传输技术)
a)将数据分为一个个分组,每个分组都携带目的地址,网络并不为每个分组在链路上面预留资源,每个分组通过通信链路与分组交换机独立的确定转发方向
b)分组以该链路的最大传输速率传输通过通信链路。比如:一个长度为L比特的分组,链路的传输速率为R比特/秒,则该分组传输的时间为L/R秒。
c)分析分组交换的延迟
假设报文总长度为M比特,链路带宽为Rbds,报文被分为长度为L的N个分组。若M=7.5Mbits,L=1500bits,即M=5000L,R=1.5Mbps,求分组交换的时间
①第一个分组发送L/R = 1500/(1.5X10^6)
②此时第一个分组从第一个路由器想第二个路由器进行发送,第二个分组从源主机想第一个路由器发送,传输延迟同上面的解法
③现在分组1到达第二个路由器,分组2到达第一个路由器,然后分组1向目的主机发送,以此类推
④考虑到最后三个分组的时候,现在最后一个分组开始从源主机想第一个路由器发送
⑤继续按照上面的过程,分组5000到达第一个路由器,然后准备向第二个路由器发送
⑥现在最后一个分组也从第二个路由器想目的主机发送,
最后来计算一下所需时间,总共5000个分组,从源主机到目的主机传输需要5000x1+2(即总共所有分组传输的时间加上最后一个分组经过的路由器的时间)
⑦从上面我们也可以得出一个简单的计算分组交换的传输时延的公式
假设总共传输报文为M bits,链路传输的速率为Rbps,分组长度为L bits,如同上面的图所示的路由器个数为n(n=2),分组传输的跳步数为n+1(3),则分组交换的传输延迟为
T=M/R +nL/R
(3)报文交换(需要路由器比较大的缓存,特别是对于大的报文而言,路由器的缓存要大于报文的大小)
将报文发送给交换机或者路由器,交换机或路由器把收到的报文放在自己的输入队列等待处理。交换机对队列中的报文相应的处理,然后根据报文中的目的地址将报文发送到响应的输出链路。若链路空闲,便将报文发送下一个交换机;若输出链路正忙,则将报文送该链路的输出队列等待发送。
(4)分组交换和报文交换对比
分组交换相比于报文交换的优点:①减小端到端时延②如果使用报文交换,当报文中出现小比特位数错误的时候,需要重传整个报文③报文相比于分组之后明显所占传输空间更大,这样的话,路由器就需要更大的缓存空间来缓存整个报文,而使用分组交换则可以减小路由器的缓存压力
分组交换的缺点:①大量的分组导致存在排队时延的问题②需要加上分组首部若干比特位信息,增大了传输大小
4.计算一个分组交换的传输延迟问题
求解大概过程为:
计算所需要的分组为:980000/(1000-20) = 1000,即总共需要1000个分组
单个分组的传输延迟为L/R = 1000/(100Mbps)
所以总共的传输延迟为:T = (980+20)*1000*8/100000000 + 2*1000*8/100000000= 80ms+0.16ms=80.16ms,
5.分组交换网络中的时延
(1)时延的类型
a)结点处理时延dproc:路由器需要检查分组首部信息和决定将该分组导向何处所需要的时间是结点处理时延的一部分。结点处理时延还包括差错检测时间等等
b)排队时延:dqueue:在路由器中存在缓存队列,出于队列中的分组要等待输出链路可用。一个分组的排队时延将取决于优先到达的正在排队的分组的个数。比如,如果队列中没有分组等待,排队时延=0,如果队列中分组数量很大,那相应的排队时延就很大
c)传输时延:假设有长度为L比特的分组,在Rbps传输速率的链路上传输,那么传输时延可以理解为长度为L的分组在该链路上面传输所需要的时间L/R
d)传播时延:表示一个分组从输出链路端口开始传播后,到达目的端口在时间。传播时延取决于链路的物理媒介。
*注意传播时延和传输时延的区别
(2)关于排队时延的问题
假设a表示分组到达队列的平均速率(a的单位为分组/s),R表示链路的传输速率,L表示分组的长度。则到达队列的平均速率可以表示为La bps。定义La/R表示流量强度。
①当La/R>1的时候,表示分组到达队列的平均速率大于链路的传输速率,那么队列里面的元素就会不断增多,最终导致后面到达的分组的排队时延增大,甚至超过队列大小时候,会出现丢包的情况
②当La/R<=1的时候,表示分组到达队列的平均速率小于等于链路的传输速率
③随着流量强度从0开始的不断增大,到接近于1的过程当中,平均排队时延将不断增大
(3)时延带宽积:传播时延x带宽(dprop )
链路的时延带宽积又称为以比特为单位的链路长度
6.分组交换网络吞吐量
(2)即时吞吐量:给定时刻的吞吐量
(3)平均吞吐量:一段时间的平均速率
(4)链路瓶颈:端到端的路径上面,限制端到端吞吐量的路径
7.计算机网络体系结构
(1)网络体系结构是从功能上面描述计算机的网络结构
(2)计算机网络体系结构简称网络结构
(3)每层遵循某些网络协议完成该层次的功能
(4)计算机网络体系结构是一个计算机网络的功能层次及其关系的定义
(5)采用分层结构的原因
a)结构清晰,有利于识别复杂系统的部件以及其关系
b)模块化的分层有利于系统的维护更新
c)有利于标准化
8.OSI网络参考模型
(1)分为7层,每一层完成特定的功能
(2)OSI参考模型的通信过程
从主机A发送数据到主机B,经过的过程大概表示如下
(3)进行数据封装:
a)可以增加数据的控制信息:通过构造协议数据单元(PDU)来实现
b)控制信息主要包括:
地址:表示数据发送端和接收端
差错检测编码:用于进行差错检查和纠正
协议控制:实现协议功能的附加信息,比如优先级、服务质量、安全控制等信息