Internet
描述
计算机网络是两台以上具有独立操作系统的计算机通过介质连接成互相共享的软硬件资源的集合体;以下是其成分的描述:
- 主机(hosts)/端系统(end):运行着网络程序的设备;
- 通信链路(communication link):通常包括双绞线,光纤,无线电频谱,卫星;
- 分组交换机(packet switch):作用是转发分组/包
链路的传输速率就是常说的带宽,单位为bps;
端系统通过因特网服务供应商(ISP)接入因特网;一个分组从端系统到接收端系统,经理的一系列通信链路和交换机称为路由(route);
对于Internet往往难以给出其精确定义,可以理解为由网络构成的网络
- 松散分层
- 分为公共Internet和专用Internet;
- 由协议(protocol)控制发送和接受消息;协议运行在互联网上的许多部件上;
在服务层面描述Internet,它包括
- 通信基础设施:允许终端系统运行分布式应用程序(distributed application),并交换数据;
- Internet为这些分布式应用程序提供通信服务;
常见的分布式应用包括Web, email, games, e-commerce, database, VOIP, P2P file sharing;
服务一般分为面向无连接的(connectionless),或者面向连接的(connection-oriented);这些服务在数据传递时间上是无保证的;
与因特网相连的端系统提供一个套接字接口(socket interface);这个接口规定了源端系统的应用程序请求Internet基础设施,向目的端系统特定程序交付数据的方式,是一套发送程序必须遵守的规则集合;
历史
第一阶段:20世纪60年代中期之前的以主机为中心的第一代计算机网络。 典型应用:是由一台计算机和全美范围内2000多个终端组成的飞机定票系统。终端是一台计算机的外部设备包括显示器和键盘,无CPU和内存。 其他常见产品:VAX 计算机。 这样的通信系统已具备了网络的雏形。
第二个阶段:20世纪60年代中期至70年代的以通信子网为中心的第二代计算机网络。 典型代表:是美国国防部高级研究计划署的计算机分组交换网ARPAnet,ARPAnet标志着计算机网络发展进入了一个新纪元,使计算机网络的概念发生了根本性的变化,它被认为是Internet的前身。 主机之间不是直接用线路相连,而是由接口报文处理机转接后互联的。IMP和它们之间互联的通信线路一起负责主机间的通信任务,构成了通信子网。通信子网互联的主机负责运行程序,提供资源共享,组成了资源子网。
第三个阶段:20世纪70年代末至90年代的具有统一的网络体系结构并遵循国际标准的开放式和标准化的网络,即体系结构标准化的第三代计算机网络。 产生了两种国际通用的最重要的体系结构,即TCP/IP体系结构和国际标准化组织的OSI体系结构(ISO OSI/RM)。 随着TCP/IP体系结构在网络中的广泛应用,标志Internet的诞生。
第四个阶段 :以下一代Internet为中心的新一代网络。 进入20世纪90年代以来,微电子技术、大规模继承电路技术、光通信技术和计算机技术不断发展,为网络技术的发展提供了有力支持。电信网络、闭路电视网(CATV)和计算机网络将三网合一。
Internet主干
如今的Internet由多层次的因特网服务提供商(ISP)组成,大致可以分为以下几层:
- 第一层ISP (Tier 1 ISP):这些是全球性的ISP,它们互相连接形成Internet的核心骨干网。它们通常不向最终用户提供接入服务,而是通过**对等(peering)**协议与其他第一层ISP直接连接,并且通过IXP与其他ISP(如区域ISP)连接。
- 因特网交换点 (IXP - Internet Exchange Point):IXP是多个ISP可以互相连接和交换流量的物理位置。它允许不同ISP之间的流量直接交换,而无需通过第三方ISP。
- 区域ISP (Regional ISP):这些ISP覆盖的地理范围比第一层ISP小,它们通常从第一层ISP购买因特网接入服务,并通过IXP与第一层ISP和其他区域ISP连接。它们也向接入ISP或大型机构提供服务。
- 接入ISP (Access ISP):这是最接近最终用户的ISP,它们直接向家庭、公司和机构提供因特网接入服务。接入ISP通常从区域ISP(或在某些情况下直接从第一层ISP)购买因特网接入服务。
此外,大型内容提供商(如Google)也拥有自己的私有网络,并通过IXP或直接连接到第一层ISP和区域ISP,以便高效地向最终用户交付内容。
一个分组的到达可能要穿越许多网络;
Protocol
基本概念
Internet上的协议(protocol)定义了两个或多个通信实体间所交换报文的格式和次序,以及在报文发送和/或接收或者其他事件方面所采取的响应。
- 语法:通信数据和控制信息的结构与格式;
- 语义:对具体事件应发出何种控制信息,完成何种动作以及做出何种应答;
- 同步:对事件实现顺序的详细说明;
为了完成同一项工作,这些通信实体必须运行相同的协议;
rules for 1. specific message sent + 2. specific actions taken when message received or other events
TCP协议和IP协议是Internet中最重要的两个协议,因特网上的主要协议统称为TCP/IP协议;
分层体系结构
网络被设计为分层的方式组织这些协议,每一层为顶上一层提供服务
Internet通常采用五层协议体系结构,由高到低依次为:
层次 | 英文名称 | 主要功能 | 数据单元 | 典型协议示例 |
---|---|---|---|---|
应用层 | Application Layer | 支持网络应用 | 报文 (message) | HTTP, SMTP, FTP |
传输层 | Transport Layer | 提供端到端的逻辑通信 | 报文段 (segment) | TCP, UDP |
网络层 | Network Layer | 将分组从一台主机移动到另一台主机 | 数据报 (datagram)/分组 (packet) | IP, 路由选择协议 |
链路层 | Link Layer | 通过一条链路传输数据报 | 帧 (frame) | 以太网, PPP, WiFi |
物理层 | Physical Layer | 在物理媒介上传输比特 | 比特 (bit) | (取决于具体物理介质) |
将各层的协议综合起来形成协议栈(protocol stack)
数据封装 (Encapsulation):当应用层的报文通过协议栈向下传递时,每一层都会给报文添加首部信息(有时还有尾部信息),这个过程称为封装。每一层的数据单元都包含上一层的数据单元作为其载荷。
计算机网络标准化组织
常见的Internet标准由Internet Engineering Task Force(IETF)研发,其标准文档称为Request for Comment(RFC);这些文档定义了TCP,IP,HTTP,SMTP等协议;
ISO(International Organization for Standard )
成立于1947年,是世界上最大的国际标准化专门机构,是联合国甲级咨询机构。
它的成员是89个成员国的国家标准化组织。
美国在ISO中的代表是ANSI,大家所熟悉的ASCII和C语言的工业界标准,就是由ANSI所制定的。
ISO在网络领域的最突出贡献就是提出OSI参考模型,该模型是网络发展史上的一个重要里程碑。
IEEE**(Institute of Electrical and Electronic Engineers)**
电气和电子工程师协会IEEE是世界上最大的专业技术团体,由计算机和工程学专业人士组成。它创办了许多刊物,定期举行研讨会,还有一个专门负责制定标准的下属机构。IEEE在计算机网络界的最大贡献就是制定了802标准系列,802标准将局域网的各种技术进行了标准化。
网络边缘
网络中的主机运行网络应用程序处在网络的边缘,进一步根据职责划分为
- 客户端(client):通常是个人PC,手机等;
- 服务端(server):性能更为强大,用于存储和发布Web页面,视频,邮件等;这些都属于大型的数据中心;
C/S架构一般是指客户请求,并接收服务器提供的服务模型;端到端架构(P2P)是不采用专门服务器的服务模型;
接入网络
分类
接入网通常是指将端系统连接到边缘路由器(edge route)的网络,这是端系统到任何其他远程端系统的路由上的第一台路由器;
- 家庭接入:通过数字用户线(digital subscriber line, DSL)和电缆;
- 机构接入:我们传说中的校园网属于此类;这类局域网(local area network, LAN)连接端系统到路由器
- 无线接入:我们常说的5G固定式无线技术;一般是手机等通过无线的方式接入Internet,无限用户从一个接入点连接企业网,企业网再与有限Internet连接;
DSL
用户在使用DSL时,本地的电话公司CO就是它的ISP;每个用户的DSL调制调解器使用现有的电话线与CO的数字用户线接入复用器(DSLAM)交换数据;
电话线承载了不同形式的电话信号,它们采用不同频率编码,包括高速上行信道,中速上行信道,和普通的电话信道;
这种方法使得单根DSL看起来有三条单独的线路一样,称作频分复用技术;
DSL也定义了多个传输速率,这些上行速率和下行速率时不同的,因此这种接入是不对称的,不同的价格使用不同的速率;
cable
家庭电缆接入Internet需要特殊的调制调解器cable modem;混合光纤同轴电缆 (hybrid fiber coaxial cable, HFC)是常见的电缆;
- 非对称: 可达2Mbps 上行速率, 30Mbps下行速率
- 光纤/同轴电缆混网连接家庭住宅到ISP路由器,各住宅共享到路由器之间的广播信道
- 可以通过广电公司提供该网络接入服务部署:
在电缆的头端,电缆调制调节端接系统(CMTS)与DSLAM具有类似功能,将模型信号转换为数字信号的形式;
电缆接入Internet的一个重要特征是共享广播媒体;
- 广播式下行链路:头端(服务提供商)到所有家庭的下行链路是单条共享的物理线路(如同轴电缆)。头端发送的每个分组数据会广播到该链路连接的所有家庭,而非独立传输给单个用户。
- 上行链路:所有家庭向头端发送数据需共用同一条上行信道。
每个用户下载资源时要求共享下行链路的信道资源,这是一种分蛋糕的模式,用户越多,每户实际速率越低;而发送请求时要求竞争上行链路的信道资源,这是一种抢麦的模式,用户越多,信道拥塞越严重;因此需要一个分布式的多路访问控制协议;
fiber
光纤到户**(fiber to the home, FTTH)技术提供了一条CO直接到家庭的光线路径,速率约为千兆比特每秒的接入速率;我们仅讨论PON方案;
每个家庭拥有一个光纤网络端接器(optical network terminator, ONT),由专门的光纤连接到近邻的分配器;分配器把多个家庭连接到一个共享的光纤,再连接到CO的光纤线路端接器(optical line terminator, OLT);
Ethernet
该部分仅简单介绍以太网(Ethernet);大部分机构和校园使用局域网(LAN)都在普及和部署以太网,共享(共享式以太网)或独占(交换式以太网)链路连接端系统和边缘路由器;
物理介质
对于每个传输器-接收器对,比特通过传播电磁波或者光脉冲的方式跨越物理媒介(physical medium)进行发送;
- 导引型媒介:信号在固态介质中有向传播, 如:光纤、双绞线和同轴电缆等 ;
- 非导引型媒介:信号在大气空间或外太空空间自由传播, 如:无线电
双绞铜线
无屏蔽双绞线(unshielded twisted pair, UTP)常用于局域网中,速率约为10Mbps-10Gbps;是主流的高速LAN联网的方案;
同轴电缆
同轴电缆(coaxial cable)由同心的而不是并行的,彼此绝缘的两根铜导体,速率在100Mbps量级,能够用作导引型共享媒介,可以进行双向传输;
光纤
光纤(fiber)用于传到光脉冲,每个脉冲代表一个比特;
- 支持高速点对点传输:速率约在数百Gps
- 低误码率:难以被分光窃听,防止电磁干扰,中继到更远距离传输;
无线电
无线电信道的特征
- 使用电磁频谱承载信号
- 无需安装物理线路,可以穿墙,提供移动用户的连接和长距离承载信号
- 双向传输
传播环境的影响:
- 多路径衰落-干扰物表面反射
- 盲区衰落-障碍物绕/透
- 干扰-其他电磁信号
无线链路的类型可按距离分为几类:
- 地面微波:达 45 Mbps 信道
- 局域无线通道:WiFi 11Mbps, 54Mbps
- 广域无线通道:蜂窝局域网(cellular) GPRS, CDMA 3G: 数百 kbps 4G, ~约10 Mbps 5G, 约2 Gbps
- 卫星通信 高达数百Mbps 信道 (或多个更小的信道)250 msec毫秒端到端延迟
- 地球同步卫星(geostationary)与低轨道卫星(low earth orbiting) 铱星系统-66颗低空卫星
Network Core
网络核心是由Internet端系统分组交换机和链路组成的网状网络,在下图用粗线表示;
因此可以理解为相互连接的路由器;它们通过电路交换和分组交换传送数据,发送报文(message);
报文应该被设计成执行某种控制功能,也可以包含某种特定数据;
分组交换
分组交换发生在分组交换网中,数据被拆成离散的数据块通过网络来发送;
源端系统将长报文划分为小数据块,称作分组(packet);
- 每个分组共享网络资源,存在资源竞争,即资源需求总量大于可用资源总量;
- 每个分组使用链路全部带宽,分组的传输速率总是以链路最大传输速率通过链路;
- 资源按需求使用;
每个分组经过通信链路和分组交换机(packet switch)传送,包括
- 路由器(router)
- 链路层交换机(link-layer switch)
存储转发
多数分组交换机在链路的输入端采用 存储转发(store-and-forward transmission)机制;
交换机在开始向链路传输分组的第一个比特前,必须接收整个分组并缓存;可以理解为,如果忽略传播时延的话,链路上的传输时间为交换机缓存分组的时间;
一般来说,对于有条速率传输速率为的链路组成的路径,从源到目的发送个分组,端到端的转发时延为
排队时延和分组丢失
对某台分组交换机,每个与之相连的链路维护一个输出缓存(output buffer),结构为队列,用于存储路由器准备转发那条链路的分组;
- 若到达的分组需要传输的链路忙碌,此分组必须在输出缓存中等待;
- 此时,分组承受了输出缓存带来的排队时延(queuing delay);
- 排队时延是变化的,取决于网络的拥塞情况;
若缓存空间被其他分组完全充满,则新到来的分组将会出现分组丢失(packet loss)的情况;
转发表
每个端系统具有IP,当源主机向目的主机发送分组时,源在分组首部包含了目的主机的IP地址;
每台路由器将维护一个转发表(forwarding table),用于将目的地址映射为输出链路;
转发表由特殊的路由选择协议(routing protocol)自动地设置这些转发表;这些路由选择协议可以决定从每台路由器到目的地的最短路径,并使用这些最短路径的结果配置转发表;
用逐段问路的司机的例子理解转发和路由选择;
统计复用
统计复用是根据各业务的统计特性,在保证业务质量的情况下,在各个业务之间动态分配带宽,以达到最佳的资源利用率;
分组之间到达没有固定顺序;
电路交换
电路交换(circuit switching)发生在电话网中,每次会话预留沿其路由所需的独占资源,包括缓存和链路传输速率等;
- 发送方发送信息前,网络必须建立发送方和接收方的连接,称之为电路(circuit);
- 当电路被创建时,预定了恒定的带宽,这条链接是双方专用的端到端连接(end-to-end connection);
频分复用
频分复用(frequency division multiplexing, FDM)中,链路的频谱由跨越链路创建的所有连接共享,频段的宽度为带宽(band-width);
实现技术为频分多址(frequency division multiple access),即将信道频带分割成若干更窄而不互相交的频带,并把每个子频带分给一个用户专用;
时分复用
时分复用(time-division multiplexing, TDM)中,时间被划分为固定时段的帧,每个帧被划分为固定数量的时隙,每个时隙专门为该链接单独使用;
时分多址(Time Division Multiple Access) 把信道帧划分为若干不相重叠的时隙,把每个时隙分配给一个用户。
比较两种交换技术
特性 | 分组交换 (Packet Switching) | 电路交换 (Circuit Switching) |
---|---|---|
连接建立 | 无需预先建立专用连接 | 需要预先建立专用连接(电路) |
资源利用 | 动态共享带宽,资源利用率高 | 专用带宽,资源利用率低(即使无数据传输) |
数据传输 | 数据划分为分组,独立传输,按需分配资源 | 专用通道,恒定带宽,独占资源 |
时延 | 可能有排队时延和分组丢失,时延不固定 | 连接建立时延,传输时延固定,低延迟 |
可靠性 | 通过重传机制提高可靠性,但可能丢包或乱序 | 高可靠性,数据按序到达,不易丢失 |
拥塞处理 | 拥塞时可能丢包或增加时延 | 连接建立时可能被阻塞,一旦建立则无拥塞 |
应用场景 | 适用于数据通信(如互联网、电子邮件) | 适用于实时通信(如传统电话语音通话) |
计费方式 | 通常按数据量或连接时间计费 | 通常按连接时长计费 |
灵活性 | 高度灵活,分组可走不同路径 | 不灵活,路径固定 |
存储转发 | 采用存储转发机制 | 不采用存储转发机制 |
协议复杂性 | 协议相对复杂 | 协议相对简单 |
用是否接受预定的餐馆例子理解二者的区别
电信网络
电信网络的分类如图所示
Performance
时延
处理时延(process delay)包括检查分组首部,决定分组导向何处需要的时间,检查比特差错的时间等;
排队时延(queuing delay)是指,在队列中,分组在链路上等待传输的时间;
- 排队时延取决于事先代打正在排队等待向链路传输分组的数量;
- 若队列没有分组,排队时延为0;
定义分组到达队列的平均速率为,传输速率为,假定所有比特长度为,则比特到达的平均速率为,假定队列无限大,则流量强度定义为;
若流量强度大于1,则排队队列趋向于无限增加;
假设分组周期性到达,则传输的第个分组具有如下的排队时延;
但是分组的到达一般是随机的;
- : 分组稀疏到达,无队列,平均排队延迟极小接近于0
- : 输出队列平均位到达速率超过送走这些位的极限速率,输出队列持续增长,排队延迟趋于无穷大。
路由器输出链路入口点的缓冲区输出队列容量有限,当分组到达路由器输出队列发现缓冲区队列已满,路由器只好丢弃分组,丢失的分组可能被前路由节点、源节点重传,或不重传
传输时延(transmission delay)是由存储转发机制带来的,对于长度为的分组,链路的传输速率为,则传输时延为
传播时延(propagation delay)是指,一个比特从链路起点到路由器传播所用时间,具体来说,若链路长度为,链路物理媒介的传播速率为,则传播时延为
用公路段和收费站类比传播时延和传输时延产生的原因;
端到端的总时延为上述所有时延相加;在不同的场景,这些时延可能作用有所不同;假设总共源主机到目的主机有个路由器,则所有结点的延迟累加为端到端的总延迟
吞吐量
吞吐量 (throughput) 表示在单位时间内通过某个网络(或信道、接口)的数据量。
- 吞吐量更经常地用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量能够通过网络。
- 吞吐量受网络的带宽或网络的额定速率的限制。
带宽
带宽(bandwidth) 本来是指信号具有的频带宽度,其单位是赫(或千赫、兆赫、吉赫等)。 在计算机网络中,带宽用来表示网络中某通道传送数据的能力。表示在单位时间内网络中的某信道所能通过的"最高数据率"。单位是bps;
在带宽的上述两种表述中,前者为频域称谓,而后者为时域称谓,其本质是相同的。
也就是说,一条通信链路的"带宽"越宽,其所能传输的"最高数据率"也越高。
瓶颈
假如接受比特的文件花费秒,则称文件传送的平均吞吐量(average throughput)为bps;相对应的瞬时吞吐量为主机在某一时刻接受文件的速率;
对于网络中的吞吐量受到最慢链路的制约,也就是瓶颈链路,其吞吐量为