参考书籍:计算机网络(第7版)-谢希仁
用途:记录自己学习过程中觉得比较有用或者比较难以理解的知识点(只针对个人)
1.概论
1.1.计算机网络的性能
1.1.1.单位
1Byte = 8 bit Byte字节 bit位
带宽的单位如果是bit/s或(b/s和bps) 则需要除以8才是 B/s
例如1MB/s = 8Mb/s = 8Mbps 即B = Byte,b = bit
1.1.2.带宽
带宽本来是指某个信号具有的频率宽度,在计算机网络中,带宽表示某通道传送数据的能力,因此网络带宽表示在单位时间内网络中某信道所能通过的“最高数据率”
因此数据的发送速率一定小于等于带宽
1.1.3.时延
时延是指数据(一个报文或分组,甚至比特)从网络(或链路)的一端到另一端的时间。时延是个很重要的指标,它有时也称延迟或迟延。
发送时延:发送时延是主机或路由器发送数据帧所需要的时间,也就是从发送数据真的第一个比特算起,到该帧的最后一个比特发送完毕所需要的时间。
传播时延:传播时延是电磁波在信道中传播一定的距离需要耗费的时间。
处理时延:主机或路由器在收到分组时要花费一定的时间进行处理,例如分析分组的首部、从分组提取数据部分、进行差错检验或查找适当的路由等,这就产生了处理时延。
排队时延:分组在进行网络传输时,要经过许多路由器。但分组在进入路由器后要现在输入队列中排队等待处理。在路由器确定了转发接口后,还要在输出队列中排队等待转发。这就产生了排队时延。排队时延往往取决于网络当时的通信量。当网络的通信量很大时会发生队列溢出,使分组丢失,这相当于排队时延无穷大。
总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延,因此时延是由发送速率、信道介质等多个因素共同决定的。
时延带宽积 = 传播时延 * 带宽,时延带宽积又称为以比特为单位的链路长度
1.1.4.往返时间RTT
关于往返时间(往返时延)RTT,网上有很多版本的算法,以下是我比较能接受的一种:
数据的发送分为以下几个阶段:
t1:发送方发送的分组的第一个比特被传输
t2:发送方发送的分组最后一个比特被传输
t3:接收方接收到分组的第一个比特
t4:接收方接收到最后分组的第一个比特,发送ACK
t5:发送方接收到ACK
往返时间RTT = t5-t2
因此有效数据率 = 数据长度 / (发送时间 + RTT)
1.1.5.利用率
利用率分为信道利用率和网络利用率两种。
信道利用率是以时间为单位即某信道有百分之几的时间是被利用的,只要有数据通过就算是被利用。
网络利用率是全网络的信道利用率的加权平均。
信道利用率并非越高越好,根据排队论的理论,当某信道的利用率增大时,该信道引起的时延也就迅速增加。
D表示当前网络的时延,D0表示空闲网络的时延,U表示信道利用率,则它们之间的简单关系为:
D = D0 / (1 - U)
因此信道或网络的利用率过高会产生非常大的时延。
1.2.计算机网络体系结构
OSI(开放系统互连基本参考模型OSI/RM)只获得了一些理论研究的成果,在市场化方面事与愿违地失败了(基于TCP/IP的互联网抢先在全球相当大的范围内运行)。
法律上的国际标准:OSI,事实上的国际标准:TCP/IP
-
应用层:通过应用进程间的交互来完成特定网络应用,应用层协议定义的是应用进程间通信和交互的规则。常用协议:域名系统DNS、支持万维网应用的HTTP协议、电子邮件SMTP协议等。应用层交互的数据单元称为报文。
-
运输层:负责向两台主机中进程之间的通信提供通用的数据传输服务。主要用到以下两种协议:
- 传输控制协议TCP:提供面向连接的、可靠的数据传输服务,其数据传输的单位是报文段。
- 用户数据报协议UDP:提供无连接的、尽最大努力的数据传输服务(不保证数据传输的可靠性),其数据传输单位是用户数据报。
-
网络层:负责为分组交换网上的不同主机提供通信服务。在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组或包传送。在TCP/IP体系中,由于网络层使用IP协议,因此分组也叫做IP数据报,简称数据报。
-
数据链路层:在两个相邻节点之间传送数据时,数据链路层将网络层交下来的IP数据报组装成帧,在两个相邻结点间的链路上传送帧。每一帧包含数据和必要的控制信息。
-
物理层:物理层上所传输的单位是比特
实体表示任何可发送或接收信息的硬件或软件进程
协议是两个(或多个)对等实体进行通信的规则的集合,因此它是水平的,对上层实体无任何影响。
服务是由下层向上层通过层间接口提供的,因此它是垂直的,只有能被高一层实体识别到的功能才能称之为服务。
同一系统、相邻两层的实体进行交互的地方称为服务访问站点SAP,OSI把层与层之间交换的数据的单位称为服务数据单元SDU