重点:
网络边缘:端系统和网络应用。
网络核心:传输数据的链路和交换机。
接入网和物理媒体:将端系统和网络核心相连接的。
计算机网络中数据的时延、丢包和吞吐量。
端到端吞吐量和时延的简单定量模型:兼顾传输、传播和排队时延等因素。
因特网服务提供商(Internet Service Provider,ISP).
传输控制协议(Transnission Control Protocal,TCP)
网际协议(Internet Protocal,IP)
数字用户线(Digital Subscribe Line,DSL)
光纤到户(Fiber To The Home,FTTH)
吞吐量:每秒能够传输的数据量
端系统通过通信链路和分组交换机连接到一起。
1)通信链路:同轴电缆、铜线、光纤、无线电频谱。
传输速率:比特/秒度量(bit/s,或bps)。
传输方式:分组。
2)分组交换机:路由器和链路层交换机。
分组交换机从一条入通信链路接收到达的分组,从一条出通信链路转发该分组。
路由器通常用于网络核心中。
链路层交换机常用于接入网中。
分组类似于卡车、通信链路;类似于高速公路;分组交换机类似于立交桥;段系统类似于建筑物。
端系统通过ISP接入因特网,每个ISP由多个分组交换机和多段通信链路组成的网络。各ISP为端系统提供了各种不同类型的网络接入。
端系统、分组交换机和其它因特网部件都要运行一系列协议(protocal),这些协议控制因特网中信息的接收和发送。TCP和IP是因特网中两个最为重要的协议。
IP协议定义了路由器和分组之间发送和接收的分组格式。
因特网的主要协议统称为TCP/IP协议。
因特网标准由因特网工程任务组(IETF)研发。IETF的标准文档称为请求评论(RFC).RFC定义了TCP、IP、HTTP、SMTP等协议。
其他组织也在指定用于网络组件的标准,最引人注目的网络链路的标准。例如IEEE 802 LAN/MAN标准委员会制定了以太网和无线WiFi的标准。
另一个角度:为应用程序提供服务的基础设施来描述因联网。
分布式应用程序:电子邮件、Web冲浪、即时讯息、社交网络、IP语音、流式视屏、分布式游戏、对等(P2P)文件共享、因特网电视、远程注册等。
运行在一个端系统上的端系统的应用程序怎样才能指令因特网向运行在另一个端系统上的软件发送数据呢?
与因特网相连的端系统提供了一个应用程序编程接口。该API规定了运行在一个端系统上的软件请求因特网基础设施向运行在另一个端系统上的特定目的地软件交付数据的方式。
一个协议定义了在两个或多个通信实体之间交换的报文格式和次序,以及报文发送或接受一条报文或其他事件所采取的动作。
报文的交换以及发送和接收这些报文时所采取的动作是定义一个协议的关键元素:一个协议定义了在两个或多个通信实体之间交换的报文格式和次序,以及报文发送或接收一条报文或其他事件所采取的动作。
“Google拥有30~50个数据中心,其中许多数据中心都有10万台以上的服务器。”
概念:接入网是指将端系统连接到其边缘路由器(edge router)的物理链路。
边缘路由器是端系统到任何其他远程端系统的路径上的第一台路由器。
1)家庭接入:DSL、电缆、FTTH、拨号和卫星。
使用DSL时,用户的本地电话公司也是它的ISP。
每个用户的DSL调制解调器使用电话线(双绞铜线)与位于本地电话公司的本地中心局中的数字用户线接入复用器(DSLAM)来交换数据。
家庭电话线同时承载了数据和传统的电话信号,它们编码为不同的频率:
①高速下行信道,位于50KHz到1MHz频段。
②中速上行信道,位于4KHz到50KHz频段。
③普通的双向电话信道,位于0到4KHz频段。
因此一个电话呼叫和一个因特网连接能够同时共享DSL链路(频分复用技术)
使用电缆因特网接入(cable internet access)时。
混合使用了光纤和同轴电缆。
由头端(Cable head end)发送的每个分组向下行经每段链路到每个家庭;每个家庭发送的每个分组经上行信道向头端(Cable head end)。
使用FTTH接入
概念:从本地中心局直接到家庭提供了一条光纤路径。光纤分布体系结构:主动光纤网络(AON)和被动光纤网络(PON)。
2)企业(和家庭)接入:以太网和WiFi
通过局域网(LAN)将端用户连接到边缘路由器,目前以太网是最为流行的技术。以太网用户使用双绞铜线与一台以太网交换机相连。
基于IEEE 802.11技术的无线LAN接入,更为通俗地称为WiFi。这样的家庭网络组成如下:
一台漫游的便携机和一台有线PC,一个无线PC通信的基站(无线接入点);一个提供与因特网宽带接入的电缆调制解调器;以及一台互连了基站及带有电缆调制解调器的固定PC的路由器。
3)广域无线接入:3G/4G/LTE
1)双绞铜线:便宜,速度低。
2)同轴电缆:
3)光纤:成本高,速度快,抗干扰强。
4)陆地无线电信道
5)卫星无线电通道
概念:由互联因特网端系统的分组交换机和链路构成的网状网络。下图加粗部分。
通过网络链路和交换机移动数据有两种基本方法:电路交换(circuit switching)和分组交换(packet switching)。
在各种网络应用中,端系统彼此交换报文(message)。报文可以执行一种控制功能,也可以包含数据。将长报文划分为较小的数据块,称之为分组。每个分组都通过通信链路和分组交换机(packet switch,包含两类:路由器和链路层交换机)传送。
分组以等于该链路最大传输速率的速度传输通过通信链路。L比特的分组,链路的传输速率为R比特/秒,则传输该分组的时间为L/R秒。
1)存储转发传输
多数分组交换机在链路的输入端使用存储转发传输(store-and-forward transmission)机制。
存储转发机制是指在交换机能够开始向输出链路传输该分组的第一个比特之前,必须接收到整个分组。
则通过由N条速率均为R的链路组成的路径(则源和目的地之间有N-1台路由器),从源到目的地发送一个分组的总体情况。
则一个分组的时延是:d(端到端) = N*L/R。
则P个分组的时延是:d(端到端) = (P-1)*L/R + N*L/R。
2)排队时延和分组丢失
每个分组交换机有多条链路与之相连。对于每条相连的链路,该分组交换机具有一个输出缓存(output buffer)(也称为输出队列(output queue)),它用于存储路由器准备发往哪条链路的分组。
如果到达分组需要传输到某条链路,但发现该链路正忙于传输其他分组,该到达分组必须在输出缓存中等待。因此,除了存储转发时延以外,分组还要承受输出缓存的排队时延。
在此情况下,可能出现分组丢失(丢包),到达的分组或已经排队的分组之一将被丢失。
3)转发表和路由选择协议
问题:路由器从与它相连的一条通信链路得到分组,将其向与它相连的另一个通信链路转发,但是该路由器怎样决定它应当向哪条链路进行转发呢?
在internet中,每个端系统具有一个称为IP地址的地址,当源主机向目的端系统发送一个分组时,源在该分组的首都包含了目的地的IP地址,当一个分组到达网络中的路由器时,路由器检查该分组的目的地址的一部分,并向一台相邻路由器转发该分组。
每台路由器具有一个转发表,用于将目的地址(或目的地址的一部分)映射成为输出链路。
转发表是如何设置的?因特网具有一些特殊的路由选择协议(routing protocol)用于自动地设置这些转发表。
在电路交换网络中,在端系统间通信会话期间,预留了端系统间通信沿路径所需的资源(缓存,链路传输速率)。在分组交换网络中,这些资源则不是预留的。
1)电路交换网络中的复用
链路中的电路通过频分复用FDM或时分复用TDM来实现。
FDM链路的频谱由跨越链路创建的所有连接所共享。这个频段通常具有4KHz的宽度,该频段的宽度称为带宽。下图中,频率域被划分为4个频段,每个频段的带宽是4KHz。
TDM链路,时间被划分为固定区间的帧,并且每帧又被划分为固定数量的时隙。下图中,其时域被划分为帧,每个帧中有4个时隙。一个电路的传输速率等于帧速率乘以一个时隙中的比特数量。
需要注意的是,电路交换的传输时间与链路数量无关。
端系统经过一个接入ISP与因特网相连,而这些ISP自身必须互连。通过创建网络的网络可以做到这一点。
现在的网络情况:
计算机网络限制在端系统之间的吞吐量,在端系统之间引入时延,而且实际上能够丢失分组。
时延的类型:
1)结点处理时延(nodal processing delay):检查分组首部和决定将该分组导向何处所需的时间是处理时延的一部分。(微秒或更低数量级)
2)排队时延(queuing delay):在队列中,当分组在链路上等待传输时,它经受排队时延。(毫秒到微秒)
3)传输时延(transmission delay):用L比特表示分组的长度,用R bps表示从路由器A到路由器B的链路传输速率。则传输时延 = L/R。(通常是毫秒到微秒级)
4)传播时延(propagation delay):一个比特被推向链路,该比特需要向路由器B传播。从链路起点到路由器B传播所需要的时间。速率为s = 2~3*10^8m/s,若距离为d。则传播时延 = d/s。(毫秒级)
5)结点总时延(total nodal delay):以上时延总体累加起来。
结点时延的最为复杂和有趣的成分是排队时延。排队时延对不同的分组可能是不同的。
假设令a表示分组到达队列的平均速率(a的单位是分组/秒,即pkt/s)。R是传输速率,分组的大小为L比特。则分组到达队列的平均速率为La bps。假设该队列非常大,则La/R被称为流量强度。如果La/R > 1,则排队时延将趋向无线大。
则:设计系统时流量强度不能大于1.
实际上,一条链路的前端只能有限的容量,当流量强度大于1,很容易丢包。
假设排队时延是微不足道的,d = N(dproc + dtran + dprop)
瞬时吞吐量(instantaneous throuhput):从主机A向主机B传输文件,主机B接收到该文件的速度。(个人理解,即下载时的显示的网络下载速率)。
平均吞吐量(average throughput):该文件由F比特组成,主机B接收到所有F比特用了T秒,则文件传送的平均吞吐量为 F/T bps。
今天因热网中对吞吐量的限制因素通常是接入网。吐吞量取决于数据流过的链路的传输速率。
网络设计者以分层的方式组织协议以及实现这些协议的网络硬件和软件。一个协议层能够用软件、硬件或两者的结合来实现。
1)应用层
应用层是网络应用程序及它们的应用层协议存留的地方。因特网的应用层包括许多协议,例如:
HTTP : 提供了Web文档的请求和传送。
SMTP:提供了电子邮件报文的传输。
FTP:提供了两个端系统之间的文件传送。
DNS:域名系统。
报文(message):一个端系统中的应用程序使用协议与另一个端系统中的应用程序交换信息的分组。
2)运输层
因特网的运输层在应用程序端点之间传送应用层报文。在因特网中,有两个运输协议,即TCP和UDP,利用其中的任一个都能运输应用层报文。
TCP向它的应用程序提供了面向连接的服务,这种服务包括了应用层报文向目的地的确保传递和流量控制(即发送方/接收方速率匹配)。TCP也将长报文划分为短报文,并提供拥塞控制机制,因此当网络拥塞时,源抑制其传输速率。
UDP协议向它的应用程序提供无连接服务,这是一种不提供不必要服务的服务,没有可靠性,没有流量控制,没有拥塞控制。
报文段(segment):运输层分组。
3)网络层
网络层负责将网络层分组(数据报,datagram)从一台主机移动到另一台主机。在一台源主机中,因特网运输层协议(TCP或UDP)向网络层递交运输层报文段和目的地址。
网络层包括的协议:
IP协议:该协议定义了在数据报中的各个字段以及端系统和路由器如何作用于这些字段。
路由选择协议:使得数据报根据该路由从源传输到目的地。
网络层通常也称为IP层。
4)链路层
因特网的网络层通过源和目的地之间的一系列路由器路由数据报。网络层将数据报下传给链路层,链路层沿着路径将数据报传递给下一个结点。在下个结点,链路层将数据报上传给网络层。
链路层的例子包括以太网、WiFi和电缆接入网的DOCDIS协议。数据报从源到目的地传送通常需要经过几条链路,一个数据报可能被沿途不同链路上的不同链路层协议处理。
链路层通常有交换机和路由器。
把链路层分组称为帧(frame)。
5)物理层
链路层的任务是将整个帧从一个网络元素移动到邻近的网络元素,而物理层的任务是将该帧中的一个一个比特从一个结点移动到下一个结点。
例如以太网的物理层协议:双绞铜线、同轴电缆、光纤等等。
PS:OSI模型多了表示层和会话层。
表示层的作用是使通信的应用程序能够解释交换数据的含义。
会话层提供了数据交换定界和同步功能,包括了建立检查点和恢复方案的方法。
因特网缺少了OSI参考模型中建立的两个层次:这留给应用程序开发者处理。
数据从发送端系统的协议栈向下,向上和向下经过中间的链路层交换机和路由器的协议栈。路由器和链路层交换机都是分组交换机。而路由器和链路层交换机并不实现协议栈中的所有层次。
链路层交换机实现了第一层和第二层;路由器实现了第一层到第三层。所以,因特网的路由器能够实现IP协议,而链路层交换机不能。尽管链路层交换机不能识别IP地址,但它们能够识别第二层地址,如以太网地址。主机实现了5个层次。
封装:
在发送主机端,一个应用层报文M(application-layer message)被传送给运输层。在简单情况下,运输层收取到报文并附上附加信息(所谓运输层首部信息Ht),该首部将被接收端的运输层使用。应用层报文和运输层首部信息一道构成了运输层报文段(transport-layer segment)。运输层报文段因此封装了应用层报文,附加的信息也许包含下列信息:①允许接收端运输层向上向适当的应用程序交付报文信息②差错检测信息③该信息让接收方能够判断报文中的比特是否在途中已被改变。
网络层增加了如源目的端系统地址等网络层首部信息(Hn),产生网络层数据报(network-layer datagram)。该数据报接下来被传递给链路层,链路层增加它自己的链路层首部信息并创建链路层帧(link-layer frame)。
所以,我们看到在每一层,一个分组具有两种类型的字段:首部字段和有效载荷字段(payload field)。有效载荷通常是来自上一层的分组。