系列文章链接
文章目录
1. 什么是因特网
1.1 具体构成描述
各种个人电脑、工作站服务器,智能手机、平板电脑等设备被称为 主机 或者是 端系统。
端系统通过 通讯链路 和 分组交换机 连接在一起,不同的链路能够以不同的速率传输数据,链路的 传输速率 以比特/秒(bit/p, bps)来度量。
一台端系统像另一台端系统发送数据时,发送端系统将数据分段,并将每段上加上首部字节。这个过程形成的信息包叫做 分组。分组通过网络发送到目的端系统,在目的端系统重新装配成初始数据。
两类显著类型的分组交换机为 路由器 和 链路层交换机。链路层交换机通常用于接入网,路由器通常用于网络核心中。从发送端系统当接收端系统,一个分组所经历的一些列通讯链路和分组交换机称作通过该网络的 路径。
端系统通过 因特网服务提供商 (ISP) 接入因特网。各种ISP为端系统提供了不同类型的网络接入,也为内容服务者提供因特网接入服务。
端系统、分组交换机和其他所有因特网部件都需要运行一系列 协议。TCP 和 IP 是因特网最重要的两个协议。因特网的主要协议统称为 TCP/IP。
因特网标准由因特网工程任务组 (IETF) 研发,IETF的标准文档称作 请求评论 (RFC)。
1.2 服务描述
即时通讯、多人游戏等应用设计多个相互交换数据的端系统,被称作 分布式应用程序 (distributed application)。
与因特网相连的端系统提供了一个 套接字接口(socket interface),该接口规定了运行在一个端系统上的程序请求因特网基础设施向另一个端系统上的特定目的程序交付数据的方式。
1.3 什么是协议
1.3.1 对比人类活动
协议就是人与人传递信息之间约定俗成的一些列动作。通过这些一系列动作,决定人与人之间的交流等活动。例如A向B询问时间,B说我正在忙,在这种情况下,按照“协议”,A将不在询问。
1.3.2 网络协议
网络协议中,交换报文的是某些实体的硬件或软件。在因特网中,设计多个以上的远程通讯实体所有活动受到协议的制约。
例如A向某个Web服务器发送请求,A的计算机会向Web服务器发送一条连接请求报文,并等待回答。Web服务器收到请求后,发送连接响应报文。A的计算机受到该报文后,得知请求的Web文档正常,那么会在一条GET报文中发送需要取回的网页名字。Web服务器向计算机返回该Web网页。
协议 (protocol):定义了两个或多个通讯实体之间交换的报文的格式和顺序,报文发送和/或接受一条报文或其他事件所采取的动作。
2. 网络边缘
主机运行应用程序,它又被分为两类:客户 (client) 和 服务器 (server)。客户端通常是个人电脑、智能手机等。服务器通常是更加强大的机器,用于存储和发布Web页面、流视频、中继电子邮件等。现在大部分搜索、电子邮件、Web等的服务器是大型 数据中心。
2.1 接入网
接入网 是指将端系统物理连接到其 边缘路由器 的网络。
2.1.1 家庭接入:DSL、电缆、FTTH、拨号和卫星
-
数字用户线 (Digital Subscriber Line, DSL)
用户从本地电话公司获得DSL因特网接入,本地的电话公司是它的ISP。每一个用户的DSL调制解调器使用现有的电话线与电话公司的本地中心局(CO)终端数字用户接入复用器(DSLAM)交换数据。家庭的DSL调制解调器得到数字数据后转换为高频音,通过电话线传给本地中心局;来自家庭的模拟信号在DSLAM处转换为数字形式。
家庭电话线同时承载了数据和传统的电话信号,使用不同的频率编码:高速下行信道,50kHz ~ 1MHz频段;中速上行信道,4kHz ~ 50kHz频段;普通双向电话信道,0 ~ 4kHz。
DSL标准定义了多个传输速率,包括45Mbps下行和1.8Mbps上行的[ITU 1999],55Mbps下行和15Mbps上行的[ITU 2006]。 -
电缆因特网接入 (cable Internet acess)
电缆接入需要电缆调制解调器(cable modem),电缆调制解调器端系统(Cable Modem Termination System, CMTS)与DSL的DSLAM类似。DOCSIS 2.0标准定义了下行42.8Mbps和上行30.7Mbps速率。 -
光纤到户 (Fiber To The Home, FTTH)
光纤有两种分布体系结构:有源光纤网络(AON)和无源光纤网络(PON)。在PON中每个家庭有一个光纤网络端接器(Optical Network Terminator, ONT),由专门的光纤连接到邻近的分配器,分配器将一些家庭的光纤集结到一根共享的光纤,连接到本地电话公司中心局光纤路端接器(Optical Line Terminator, OLT)。OLT提供了光电信号转换,通过本地电话公司路由器和因特网相连接。
2.1.2 企业接入:以太网、WiFi
-
以太网
公司和学校用户通过双绞铜线与一台以太网交换机相连,以太网交换机或者这样的交换机网络与更大的以太网相连。使用以太网,用户通常以100Mbps或1Gbps接入以太网交换机,服务器则可能具有1Gbps或10Gbps的接入速率。 -
WiFi
无限用户与企业网连接,企业网在与有线因特网相连。用户通常处于接入点的即使幂范围内。基于IEEE 802.11技术的无限WLAN接入,或者称作WiFi,使用非常普遍。现在已经可以提供高达100Mbps的传输速率。
2.1.3 广域无限接入:3G、LTE
用户位于基站数万米的距离内。电信公司已经提供了第三/四代无线技术(3G\4G),甚至是5G。长期演进(Long-Term Evolution, TLE)来源于3G,能够取得10Mbps的速率。
2.2 物理媒体
2.2.1 双绞铜线
双绞铜线是最常见和便宜的传输媒体。无屏蔽双绞线(Unshielded Twisted Pair, UTP)常用于建筑物内部的计算机网络中。
2.2.2 同轴电缆
同轴电缆由两个同心的铜导体组成。它能够被用作导引型共享媒体(shared medium)。
2.2.3 光纤
光纤是导引光脉冲光的媒体。标准的光载波速率范围从51.8Mbps到39.8Gbps,这些标准被称作OC-n,对应的速率为n×51.8Mbps。
3. 网络核心
3.1 分组交换
在网络应用中,端系统彼此交换报文 (message)。报文可以执行一些控制功能,可以包含数据。报文可以包含协议设计者所需要的任何信息。
为了从源端系统到目的端系统之间发送一个报文,源将长报文分成小的数据块,称为分组 (packet)。
在源和目的之间,每个分组通过分组交换机 (packet switch)传送。常见的交换机由两类:路由器 (router)和链路层交换机 (link-layer switch)。分组以该链路的最大传输速率的速度传输通过通信链路。
3.1.1 存储转发传输
多数分组交换机在链路的输入端使用存储转发传输(store-and-forward transmission)机制。
存储转发传输是指交换机能够开始向输出链路传输该分组的第一个比特之前,必须接收到整个分组。举例如下:
分组1从一条链路转移到另一条链路。当分组1的最前端的比特已经到达的路由器,此时还不能传输路由器接收的比特。只有当路由器接收了该分组的全部比特之后,才能向出链路传输分组1。
存储转发传输引起的结果是分组1从源到目的地的时间受到影响:假设分组1有L bits,链路的传输速率都是R bps。那么在L/R s的时候源完全将分组传输给路由器,此时路由器开始传输,再次经过了L/R s后目的主机接收到分组1的全部内容,总的时间是2L/R s。如果不使用存储转发传输,而是直接传输,那么总时间将会是L/R s。
那么考虑经过N条链路(N-1个路由器),那么从源到目的地的一个分组所需的时间是: d 端 到 端 = N L R d_{\rm{端到端}} = N\frac{L}{R} d端到端=NRL
3.1.2 排队时延和分组丢失
分组交换机与多条链路相连,对于每条链路,分组交换机有一个输出缓存(output buffer,也称作输出队列(output queue)),用于存储路由器准备发送的分组。假设分组2到达了路由器,但是该路由器正在传输分组1,那么分组2会被存储在输出缓存中。所以除了存储转发时延之外,还有排队时延(queuing delay)。排队时延是不确定的,取决于网络的拥塞程度。
当缓存空间满了,那么会出现分组丢失(丢包)(packet loss),即将到达的分组或者正在排队的分组会被丢弃。
3.1.3 转发表和路由选择协议
在因特网中,每个端系统具有一个称作IP地址的地址。源在分组的首部提供了目的地的IP地址,当分组到达路由器的时候,会检查目的地的IP地址根据转发表的信息,将该分组传输到某个链路上。
在因特网中,具有一些路由转发协议(routing protocol), 用于自动的设置这些转发表。
3.2 电路交换
通过网络链路和交换机移动数据有两种基本方法:电路交换和分组交换
电路交换(circuit switching)网络预留了端系统间沿路径通讯的所有资源,会话的报文需要提前申请资源。在分组交换中,这些资源是不预留的,会话的报文按需使用(可能会引起排队)。
电路交换是一个名副其实的连接。在发送方发送信息之前,需要建立连接,然后整个路径上的交换机都会维持该连接,该连接称作电路(circuit)。网络创建电路的时候,在电路连接期间预留了恒定的传输速率。
如下示例,四台主机通过四个电路交换机和4条链路互联,每条链路都有4条电路。如果只有A向B传输的话,只能使用整个网络1/4的性能。
3.2.1 电路交换网络中的复用
链路中断电路是通过频分复用(Frequency-Division Multiplexing, FDM)或者是时分复用(Time-Division Multiplexing, TDM)来实现的。FDM的链路的频谱由所有连接共享。TDM则是使用
未完待续…