互联网组成

计算机网络 (简称为网络 )由若干结点 (node)和连接这些结点的链路 (link)组成。

  • 网络中的结点可以是计算机、集线器、交换机或路由器等

image.png

ISP(Internet Service Provider)

ISP是互联网服务提供者,在许多情况下,ISP就是一个进行商业活动的公司,例如,中国电信、中国联通和中国移动等公司都是我国最有名的ISP,ISP可以从互联网管理机构申请到很多IP地址(互联网上的主机都必须有IP地址才能上网)。ISP将接入互联网的计算机链接起来,如下图所示:
image.png

  • 互联网交换点 IXP(Internet eXchange Point) 主要作用就是允许两个网络直接相连并交换分组,而不需要再通过第三个网络来转发分组

路由器 与 分组交换

路由器 (router)它是一种专用计算机(但不叫做主机)。路由器是实现分组交换 (packet switching)的关键构件,其任务是转发收到的分组 ,这是网络核心部分最重要的功能。

电路交换

在学习分组交换前,我们先了解一下电话中的电路交换,在电话问世后不久,人们就发现,要让所有的电话机都两两相连接是不现实的。图1-9(a)表示两部电话只需要用一对电线就能够互相连接起来。但若有5部电话要两两相连,则需要10对电线,见图1-9(b)所示。显然,若N部电话要两两相连,就需要N(N–1)/2对电线。当电话机的数量很大时,这种连接方法需要的电线数量就太大了(与电话机的数量的平方成正比)。于是人们认识到,要使得每一部电话能够很方便地和另一部电话进行通信,就应当使用电话交换机将这些电话连接起来,如图1-9(c)所示。

image.png

在使用电路交换通话之前,必须先拨号请求建立连接。当被叫用户听到交换机送来的振铃音并摘机后,从主叫端到被叫端就建立了一条连接,也就是一条专用的物理通路 。这条连接保证了双方通话时所需的通信资源,而这些资源在双方通信时不会被其他用户占用。此后主叫和被叫双方就能互相通电话。通话完毕挂机后,交换机释放刚才使用的这条专用的物理通路(即把刚才占用的所有通信资源归还给电信网)。这种必须经过“建立连接 (占用通信资源)→通话 (一直占用通信资源)→释放连接 (归还通信资源)”三个步骤的交换方式称为电路交换

  • 电路交换不适合计算机:当使用电路交换来传送计算机数据时,其线路的传输效率往往很低,因为计算机数据是突发式地出现在传输线路上的,因此线路上真正用来传送数据的时间往往不到10%甚至1%。已被用户占用的通信线路资源在绝大部分时间里都是空闲的。

分组交换

分组交换则采用存储转发技术 。如下图,表示把一个报文划分为几个分组后再进行传送。通常我们把要发送的整块数据称为一个报文 (message)。在发送报文之前,先把较长的报文划分成为一个个更小的等长数据段 。在每一个数据段前面,加上一些由必要的控制信息组成的首部 (header)后,就构成了一个分组 (packet)。分组又称为“包 ”,而分组的首部也可称为“包头 ”。分组是在互联网中传送的数据单元。分组中的“首部”是非常重要的,正是由于分组的首部包含了诸如目的地址和源地址等重要控制信息,每一个分组才能在互联网中独立地选择传输路径,并被正确地交付到分组传输的终点。
image.png
路由器收到一个分组,先暂时存储一下,检查其首部,查找转发表,按照首部中的目的地址,找到合适的接口转发出去,把分组交给下一个路由器。这样一步一步地(有时会经过几十个不同的路由器)以存储转发的方式,把分组交付最终的目的主机。各路由器之间必须经常交换彼此掌握的路由信息,以便创建和动态维护路由器中的转发表,使得转发表能够在整个网络拓扑发生变化时及时更新。

  • 这里要注意,路由器暂时存储的是一个个短分组,而不是整个的长报文。(与之对应的被称为报文交换)
  • 应当注意,分组交换在传送数据之前不必先占用一条端到端的链路的通信资源。分组在哪段链路上传送才占用这段链路的通信资源。

互联网的划分

按照网络的作用范围进行分类

  1. 广域网WAN (Wide Area Network)广域网的作用范围通常为几十到几千公里,因而有时也称为远程网 (long haul network)。广域网是互联网的核心部分,其任务是通过长距离(例如,跨越不同的国家)运送主机所发送的数据。连接广域网各结点交换机的链路一般都是高速链路,具有较大的通信容量。
  2. 城域网MAN (Metropolitan Area Network)城域网的作用范围一般是一个城市,可跨越几个街区甚至整个城市,其作用距离约为5~50km。城域网可以为一个或几个单位所拥有,但也可以是一种公用设施,用来将多个局域网进行互连。目前很多城域网采用的是以太网技术,因此有时也常并入局域网的范围进行讨论。
  3. 局域网LAN (Local Area Network)局域网一般用微型计算机或工作站通过高速通信线路相连(速率通常在10Mbit/s以上),但地理上则局限在较小的范围(如1km左右)。
  4. 个人区域网PAN (Personal Area Network)个人区域网就是在个人工作的地方把属于个人使用的电子设备(如便携式电脑等)用无线技术连接起来的网络,因此也常称为无线个人区域网 WPAN(Wireless PAN),其范围很小,大约在10m左右。

按照网络的使用者进行分类

  1. 公用网 (public network) 这是指电信公司(国有或私有)出资建造的大型网络。“公用”的意思就是所有愿意按电信公司的规定交纳费用的人都可以使用这种网络。因此公用网也可称为公众网 。

  2. 专用网 (private network) 这是某个部门为满足本单位的特殊业务工作的需要而建造的网络。这种网络不向本单位以外的人提供服务。例如,军队、铁路、银行、电力等系统均有本系统的专用网。

协议结构

  • OSI的七层协议体系结构的概念清楚,理论也较完整,但它既复杂又不实用。
  • TCP/IP是一个四层的体系结构,它现在得到了非常广泛的应用。
  • 学习计算机网络的原理时往往采取折中的办法,即综合OSI和TCP/IP的优点,采用一种只有五层协议的体系结构,这样既简洁又能将概念阐述清楚

image.png

应用层 (application layer)

应用层是体系结构中的最高层。应用层的任务是通过应用进程间的交互来完成特定网络应用 。应用层协议定义的是应用进程间通信和交互的规则 。这里的进程 就是指主机中正在运行的程序 。对于不同的网络应用需要有不同的应用层协议。在互联网中的应用层协议很多,如域名系统DNS,支持万维网应用的HTTP协议,支持电子邮件的SMTP协议,等等。我们把应用层交互的数据单元称为报文 (message)。

运输层 (transport layer)

运输层的任务就是负责向两台主机中进程之间的通信 提供通用的数据传输 服务。应用进程利用该服务传送应用层报文。所谓“通用的”,是指并不针对某个特定网络应用,而是多种应用可以使用同一个运输层服务。由于一台主机可同时运行多个进程,因此运输层有复用和分用的功能。复用就是多个应用层进程可同时使用下面运输层的服务,分用和复用相反,是运输层把收到的信息分别交付上面应用层中的相应进程。

  • 运输层主要使用以下两种协议:
  1. 传输控制协议 TCP(Transmission Control Protocol)——提供面向连接的、可靠的数据传输服务,其数据传输的单位是报文段 (segment)。
  2. 用户数据报协议 UDP(User Datagram Protocol)——提供无连接的、尽最大努力 (best-effort)的数据传输服务(不保证数据传输的可靠性),其数据传输的单位是用户数据报 。
  • 顺便指出,有人愿意把运输层称为传输层,理由是这一层使用的TCP协议就叫做传输控制协议。从意思上看,传输和运输差别也不大。但OSI定义的第4层使用的是Transport,而不是Transmission。这两个字的含义还是有些差别。因此,使用运输层这个译名较为准确。

网络层 (network layer)

网络层负责为分组交换网上的不同主机 提供通信服务。在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组 或包 进行传送。在TCP/IP体系中,由于网络层使用IP协议,因此分组也叫做IP数据报 ,或简称为数据报 。本书把“分组”和“数据报”作为同义词使用 。

  • 请注意:不要将运输层的“用户数据报UDP”和网络层的“IP数据报”弄混。此外,无论在哪一层传送的数据单元,都可笼统地用“分组”来表示 。

  • 网络层的另一个任务就是要选择合适的路由,使源主机运输层所传下来的分组,能够通过网络中的路由器找到目的主机。

  • 互联网是由大量的异构 (heterogeneous)网络通过路由器( router)相互连接起来的。互联网使用的网络层协议是无连接的网际协议 IP(Internet Protocol)和许多种路由选择协议,因此互联网的网络层也叫做网际层 或IP层 。网络层、网际层和IP层都是同义语。

数据链路层常简称为链路层 。我们知道,两台主机之间的数据传输,总是在一段一段的链路上传送的,这就需要使用专门的链路层的协议。在两个相邻结点之间传送数据时,数据链路层将网络层交下来的IP数据报组装成帧 (framing),在两个相邻结点间的链路上传送帧 (frame)。每一帧包括数据和必要的控制信息 (如同步信息、地址信息、差错控制等)。

在接收数据时,控制信息使接收端能够知道一个帧从哪个比特开始和到哪个比特结束。这样,数据链路层在收到一个帧后,就可从中提取出数据部分,上交给网络层。

控制信息还使接收端能够检测到所收到的帧中有无差错。如发现有差错,数据链路层就简单地丢弃这个出了差错的帧,以免继续在网络中传送下去白白浪费网络资源。如果需要改正数据在数据链路层传输时出现的差错(这就是说,数据链路层不仅要检错,而且要纠错),那么就要采用可靠传输协议来纠正出现的差错。这种方法会使数据链路层的协议复杂些。

物理层 (physical layer)

在物理层上所传数据的单位是比特 。发送方发送1(或0)时,接收方应当收到1(或0)而不是0(或1)。因此物理层要考虑用多大的电压代表“1”或“0”,以及接收方如何识别出发送方所发送的比特。物理层还要确定连接电缆的插头应当有多少根引脚以及各引脚应如何连接。当然,解释比特代表的意思,就不是物理层的任务。请注意,传递信息所利用的一些物理媒体,如双绞线、同轴电缆、光缆、无线信道等,并不在物理层协议之内而是在物理层协议的下面。因此也有人把物理层下面的物理媒体当作第0层。