前言
本篇文章将全面介绍计算机网络技术基础知识,对计算机网络运作流程进行简单介绍。阅读本篇文章你将会对计算机网络的发展、组成、性能指、计算机网络体系结构,等,这些计算机网络基础知识,有大概的了解。
概述
从上世纪90年代以后,以因特网为代表的计算机网络得到了飞速的发展,网络改变了我的工作生活的各个方面,加速了全球信息革命的进程。
1994年4月20日我国用64kb/s专线正式连入互联网,从此我国被国际正式承认为接入因特网的国家。想象一下短短二十多年,互联网在我国迅速的发展,直到今天我们的生活已经离不开了网络,大大小小的互联网公司迅速发展,时时刻刻都在改变着我们的生活方式。
网络起源
了解一项技术首先你得知道它是怎样被发明、因为什么被发明、又是怎么被发展壮大起来的呢?多去了解事物的发展历史、发展规律,你将会看到别人看不到的东西抓住先机,说不定一不小心就改变了世界。好了不扯淡了,直奔主题。
- internet(互联网)是一个通用名词,泛指由多个计算机网络互连而成的网络。
- Internet(因特网)是一个专用名词,是指当前全球最大的、开放的、由众多网络相互连接而成的特定计算机网络,它采用TCP/IP协议族作为通信的规则,其前身是美国的ARPANET。
网络把许多计算机连接在一起,而因特网则把许多网络连接在一起。
- 1969年美国国防部创建的第一个分组交换网ARPANET最初只是一个单个的分组交换网,所有要连接在ARPANET上的主机都直接与就近的结点交换机相连,这显然是不能满足通信需求的,于是就开始研究多种网络互连的技术,这就导致后来的互联网的出现,一步步发展成现在的因特网。
- 1983年,TCP/IP协议成为ARPANET上的标准协议,这个使得所有使用TCP/IP协议的计算机都能利用互联网互相通信,因而人们就把1983年作为因特网的诞生时间。
- 1985年起,美国国家科学基金会NSF(National Science Foundation)围绕大型计算机中心建设计算机网络,即国家科学基金网络NSFNET。这种计算机网络覆盖了全美的主要大学和研究所。
- 1991年,NSF意识到因特网必将扩大其使用范围,不用仅仅限于大学和研究机构。世界上许多公式纷纷接入因特网,网络上的通信量急剧增大,使因特网的容量以满足不了需要,于是美国政府决定将因特网的主干网转交给私人公司来经营,并开始对接入英特网的单位收费。
- 从1993年开始,由美国政府资助的NSFNET逐渐被若干商用的因特网主干网替代,政府机构不在负责因特网的运营,这样就出现了因特网服务提供者ISP(Internet Service Provider)又被译为因特网服务提供商。
我国最有名的ISP,中国电信、中国移动、中国联通。ISP可以从因特网管理机构申请到很多IP地址,同时拥有通信线路以及路由器等联网设备,向ISP缴纳费用,就可以从该ISP获取所需IP地址的使用权,并可通过该ISP接入到因特网。
因特网的标准化工作
任何事物发展大了,就得有特定的标准,不然就乱了套,有了好的游戏规则,才能玩的好、玩的转。
- 制定因特网标准的是因特网协会ISOC(Internet Society),ISOC下面有个技术组织叫因特网体系结构委员会IAB(Internet Architecture Board),负责管理因特网有关协议的开发。
- IAB下面有两个工程部:
1.因特网工程部IETF(Internet Engineering Task Force)
2.因特网研究部IRTF(Internet Research Task Force)。 - 所有的因特网标准都是以RFC(Request For Comments请求评论)的形式在网上发表,所有的RFC文档都可以在网上免费下载,并非所有的RFC文档都是因特网标准,只有一小部分RFC文档才能变成因特网标准。
因特网的组成
从工作方式上看,可以划分为两大块:
1.边缘部分
边缘部分是由所有连接在因特网上的主机组成,这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享。在网络边缘的端系统中运行的程序之间的通信方式通常可划分为两大类:
- 客户服务器方式(C/S 方式):客户(client)和服务器(server)都是指通信中所涉及的两个应用进程。客户服务器方式所描述的是进程之间服务和被服务的关系。客户是服务的请求方,服务器是服务的提供方。如下图
- 对等方式(P2P 方式):对等连接(peer-to-peer,简写为 P2P)是指两个主机在通信时并不区分哪一个是服务请求方还是服务提供方。只要两个主机都运行了对等连接软件(P2P 软件),它们就可以进行平等的、对等连接通信。对等连接方式从本质上看仍然是使用客户服务器方式,只是对等连接中的每一个主机既是客户又同时是服务器。如下图
2.核心部分
核心部分是由大量网络和连接这些网络的路由器组成,这部分是为边缘部分提供服务的(提供连通性和交换)。
网络核心部分是因特网中最复杂的部分。网络中的核心部分要向网络边缘中的大量主机提供连通性,使边缘部分中的任何一个主机都能够向其他主机通信(即传送或接收各种形式的数据)。
在网络核心部分起特殊作用的是路由器(router)。路由器是实现分组交换(packet switching)的关键构件,其任务是转发收到的分组,这是网络核心部分最重要的功能。
分组交换则采用存储转发技术。通常我们把要发送的整块数据称为一个报文,在发送报文之前,先把较长的报文划分成为一个个更小的等长数据段,在每个数据段前面加上一些必要的控制信息组成的首部后,就构成了一个分组。分组又称为“包”,而分组的首部也可称为”包头“。分组是在因特网中传送的数据单元。
计算机网络的性能
1.速率
- 比特(bit)是计算机中数据量的单位,也是信息论中使用的信息量的单位。Bit 来源于 binary digit,意思是一个“二进制数字”,因此一个比特就是二进制数字中的一个 1 或 0。
- 速率即数据率(data rate)或比特率(bit rate)是计算机网络中最重要的一个性能指标。速率的单位是 b/s,或kb/s, Mb/s, Gb/s 等。速率往往是指额定速率或标称速率。
2.带宽
- 带宽本来是指信号具有的频带宽度,单位是赫(或千赫、兆赫、吉赫等)。现在“带宽”是数字信道所能传送的“最高数据率”的同义语,单位是“比特每秒”,或 b/s (bit/s)。 常用的带宽单位 kb/s、Mb/s、Gb/s。现在人们常用更简单但很不严格的记法来描述网络的速率,如100M以太网。
3.吞吐量
- 吞吐量(throughput)表示在单位时间内通过某个网络(或信道、接口)的数据量。
- 吞吐量更经常地用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量能够通过网络。
- 吞吐量受网络的带宽或网络的额定速率的限制。
4.传输时延
- 发送数据时,数据块从结点进入到传输媒体所需要的时间。也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。
- 对于高速网络链路,我们提高的仅仅是数据的发送速率而不是比特在链路上的传播速率。 提高链路带宽减小了数据的发送时延。
5.信道利用率
- 信道利用率指出某信道有百分之几的时间是被利用的(有数据通过)。完全空闲的信道的利用率是零。
- 网络利用率则是全网络的信道利用率的加权平均值。
- 信道利用率并非越高越好。
计算机网络体系结构
- 相互通信的两个计算机系统必须高度协调工作才行,而这种“协调”是相当复杂的。 为了设计这样的复杂的计算机网络,早在最初的ARPANET设计时提出了分层的方法。“分层”可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理。
- 计算机网络中的数据交换必须遵守事先约定好的规则。这些规则明确规定了所交换的数据的格式以及有关的同步问题。
- 网络协议(network protocol),简称为协议,是为进行网络中的数据交换而建立的规则、标准或约定。
计算机网络的体系结构(architecture)是计算机网络的各层及其协议的集合。
- 为了使不同体系结构的计算机网络都能够互连,国际标准组织于1977年成立了专门机构研究该问题,提出一个视图使各种各种计算机在世界范围内互连成网的标准框架,即著名的开放系统互连基本参考模型OSI,在1983年形成了开放系统互连基本参考模型的正式文件,即ISO 7498国际标准,也就是所谓的七层协议的体系结构。但是OSI只获得了一些理论研究的成果,但在市场化方面OSI则事与愿违地失败了。现在得到最广泛应用的是非国际标准TCP/IP,能够占领市场就是标准。
OSI的七层协议体系结构的概念清楚,理论也比较完整,但它复杂又不实用。TCP/IP是一个四层的体系结构。在介绍网络的原理时往往采取折中的办法,即综合OSI和TCP/IP的优点采用一种只有五层协议的体系结构,这样既简洁又能将概念阐述清楚。
应用层
应用层是体系结构中的最高层,任务是通过应用进程间的交互来完成特定网络应用,应用层协议定义的是应用进程间通信和交互的规则。这里的进程就是指主机中正在运行的程序。对于不同的网络应用需要有不同的应用层协议。在因特网中的应用层协议很多,如支持万维网应用的HTTP协议,支持电子邮件的SMTP协议,支持文件传送的FTP协议,等等。
运输层
运输层的任务就是负责向两个主机进程之间的通信提供通用的数据传输服务。应用进程利用该服务传送应用层报文。
所谓通用,是指并不针对某个特定网络应用,而是多种应用可以使用同一个运输层服务。由于一台主机可以同时运行多个进程,因此运输层有复用和分用的功能。
1.复用就是多个应用层进程可同时使用下面运输层的服务。
2.分用与复用相反,是运输层把收到的信息分别交付上面应用层中的相应进程。运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。
运输层主要使用一下两种协议:
传输控制协议TCP(Transmission Control Protocol),提供面向连接的、可靠的数据传输服务,其数据传输的单位是报文段。
TCP 提供面向连接的服务。TCP 不提供广播或多播服务。由于 TCP 要提供可靠的、面向连接的传输服务,因此不可避免地增加了许多的开销。这不仅使协议数据单元的首部增大很多,还要占用许多的处理机资源。用户数据包协议UDP(User Datagram Protocol),提供无连接的、尽最大努力的数据传输服务(不保证数据传输的可靠性),其数据传输的单位是用户数据报。UDP在传送数据之前不需要先建立连接。对方的传输层在收到UDP报文后,不需要给出任何确认。虽然 UDP 不提供可靠交付,但在某些情况下 UDP 是一种最有效的工作方式。
网络层
网络层负责为分组交换网上的不同主机提供通信服务。在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组或包(packet)进行传送。
在TCP/IP体系中,由于网络层使用IP协议,因此分组也叫作IP数据报,简称数据报(datagram)。
网络层的另一个任务就是要选择合适的路由,使源主机运输层所传下来的分组能够通过网络中路由器找到目的主机。因特网是一个很大的互联网,它由大量的异构网络通过路由器相互连接起来。因特网主要的网络层协议是无连接的网络协议IP(Internet Protocol)和许多路由选择协议,因此因特网的网络层也叫作网际层或IP层。
网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。
网络在发送分组时不需要先建立连接。每一个分组(即 IP 数据报)独立发送,与其前后的分组无关(不进行编号)。网络层不提供服务质量的承诺。即所传送的分组可能出错、丢失、重复和失序(不按序到达终点),当然也不保证分组传送的时限。
网际协议 IP 是 TCP/IP 体系中两个最主要的协议之一。与 IP 协议配套使用的还有三个协议:
1.地址解析协议 ARP (Address Resolution Protocol)
2.网际控制报文协议 ICMP (Internet Control Message Protocol)
3.网际组管理协议 IGMP (Internet Group Management Protocol)
想要在全世界范围内把网络都互连起来,并且能够互相通信,会遇到许多问题需要解决。TCP/IP提示在网络互连上采用的做法是在网络层(即IP层)采用了标准化协议,但相互连接的网络则可以是异构的,计算机网络通过一些路由器进行互连,擦于互连的计算机网络都使用相同的网际协议IP(Internet Protocol),因此可以把互连以后的计算机网络看成一个虚拟互连网络。
虚拟互连网络也就是逻辑互连网络,它的意思就是互连起来的各种物理网络的异构性本来是客观存在的,但是我们利用 IP 协议就可以使这些性能各异的网络从用户看起来好像是一个统一的网络。使用 IP 协议的虚拟互连网络可简称为 IP 网。
使用虚拟互连网络的好处是:当互联网上的主机进行通信时,就好像在一个网络上通信一样,而看不见互连的各具体的网络异构细节。
我们把整个因特网看成为一个单一的、抽象的网络。IP 地址就是给每个连接在因特网上的主机(或路由器)分配一个在全世界范围是唯一的标识符。IP地址是一种分等级的地址结构。IP地址管理机构在分配IP地址时只分配网络号,而主机号则由得到该网络号的单位自行分配。路由器仅根据目的主机所连接的网络号来转发分组。
IPv4是在20世纪70年代末期设计的,因特网经过几十年的飞速发展,到2011年 IPv4的地址已经耗尽。为解决IP地址耗尽就采用了更大地址空间的新版本的IP,即IPv6。IPv6把地址从IPv4的32位增大到128位。这样大的地址空间在可预见的将来是不会用完的。
数据链路层
数据链路层常简称为链路层。两台主机间的数据传输,总是在一段段的链路上传送的,这就需要使用专门的链路层的协议。
在两个相邻结点之间传送数据时,数据链路层将网络层交下来的IP数据报组装成帧,在两个相邻结点之间的链路上传送帧。每一帧包括数据和必要的控制信息,如同步信息、地址信息、差错控制等。
在接受数据时,控制信息使接收端能够知道一个帧从哪个比特开始和到哪个比特结束。这样,数据链路层在收到一个帧后,就可从中提取数据部分,上交给网络层。
控制信息还使解说段能够监测到所收到的帧中有无差错。如发现差错数据链路层就简单地丢弃这个出了差错的帧,以免继续在网络中传送下去白白浪费网络资源。如果需要改正数据在数据链路层传输时出现的差错,那么就要采用可靠传输协议来纠正出现的差错。
物理层
在物理层上所传数据的单位是比特。因此物理层要考虑用多大的电压代表1或0,以及接收方如何识别出发送方所发送的比特。物理层还要确定连接电缆的插头应当有多少根引脚以及各条引脚应该如何连接。
在因特网所使用的各种协议中,最重要的和最著名的就是TCP/IP连个协议。现在人们经常提到的TCP/IP并不是一定单指TCP和IP这两个具体的协议,而往往是表示因特网所使用的整个TCP/IP协议族。
图中的是应用进程的数据在各层之间的传递过程中所经历的变化。假定主机1的应用进程AP1向主机2的应用进程AP2传送数据。AP1先将其数据交给主机的应用层,应用层加上必要的控制信息H5就变成了下一层的数据单元。运输层收到这个数据单元后,加上本层的控制信息H4,再交给网络层,成为网络层的数据单元。以此类推,到数据链路层后控制信息被分为两部分,分别加到本层数据单元的首部H2和尾部T2,而第1层物理层由于是比特流的传送,所以不再加上控制信息。传送比特流时从搜捕开始传送。当这一串的比特流离开路由器到达目的站主机2时,就从主机2的第1层按照上面的方式,依次上升到第五层。最后把应用进程AP1发送的数据交给目的站的应用进程AP2。虽然要经过复杂过程才能送到终点的应用进程,但这些复杂的过程对用户来说,却都被屏蔽掉了,以至于应用进程AP1觉得好像是直接把数据交给了应用进程AP2.同理,任何两个同样的层次之间,也好像如同直接传递给对方一样。这就是所谓的“对等层”之间通信。
总结
本文介绍了计算机网络的发展、组成、性能指标等。简单介绍了计算机网络体系结构,由于篇幅有限只是简单介绍了一些概念。网络与我们的生活息息相关,掌握计算机网络基础知识、基本原理,能让我们更明白地使用网络,更重要的是能学会一些思考、解决一些问题的方法。