一、概述
网络:网络由连接这些节点的多个节点和链路组成。 互联网:它是一个覆盖范围较大的网络,也可以通过个网络通过路由器连接,可以理解为互联网是一个网络。 因特网:是世界上最大的互联网
区分: internet:互联网,这是一个通用术语,一般指由多个计算机网络互联而成的网络,网络之间的通信协议可以是任意的。 Internet:因特网,专有名词,是指世界上最大、最开放、最多网络相互连接的特定计算机网络。TCP/IP写一族作为通信规则。
因特网服务提供商ISP(Internet Service Provider)
提供给用户IP每个用户通过地址的角色ISP提供的IP地址使用互联网,没有IP互联网不能用于地址。 通过各种主机ISP接入因特网。包括住宅区,如本地电缆或电话公司ISP,公司ISP,大学ISP,在机场,旅馆,咖啡店和其他公共场所提供WIFI接入的ISP,蜂窝网络,为智能手机和其他设备提供移动访问ISP。 基于ISP互联网的三个结构 边缘部分:由所有连接到互联网的主机组成,直接用于通信和资源共享的设备。 核心部分:由大量连接这些网络的网络和路由器组成,为边缘服务提供服务。
二、 网络边缘
各种主机也叫端系统(因为主机位于因特网的边缘,所以叫端系统)通过和连接在一起。通信链路多种多样,由不同类型的物理媒体组成。这些物理媒体包括同轴电缆、铜线、光纤和无线电频谱。不同的链路可以以不同的速度传输数据。链路的传输速率(bit/s或者bps)测量。当一个端系统将数据发送到另一个端系统时,发送端系统将数据分段,并在每个段添加第一个字节。由此产生的信息包称为计算机网络术语(packet)。这些分组通过网络发送到目的端系统,并将其组装成初始数据。 物理媒体分为两类:(guided media)和(unguided media)。
- 双绞铜线:由两根绝缘铜线组成,每根约1根mm厚,排列在规则的螺旋状。这两根线被绞合,以减少相邻类似双绞线的电气干扰。通常,许多双绞线绑在一起形成电缆,并覆盖这些双绞线外的保护层。一对电线形成一个通信链路。目前,局域网中双绞线的数据传输速率为10Mbps到10Gbps;
- 同轴电缆:由两个铜导体组成,但两个铜导体是同心的,而不是平行的。通过这种结构和特殊的绝缘和保护层,同轴电缆可以实现更高的数据传输速率。
- 光纤:是一种能引导光脉冲的柔软媒体。每个脉冲表示一个bit。一根光纤可以支持数十甚至数百的比特率Gbps。不受电磁干扰,长达100km光缆信号下降极低,难以窃听。
- 陆地无线电信道:无线电信道承载电磁频谱中的信号。他不需要安装物理线路,有能力穿透墙壁,提供与移动用户的连接和长距离承载信号。无线电信道的特性极大地依赖于传输环境和信号传输之间的距离。对环境的考虑取决于路径损遮挡衰落、多径衰落和干扰。陆地无限信道大致分为三类:一类在短距离内运行(如1)m或2m)比如无线耳机;另一种在局域运行,通常跨越几十到几百米,比如无线LAN技术;第三类在广域运行,跨越数万米,如蜂窝接入技术。
- 卫星无线电信道:一颗通信卫星连接地球上的两个或两个以上的微波发射器/接收器,称为地面站。卫星在一个频段接收传输,使用转发器再生信号,并在另一个频率发送信号。通信中经常使用两种卫星:和。同步卫星永久停留在地球上的同一点上。这种静止性是将卫星放置在地球表面上方3.6万颗km从轨道上获得。近地轨道卫星非常靠近地球,不是永久停留在地球上方的一个点。它们围绕地球旋转,可以相互通信,也可以与地面站通信。为了连续覆盖一个区域,轨道上需要放置许多卫星。 分组交换机从他的一个进入通信链接到达分组,并从他的一个出口通信链接转发分组。今天互联网上最著名的两种分组交换机是和。这两种类型的交换机向最终目的地转发分组。链路层交换机通常用于接入网络,而路由器通常用于网络的核心。从发送端系统到接收端系统,一系列通信链路和分组交换器称为通过网络的路径。
三、网络核心
通过通信链路和分组交换机移动数据有两种基本方法:分组交换和电路交换。 端系统在各种网络应用中相互交换报文。报纸可以包含协议设计师需要的任何东西。从源端系统到目的端系统发送报文,源将长报文分为较小的数据块,称为分组。每个分组都通过通信链路和分组交换机在源和目的地之间传输。通过通信链路传输分组等于链路的最大传输速率。因此,如果一个源系统或分组交换机通过链路发送L比特分组,链路的传输速率为R比特/秒,则该分组的传输时间为L/R秒。
-
存储、转发和传输 存储转发传输是指在交换机能够开始将分组传输到输出链路的第一个比特之前,必须接收整个分组。。
为了深入了解存储、转发和传输,我们现在计算从源发送到目的地收到整个分组的时间(这里我们忽略了传输延迟),源在0点开始传输L/R秒,因为路由器刚刚接收到整个分组,它可以开始向目的地向出链路传输分组;时间2L/R,整个路由器已经传输分组,并且整个分组已经被目的地接收。所以总时延是2L/R。 现在我们开始计算从源开始发送第一个分组到目的地接收到三个分组所需要的时间。与前面一样,再时刻L/R,路由器开始转发第一个分组。而在时刻L/R源也开始发送第二个分组,因为他已经完成了第一个分组的完整发送。因此,在时刻2L/R,目的地已经收到第一个分组并且路由器已经收到第二个分组。类似的在时刻3L/R,目的地已经收到前两个分组,并且路由器收到第三个分组。最后在4L/R,目的地已经收到所有的3个分组 我们来考虑下列一般情况:通过由N条速率均为R的链路组成的路径(所以在源和目的地之间有N-1台路由器),从源到目的地发送一个分组。 则端到端的时延 = N(L/R)。 你也许现在要试着确定P个分组经过N条链路的时延有多大了?
-
排队时延和分组丢失 每台分组交换机有多条链路与之相连。对于每条相连的链路,该分组交换机具有一个,它用于存储路由器准备发往那条链路的分组。如果到达的分组需要传输到某条链路,但发现该链路正忙于传输其他分组,该到达分组必须在输出缓存中等待。因此,除了存储转发时延以外,分组还要承受输出缓存的。这些时延是变换的,变化程度取决于网络的拥塞程度。因为缓存空间的大小是有限的,一个到达的分组可能发现该缓存已被其他等待传输的分组完全充满了。在此情况下,将出现,到达的分组或已经排队的分组之一将被丢弃。
-
转发表和路由选择协议 在因特网中,每个端系统具有一个称为 IP地址的地址。当源主机要向目的端系统发送一个分组时,源在该分组的首部包含了目的地的 IP地址。如同邮政地址那样,该地址具有一种等级结构。当一个分组到达网络中的路由器时,路由器会检查该分组的目的地址的一部分,并向一台相邻路由器转发该分组。每台路由器具有一个,用于将目的地址(或目的地址的一部分)映射成为输出链路。当某分组到达一台路由器时,路由器检查该地址,并用这个目的地址搜索其转发表,以发现适当的出链路。路由器则将分组导向该出链路。
端到端选路过程可以用一个不使用地图而喜欢问路的汽车驾驶员来类比。例如,假定 Joe驾车从费城到佛罗里达州奥兰多市的 Lakeside Drive街156号。Joe 先驾车到附近的加油站询问怎样才能到达佛罗里达州奥兰多市的 Lakeside Drive 街 156号。加油站的服务员从该地址中抽取了佛罗里达州部分,告诉Joe 他需要上1-95 南州际公路,该公路恰有 丘该加油站的人口。他又告诉Joe一旦到了佛罗里达后应当再问当地人。于是,Joe上了 I_95南州际公路, 一直到达佛罗里达的Jacksonville,在那里他向另一个加油站服务员问路 ,该服务员从地址中抽取了奥兰多市部分,告诉Joe 他应当继续沿 1-95公路到 Dayt 谁,然后再问其他人。在Daytona海滩,另一个加油站服务员也抽取该地址的奥兰 告诉Joe应当走1-4公路直接前往奥兰多出口下来。Joe走了I-4 公路,并从奥兰多出口下来向另一个加油站的服务员询问,这时该服务员抽取了该地址的Lakeside Drive 部 广Joe 到Iakeside Drive必须要走的路。 一旦Joe到达了 Lakeside Drive,他向一个骑自行车的小孩询问了到达目的地的方法。这个孩子抽取了该地址的156号部分,并指示了房屋方向。Joe最后到达了最终目的地。在上述类比中,那些加油站服务员和骑车的孩子可类比为路由器。
我们刚才知道了路由器使用分组的目的地址来索引转发表并决定合适的出链路,但是转发表是如何设置的?答案就是因特网具有一些特殊的,用于自动地设置这些转发表。在接下来的文章里会有专门的解释,这里不做详细阐述了。
在电路交换网络中,在端系统间通信会话期间,预留了端系统间沿路径通信所需要的资源(缓存,链路传输速率)。而在分组交换中这些资源则不是预留的。 传统的电话网络时电路交换的例子。考虑当一个人通过电话网向另外一个人发送信息时所发生的情况。在发送发能够发送信息之前,该网络必须在发送方和接收方之间建立一条链接。这是一个名副其实的连接。因为此时沿着发送方和接收方之间路径上的交换机都将为该链接维护一个链接状态。用电话的术语来说,该链接被称为一条电路。当网络创建这种电路时,它也在连接期间在该网络链路上预留了恒定传输速率(表示为每条链路传输容量的一部分)。既然已经为发送方-接收方连接预留了带宽则发送方能够以确保的恒定速率向接收方传送数据。
链路中的电路是通过频分复用(FDM)或时分复用(TDM)来实现的。
-
频分复用 频分复用的目的在于提高频带利用率。通常,在通信系统中,信道所能提供的带宽往往要比传送一路信号所需的带宽宽得多。因此,一个信道只传输一路信号是非常浪费的。为了充分利用信道的带宽,因而提出了信道的频分复用问题
在8:00时,A,B,C三人都要向外打电话,移动公司为了节省带宽,采用频分复用技术,讲A,B,C三人的信号频率,通过调制技术,调到不同的频段(要加上防护频带以防止邻路信号间相互干扰),合并后的复用信号,原则上可以在信道中传输,但有时为了更好地利用信道的传输特性,还可以再进行一次调制。在接收端,可利用相应的带通滤波器(BPF)来区分开各路信号的频谱。然后,再通过各自的相干解调器便可恢复各路调制信号。在接收端,可利用相应的带通滤波器(BPF)来区分开各路信号的频谱。然后,再通过各自的相干解调器便可恢复各路调制信号。
-
时分复用 就是首先需要同步,大家公用一个时间基准,比如把每秒分为十份,每份0.1秒,这就是十个时隙,每个时隙只给一个用户使用,所以不同用户依次跟基站通信,也就没有了干扰。
一个简单的类比,考虑两家餐馆,一家需要客户预定,而另一家不需要预定,但不保证能安排顾客。对于需要预定的那家餐馆,我们在离开家之前必须承受先打电话预定的麻烦,但当我们到达餐馆时,原则上我们能够立即入座点餐。对于不需要预定的那家餐馆,我们不必麻烦地预定餐馆,但当我们到达餐馆时,也许不得不等待一张餐桌空闲后才能入坐。这里需要预定的餐馆就属于电路交换,而不需要预定的餐馆属于分组交换。概括而言就是说嫌预订麻烦的人宁可要分组交换而不要电路交换。
- 分组交换的性能优于电路交换的性能。
- 电路交换不考虑需求,而预先分配了传输链路的使用,这使得已分配而并不需要的链路时间未被利用。
- 分组交换按需分配链路使用,链路传输能力将在所有需要在链路上传输分组的用户之间逐分组地被共享。
今天的因特网是一个网络的网络,其结构复杂,由十多个第一层 ISP 和数十万个较低层 ISP 组成。ISP覆盖的区域多种多样,有些跨越了多个大洲大洋,有些限于狭窄的地理区域。较低层的 ISP 与较高层的 ISP 相连,较高层 ISP 彼此互联。用户和内容提供商是较低层 ISP 的客户,较低层 ISP 是较高层 ISP 的客户。
四、分组交换网中的时延、丢包和吞吐量
分组从一个节点(主机或路由器)沿着这条路径到后继节点(主机或路由器),该分组在沿途的每个节点经受了几种不同类型的时延。这些时延最为重要的是、、和,这些时延总体累加起来是。
类型 | 描述 | 影响因素 |
---|---|---|
处理时延 | 检查分组首部决定将该分组导向何处所需要的时间是处理时延的一部分。 | 处理器 |
排队时延 | 在队列中,当分组在链路上等待传输时,它经受排队时延。 | 正在排队等待向链路传输的分组数量 |
传输时延 | 将所有分组的比特推向链路所需要的时间是传输时延。 | 分组的长度、链路传输速率 |
传播时延 | 从路由器 A 链路起点到路由器 B 传播所需要的时间是传播时延。 | 链路传播速率 |
传输时延(s) = 分组长度(b)/ 传输速率(b/s) 传播时延(s)= 链路距离(d) /传播速率(d/s)
什么时候排队时延大?什么时候又不大那?该问题的答案很大程度取决于流量到达该队列的速率、链路的传输速率和到达流量的性质,即流量是周期性到达还是以突发形式到达。为了更深入地领会某些要点,令a表示分组到达队列的平均速率,R是传输速率,即从队列中推出比特的速率。为了简单起见,也假定所有分组都是以L比特组成的,则比特到达队列的平均速率时 La (bps)。最后假定该队列非常大,因此它基本上可以容纳无限数量的比特。比率: 被称为,它在估计排队时延方面起着重要的作用。
平均排队时延与流量强度的关系(假设队列无限大):
-
La/R > 1则比特到达队列的平均速率超过从该队列传输出去的速率。在这种不幸的情况下,该队列趋于无限增加,并且排队时延将趋于无穷大。
-
La/R <=1则到达流量的性质会影响排队时延。如果分组周期到达,即L/R秒到达一个分组,则每个分组将到达一个空队列,不会有排队时延。另一方面如果分组以突发形式到达,则有可能会有很大的平均排队时延。
在上述讨论中,我们假设队列能够容纳无穷多的分组,但是现实中是不可能的。因此到达的分组如果发现一个满的队列,由于没有地方存储这个分组,路由器将丢弃该分组,即该分组将会丢失。这就叫做。
五、网络中的性能指标
首先先了解比特: 比特:计算机中数据量的单位,也是信息论中信息量的单位。一个比特就是二进制数字中的一个1或0。 基本单位:bit(b) 比特
8 bit = 1 Byte
KB = 2^10B
MB = K KB = 2^20 B
GB = K MB = 2^30 B
TB = K GB = 2^40 B
带宽在模拟信号系统中表示的是信号所包含的各种不同频率成分所占据的频率范围,也就是传输过程中最大频率与最小频率的范围。
带宽中计算机网络中的意义:
用来表示网络的通信线路所能传送数据的能力,因此网络带宽表示在单位时间内从网络中的某一点到另一个点所能通过的“最高数据率。
单位:b/s(kb/s, Mb/s, Gb/s, Tb/s),与速率相同。
在日常生活中的宽带带宽除以8,一般就是平时使用中的最高传输速率。(1B = 8bit)
是一个很重要的计算机网络性能指标。直接关系网络的应用体验。
吞吐量表示在单位时间内通过某个网络(或信道、接口)的数据量。
吞吐量被经常用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量能够通过网络。
吞吐量受网络的带宽或额定速率的限制。
发送时延:源主机将分组发送出去产生的时延。
计算方式: 分组长度(b) / 发送速率(b/s)。
发送速率 = min[网卡发送速率,信道带宽,交换机或路由器的接口速率]
发送效率是一个短板效应,由速率最低的模块决定,所以在选择网线、路由器等设备时,要考虑到整体的速率平衡问题。
传播时延:分组在线路中传播产生的时延。
计算方式:信道长度(m) / 电磁波传播速率(m/s)
处理时延:路由器收到分组后对其进行存储转发产生的时延。
一般不方便计算。
传播时延和带宽的乘积。
若发送端连续发送数据,则在所发送的第一个比特即将到达终点时,发送端就已经发送了时延带宽积个比特。
实际上就是一个比特到达终点的单位时间内传输的比特个数。
链路的时延带宽积又称为以比特为单位的链路长度。
一个网络请求双向交互一次所需的时间。
往返时间RTT也是一个重要的性能指标
可以更好的了解到网络的情况。
信道利用率:用来表示某信道有百分之几的时间是被利用的(有数据通过)。
网络利用率是全网络的信道利用率的加权平均。
根据排队论,当某信道的利用率增大时,该信道引起的时延也会迅速增大。如图所示: 当网络利用率达到50%时,时延就要加倍。
当网络利用率超过50%时,时延就急剧增大。
当网络利用率接近100%时,时延趋于无穷大。
因此要控制信道利用率不超过50%,否则就要准备扩容。
丢包率即分组丢失率,是指在一定的时间范围内,传输过程中丢失的分组数量与总分组数量的比率。
丢包率具体可分为接口丢包率、结点丢包率、链路丢包率、路径丢包率、网络丢包率等。
分组在传输过程中出现误码,被结点丢弃。
分组到达一台队列已满的分组交换机时被丢弃,在通信量较大时就可能造成网络拥塞。
丢包率反映了网络的拥塞情况。
无拥塞时丢包率为0
轻度拥塞时丢包率为1%—4%
严重拥塞时丢包率为5%-15%
六、协议层次及其服务模型
TCP/IP体系结构相当于:
- 将OSI结构的物理层和数据链路层合并成为网络接口层,去掉了会话层和表示层。
- 在TCP/IP协议中的网络接口层并没有规定什么具体的内容,目的是为了允许任何形式的网络接口使用TCP/IP协议。
- 所以实际上TCP/IP协议只有三层:网际层、运输层、应用层。
网际层核心协议是IP协议。
运输层的两个重要协议:TCP(可靠传输)、UDP(不可靠传输)。
应用层有大量的应用协议:HTTP、SMTP等等。
- 应用层:是网络应用程序以及他们的应用层协议存留的地方。 HTTP协议:提供了web文档的请求和传送。 SMTP协议:提供了电子邮件报文的传输。 FTP协议:提供了两个端系统之间的文件传输。 应用层协议分布在多个端系统上,而一个端系统中的应用程序使用协议与另一个端系统中的应用程序交换信息分组。我们把这种位于应用层的信息分组称为。
- 运输层:在应用程序端点之间传送应用层报文。 TCP协议:面向连接、可靠、以字节流形式运输应用层报文,并且提供拥塞控制。 UDP协议:无连接、不可靠、以报文段的形式运输应用层报文,没有流量控制,也没拥塞控制。 我们把位于运输层的信息分组称为。
- 网络层:将称为的信息分组从一台主机移动到另外一台主机上。 IP协议:该协议定义了数据报中的各个字段以及端系统和路由器如何做用于这些字段。IP仅有一个,所有具有网络层的组件必须运行IP。因特网的网络层也包括决定路由的路由选择协议,他根据该路由器将数据报从源地址发往目的地。
- 链路层:因特网的网络层通过源和目的地之间的一系列路由器路由数据报。为了将分组从一个节点移动到路径上的下一个节点,网络层必须依靠链路层的服务。特别是在每个节点,网络层将数据报下传给链路层,链路层沿着路径将数据报传递给下一个节点。在该下一个节点,链路层将数据报上传给网络层。我们把链路层分组称为。
- 物理层:虽然链路层的任务是将帧从一个网络元素移动到邻近的网络元素,而物理层的任务是将该帧中的一个个比特从一个节点移动到下一个节点。在这层中的协议仍然和链路层是相关的,并且进一步与该链路的实际传输媒体相关。我们把这一层的信息叫做
在五层结构中,各层负责任务如下:
应用层:按照http请求的协议,构建报文。然后交付给运输层处理。
运输层:给http请求加上一个头部,使其成为一个TOP报文段。其头部的作用是识别进程和实现可靠传输(TCP的特点)。而后交给网络层处理。
网络层:给TCP报文段加上一个IP头部,使其成为IP数据报。其首部作用是为了使该数据段可以在互联网上传输。而后将其交付给数据链路层处理。
数据链路层:给IP数据报添加一个首部和一个尾部,使其成为帧(按帧传输)。
其首部的作用是使其能够在一段链路或者网络上传输,以及被目的交换机接收并处理。
其尾部的作用是为了让目的主机检查是否有误码。
最后将其交给物理层。
物理层:将帧看作是比特流(01编码),由于是在以太网传输,因而给其加上前导码,便于传输。并且将其变成相应的信号发送到传输媒体。
此时,发送端处理结束。
由于接收端的过程就是发送端的逆过程,不再进行啰嗦。