计算机网络原理(一):计算机网络和因特网
- 什么是因特网?
- 网络边缘、网络核心、接入网
- 分组交换网中的时延、丢包和吞吐量
- 协议层及服务模型
- 习题
一、什么是因特网?
什么是因特网?
回答这个问题有两种方式:其一是能够描述因特网的具体够成,即构成因特网的基本硬件和软件组件;其二是能够为分布式应用提供服务的联网基础设施来描述因特网。
根据以上两种方式对因特网的描述就引出几个基本内容,即组成因特网的基本硬件有哪些?和组成英特网的软件组件有哪些?什么样的联网基础设施才能够为分布式应用提供服务。
1.1英特网的具体够成
主机与端系统: 英特网是世界范围内的计算机网络,连接在这个网络上的设备包括:桌面PC、Linux工作站(所谓的服务器)、便携机、智能手机、平板电脑、电视、游戏 机、温度调节装置、家用安全系统、手表、眼镜、汽车、运输控制系统等,这些设备统称为主机或端系统。除了这些终端应用设备以外,还包括路由器、链路层交换 机、调制解调器、基站、蜂窝电话塔构建网络的基础设备也是主机或端系统的一种,端系统通过通信链路和分组交换机连接到一起。
通信链路:由不同的物理媒体组成,包括:电缆、铜线、光纤和无线电频谱。不同的链路以不同的速率传输数据,链路的传输速率以比特/秒(bit/s或bps)度量。
分组:当一台端系统要向另一台端系统发送数据时,发送端将数据分段,并为每段加上首部字节,由此形成的信息用计算机网络的术语来说称为分组。分组通过网络发送到目的端系统,再被装配成初始数据。
分组交换机:分组交换机由一条入通信链路接收到达的分组,再从它的一条出通信链路转发该分组。两种最著名的分组交换机的类型就是路由器和链路层交换机,它们负责将数据朝着最终目的地端系统转发分组。链路层交换机通常用于接入网中,而路由器通常用于网络核心中。
路径:从发送端系统到接收端系统,一个分组所经历的一系列通信链路和分组交换机称为通过该网络的路径(route或path)。
英特网服务提供商:Internet Service Provider,简称ISP接入因特网。包括电缆或电话公司的住宅区ISP、公司ISP、大学ISP,在机场、旅馆、咖啡店等公共场所提供的WiFi接 入的ISP,以及为智能手机或其他设备提供移动接入的蜂窝数据ISP。每个ISP自身就是由一个或多个分组交换机和多段通信链路组成的网络。各个ISP为 端系统提供各种不同类型的网络接入,包括线缆调制解调器或DSL那样的宽带接入、高速局域网接入、移动无线接入。ISP也为内容提供商商提供英特网接入服 务,将Web站点和视频服务器直接接入因特网。英特网就是将端系统彼此互联,因此为端系统提供接入ISP也必须互联。较低层次的ISP通过国家、国际的较 高层次的ISP如:Level 3 Communica-tions、AT&T、Sprint和NTT互连起来。较高层次的ISP通过高速光纤互联的高速路由器组成。无论较高层还是 较低层ISP网络,它们它们都是独立管理,运行着IP协议,遵循一定的命名空间和地址规则。
端系统、分组交换机、其他因特网部件都要运行 一 系列协议,这些协议控制因特网中信息的接收和发送。TCP(Transmission Control Protocol传输控制协议)和IP(Internet Protocol网继协议)是因特网两个最为重要的协议。IP协议定义了在路由器和端系统之间发送和接收的分组格式,因特网的主要协议统称为TCP/IP 协议。因特网标准(Internet standard)由因特网工程任务组(Internet Engineering Task Force,IETF)研发。
IETF的标准文档称为请求评论(Request For Comment,RFC),RFC最初只是普通的请求评论,目的是解决因特网先驱者们面临的网络和协议问题,它们定义了TCP、IP、HTTP、SMTP 等协议,目前已经有将近7000个RFC,其他组织也在制定用于网络组件的标准,例如IEEE 802 LAN/MAN标准化委员会制定了以太网和无线电WiFi的标准。
1.2关于英特网服务的描述
分布式应用程序: 从英特网为应用程序提供服务的基础设施角度来描述,基于英特网的应用非常丰富,比如传统的邮件和web应用,还有即时通讯、音乐、电影、电视、在线社交网 络、视频会议、多人游戏及基于位置的推荐系统,因为这些系统涉及多个相互交换数据的端系统,所以它们被称为分布式应用程序。
套字节接口: 与因特网相连的端系统提供了一个套字节接口(socket interface),该接口规定了运行在一个端系统上的程序请求因特网基础设施,向运行在另一个端系统上的特定目的地程序交付数据的方式。因特网套字节 接口是一套发送程序必须遵循的规则集合,因此因特网才能够将数据交付给目的地。
简单的来说,英特网为分布式应用程序提供的服务就是数据传 输,这些数据传输由端系统上的套字节接口向英特网基础设置提供标准的数据传输和交付方式。跟实物物流一样,英特网提供了多种服务,应用程序必须选择一种因 特网服务来实现数据传输,关于因特网服务后面会有更具体的博客解析。
1.3什么是网络协议
在 现实生活中会有非常多的按照约定俗成的方式实现某些沟通,比如提问——回答,在回答环节还会有拒绝回答、沉默,提问方就会根据回答方的反应继续接下来的对 话,这个过程并没有什么特定的约束,但也存在一些社交礼仪以及场合潜在的不严格约束条件。而由于在网络中要实现数据的传输会受到通信实体的所有活动的制 约,比如硬件上实现的协议控制了两块网络接口卡间的“线上”的比特流;在端系统之间拥塞控制协议控制了发送方和接受方之间传输的分组发送的速率;路由器中 的协议决定了分组从源到目的地的路径。
协议(protocol):定义了在两个或多个通信实体之间交换的报文的格式和顺序,以及报文发送/接收或其他方面事件所采取的动作。
二、网络边缘、网络核心、接入网
在第一小节中通过具体的构成组件和其提供的服务解析了英特网,这一小节则从其组成的类型来解析英特网,这种类型主要是说它们在英特网中的功能类型,这些功能类型包括:负责发送和接收数据的主机,由于这些主机都处于网络的边缘,所以将这一部分统称为网络边缘;负责数据传输的线路和交换的分组交换机,与网络边缘相对应这部分通常被称为网络核心;负责将主机接入网络核心的接入网。
上图是英特网基于功能类型模拟的结构示图,这个示图简要的说明了英特网是由边缘系统、接入系统、网络核心组成。
2.1网络边缘
通 常情况下端系统也称为主机(host),它们容纳(即运行)应用程序。所以在计算机网络相关话题上所说的主机=端系统,这两个术语会在相关博客中交替使 用,这里只是说明这两个术语描述的是同一个事物。主机有时又划分为两类:客户端(client)和服务器(server),而今天大部分提供搜索结果、电 子邮件、web页面、视频的服务器都属于大型数据中心(center),日常用户使用的桌面PC、移动PC、只能手机这些都是具体的端系统或主机类型,这 只是概念性话题就简单的说明一下。
简单的来说网络边缘就是指端系统(主机),更具体的来说是主机系统和分布式应用程序。在边缘系统上网络工作模式主要分为这四种:对等模式、客户端服务器模式。
对等模式:简称为P2P,即peer-to-peer通信模式,各方都拥有相同的功能,即任意方都可以启动通信会话,任意主机系统上基于P2P通信模式的应用可以两两直接相互通信。
客户端服务器模式:即Client-Server,简称C/S模式,CS模式结构通常采取两层结构,服务器负责数据管理,客户机负责完成与用户的交互任务。
基于C/S模式在现代分布式应用程序中又延伸出两种网络模式:专用服务器模式、BS架构模式。
专用服务器模式:大型网络应用程序服务器中可能要为用户提供不同的服务,使用一台服务器可能承受不了网络服务的压力,所以就需要多台服务器为其用户提供服务器,每台服务器提供专一的网络服务。
B/S 架构模式:是基于www浏览器(Browser)作为客户端,在浏览器上可能会实现部分事务逻辑,但主要的事务逻辑依然在服务端(Server)实现,形 成所谓三层3-tier结构,三层结构分别是:界面层(User Interface layer,即UI)、业务逻辑层(Business Logic Layer)、数据访问层(Data access layer)。
在 网络边缘上包含主机系统、运行在主机系统上的分布式应用程序。以及主机系统中各种网络基础组件,其包括物理组件如:网卡、基带等;软件组件如:套字节接口 程序、提供服务的各种协议应用程序等。协议应用程序包括:TCP协议服务、UDP协议服务等,分布式应用通过这些网络服务实现在端系统之间相互交换数据。
TCP服务:即传输控制协议(Transmission Control Protocol),由IETF的RFC 793定义。TCP通过确认和重传机制实现了可靠地、按顺序地传输数据;发送方可以实现流量控制,当网络拥塞时,发送方减低发送速率。
UDP服务:即用户数据报协议(User Datagram Protocol),由IETF的RFC 768定义。UDP实现的是无连接、不可靠的数据传输、不能控制流量、也不做拥塞控制。
关于网络边缘这里就简单的介绍一下,在后面的OSI网络分层架构模型中网络边缘部分涵盖了应用层、运输层,在后面多个博客中会详细的针对这些网络边缘上的内容做具体介绍。
2.2网络核心
抽象的来说网络核心就是分组交换机和链路够成的网状网络,这部分主要描述了数据是怎样通过网络传输的。
网络的网络: 网络核心通常也被称为网络的网络,端系统经过一个接入ISP与英特网相连,该ISP能够提供有线或无线连接,使用包括DSL、电缆、FTTH、WiFi和 蜂窝等多种接入技术。ISP不一定是电信局或电缆公司,比如能够为学生和老师提供英特网接入的单位。无论是电信局、电缆公司、还是提供英特网接入的其他单 位,都是让端用户和内容提供商接入ISP,但要实现所有互联网用户的连接ISP之间就必须互联,简单的来说网络的网络就是指连接各个ISP的网络。
英特网交换点: 假设现在有一个ISP服务提供商,可以为每个接入ISP与每个其他接入ISP连接,但这样一个接入模式所需要的成本将是一个天文数字,也是没有必要的,每 个用户不都是在同一时间需要使用到网络,也不是在两个用户连接之间必须独享这个链路。而现实中是由ISP服务商接入一定范围的用户组成一个支线网络,然后 这些支线网络彼此互联实现更大范围的网络互联互通形成区域ISP,这些网络经由英特网交换点(Internet Exchange Point,简称IXP)汇合实现彼此之间的互联互通,在各个IXP之上再由骨干网络实现区域或全球的网络链接,英特网交换点实际上就是很多个交换机接入 各种不同网络,实现这些网络之间的数据交换。
接入点、多宿、对等: 上面提到的ISP服务提供商并不是单一的区域网络,而是在一个区域内往往会存在多个ISP服务提供商,并且不同规模的ISP服务商覆盖的区域范围也不一 致,它们彼此交叠在一起,为了实现彼此的互联互通在一个ISP增加接入点(Point of Presence,PoP),即网络中一台或多台路由器实现与其他ISP的数据交换。多宿是在一个ISP的接入点上接入不同层级的ISP、不同区域的 ISP。所谓对等就是在两个ISP之间的数据传输产生的流量彼此不用付费,这种相邻层级一般是网络覆盖区域或用户接入量相差不大的ISP服务商之间的连接 模式,如果两个ISP的数据传输需要经过更高级的ISP提供数据传输服务它们就需要向高级的ISP支付流量费用。
上 面这是一个ISP的互联模型示意图,从这部分的解析和示图中都是抽线的描述ISP之间的互联内容,本质上它们还是由各种分组交换机和链路媒体组成的网络, 只是应用场景的差异在不同的地方使用的是不同的性能特性的设备,以及为了解决具体业务问题会在这些设备端系统上配置不同的应用处理具体的业务需求,这些具 体的网络组件在后面的博客中都会详细的介绍。
报文:各种网络应用中,端系统彼此交换报文(message)。报文包含协议设计者需要的任何东西,报文可以执行一种控制功能,也可以包含数据。
分组:从源端系统发送一个报文,源将长报文划分为较小的数据块,称之为分组(packet)。
交换机:在源和目的地之间,每个分组都通过通信链路和分组交换机(packet switch)传送。交换机主要有两类:路由器(router)和链路层交换机(link-layer switch)。
分组交换: 由于数据传输受限于通信链路上的物理媒体,每一次的传输的数据都是有限的容量承载。分组等于该链路最大传输速率的速度传输通过通信链路,比如某源端系统或 分组交换机经过一条链路发送一个L比特的分组,链路的传输速率为R比特/秒,则传输该分组的时间为L/R秒。分组交换除了将较大的报文划分为较小的数据 块,有时也可能会将很小的报文合并成一个分组,分组的大小取决于链路的传输速率的大小。
存储转发传输: 大多数分组交换机在链路的输入端使用存储转发传输(store-and-forward transmission)机制。存储转发传输是指在交换机能够开始输出链路传输该分组的第一个比特之前,必须接收到整个分组。也就是说路由器在转发分区 前需要接收、存储和处理整个分组。
存储转发时延:假设通过由N条速率为R的链路组成的路径(所以,在源和目的地之间有N-1台路由器),从源到达目的地发送一个L比特的分组,那么这个端到端的时延是:d端到端 = N*(L/R)。
排队时延: 每台交换机有多条链路与之相连,对于每条相连的链路,该交换机具有一个输出缓存(output buffer,也称为输出队列(output queue)),它用于存储路由器准备发往那条链路的分组。如果到达的分组需要传输到某条链路,但发现该链路正忙于传输其他分组,该到达分组必须在输出缓 存中等待。因此除了存储转发时延以外,分组还需要承受输出缓存的排队时延(queuing delay)。在输出缓存中的排队时延是变化的,变化程度取决于网络的拥塞程度。
分组丢失(丢包):因为路由器中的缓存空间的大小是有限的,一个到达的分组可能发现该缓存已经被其他等待传输的分组完全充满了,在这种情况下将出现分组丢失(丢包)(packet loss),到达的分组或已经排队的分组之一将被丢弃。
转发表: 每个端系统都具有一个称为IP地址的地址,当源主机要向目的端系统发送一个分组时,源在该分组的首部包含了目的地的IP地址。当分组到达网络中的路由器 时,路由器检查该分组的目的地地址的一部分,并向相邻路由器转发该分组。每台路由器都有一个转发表,用于将目的地地址(或目的地地址一部分)映射成输出链 路。当某分组到达一台路由器时,路由器检查该地址,并用这个目的地的地址搜索其转发表,以发现适当的出链路。关于转发表在路由器中是如何设置的,是人工对 每台路由器逐台设置,还是英特网使用自动的过程进行配置,这在后面的控制平面那篇博客中会详细的介绍。
电路交换: 在电路交换网络中,在端系统间通信会话期间,预留了端系统间沿路径通信所需要的资源(缓存、链路传输速率)。发送方能够发送信息前,该网络必须在发送方和 接收方之间建立一条连接,此时沿着发送方和接收方之间路径上的交换机都将为该连接维护连接状态,该连接被称为一条电路。网络创建这种电路时,它也在连接期 间在该发送方-接收方预留了恒定的传输速率(表示为每条链路传输容量的一部分,即带宽),发送方能够以确保的恒定速率向接收方传送数据。
电路交换网络中的复用:链路中的电路通过频分复用(Frequency-Division Multiplexing,FDM)或时分复用(Time-Division Multiplexing,TDM)来实现。
频分复用: 链路的频谱由跨越链路创建的所有连接共享,在连接期间链路为每条连接专用一个频段。在电话网络中,这个频段的宽度通常为4kHz(即每秒4000周期), 该频段的宽度称之为带宽。调频无线电台也使用FDM来共享88MHz~108MHz的频谱,其中每个电台被分配一个特定的频段。简单的来说,频分复用就是 将传输信道总带宽划分为若干个子频带(即子信道),每个子信道传输一路信号,各路信号在时间上是重叠的在频谱上不重叠。
时分复用:对于一条TDM链路,时间被划分为固定时间的帧,并且每个帧又被划分为固定数量的时隙。当网络跨越一条链路创建一条连接时,网络在每个帧中为该连接指定一个时隙,这些时隙专门由该连接单独使用,一个时隙(在每个帧内)可用于传输该链接的数据。
电路交换网络中的复用还包括:码分复用、波分复用,相关详细内容在后面的具体博客中介绍。
分组交换与电路交换的对比:
电 路交换:包含三个阶段——建立连接、通信、释放连接,其优点是:通信两端用户专用当前线路,数据传输时延小;可以按发送顺序传送数据,不存在失序问题;适 合传输模拟信号,也适合传输数字信号;占用链路上的固定资源,不需要在不同的链路资源上切换。其缺点是:通信双方独占线路的链路资源,不利于链路资源的利 用;数据直达,不同类型、不同速率的终端不方便相互进行通信,差错控制难度大;因为需要长时间维护线路,容易造成链路上的设备宕机。
分组交 换:不需要建立整个链路的连接,分组到达后只需要使用合适的路径进行转发即可。其优点是:不存在建立连接的时延;因为采用存储转发方式,且交换节点具有路 径选择,当某个链路故障时可以切换到其他链路;通信双方不独占链路资源,可以更高效的利用链路资源;其缺点是:因为数据进入交换节点后需要存储转发,从而 引起转发时延(包括接收分组、检验正确性、排队、发送时间等)。如果使用链路资源的用户多或数据传输量大,会造成更大的时延甚至丢包问题;由于不同的分组 可能经由不同的链路资源传输,可能造成失序问题;如果数据传输需求是突发的,适合使用分组交换,分组交换仅仅适用于数字信号。
关于分组交换和电路交换的定量分析可以参考:中科大郑烇、杨坚全套《计算机网络》P5 1.3网络核心。
2.3接入网
前面介绍了网络边缘和网络,这部分来介绍网络边缘的端系统是如何接入网络核心的相关概念,以及支持接入网的物理媒体,当然不是只有接入网要使用物理媒体,网络核心中的各种端系统都是基于传输数据的物理媒体连接在一起的,只是将其放到这一部分来介绍。
所谓接入网就是指将端系统物理连接到其边缘路由器的网络,边缘路由器是端系统到达任何其他远程端系统的路径上的第一台路由器。从接入网接入的用户类型来划分,可以将接入网类型划分为家庭接入和企业接入。
家庭接入的网络类型包括:DSL、电缆、FTTH、拨号、卫星;企业接入网络类型包括:以太网和WiFi,当然这些网络类型并不是某种用户类型的专用接入网网络类型,只是普遍情况下这些用户是基于这些网络类型接入的。
DSL:即数字用户线(Digital Subscriber Line),通常是从本地电话接入的电话公司获得的DSL英特网接入。每个用户的SDL调制解调器使用现有的电话线(双绞铜线)与位于本地中心局(CO)中的数字用户线接入复用器(DSLAM)交换数据。家庭的DSL调制解调器得到数字数据后将其转换成高频音,以通过电话线传输给本地中心局,然后再由DSLAM转换成数字形式。家庭电话线同时承载数据和传统电话信号,它们使用不同的频率进行编码,它们使用的频段分别是:高速下行信道,位于50kHz到1MHz频段、中速上行信道,位于4kHz到50kHz频段、普通的双向电话信道,位于0到4kHz频段。在用户一侧的分配器把到达家庭的数据信号和电话信号分隔开,并将数据信号转发给DSL调制解调器。在电话公司一侧,DSLAM把数据和电话信号分隔开,并把数据送往英特网的核心网。
电缆:即电缆因特网接入(cable Internet access),利用的是有线电视公司现有的有限电视基础设施,这里的电缆一般是同轴电缆。电缆英特网接入需要特殊的调制解调器,即电缆调制解调器(cable modem)。电缆调制解调器端接系统(Cable Modem Termination System,CMTS)与DSL网络的DSLAM具有类似的功能,将来自许多下行家庭中的电缆调制解调器发送的模拟信号转换回数字形式,电缆调制解调器将HFC网络划分为下行和上行两个信道,通常接入是不对称的,下行信道分配的传输速率通常比上行信道高。
FTTH:即光纤到户(Fiber To The Home),简单的来说就是从本地的中心局直接到家庭提供一条光纤路径。从中心局出来每根光纤实际上由许多家庭共享,直到相对接近这些家庭的位置,该光纤才会分到每户一根光纤。进行这种分配有两种光纤分布结构:有源光纤网络(Active Optical Network,AON)和无源光纤网络(Passice Optical Network,PON),AON本质上就是交换以太网,这些内容会在后面的链路层和局域网相关博客中详细介绍。PON分布体系结构的FTTH每个家庭一个光纤网络端接器(Optical Network Termi-nator,ONT),它由专门的光纤连接到相邻的分配器(splitter),该分配器将一些家庭集结到一根共享的光纤,该光纤连接到本地电话公司或中心局。
以太网:很多公司或单位都是采用以太网,有一些家庭也是采用这种局域网接入技术,使用局域网(LAN)将端系统连接到边缘路由器。以太网用户使用双绞铜线与一台以太网交换机相连,以太网交换机或这样相连的交换机网络再与英特网相连。
WiFi:由于现在无线通信设备越来越多(比如手机等),无线LAN即通俗的称为WiFi,简单的来理解僵尸将以太网中的双绞铜线的电路信号换成了无线路由的无线信号进行数据传输,也有可能是无线电基站的无线信号传输,这些无线信号经由无线路由或基站转换成数字信号,这些路由或基站同时也是电缆调制解调器,可以将来自下层网络的电缆信号转换成无线信号。这部分内容在后面的无线电网络的相关博客中详细介绍。
广域无线接入:3G、4G、5G和LTE,以及卫星无线电信号。这部分内容在也在后期的无线电网络相关博客中详细介绍。
在接入网中主要是基于不同的传输物理媒体应用不同的技术,在核心网络中同样也是基于这些物理媒体来实现数据传输,但现在核心网绝大部分都是采用光纤作为物理媒体。
三、分组交换网中的时延、丢包和吞吐量
分组由源主机出发,通过一系列路由器传输,在目的地结束。当分组沿着这条路径到后继节点,该分组在沿途每个节点经受了几种不同类型的时延:节点处理时延(nodal processing delay)、排队时延(queuing delay)、传输时延(transmission)、传播时延(propagation delay),这些时延总体累加起来就是节点总时延(total nodal delay)。
3.1节点时延中的四种时延
处理时延:检查bit级差错需要的时间,检查分组首部和决定将分组导向何处需要的时间;
排队时延:分组在链路上等待传输的时间,依赖于路由器的拥塞程度;
传输时延:将分组所有的比特推向链路的时间,注意这与接收端从链路接收的时间只是事务的两面,发送端往线路推数据的同时接收端就在从线路上接收数据,所以传送时延只取其中任务一个即可,而不是发送与接收时间的总和。传输时延取决于分组长度和链路传输速率的函数,与路由之间的距离无关。
传播时延:比特被传输上路后,在起点到达下一个节点传播需要的时间,是两台路由之间距离的函数。
关于传输时延和传播时延可能会被误解为是同一个事物,其实不然,传输时延是指整个分组被推到传播路径上的时间,或整个分组从路径上被接收节点从传播路径上接收的时间;而传播时延是指单帧数据从传播媒体上的一段到达另一端的时间,可以通过下面这个详细的示图来理解:
3.2排队时延与丢包
排队时延与其他三种时延不同,排队环节的时延取决于到达当前节点的数据的瞬时流量的大小,如果分组到达当前节点的前一个分组就已经被完全推出,这时候当前节点就没有排队时延,反之就会有时延,并且分组到达前排队的分组越多,后面到达的分组的排队时延就越大。
流量强度:所以通常情况下采用统计量来度量排队时延,假设到达分组的平均速率为a(分组/秒,即pkt/s),从队列中推出比特的速率为R(以bps即b/s为单位),每个分组由L比特组成,则比特到达队列的平均速率为La bps,可以用分组比特到达队列的平均速率比分组被推出的比特速率La/R来表示流量强度。
假设La/R>1时,则比特到达队列的平均速率超过该队列传输出去的速率,在这种情况下队列会趋向于无限增加,并且排队时延将趋向无穷大,所以流量工程中的一条金科玉律是:设计系统时流量强度不能大于1。
现在考虑La/R<=1时的情况,如果分组周期性到达,每个分组到达一个空队列中时,不会有排队时延;另一方面如果分组突发式到达而不是周期性到达,则可能会有很大的平均排队时延。
假设每秒同时到达N个分组,第一个分组没有排队时延,第二个分组就有L/R秒的排队时延,第n个传输的分组具有(n-1)L/R秒的排队时延。
当然上面的两个例子都是假设分组为周期性到达有些学术味,实际到达队列的过程是随机的,即到达队列不遵循任何模式,不过用来直观的理解排队时延的范围还是很有用,如果流量强度La/R越接近于0,则几乎没有分组到达或分组到达间隔很大,那么分组到达将不能在队列中发现其他分组,因此排队时延将接近于0。反之当流量强度La/R接近于1,随着流量强度接近于1,平均排队长度越来越差,排队时延越大。
丢包:在前面假设队列能够容纳无穷多的分组,在现实中,一条链路前的队列只有有限的容量,尽管排队容量极大依赖路由器设计和成本,因为排队容量是有限的,随着流量强度接近1,排队时延时延并不真趋向无穷大。相反,到达的分组发现一个满的队列,由于没有地方存储这个分组,路由器将丢弃该分组,路由器将丢弃该分组,即该分组丢失(lost),这就是常说的丢包。
因此从以上的分析来看,一个节点的性能不仅根据时延来度量,还要根据丢包的概率来度量。
3.3端到端的时延
一个分组从发送端到目的地的各个节点时延总和就是端到端的时延。假设源主机和目的地主机之间有N-1台路由器,且网络无拥塞,那么端到端时延可以表示为:N*(处理时延+传输时延+传播时延)。
端系统的其他时延:其中一种就是共享媒体传输分组的端系统可能有意地延时传输,作为它与其他端系统共享媒体地协议的一部分;其二是媒体分组化时延。
3.4计算机网络中的吞吐量
计算机网络中除了时延和丢包,端到端的吞吐量也是网络性能重要的测度。为了定义吞吐量,考虑从主机A到主机B跨计算机网络传送一个大文件,在任何时间瞬间的瞬时吞吐量是主机B接收到该文件的速率(以bps计)。如果该文件由F比特组成,主机B接收到F比特用去T秒,则文件传送的平均吞吐量是F/T bps。
由于网络传输媒体介质的物理传送特性,不同的传输媒体速率不一样,那么最终决定吞吐量的是率较小的那个传输媒体。假设现在服务端传送一个文件到客户端,用Rs表示服务器与路由器之间的链路速率,用Rc表示客户端与路由器之间的链路速率。显然这台服务器不能快于Rs bps的速率通过链路,路由器也不能以快于Rc bps的速率通过链路。
如果Rs<Rc,则在给定的吞吐量Rs bps的情况下,由该服务器注入的比特将顺畅的通过路由器,并以Rs bps到客户端。
如果Rs>Rc,则该路由器不能像接收速率那样块的转发比特,这种情况下,比特将以速率Rc离开该路由器,从而得到端到端的吞吐量为Rc。
因此,这种简单的两条链路网络其吞吐量是min{Rc,Rs},也可以说是瓶颈链路的传输速率。假设现在从服务端到达客户端之间要经过N段传输媒体,每一段的传输速率分别是R1、R2、R3...、RN,同样的道理从服务器到达客户端的传输速率取决于链路中最小的那个传输速率,可以表达为min{R1,R2,R3...,RN}。
我们知道在公共链路中,各个端到端的传输操作是同时共享链路资源,假设一条物理传输媒体上有5个文件在同时传输比特,那这时候这条物理传输媒体会平等划分它的传输速率,那么这时候单个文件的传输速率就是该物理传输媒体速率R的1/5,即R/5。
四、协议层及服务模型
在英特网中,设计两个或多个远程通信实体的所有活动都受协议的制约,为了给网络协议的设计提供一个结构,网络设计者以分层的方式组织协议和实现协议的硬件和软件。且每一层具有地协议被称为协议栈。因特网地协议栈由五层次组成,自顶向下分别为:应用层、运输层、网络层、链路层、物理层。
4.1五层网络结构
应用层(软件):应用层的分组称为报文,协议分布在多个端系统之间的应用程序使用协议交换报文。应用层的协议包括:HTTP、SMTP、FTP等;
运输层(软件):运输层的分组称为报文段(segment),在应用程序端点之间运输应用层报文。运输层有两种协议:TCP、UDP。TCP提供了面向连接的服务,这种服务包括了应用层报文项目地的确保传递机制和流量控制,同时会将长报文划分为短报文,并提供拥塞控制机制,因此当网络用赛时,源抑制其传输速率。UDP协议向它的应用程序提供无连接服务,这种无连接服务没有可靠性、没有流量控制、也没有拥塞控制。
网络层(硬件软件混合):网络层的分组称为数据报(datagram),将数据报从一台主机移动到另一台主机,包括网际协议和路由选择协议,其中有著名的网际协议IP,定义了数据包中各个字段以及端系统和路由器如何合作用于这些字段。IP仅有一个,且所有具有网络层的因特网组件都要运行IP,所以尽管网络层具有除IP协议以外的路由选择协议,但还是被常常称为IP层。
链路层:链路层分组称为帧(frame),将分组从一个节点(主机或路由)移动到路径上的下一个节点,网络层必须依靠链路层的服务。网络层包括以太网、WiFi和电缆接入网的DOCSIS协议,链路层提供的服务取决于该链路特定的链路层协议,某些协议基于链路层提供可靠传递,链路层不同的链路会被不同的链路层协议处理,接受不同的服务。
物理层:物理层的任务是将链路层传递的帧中的一个个比特从一个节点移动到下一个节点,物理层协议依旧于链路层相关,且与链路的实际传输媒体有关。
4.2OSI七层网络模型
OSI(Open System Interconnection)参考模型是国际标准化组织(ISO)制定地一个用于计算机或通信系统间互联地标准体系,一般被称为OSI参考模型或者七层模型。
OSI模型自上而下分为:应用层、表示层、会话层、运输层、网络层、链路层、物理层,相比五层网络结构补充了表示层和会话层的功能。
表示层:使通信的应用程序能够解析交换数据地含义,包括数据压缩,数据加密和数据描述;
会话层:提供数据交换地定界和同步功能,包括建立检查点和恢复方案地方法。
4.3封装
在发送主机端,一个应用层报文被传送到运输层,运输层受到之后,在报文首部附上信息,这个首部会被接收端的运输层使用。应用层报文和运输层首部信息一起够成运输层报文段,也就是说运输层封装了应用层报文。
同理,运输层向网络层传递报文段,网络层有类似的在其首部添加注入源和目的端系统地址等网络层首部信息,生成网络层数据报(network-layer-datagram)。
继续向下,数据报被传递给链路层,链路层继续加上链路层的首部信息,生成链路层帧(link-layer-frame)。
在每一层一个分组具有两种类型的字段:首部字段和有效载荷字段(payload field),有效载荷通常是来自上一层的分组。
接收端反向对封装进行重构,一层一层去掉首部,以接收原信息。
最后一部分所谓的作业本来是打算写《计算机网络自顶向下》的课后习题答案,由于考虑篇幅问题,等我整理完再直接来添加文件地址。