计算机网络(1):因特网概述

来源:互联网 发布:哪个软件可以看陆小凤 编辑:程序博客网 时间:2024/06/02 01:13

如今的因特网(Internet)无疑是世界上有史以来由人类创造并精心设计的最大系统,其中有数以亿计相连的计算机、通信链路和交换机,连接着数以亿计使用的PC、智能手机等设备的用户,而随着物联网技术的发展,还有一大批新型设备将加入其中。

面对如此巨大且具有众多不同组件和用户的因特网,学习理解它的组成结构和工作原理是很有必要的。

什么是因特网

从因特网的具体构成进行描述,连接在因特网中的各种设备,包括PC、智能手机、平板电脑、电视等等,都统称为主机(Host)端系统(End System)。各个端系统通过通信链路(Communicate Link)分组交换机(Packet Switch)连接到一起。

通信链路由同轴电缆、铜线、光纤等物理媒体组成,不同的链路传输数据的速率不同,且传输速率以比特/秒(bit/s,或bps)来度量。一个端系统向另一个端系统发送数据时,要进行数据分段并为每段加入首部字节,形成的这些信息包被称为分组(Packet)

分组交换机从链路上获取分组,并负责转发该分组。当今最典型的分组交换机为路由器(Router)链路层交换机(Link-layer Switch),前者用于网络核心中,而后者通常用于接入网中。一个分组从发送端系统到接收端系统要经过一系列的通信链路及分组交换机,这个过程叫通过该网络的路径(Path)

ISP

如上图,端系统通过众多的因特网服务提供商(Internet Service Provider,ISP)接入因特网,每个ISP是一个由多个分组交换机组及多段通信链路组成的网络,为端系统提供接入服务的ISP之间也必须互联。底层ISP通过国家的、国际的高层ISP互联,高层ISP通过由高速光纤链路互联的高速路由器组曾。每个ISP之间相互独立,运行着各自的IP协议(Internet Protocol,网际协议)

不管是端系统、分组交换机还是其他因特网部件,都运行着一系列的协议(Protocol),协议定义了通信实体之间交换报文(Message)的格式及次序,控制着因特网中信息的发送和接收。这些协议中,TCP(Transmission Control Protocol,传输控制协议)和IP协议是两个最为重要协议。所以,因特网的主要协议统称为TCP/IP。

因特网中的各种标准由因特网工程任务组(Internet Engineering Task Force,IETF)研发制定,IETF发布的标准文档称为请求评论(Request For Comment,RFC)。RFC文档内容详尽且技术性极强,TCP、IP等各种协议都由它们定义。

以为各种如电子邮件、即时通讯等应用程序提供服务的基础设施的角度来描述,与因特网相连的端系统都提供了一个API(Application Programming Interface,应用程序接口),它规定了运行在端系统上的一个软件向运行在另一个端系统上软件交付数据的方式。

网络边缘与核心

网络边缘

计算机网络的边缘是大量的端系统,端系统也称为主机,主机能被进一步划分为客户(Client)服务器(Server)。客户非正式地等同于普通用户使用的PC、智能手机等,而服务器则为存储及发布Web页面、电子邮件中继器等更强大的机器。

网络边缘

边缘路由器是端系统到其他远程端系统的路径上经过的第一台路由器,端系统可以通过多种物理链路连接到它的边缘路由器。如今,一般的家庭及企业的接入方式有DSL(Digital Subscriber Line,数字用户线)、电缆、FTTH(Fiber To The Home,光纤入户)、以太网(Ethernet)、Wi-Fi(Wireless-Fidelity)及卫星等,广域无线接入方式有3G、4G及即将到来的5G等。

这些物理链路所采用的物理媒体具有多种形状和形式,总体可以划分为导引型(Guided)非导引型(Unguided)。引导型媒体如光缆、双绞铜线和同轴电缆中,电波沿着固体媒体前行;而无线局域网或数字卫星频道等非引导型媒体中,电波在空气或外层空间中传播。

网络核心

计算机网络的核心是由端系统的分组交换机和链路构成的网络。

网络核心

通过网络链路和交换机传输数据的主要方式有分组交换(Packet Switching)电路交换(Circuit Switching)

分组交换

在各种网络应用中,端系统之间彼此交换的都是报文。当今计算机网络广泛采用的是分组交换来传输数据。

分组交换中,源端系统将长报文划分为较小的数据块,称为分组,每个分组都通过通信链路和分组交换机传送。分组以链路的最大传输速率的速度传输通过通信链路,发送一个L bit的分组,链路的传输速率为R bit/s,则传输分组的时间将为L/R s。

路由器能够正确决定分组要向那条链路转发,靠的是其中的用于将目的地址映射为输出链路的转发表(Forwarding Table)。因特网中具有一些特殊的路由选择协议(Routing Protocol),用于自动设置这些转发表。

分组交换中,分组在沿途的每个节点要经受几种不同类型的时延。

分组从一个链路的起点到到一个交换机的这段距离上所花费的时间称传播时延(Propagation Delay)。广域网中,传播时延为毫秒量级。

分组到达交换机时,交换机检查分组首部和决定分组的导向所花费的时间称为结点处理时延(Nodal Processing Delay)。对于高速路由器,这个时延通常都在微秒或更低的数量级。

多数分组交换机在链路中的输入端都使用存储转发传输机制,是交换机先存储收到的部分分组,直到收到整个分组之后,才会开始向输出链路输出该分组。由于这种机制的存在,在数据从源到目的地整个传输的过程中将产生传输时延(Transmission Delay)。假设源和目的地之间是N条速率均为R的链路组成的路径,也就是其中有N-1台路由器,发送一个长度L的分组产生的传输延将是NLR,传输时延也通常在毫秒到微秒量级。

传输时延

每个分组交换机连接了多条链路,如果一个分组传输到某个交换机发现该交换机的输出链路正忙于其他分组的传输时,这个分组就必须在这个交换机的输出缓存当中等待,由此又会产生排队时延(Queuing Delay),这个时延取决于网络中的拥塞程度。用a表示分组到达队列的平均速率,则比率LaR被称为流量强度,设计系统时流量强度不能大于1。

排队时延

而且,交换机的缓存空间也是有限的,如果它达到饱和时,将会产生分组丢失(丢包)现象。端到端的时延可以中Traceroute程序来查看。

除了时延和丢包,端到端吞吐量也是计算机网络中的一个重要性能指标。比如从一个端系统A发送某个大小为F的文件到端系统B,则瞬间吞吐量(Instaneous Throughput)是B在某个时间点接收到该文件的速率,传送整个文件总用时T,则平均吞吐量就为FTbps。

吞吐量取决于数据流过链路的传输速率,链路的传输速率因链路所述的物理媒体等因素的而异。所以对于几条传输速率不同的链路(瓶颈链路),端到端的吞吐量总是等于其中速率最小的那个。

电路交换

传统的电话网络传输信息的方式为电路交换,下图是一个4台交换机和4条链路组成的简单电路交换网络。

电路交换

在电路交换网络中,源端系统到目的端系统间建立的一条连接称为电路。端系统间的通信会话期间,预留了端系统间通信沿路径所需要的资源,会话的报文则按需使用这些资源。链路中的电路通过频分复用(Frequency-Division Multiplexing,FDM)时分复用(Time-Division Multiplexing,TDM)来实现。两种方式如下图:

两种复用

在FDM中,跨越链路所建立的所有连接共享链路的频谱,每条电路连续地得到部分带宽。连接期间链路为每个连接专用的一个频段,一个连接划分到的频段宽度称为带宽(Bandwidth)

对于TDM链路,时间被划分为固定区间的帧,而每一帧又被划分为固定数量的时隙,每条电路在短时间间隔中周期性地得到所有带宽。


电路交换不考虑需求,预先就分配好了传输链路的使用,容易造成链路资源的浪费。而分组交换对于链路的使用则按需分配。

网络的网络

端系统通过众多的接入ISP(Accrss ISP)与因特网相连,这个接入ISP包括住宅区ISP、公司ISP、大学ISP等等,把这众多的ISP连接起来,就形成了网络的网络。随着时间的推移,这个网络的网络已经演变为一个非常复杂的结构,当今世界的ISP互联结构如下图:

ISP互联

其中最底层的是接入ISP,网上接入ISP与一个区域ISP(Regional ISP)相连,而每个区域ISP则与它上面第一层ISP(Tier-1 ISP)相连,而且位于相同等级结构层次的临近一对ISP能够对等(Peer),多个ISP可以在因特网交换点(Internet Exchange Point,IXP)共同对等,其中的Google为一个内容提供商网络(Content Provider NetWork)

现在的因特网大概由十多个第一层ISP、300多个IXP和数十万个较低层ISP组成,ISP的覆盖区域各不相同。

协议层级

因特网中有大量的应用程序和协议、各种类型的端系统、分组交换机和各种类型的链路级媒体。利用分层的体系结构,能够高效地组织好因特网这个大而复杂的系统。

网络协议分为不同层次进行开发,每一层分别负责不同的通信功能。一个协议栈是一组不同层次上的多个协议的组合。因特网的协议栈由五个层次组成:

  1. 应用层(Application Layer):网络应用程序以及它们的应用层协议存留的地方,负责处理特定的应用程序细节。其中包含HTTP(HyperText Transfer Protocol,超文本传送协议)SMTP(Simple Mail Transfer Protocol,简单邮件传送协议)SNTP(Simple Network Management Protocol,简单网络管理协议)FTP(File Transfer Protocol,文件传输协议)等协议。
  2. 运输层(Transport Layer):为两台端系统上的应用程序提供端到端的通信。其中包含TCP(Transmission Control Protocol,传输控制协议)UDP(User Datagram Protocol,用户数据报协议)两种运输协议,前者为它的应用程序提供面向连接的可靠通信服务,后者向它的应用程序提供不可靠的无连接通信服务。运输层的分组在此统称为报文段(Segment)
  3. 网络层(Network Layer):处理分组在端到端的选路等活动。其中包含IP(Internet Protocol,网际协议)ICMP(Internet Control Message Protocol,控制报文协议)IGMP(Internet Group Message Protocol,组管理协议)等协议。网络层的分组在此统称为数据报(Datagram)
  4. 链路层(Link Layer):负责将分组从一个结点移动到路径上的下一个节点,其中提供服务的取决于应用于该链路的特定链路层协议,处理与传输媒体的物理接口细节。链路层的分组在此统称为帧(Frame)
  5. 物理层:将帧中的一个一个比特从一个结点移动到到下一个节点。其中的协议与该链路的实际传输媒体相关。

封装

上图中,数据从发送端系统的协议栈向下,经过中间的链路交换机和路由器的协议栈,最后向上到达接受端系统的协议栈。由此可见,路由器和链路交换机和端系统类似,也采用多层次的方式组织其网络硬件和软件,但是它们并不实现协议栈中的所有层次

其中还展现了封装(Encapsulation)的概念:在发送端系统上,自顶向下,应用层将报文(Message)传送给传输层,运输层收取报文并附上运输层首部信息,生成报文段(Segment)传送给网络层,网络层收取报文段并附上网络层首部信息,产生数据报(Datagram)传递给链路层,链路层也增加自己的首部信息并生成帧(Frame),进而通过物理层输出。而当数据到达接受端系统后,又自底向上,各层依次处理其中的首部信息。


更新历史:
* 2017.12.14 完成初稿
原文链接

原创粉丝点击