目录
一、什么是因特网
什么是因特网?回答这个问题有两种方式:
其一:构成因特网的基本硬件和软件组件
其二:根据为分布式用提供服务的联网基础设施来描述因特网
1.具体构成描述
1)主机(端系统)
我们把接入因特网的设备称为主机或端系统,诸如 桌面pc 、Linux工作站、服务器
2)通信链路与分组交换机
端系统通过通信链路(communication link)和分组交换机(packet switch)链接在一起
通信链路由不同类型的物理媒体组成。这些物理媒体包括同轴电缆、铜线、光纤和无线电频谱。不同的链路能够以不同的速率传输数据,链路的传输速率以比特/秒(bit/s,或bps)度量
分组交换机从它的一条入通信链路接收到达的分组。并从它的一条出通信链路转发该分组,当今最著名的类型是路由器(router)和链路层交换机(link-layer-switch)
这两种类型的交换机朝着最终目的转发分组。链路层交换机通常用于接入网中,而路由器通常用于网络核心中。从发送端到接收端,一个分组所经历的系统通信链路和分组交换机称通过网络的路径
3)ISP
端系统通过因特网服务提供商(Internet Service Provider,ISP)j接入因特网,也包括如本地电缆或公司电话那样的住宅区ISP、公司ISP、大学ISP、WIFI......(能提供网络服务的可以认为是ISP)
*每个ISP自身就是一个由多台分组交换机和多段通信链路的网络
因特网就是将端系统彼此互联,因此为端系统提供接入的ISP也必须互联,这就是是后面提到的网络的网络,较低层的ISP通过国家的、国际的较高层ISP互联起来,较高层的ISP是由通过高速光纤链路互联的高速路由器组成。无论是较高层还是较低层ISP网络,它们每个都是独立管理的,运行着IP协议,遵从一定命名和地址规则
4)协议
端系统、分组交换机和其他因特网部件都要运行一系列协议(protocol),这些协议控制因特网中信息的接收和发送
TCP(Transmission Control Protocol,传输控制协议)和IP(Internet Protocol ,网际协议)是因特网中两个最重要的协议 ,IP协议定义了在路由器和端系统之间发送和接收的分组格式。因特网的主要协议统称为TCP/IP
2.服务描述
从为应用程序提供服务的基础设施的角度来描述因特网
像在线社交网络、视频会议、多人游戏以及基于位置推荐的系统,这些应用程序涉及多个相互交换数据的端系统,故它们被称为分布式应用程序因特网应用程序运行在端系统上,即它们并不运行在网络核心中的分组交换机。
与因特网相连的端系统提供了一个套接字接口(socket Interface),该接口规定了运行在一个端系统上的程序请求因特网基础设施向运行在另一个端系统上的特定目的地程序交付数据的方式。套接字接口是一套发送程序必须遵循的规则集合,因此因特网能够将数据交付给目的地
3.什么是协议
1)网络协议
协议:定义了在两个或多个通信实体之间交换的报文的格式和顺序,以及报文发送和/或接收一条报文或其他事件所采取的动作
网络协议类似于人类之间的协议,像约定俗成的一套规矩在因特网的大世界中,被各端系统所遵守
除了交换报文和采取动作的实体是某些设备的硬件或者软件组成,在因特网中,涉及两个或多个远程通信实体的所有活动都受协议的制约。举例如下
- 在两台物理上连接的计算机中,硬件实现的协议控制了在两块网络接口卡间的“线上”的比特流;
- 在端系统中,拥塞控制协议控制了在发送方和接收方之间的传输的分组发送的速率;
- 路由器中的协议决定了分组从源到目的地的路径
二、网络边缘 (红色区域)
1.端系统(主机)
- 运行应用系统
- 如Wed、email
- 在“网络的边缘”
2.客户/服务器模式
- 客户端向服务器请求、接收服务
- 如Web浏览器/服务器;email客户端/服务器
3.对等(peer-peer)模式
- 很少(甚至没有)专门的服务器
- 如Gnutella、KaZaA、EMule
4.采用网络设施的面向连接服务
目地是在在端系统之间传输数据,使用的TCP协议,需要“握手”,使两个主机之间保持连接状态,是可靠的、看顺序传送数据、有流量控制、拥塞控制,当网络拥塞时,降低发送方发送速率
应用:HTTP(web)、FTP(文件传送)、Telnet(远程登录)、SMTP(email)
5.采用基础设施的无连接服务
目的在端系统之间传输数据,使用的是UDP协议,非连接状态,之间把内容发给对方,是不可靠数据传输,无流量控制,无拥塞控制
应用:流媒体、远程会议、DNS、Internet电话
三、网络核心(蓝色区域)
网络核心,即由互联因特网端系统的分组交换机和链路构成的网状网络
1.电路交换
发送方和接收方之间建立一个链接,是名副其实的连接,这条链路上的交换机都为这条链接提供维护,这个连接被称为 :电路(circuit)
1)特点
- 独享资源:不共享
- 保证性能
- 要求建立呼叫链接
- 如果呼叫没有数据发送,被分配的资源就会浪费
- 通常被传统电话网络采用
2)基本介绍
当网络创建这种电路时,它也在链接期间在该网络链路上预留了恒定的传输速率(表示为每条链路传输容量的一部分)。
既然已经为该发送方-接受方链接预留了带宽,则发送方能够以确保的恒定速率向接收方传送数据,一条链路带宽是一定的,当被预留带宽的时候,整条链路的带宽就会被分出去,变小
3)复用
链路中的电路是通过频分复用(Frequency-Division Multiplexing ,FDM)或者时分复用(Time-Division Multiplexing , TDM)
对于FDM,链路的频谱由跨越链路创建的所有链接共享,连接期间,为每条连接专用一个频段。该频段的宽度称为带宽
对于TDM,时间被划分为固定期间的帧,并且每个帧又被划分为固定数量的时隙,在循环的TDM帧中每条电路被分配相同的专用时隙,一条电路的传输速率等于帧速率乘以一个时隙中的比特数量。例如:如果链路每秒传输8000个帧,每个时隙由8个比特组成,则每条电路的传输速率是64kpbs
4)电路交换不适合计算机通信理由
- 建立链接时间长
- 计算机之间的通信有突发性,如果使用电路交换,则浪费的片较多,即这个呼叫没有数据传递,其所占据的片也不能够被别的呼叫使用
2.分组交换
为了从源端系统向目的端系统发送一个报文,源将长报文划分为较小的数据块,称之为:分组(packet)
在源和目的地之间,每个分组都通过通信链路和分组交换机(packet switch)传送(路由器和链路层交换机)。分组以等于该链路最大传输速率的速度传输通过通信链路
因此如果某源端系统或分组交换机经过一条链路发送一个L比特的分组,链路的传输速率为R比特/秒,则传输该分组的时间为L/R 秒
1)特点
- 主机之间传输的数据被分为一 个个分组
- 网络带宽资源不再分分为一个 片,传输时使用全部带宽
- 资源共享,按需使用
- 延时要比电路交换要大
2)存储转发传输
多数分组交换机在链路的输入端使用存储转发传输(store-and-forward transmission)机制。
存储转发传输是指在交换机能够开始向输出链路上传输该分组的第一个比特之前,必须接收到整个分组,分组交换机将它还不能传输但是已经接收的比特,先缓存起来。它的传输理论时间(忽略传播延时):从0时刻开始,在时刻L/R时,第一个分组接收完毕,然后立马开始向目标出发生也是L/R秒,所以总时长为: 2L/R
3)排队时延和分组丢失
每台分组交换机有多条链路与之相连。对于每条相连的链路,该分组交换机具有一个输出缓存(output buffer,也称输出队列(output queue)),它用于存储路由器准备发往那条链路的分组
当到达的分组准备传输到某条链路上,而此时这个链路正在忙于传输其他分组,这个时候这个分组就需要在输出缓存中等待,从而出现排队延迟
当到达的分组发现该缓存已经满的时候,这个分组会被丢弃,就构成了丢包
4)转发表和路由器选择协议
每台路由器都有一个转发表,用于将目的地映射成输出链路。当某分组到达一台路由器时,路由器检查该地址,并用这个目的地址搜索其转发表,以发现适当的出链路。路由器则将分组导向该链路
当源主机要向目的端系统发送一个分组时,会顺带将目标主机IP地址包含在分组首部发送出去,在路由器拿到目的地IP时,在转发表中,进行索引查询,在分组全部比特到位并且链路传输是空闲的,就直接把内容输出上路
3. 分组交换VS电路交换
1)资源利用
同样的网络资源,分组交换允许更多用户使用网络
2)补充说明
- 分组交换适合于对突发数据的传输
- 过度使用分组交换会造成网络拥塞:分组延时和丢失,使用拥塞控制协议来进行控制
- 电路交换保证音频/视频应用需要的带宽
- 分组交换逐渐取代电路交换
四、接入网和物理媒体
1.接入网
接入网是指将端系统物理连接到其他边缘路由器的网络,
边缘路由器是端系统到任何其他远程端系统的路径上的第一台路由器
1)家庭接入:DSL、电缆、FTTH
如今最流行的两种住在接入:数字用户线(Digital Subscriber Line , DSL)和 电缆
a.DSL
住户从提供本地电话接入的本地电话公司处获得DSL因特网接入。(此时电话公司就是是它的ISP)每个用户的DSL调制调解器使用现有的电话线与位于电话公司的本地中心局(co)中的数字用户接入复用器(DSLAM)交换数据
家庭的DSL调制调解器得到数字数据后转化为高频音,以通过电话线传输到本地中心局,来自许多家庭的模拟信号带DSLAM处被转换回数字形式
这种方式使单根电话线实现了三种功能,因此一个电话呼叫能同时和一个因特网连接共享DSL链路
在用户一侧,一个分配器吧到达家庭的 数据信号和电话信号分开,并将数据信号转发给DSL调制解调器。
在电话公司一侧,本地中心局中,DSLAM把数据和电话信号分隔开,并将数据送往因特网。成百上千的家庭与同一个DSLAM相连
b.电缆
电缆因特网接入利用了有线电视公司现有的有线电视基础设施,电缆接入使用的布局是混合光纤同轴系统,光缆将电缆头端连接到地区枢纽,从地区枢纽使用传统的同轴电缆到达各家各户,每个地区枢纽支持500~5000个家庭。
电缆因特网接入需要电缆调制解调器(Cable Moderm Termination System,CMTS)(外部设备)。
电缆调制解调器将HFC网络划分为下行和上行,接入通常是不对称的,下行信道分配的传输速率通常比上行通信的高。
c.FTTH
FTTH(光纤到户(Fiber To The Home, FTTH))是一种更为高速的技术。最简单的光纤分布网络称为直接光纤,从本地中心局到每户设置一根光纤。
更为一般的是从中心局出来的每一个光纤实际上由许多家庭共享,直到相对接近这些家庭的位置,该光纤才分成每户一根光纤。
存在两种竞争性的光纤分布体系结构:主动光纤网络(Active Optical Network,AON)和被动光纤网络(Passive Optical Network, PON),前者本质是交换因特网,暂且不介绍它,先介绍PON
每个家庭具有一个光纤网络端接器(Optical Network Terminator, ONT),它由专门的光纤链接到邻近的分配器(splitter).该分配器把一些家庭集结到一根共享的光纤,该光纤再连接到本地电话和公司的中心局的光纤线路端接器(Optical Line Terminator,OLT)。该OLT提供了光信号和电信号之间的转换,经过本地电话公司路由器与因特网相连。在家庭中,用户将一台家庭路由器与ONT相连
2)企业接入
3)无线接入
2.物理媒体
对于每个发射器-接收器时,通过跨越一种物理媒体(physical medium)传播电磁波或光脉冲来发送该比特,物理媒体分成两种类型:导引型媒体(guided media)和 非导引型媒体(unguided media)
1)导引型媒体
电波沿着固体媒体前行,如光缆、双绞铜线或同轴电缆
2)非导引媒体
电波在空气或外层空间中传播,例如在无线局域网或数字卫星频道中
五、Internet结构和ISP
端系统通过一个接入ISP与因特网连接,达到上网的状态,如果所有的端系统都连入到一个ISP中,这显然不合理,ISP处理不了这么多的任务量,所有就得分化出来,一层接一层的ISP,区域国家的层级来对各地端系统需求进行处理问题,将问题分散出去。每一层ISP又相互连接,来保证端系统需求能够得到处理。我们把这个称为网络的网络
[IXP]为对等接入:多个对等ISP互联互通之处,通常不涉及费用结算
每一层ISP都存在一定的信息数据,当端系统,发送请求时,当地接入的ISP,先查询本地有没有端系统要查询的信息,如果有即可返回,没有则请示上一层,以此类推。就是这种方式达到分散问题。
六、分组延时、丢失和吞吐量
1.分组交换网中的时延概述
分组从一个节点(主机或路由器)沿着这条路径到后继节点(主机或路由器),该分组在沿途的每个节点经受了几种不同的类型的时延
1)处理时延
检查分组首部和决定将该分组导向何处所需要的时间是处理时延的一部分。
除此之外,还有检查比特级别的差错所需要的时间,该差错出现在从上游节点向路由器A 传输分组比特的过程中
2)排队时延
在队列中,当分组在链路上等待传输时,它经受排队时延。
一个特定分组的排队时延长度将取决于先期到达的正在排队等待向链路传输分组的分组数量。也就是得看交换机上的输出队列长不长,排队输出 。
排队延时大小取决于流量强度
流量强度 == 比特到达队列的平均速率 (La bps)/ 传输速率 (R)
假设在输出缓存队列内存为无限时,当La/R>1时,比特到达队列的平均速率超过从该队列传输出去的速率,那么缓存队列将无限延长,排队延时将趋近于无限大。因此在设计系统时,流量强度不能大于1
3)传输时延(发射)
假定分组以先到先服务的方式传输——这在分组交换网中是常见的方式,仅当所有已经到达的分组被传输后,才能传输刚到达的分组。
用L比特表示该分组的长度,用R bps(即b/s)表示从路由器A到路由器B的链路传输速率,时间就是L/R
4)传播时延(移动)
一个比特在链路上向路由器B传播。从该链路的起点到路由器B传播所需要的实际是传播时延
该比特以该链路的传播速率传播。该传播速率取决于该链路的物理媒体,其速率范围是2*10^8 ~ 3*10^8 m/s。
5)传输时延与传播时延的比较
传输时延是路由器推出分组所需要的时间,它是分组长度和链路传输速率的函数,而与两台机器之间的距离无关。
传播时延是一个比特从一台路由器传播到另一台路由器所需要的时间,它是两台路由器之间距离的函数,而与分组长度或链路传输速率无关
举个例子:两个收费站,一个10辆车的车队,要过一个收费站到另一个收费站,途径第一个收费站,一辆一辆成的通过收费站,每辆车进入受检位置开始到出发为a的时间,则整个车队全部出发为10a的时间,这个时间就是传输时延,而第一辆车在第一个收费站过检后的到第二个收费站的时间为b,这个时间就是传播时延,而整个车队全部到达第二个收费站的时间为b + 10a (路程时间问题)
2.排队时延和丢包
前面排队延时时,提到过流量强度的问题,那是建立在无限内存的情况下,但是不存在无限内存,所以当流量强度大于1 时, 缓存队列必定会被塞满,这个时候,还有分组被传进来时,没有内存存储分组,分组就会被抛弃掉,这就是丢包
3.吞吐量
吞吐量:在源端和目标端之间传输的速率(数据量/单位时间)
瞬间吞吐量 : 在一个时间点的速率 平均吞吐量: 在一个长时间内平均值吞吐量符合 短板效应,一边吐再快,一边吞的速率也只能到达极限,反之亦然。
七、协议层次及服务模型
1.层次模型
- OSI体系结构: ISO即著名的开放系统互连模型, 理论完整,但复杂又不实用。
- TCP/IP体系结构: 体系简单, 广泛应用
- 原理体系结构: 综合OSI与TCP/IP的优点, 学习计算机网络原理时的折中办法
2.协议分层(这里使用五层)
网络设计者以分层的方式组织协议已经实现这些协议的网络硬件和软件。
每层通过该层中执行某些行动作或者使用直接下层的服务来提供服务。
1)应用层
网络应用
- 为人类用户或者其他应用进程提供网络应用服务
- FTP, SMTP, HTTP,DNS
2)运输层
- 在网络层提供的端到端通信基础上,细分为进程到进程,将不可靠的通信变成可靠地通信
- TCP, UDP
3)网络层
- 主机主机之间的通信,端到端通信,不可靠
- IP,路由协议
4)链路层
- 2个相邻2点的通信,点到点通信,可靠或不可靠
- 点对对协议PPP, 802.11(wifi), Ethernet
5)物理层
- 在线路上传送bit
- 与链路的实际传输媒体有关。
6)分层处理和实现复杂系统的好处
1. 概念化:结构清晰,便于标示网络组件,以及描述其 相互关系(1) 分层参考模型2. 结构化:模块化更易于维护和系统升级(1) 改变某一层服务的实现不影响系统中的其他层次a. 对于其他层次而言是透明的(2) 如改变登机程序并不影响系统的其它部分a. 改变2个秘书使用的通信方式不影响2个翻译的工作b. 改变2个翻译使用的语言也不影响上下2个层次的工作
7)各层协议数据单元
- 应用层:报文(message)
- 传输层:报文段(segment):(TCP报文段,UDP数据报)
- 网络层:分组packet(如果无连接方式:数据报 datagram)
- 数据链路层:帧(frame)
- 物理层:位(bit)
8)数据封装
每一层都对数据进行封装,然后通过物理层进行传输到目的地
、
9)各数据在每一层的传递过程图
2.服务
1)服务和服务访问点
1. 服务( Service):低层实体向上层实体提供它们之间的通信的能力(1)服务用户(service user)(2)服务提供者(service provider )2. 原语(primitive):上层使用下层服务的形式,高层使用低层提供的服务,以及低层向高层提供服务都是通过服务访问原语来进行交互的---形式3. 服务访问点 SAP(Services Access Point):上层(1)使用下层提供的服务通过层间的接口—地点;a. 例子:邮箱b. 地址(address):下层的一个实体支撑着上层的多个实体,4. SAP有标志不同上层实体的作用(1)可以有不同的实现,队列(2)例子:传输层的SAP: 端口(port)
2)服务类型
面向连接的服务和无连接的服务-方式1. 面向连接的服务 ( Connection-oriented Service)(1) 连接 (Connection):两个通信实体为进行通信而建立的一种结合(2) 面向连接的服务通信的过程:建立连接,通信,拆除连接(3) 面向连接的服务的例子:网络层的连接被成为虚电路(4) 适用范围:对于大的数据块要传输; 不适合小的零星报文(5) 特点:保序(6) 服务类型:a. 可靠的信息流 传送页面(可靠的获得,通过接收方的确认)b. 可靠的字节流 远程登录c. 不可靠的连接 数字化声音2. 无连接的服务(Connectionless Service)(1) 无连接服务:两个对等层实体在通信前不需要建立一个连接,不预留资源;不需要通信双方都是活跃;(例:寄信)(2) 特点:不可靠、可能重复、可能失序(3) IP分组,数据包;(4) 适用范围:适合传送零星数据;(5) 服务类型:a. 不可靠的数据报 电子方式的函件b. 有确认的数据报 挂号信c. 请求回答 信息查询
3)服务和协议
1. 服务与协议的区别(1) 服务(Service):低层实体向上层实体提供它们之间的通信的能力,是通过原语(primitive)来操作的,垂直(2) 协议(protocol) :对等层实体(peer entity)之间在相互通信的过程中,需要遵循的规则的集合,水平2. 服务与协议的联系(1) 本层 协议的实现 要靠下层提供的服务来实现(2) 本层实体通过协议为上层 提供更高级的服务
感谢阅读owo