第一章 计算机网络体系结构
1.1 计算机网络概述
1.1.1 计算机网络概念
计算机网络是一个将分散的、具有独立功能的计算机系统,通过通信设备与线路链接起来,由功能完善的软件实现资源共享和信息传递的系统。计算机网络就是互联的,自治的计算机系统的集合。(自治就是相互独立)
1.1.2 计算机网络的组成
1.1.3 计算机网络的功能
1.数据通信
2.资源共享
3.分布式处理
4.提高可靠性
互为替代机,不会因宕机数据链路受影响
5.负载均衡
1.1.4 计算机网络的分类
1.按分部范围分
- 广域网(WAN) 交换技术 网状结构 交换机+路由器 涉及下面三层 点对点技术
- 城域网(MAN) 街道或城市 采用以太网
- 局域网(LAN) 广播技术 涉及下面两层 交换机
- 个人局域网(PAN)
2.按传输技术分
- 广播式网络 共享一个公共通信信道 计算机决定是否接受。不需要网络层,工作在数据链路层,无路由选择问题
- 点对点网络 存储转发 路由选择
3.按照拓扑结构分类
1.1.5 计算机网络的标准化工作及相关组织
- 因特网草案(Internet Draft) 这个阶段还不是RFC
- 建议标准(Proposed Standard) 开始成为RFC
- 草案标准 (Draft Standard) 已经被取消
- 因特网标准(Internet Standard)
国际标准化组织(ISO):OSI参考模型、HDLC协议等
国际电信联盟(ITU):指定通信规则。
国际电气电子工程师协会(IEEE):学术机构。IEEE802标准。5g。
Internet工程任务组(IETF):负责因特网相关规则的制订 RFCxxxx
1.1.6 计算机网络的性能指标
1.速率
速率即数据率或称数据传输率或比特率
速率:连接在计算机网络上的主机在数字信道上传送数据位数的速率(发送出去的速度)
速率单位是b/s,kb/s,Gb/s,Tb/s
这里的b是bit
1Kb/s=103b/s
1Mb/s=103Kb/s=106b/s
1Gb/s=103Mb/s=106Kb/s=109b/s
1Tb/s=103Gb/s=106Mb/s=109Kb/s=1012b/s
存储容量 1Byte(字节)=8bit(比特)
这里的B是字节
1KB=210B=1024*8b
1MB=210KB=1024KB
1GB=210MB=1024MB
1TB=210GB=1024GB
2.带宽
(1)“带宽”原本指某个信号具有的频带宽度,即最高频率与最低频率之差,单位是赫兹(Hz)。
(2)计算机网络中,带宽用来表示网络的通信线路传送数据的能力,通常是指单位时间内从网络中的某一点到另一点所能通过的最高数据率。单位是“比特每秒”,b/s,kb/s,Mb/s,Gb/s。网络设备所支持的最高的速度。
带宽是在链路入口发送(能够接受)数据的最高哦速率 1us(微秒)=10-6s
3.吞吐量
表示在单位时间内通过某个网络(或信道、接口)的数据量。单位b/s,Kb/s,Mb/s等。
吞吐量受网络的带宽或网络的额定速率的限制。
4.时延
指数据(报文/分组/比特率)从网络(或链路)的一端传送到另一端所需的时间。也叫延迟或迟延。单位是s。
1. 发送时延(传输时延)
从发送分组的第一个bit算起,到该分组的最后一个比特发送完毕所需要的时间。
发生在主机内部,一般在网络适配器中
高速链路是信道宽度增加
发送时延=数据长度/信道带宽(发送速率)
2. 传播时延
取决于电磁波传播速度和链路长度
传播时延=信道长度/电磁波在信道上的传播速率
3. 排队时延
等待输出/入链路可用
4. 处理时延
检错,找出口
5.时延带宽积
时延带宽积(bit)=传播时延(s) x 带宽(b/s)
6.往返时延RTT
从发送方发送数据开始,到发送方收到接收方的确认(接收方收到数据后立即发送确认)总共经历的时延。
RTT越大,在收到确认之前,可以发送的数据越多。RTT由三个部分决定:链路的传播时间、末端系统的处理时间、路由器的缓存中的排队和处理时间。其中前两个部分的值作为一个TCP连接相对固定,路由器的缓存中的排队和处理时间会随着整个网络拥塞程度的变化而变化。所以RTT的变化在一定程度上反映了网络拥塞程度的变化。
7.利用率
信道利用率
有数据通过的时间/(有+无)数据通过的时间
网络利用率
信道利用率加权平均值
D0是网络空闲的时延
习题
1.假定有一个通信协议,每个分组都引入100字节的开销用于头和成帧。现在使用这个协议发送106字节的数据,然而在传送的过程中有一个字节被破坏了,因而包含该字节的那个分组被丢弃。试对于1000字节和20000字节的分组的有效数据大小分别计算“开销十丢失”字节的总数目。分组数据大小的最佳值是多少?
设分组数据大小为a,字节总数目为y
开销=106/a x 100 丢失=a
丢失+开销=106/a x 100+a
求极值,求导
求全微分dy/da=1-108/a
当a=104时,dy/da=0,
当a>104时,dy/da>0,递增
当a<104时,dy/da<0,递减
2.考虑一个最大距离为2km的局域网,当带宽等于多大时传播延时(传播速度为2×108m/s等于100B分组的发送延时?对于512B分组结果又当如何?
发送时延=信道长度/电磁波传播速度=2x103/2×108=10-5s
传播时延=数据长度/带宽 设带宽为y
100x8/y=10-5 512x8/y=10-5
80Mb/s 409.6Mb/s
3.在两台计算机之间传输一个文件有两种可行的确认策略。第一种策略把文件截成分组接收方逐个地确认分组,但就整体而言,文件没有得到确认。第二种策略不确认单个分组,但文件全部收到后,对整个文件予以确认。请讨论这两种方式的优缺点。
如果网络容易丢失分组,对每个分组确认好。此时仅会重传丢失的分组。如果网络高度可靠,第二种好,减少确认次数,节省了带宽,不过即使丢了一个分组,也要重传整个文件
4.试在下列条件下比较电路交换和分组交换。要传送的报文共x比特。从源点到终点共过k段链路,每段链路的传播时延为d秒,数据传输速率为b比特每秒。在电路交换时电建立时间为s秒。在分组交换时分组长度为p比特,且各结点的排队等待时间可忽略不计在怎样的条件下,分组交换的时延比电路交换的要小?(提示:画一下草图观察k段链路几个结点。)由于忽略排队时延,电路交换时延=连接时延+发送时延+传播时延
分组交换时延=发送时延+传播时延
两者传播时延都=kd
电路交换不采用存储转发,连接后没有存储转发的时延,所以发送时延=数据长度/带宽=x/b
电路交换总时延为 s+x/b+kd
对于分组交换,设共有n个分组,一个站点发送时延t=p/b,经过k-1个t后,从第k个t开始,每个t时间段都有一个分组到达目的地(传播时延和发送时延分开讨论后,不考虑传播时延),从而n个分组的发送时延为kd+(k-1)t+nt np≈x
1)带宽是1.5Mb/s,数据分组可连续发送。
根据题意忽略处理时延,排队时延
1000KB=103KB=103x 210B==103x 210x 8b
1000KB/1.5Mb/s=5.46s
传播时延+握手=0.5RTT+2RTT=250ms 5.46+0.25=5.71s
上面的数加999个RTT
3)假设带宽是无限大的值,即我们取发送时间为0,并且在等待每个RTT后可以发送多达20个分组1000个分组,1000/20=50次,等待49个RTT,最后一个分组到达目的地仅需0.5RTT,2次握手+49RTT+0.5RTT
7.有两个网络,它们都提供可靠的面向的连接的服务,一个提供可靠的字节流,另一个提供可靠的报文流。请间两者是否相同?为什么?不相同,报文流中,网络保持对报文边界的追踪,而在字节流中,网络不追踪。
1.2计算机网络体系结构与参考类型
1.2.1 计算机的分层结构
-
为什么要分层
发送文件前的准备工作
(1)发起通信的计算机必须将数据通信的通路进行激活。
(2)告诉网络如何识别目的主机。
(3)发起通信的计算机要查明目的主机是否开机,并且与网络连接正常。
(4)发起通信的计算机要知道目的主机文件管理程序是否已经做好准备工作
(5)确保差错和以外可以解决。 -
分层的基本原则
- 各层之间相互独立,每层只实现一种相对独立的功能。
- 每层之间界面自然清晰,易于理解,相互交流尽可能少。
- 结构上可分隔开。每层采用最合适的技术来实现。
- 保持下层对上层的独立性,下层单向使用下层提供的服务。
- 整个分层结构应该促进标准化工作。
- 实体:每一层的活动元素。指任何可以接受或发送信息的硬件或软件进程。同一层的实体叫做对等实体。第n层中的活动元素称为n层实体。
- 协议:规则的集合。为进行网络中的对等实体数据交换而建立的规则、标准或约定称为网络协议。
- 语法:规定数据传输的格式
- 语义:规定所要完成的功能
- 同步:规定各种操作的顺序
- 接口:同一结点内相邻两层间交换信息的连接点,访问服务点(SAP),是逻辑接口。上层使用下层服务的接口。
- 服务:下层为紧相邻的上层提供的功能调用。
- 面向连接服务:通信前必须先建立连接,分配相应的资源(如缓冲区),结束后释放连接和资源。连接建立,数据传输,释放连接。TCP。无连接服务:不先建立连接,直接发送数据。把每个带有目的地址的包(报文分组)传送到线路上,由系统选定线路进行传输,是不可靠传输,尽最大努力交付。IP和UDP。
- 可靠服务: 指网络有纠错、检错、应答机制,能保证数据正确、可靠的传送到目的地。不可靠服务: 尽量正确、可靠的传送。
- 应答服务: 接收方收到数据向发送方发出相应应答 无应答服务:若需要应答,由高层实现。www服务。
网络体系结构是从功能上描述计算机网络结构
计算机网络体系结构简称网络体系结构是分层结构
每层遵循某些网络协议以完成本层功能
计算机网络体系结构是计算机网络的各层次及其协议的集合
第n层向n+1层提供服务时,此服务不仅包括第n层本身的功能,还包含由下层服务提供的功能。
仅仅在相邻层间有接口,且服务所提供的具体服务实现细节对上一层完全屏蔽
体系结构是抽象的,而实现是指能运行的一些软件和硬件。
1.2.3 ISO/OSI参考模型和TCP/IP模型
为了支持异构网络系统互联互通。国际标准化组织(ISO)于1984年提出开放系统互联(OSI)参考模型。
应用层
所有能和用户交互产生网络流量的程序。
文件传输(FTP),电子邮件(SMTP),万维网(HTTP)
表示层
处理在两个通信设备系统中交换信息的表示方式(语法和语义)
- 数据格式变换(比如比特率变换成图片)
- 数据加密解密
- 数据压缩和恢复
会话层
向表示层实体/用户进程提供建立连接并在连接上有序的传输数据。这是会话,也是建立同步(SYN)。
- 建立、管理、终止会话
- 使用校验点可使会话在通信失效时从校验点/同步点继续恢复通信,实现数据同步。(传输大文件)
传输层
负责主机中两个进程的通信,即端到端的通信。传输单位是报文段或用户数据报。
- 可靠传输、不可靠传输
- 差错控制
- 流量控制(控制发送方速度)
- 复用分用 复用:多个应用层进程可同时使用下面运输层的服务。分用:运输层把收到的信息分别交付给上面的应用层中相应的进程。每一个进程分配一个端口号。 TCP、UDP协议
网络层
主要任务把分组从源端传送到目的端,为分组交换网上的不同主机提供分组服务。
- 路由选择(最佳路径)
- 流量控制
- 差错控制
- 拥塞控制(若所有结点都来不及接受分组,而要丢弃大量分组的话,网络就处于拥塞状态。因此要采取一定措施,缓解这种拥塞) IP、IPX、ICMP、IGMP、ARP、RARP、OSPF
数据链路层
把网络层传下来的数据报组装成帧。传输单位是帧。
- 成帧(定义帧的开始和结束)
- 差错控制 帧错+位错
- 流量控制
- 传输管理(接入访问控制)控制对信道的访问 SDLC,HDLC,PPP,STP
物理层
物理媒体上实现比特流的透明传输,物理层传输单位是比特。透明传输:不管所传数据是什么样的比特组合,都应当能够在链路上传送。
- 定义物理接口标椎 (数据终端设备和数据通信设备的物理和逻辑连接方法)
- 定义传输模式 (单工、半双工、双工)
- 定义传输速率
- 比特同步
- 比特编码
TCP/IP模型
网际层(主机-主机):发送分组,选择路由,不保证有序到达
传输层(应用-应用,或进程-进程):使发送端和目的端主机会话
应用层(用户-用户):包含所有高层协议
TCP/IP模型与OSI参考模型的比较
- 都分层
- 独立的协议栈概念
- 可以实现异构网络互联
- OSI定义三大:服务、协议、接口
- OSI先出现,参考模型先于协议发明,不偏向特定协议。
- TCP/IP设计之初就考虑到异构网互联问题,将ip作为重要层次。
数据经过应用层,表示层,会话层只是增加了第一层PCI。
习题
- 定义功能执行的方法不是对网络模型分层的目标。
- OSI的数据链路层功能是保证数据正确的顺序和完整性。
- 在OSI模型中,各层都有差错控制过程,指出以下每种差错发生在OSI的哪些
1)噪声使传输链路上的一个0变成1或一个1变成0。物理层,正确的传输比特流
2)一个分组被传送到错误的目的站网络层,分组转发
3)收到一个序号错误的目的帧数据链路层,帧的差错检测
4)一台打印机正在打印,突然收到一个错误指令要打印头回到本行的开始位置应用层,打印机是向用户提供服务,运行的是应用层的程序
5)一个半双工的会话中,正在发送数据的用户突然接收到对方用户发来的数据
会话层,不同主机的进程进行会话