赞
踩
目录
计算机网络 = 通信技术 + 计算机技术
计算机网络是通信技术与计算机技术紧密结合的产物,是互连的、自治的计算机集合
对于距离远,数量大的网络,通过交换网络来互连主机
一般而言,我们所谈论的计算机网络主要是指公共因特网(The Public Internet)
从组成的角度
因特网是一个世界范围的计算机网络,即它是一个互联了遍及全世界数十亿计算设备的网络,例如:便携机、智能手机、平板电脑、电视、游戏机、温度调节装置、家用安全系统、家用电器、手表、眼镜、汽车、运输控制系统等
我们将这些设备称为主机(hosts)或端系统(end systems)
主机通过通信链路(communication links)和分组交换机(packet switches)连接到一起
主机想要连接到因特网,需要通过因特网服务提供商(Internet Service Providers,ISPs)才能接入网络并享受网络服务(后面会提到)
从服务的角度
为网络应用提供通信服务的通信基础设施:
为网络应用提供应用编程接口(API):
什么是协议
协议,就是规则的集合,为了保证网络中数据交换的准确性,就必须遵循一些事先约定好的协议,这些为进行网络中的数据交换而建立的规则、标准或约定称为网络协议(简称为“协议”)
协议类似于一套规则,对话的双方都必须遵守这套规则才能够正常对话(通信),例如人们之间的对话通常以"你好"开始,而对方则回以"你好",这就是一种规则,又比如上课时,学生想要向老师提问,就必须先举手,得到老师的同意之后才能提问,随后老师就其提问的内容进行解答
网络通信主体是“机器”而不是人,只能够交换“电子化”或“数字化”消息,因此计算机网络的所有通信过程都必须遵守某种/些规则——协议
在计算机网络中,网络协议控制着两个(或多个)对等实体进行通信的规则的集合,是水平的,由语法、语义、时序三部分构成
语法:
语义:
时序:
在以后各种协议的学习中,我们会看到协议是如何规范网络中所有信息发送和接收过程,学习协议是学习计算机网络的重要内容
Internet协议标准
- RFC: Request for Comments
- IETF:互联网工程任务组(Internet Engineering Task Force)
通常把与因特网相连的计算机和其他设备称为端系统,因为它们位于因特网的边缘,故而被称为端系统。 因特网的端系统包括:桌面计算机(例如,桌面PC、Mac和Linux设备、服务器(例如,Web和电子邮件服务器)和移动计算机(例如,便携机、智能手机和平板电脑)。
端系统也称为主机,因为它们容纳(即运行)应用程序,如Web浏览器程序、Web服务器程序、电子邮件客户程序或电子邮件服务器程序等。主机有时又被进一步划分为两类:客户(client)和服务器(server)
接入网要实现的功能是将网络边缘接入到网络核心(边缘路由器)
接入网:将端系统物理连接到其边缘路由器(edge router)的网络。
边缘路由器:是端系统到任何其他远程端系统的路径上的第一台路由器
1. 家庭接入——DSL、电缆、FTTH、拨号和卫星
如今,宽带住宅接入有两种最流行的类型——数字用户线(digital subscriber line,DSL)和电缆
住户通常从提供本地电话接入的本地电话公司处获得DSL因特网接入。因此,当使用DSL时,用户的本地电话公司也是它的ISP。利用已有的电话线连接中心局的DSLAM,通常上行传输速率小于2.5 Mbps (典型速率小于1 Mbps),上行传输速率小于24Mbps (典型速率小于10)
DSL调制解调器按照频分多路复用将信号按不同的频率进行编码,使得传统电话信号和数据信号可以在家庭电话线上共存
这种方法使得在单根DSL线路可以被一个电话呼叫和一个因特网连接所共享
电缆因特网接入 利用了有线电视公司现有的有线电视基础设施。住宅从提供有线电视的公司获得了电缆因特网接入,这种接入方式同样需要特殊的modem,称为cable modem
和DSL一样,电缆因特网接入使用频分多路复用技术,cable modem将HFC网络(混合光纤同轴电缆(hybrid fiber coax))划分为上行和下行两个信道,这两个信道是非对称的——下行高达30Mbps传输速率,上行为2Mbps传输速率
各家庭(设备)通过电缆网络→ 光纤接入ISP,不同于DSL的独占至中心局的接入,各家庭共享家庭至电缆头端的接入网络
另一种更高速率的技术是光纤到户(fiber to the home,FTTH) ,FTTH就是从本地中心局直接到家庭提供了一条光纤路径
2. 企业(和家庭)接入——以太网和WIFI
在公司和大学校园以及越来越多的家庭环境中,使用局域网(LAN)将端系统连接到边缘路由器。
其中,以太网是公司、大学和家庭中最为流行的局域网技术,端系统通常直接连接以太网交换机
无线接入网络通过共享的无线接入网络连接端系统与路由器,通过基站(base station)或称为“接入点”(access point),基于IEEE802.11技术的无线LAN接入,俗称WIFI
在无线LAN环境中,无线用户从/到一个接入点发送/接收分支,该接入点与企业网连接(很可能使用了有线以太网),企业网再与有线因特网相连。一个无线LAN用户通常必须位于接入点的几十米范围内,使用802.11b/g (WiFi)的传输速率: 11Mbps、54Mbps
一个典型的家庭接入网络
3. 广域无线接入——3G 和 LTE
iPhone 和安卓等设备越来越多地用来在移动中发信息、在社交网络中分享照片、观看视频和放音乐。这些设备应用了与蜂窝移动电话相同的无线基础设施,通过蜂窝网提供商运营的基站来发送和接收分组。与WiFi不同的是,一个用户仅需要位于基站的数万米(而不是几十米)范围内。
对于每个发射器—接收器对,通过跨越一种物理媒体(physical medium)传播电磁波或光脉冲来发送该比特
物理媒体的例子包括双绞铜线、同轴电缆、多模光纤缆、陆地无线电频谱和卫星无线电频谱。物理媒体分成两种类型:导引型媒体(guided media)和非导引型媒体(unguided media)
1. 双绞铜线
双绞线是最常用的古老传输介质,它由两根采用一定规则并排绞合的、相互绝缘的铜导线组成。绞合可以减少对相邻导线的电磁干扰。在局域网和传统电话网中广泛使用,双绞线分为两类
2. 同轴电缆
同轴电缆由内导体、绝缘层、网状编织屏蔽层和塑料外层构成,通常分为两类
3. 光纤
光纤是一种细而柔软的、能够导引光脉冲的媒体,每个脉冲表示一个比特。光纤通信就是利用光纤传递光脉冲来进行通信。有光脉冲表示1,无光脉冲表示0。一个光纤能够支持极高的比特速率,高达数十甚至数百Gbps
光纤主要由纤芯和包层构成,纤芯很细,只有8至100微米,光波通过纤芯进行传导,包层有较低的折射率。当光纤从高折射率的介质射向低折射率的介质时,其折射角将大于入射角。因此,只要入射角大于某个临界角度,就会出现全反射,即光线碰到包层时就会折射回纤芯,这个过程不断重复,光也就沿着光纤传输下去
4. 陆地无线电信道
无线电信道承载电磁频谱中的信号。他不需要安装物理线路,并具有传统墙壁、提供与移动用户的连接以及长距离承载信号的能力,因而称为一种有吸引力的媒体
5. 卫星无线电信道
一颗通信卫星连接地球上的两个或多个微波发射器/接收器,它们被称为地面站。该卫星在一个频段上接收传输,使用一个转发器再生信号,并在另一个频率上发射信号。通常使用的两类卫星:同步卫星和近地轨道卫星
网络核心,即由互联因特网端系统的分支交换机和链路构成的网状网络
下图中阴影加粗部分即为网络核心
网络核心的关键功能: 路由+ 转发
网络核心解决的基本问题是:如何实现数据从源主机通过网络核心送达目的主机?
答案是
数据交换
数据交换有三种方式
- 电路交换
- 报文交换
- 分组交换
在进行数据传输前,两个结点之间必须线建立一条专用(双方独占)的物理通信路径,这一路径在整个数据传输期间一直被独占,直到通信结束后才被释放
电路交换,在数据传输的过程中,用户始终占用端到端的固定传输带宽
一个最典型的电路交换网络就是电话网络,首先要拨号才能建立连接然后再通信,因此电路交换分为三个阶段:
电路交换中使用频分复用或时分复用来实现链路共享
多路复用(multiplexing),简称复用,是通信技术中的基本概念
多路复用的思想是将链路/网络资源(如带宽)以某种方式划分为“资源片”,然后把资源片分配给各路呼叫(call),每路呼叫独占分配到的资源片进行通信,资源片可能“闲置”(idle)(无共享)
典型的多路复用有四种:
1. 频分多路复用( frequency division multiplexing-FDM )
将信道按照频率带宽划分成不同的频带的子信道
频分多路复用的各用户占用不同的带宽资源
注意,这里的“带宽”是频率带宽,其单位是Hz,而不是数据的发送速率
通俗来讲,假设一条信道上的频率带宽为 0~1000Hz,其中 0~100Hz 给小王用于通信,100~200Hz 给小李用于通信,200~300Hz 给小何用于通信…
2. 时分多路复用( time division multiplexing-TDM )
时分复用则是将时间划分为一段段等长的时分复用帧(TDM 帧),每个用户在每个 TDM 帧中占用固定序号的时隙
每用户所占用的时隙是周期性出现(其周期就是TDM 帧的长度)
时分复用的所有用户是在不同的时间占用相同的频带宽度
通俗来讲,就是0-1s小红用信道,1-2s小绿用信道,2-3秒小紫用信道…,直到每个人轮流用完一次再重头开始
3. 波分多路复用(Wavelength division multiplexing-WDM)
波分复用就是光的频分复用
我们知道光有波长,而在光纤中信号是以光的形式传播的,因此如果按照不同的波长来区分信号,就能实现波分复用
在实际的使用过程中,用户0的信号被调制器调制成某一波长的光,经过传输后在终点经光解调器解出正确的波长对应的信息
通俗来讲,一个用户使用 x 波长的光,另一个用户使用 y 波长的光,将光按照不同的波长分隔开来,在共享的光纤(信道)上就能传输,到了目的地也能区分开来
4. 码分多路复用( Code division multiplexing-CDM )
码分多路复用是给每个用户一个码片序列用于区分用户,各用户使用相同频率载波,利用各自码片序列编码数据
编码信号 = (原始数据) × (码片序列)
具体而言:
每个用户分配一个唯一的m bit码片序列(chipping sequence),其中“0”用“-1”表示、“1”用“+1”表
示,例如:
S站的码片序列:(–1 –1 –1 +1 +1 –1 +1 +1)
各用户码片序列相互正交(orthogonal)
解码 : 码片序列与编码信号的内积
来看一个解码的例子
在一个CDMA网络中,某站点正接收另一码序列为(-1,1,1,-1,-1,-1,1,-1)的站点发送的数据,若该站点收到(-111-1-1-11-1 1-1-1111-11 1-1-1111-11 -111-1-1-11-1),则该站点收到的数据是?
A. 1001
B. 0001
C. 0110
D. 1000
注意到此时码片序列长度为8bit,因此8个二进制位能传递一位的有效信息,站点收到的是
-111-1-1-11-1 1-1-1111-11 1-1-1111-11 -111-1-1-11-1
可以看出总长度为32,因此有4个二进制位的信息,其中黑色部分与原站点码序列相同,红色与原站点码序列相反,因此黑色部分代表1,红色部分代表0,整个信息为1001
码分多路复用的过程如下图所示:
通俗来讲,码分复用相当于给每个用户一个身份证编号(码片序列),然后拿身份证买票上同一辆火车到同一个地方,出站的时候就能用身份证识别你
在各种网络应用中,端系统彼此交换报文,源(应用)发送信息整体,数据交换单位是报文,携带有目的地址和源地址信息
路由器在收到报文时,需要使用“存储-转发”机制将报文转发出去,报文交换没有对报文进行分组,因此需要路由器将整个大的报文全部接受完成之后,才能进行转发
存储转发传输:是指在交换机能够开始向输出链路传输该分组的第一个比特之前,必须接收到整个分组
分组交换就是在报文交换的基础上,将报文拆分成一系列相对较小的数据包,也就是所谓的分组,在这个过程中,有一些值得注意的事项
分组:
重组:
报文交换与分组交换的对比
相同点:均采用存储-转发交换方式
不同点:
从效率上来看,分组交换中,每一个路由器并不需要一次性处理完所有的数据,而是分批进行处理,类似于流水线的工作原理,因此可以实现效率的最大化
考虑下面的场景
报文长度:M bits
链路带宽:R bps
分组长度:L bits
中间路由器个数:2
报文交换所需时间:
总时间 = 发送端发出一个完整报文时间 + 路由器转发一个完整报文的时间 × 2 = M/R+(M/R)×2 = 3M/R
分组交换所需时间:
在第一个分组经过路由器时,第二个分组已经发出,由于采用流水线式的结构,每个小的时间段内,路由器都在对分组进行转发,
可以看到,在第一个分组发出后的L/R时间内,第二个分组被发出,假设有N个分组,那么最后一个分组从发送端发出的时间为:NL/R,其中NL=M(分组个数×分组长度=报文长度),所以最后一个分组发出时间为M/R,而最后一个分组需要2×L/R才能到达接收端,因此
总时间 = M/R+2×L/R
对于更一般的情况,假设发送端和接收端中间有n个路由器,且每条链路带宽均为R
报文交换时间为:
分组交换时间为:
对于下面的例子,参考上面的模型
报文长度:M = 7.5 Mbits
链路带宽:R = 1.5 Mbps
分组长度:L = 1500 bits
中间路由器个数:2
报文交换:15s
分组交换:5.002s
因此,分组交换相比于报文交换有更高的效率,但是需要对分组进行差错控制以保证数据交付的正确性,这部分将在后续各分层及相应协议中进行介绍
分组交换与电路交换的对比
分组交换 | 电路交换 |
允许更多用户同时使用网络 | 允许建立连接的双方使用网络 |
网络资源充分共享 | 网络资源被独占 |
适用于突发数据传输网络 | 适用于实时服务(如电话和视频会议) |
简单、成本低、无需呼叫建立 | 复杂且需要呼叫建立连接 |
可能产生拥塞,需要协议来解决 | 不会产生拥塞,独占带宽 |
之前已经提到过,端系统是通过ISP接入因特网的,而各ISP之间又必须进一步互连,使得全球的网络结构错综复杂,因此对于Internet的结构无人能给出精确描述
ISP:包括如本地电缆或电话公司那样的住宅区ISP、公司ISP、大学ISP,在机场、旅馆、咖啡店和其他公共场所提供WiFi接入的ISP,以及为智能手机和其他设备提供移动接入的蜂窝数据ISP
我们在上网时,往往需要使用中国电信、中国移动、中国联通等中介才能连接到互联网,这些企业便是所谓的因特网服务提供商,为我们提供接入互联网的服务
ISP如何工作?
ISP作为提供接入服务的中介,租用国际信道和大量的当地电话线,购置一系列计算机设备,通过集中使用,分散压力的方式,向本地用户提供接入服务
每个ISP能够为一部分端系统提供服务,为了实现全球通信,ISP之间也必须建立起连接,这种ISP之间的连接关系构成了复杂的网络结构
一种办法是每个ISP直接互连,但会使得网络耗资巨大,并且降低了效率
网络结构1
用单一的全球传输ISP互联所有接入ISP。也即由一个因特网服务提供商为全球范围内所有用户提供服务,
自然建造这样一个大规模的网络将耗资巨大,为了有利可图,全球ISP要向每个连接的接入ISP收费,故接入ISP被认为是客户,而全球传输的ISP被认为是提供商
网络结构2
在网络结构1的基础上,竞争者出于商业角度加入进来形成多个全球ISP,这样的结构为网络结构2,它是一种两层的等级结构,其中全球传输提供商位于顶层,而接入ISP位于底层。
同时这些全球传输ISP之间必须是互连的,否则可能会导致与某个全球传输ISP连接的接入ISP将不能与其他全球传输ISP的接入ISP之间进行通信
网络结构3
在网络结构2的基础上,竞争者进一步增加,不仅有多个竞争的第一层ISP,而且在一个区域可能有多个竞争的区域 ISP。这样使得网络结构的分层化更加明显
在任何给定的区域,都可能有一个区域ISP(regional ISP),区域中的接入ISP与之连接。
例如:在中国,每个城市都有接入ISP——>与省级ISP连接——>与国家级ISP连接——>最终与第一层ISP连接
网络结构4
为了建造一个与今天的因特网更为相似的网络,在网络结构3上增加增加存在点(Point of Presence)、多宿、对等和因特网交换点,得到网络结构4
网络结构5
网络结构5在网络结构4的的基础上增加了内容提供商网络 (content provider network),比如说谷歌和微软。内容提供商可能运行其自己的网络,并就近为端用户提供服务、内容
最终因特网实现了三层的ISP结构
今天因特网是一个网络的网络,结构复杂,由十多个第一层ISP和数十万个较低层ISP组成。在网络的中心通常是少数互连的大型网络
性能指标从不同方面度量计算机网络的性能。常用的性能指标如下:
速率
速率即数据率(data rate)或称数据传输速率或比特率(bit rate)
- 计算机网络中最重要的一个性能指标
- 单位时间(秒)传输信息(比特)量
- 单位:b/s(或bps)、kb/s、Mb/s、Gb/s
- k=10^3 、M=10^6 、G=10^9
速率往往是指额定速率或标称速率
带宽(bandwidth)
带宽原本指信号具有的频带宽度,即最高频率与最低频率之差,单位是赫兹(Hz)
在计算机网络中,通常把最高数据传输速率称为带宽
单位:b/s (bps)
延迟/ 时延(delay or latency)
分组交换为什么会发生丢包和时延?
分组在路由器缓存中排队
时延分为四种:
结点处理延迟
是指数据在交换结点为存储转发而进行的一些必要的处理所花费的时间。例如,分析分组首部、从分组中提取部分数据。进行差错检验或寻找合适的路由等,通常小于毫秒级
排队延迟
是指分组在进入路由器后,路由器内还有尚未处理完成的分组,因此该分组需要在输入队列中排队等待;路由器确定转发端口后,还要再输出队列中排队等待,直到输出链路可用。排队延迟取决于路由器拥塞程度,实际的排队延迟通常是毫秒到微妙量级
注:由于处理延迟和排队延迟除特殊说明外可忽略不计
传输延迟
是指结点将分组的所有数据(比特)推向传输链路所需要的时间,即从发送分组的第一个比特算起,一直到该分组的最后一个比特发送完毕所需要的时间,传输延迟也叫发送延迟
假设结点A要发出的分组大小为L bits,链路带宽为R bit/s,A结点的传输延迟为 L/R
传播延迟
是指电磁波在信道中传播一定距离所花费的时间,即一个比特从链路的一端传播到另一端所需的时间
假设结点A与结点B之间的链路长d,信号传播速度为s,A,B之间的传播延迟为 d/s
以车队过收费站为例来区分传输延迟和传播延迟
我们将整个车队视为一个分组,每一辆车视为一个比特,收费站视为结点,有如下假设
车队通过收费站的时间 = 一台车通过收费站的时间 × 车的数量 = 传输延迟
一台车从第一个收费站跑到第二个收费站的时间 = 收费站之间的距离 / 车速 = 传播延迟
时延带宽积
是指发送端发送的第一个比特即将到达终点时,发送端已经发出的比特数量,等于传输时延和信道带宽的乘积
链路的时延带宽积又称为以比特为单位的链路长度
丢包率
在分组交换中,分组丢失称为丢包。排队的容量是有限的,到达的分组发现一个满的队列,由于没有地方存储这个分组,路由器将丢弃该分组,即该分组将会丢弃(lost)
丢包率 = 丢包数 / 已发出的分组总数
吞吐量/率(Throughput)
表示在发送端与接收端之间传送数据速率 (b/s),分为
- 即时吞吐量: 给定时刻的速率
- 平均吞吐量 : 一段时间的平均速率
考虑到目标路径可接收得吞吐量,它会受到小容量管道的限制。组网传输容量最小的管道,将成为此链接的瓶颈。此链接有时也称为瓶颈链路
因此,吞吐量取决于数据流过的链路的传输速率,当没有其他流量干扰时,一般是取瓶颈链路的带宽,也即链路中的最小传输速率
我们将计算机网络的各层及其协议的集合称为网络的体系结构
计算机网络是一个非常复杂的系统,我们采用分层结构来进行讨论。分层的基本原则如下:
在计算机网络的分层结构中,第n层的活动元素通常称为第n层实体(entity)
实体表示任何可发送或接收信息的硬件或软件进程,通常是一个特定的软件模块
每一层有自己传送的数据单位、其名称大小、含义也各有不同,每个报文都分为两部分:
这两部分共同组成PDU——协议数据单元,每层的PDU各不相同,如
开放系统互连参考模型(OSI)是由国际标准化组织 (ISO) 于1984年提出的分层网络体系结构模型,目的是支持异构网络系统的互联互通
理解网络通信的最佳学习工具(理论模型)
但理论是成功,市场是失败
OSI参考模型分为7层,每层完成特定的网络功能:
物理层(Physical Layer):
单位:比特
任务:透明地传输比特流
功能:在物理媒体上为数据端设备透明地传输原始比特流
物理层规定了接口特性(机械特性、电气特性、功能特性、规程特性),其传输模式有三种:
数据链路层(Data Link Layer):
单位:帧
任务:将网络层传来地IP数据报组装成帧
功能:组帧、差错控制、流量控制和传输管理
数据链路层负责结点- 结点(node-to-node)数据传输,在帧头中增加发送端和/或接收端的物理地址标识数据
网络层(Network Layer):
单位:数据报
任务:把网络层的协议数据单元(分组)从源端传到目的端,为分组交换网上的不同主机提供通信服务
功能:路由选择、流量控制、拥塞控制、差错控制和网际互联
网络层负责源主机到目的主机数据分组(packet)交付,在这一过程中可能穿越多个网络,通过全局唯一逻辑地址,确保数据分组被送达目的主机,如IP地址。网络层最核心的功能是路由,路由器(或网关)互连网络,并路由分组至最终目的主机
传输层(Transport Layer):
单位:报文段(TCP)或用户数据报(UDP)
任务:负责主机中两个进程间的通信
功能:为端到端连接提供可靠的传输服务及流量控制、差错控制、服务质量和数据传输管理等服务
传输层负责源-目的(端-端)(进程间)完整报文传输,SAP寻址确保将完整报文提交给正确进程,如端口号
会话层(Session Layer):
会话层允许不同主机上的各个进程之间进行会话。会话层利用传输层提供的端到端的服务,向表示层提供它的增值服务。
表示层(Presentation Layer):
表示层主要处理两个系统间交换信息的语法与语义(syntax and semantics)问题,如大端和小端。
数据表示变化功能转换为主机独立的编码,还包括数据压缩/解压缩和加密/解密
应用层(Application Layer):
应用层是OSI参考模型的最高层,是用户与网络的界面,支持用户通过用户代理(如浏览器)或网络接口使用网络(服务),由于用户的实际应用多种多样,这要求应用层采用不同的应用协议解决这些问题,因此应用层是最复杂的一层,也是使用的协议最多的一层,典型的包括
OSI 参考模型数据封装与通信过程:
数据封装是指将协议数据单元(PDU)封装在一组协议头和尾中的过程。在 OSI7层参考模型中,每层主要负责与其它机器上的对等层进行通信。该过程是在“ 协议数据单元 ”(PDU)中实现的,其中每层的 PDU 一般由本层的协议头、协议尾和数据封装构成
控制信息主要包括:
ARPA在研究ARPAnet时提出了TCP/IP模型,模型从低到高依次为网络接口层(对应OSI中的物理层和数据链路层)、网络层、传输层和应用层(对应于OSI中的会话层、表示层和应用层)、
TCP/IP由于得到广泛应用而成为事实上的国际标准(OSI只是理论支撑,TCP/IP是实际应用)
TCP/IP模型与OSI参考模型的比较
相同之处:
不同之处:
综合 OSI 和 TCP/IP 的优点,以分层(layer)的方式组织协议以及实现这些协议的网络硬件和软件,实现了因特网的五层参考模型
各层的所有协议被称为协议栈(protocol stack)。因特网的协议栈由5个层次组成: 物理层、链路层、网络层、运输层和应用层
协议栈 | 实现功能 |
应用层 | 支持各种网络应用(FTP, SMTP, HTTP) |
传输层 | 进程-进程的数据传输(TCP, UDP) |
网络层 | 源主机到目的主机的数据分组路由与转发IP协议、路由协议等 |
数据链路层 | 相邻网络元素(主机、交换机、路由器等)的数据传输(以太网(Ethernet)、802.11 (WiFi)、PPP) |
物理层 | 比特传输 |
5层模型的数据封装
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。