计算机网络简介
1.互联网
什么是互联网?除了教科书上的定义,对普通网络用户来说,互联网就是在浏览器输入网址,然后可以看到各式各样内容的地方。事实上,在这些应用背后,是数以百万计的计算机在互相连接、通信,而这里说的计算机并不仅仅指所谓的电脑,服务器、智能手机、平板电脑都是计算设备,也被称之为主机(host)。
连接它们的物理线路我们称之为link,主要包括了光纤、铜缆、无线电波和卫星等等。在这些线路中,数据以光信号、电信号、电磁波的形式飞快地传播,而link就是数据传输的载体。
互联网中的另一大设备就是路由器和交换机了,它们负责确定数据传递的路径,就像物流行业的分拣员,确保每个数据包都能去往目的地。
2. 协议与标准
对计算机网络有所了解的朋友都会知道,用于计算机网络学习与研究的主要有TCP/IP协议体系结构。这个结构中将计算机网络分为5层,我们会在之后详细介绍。而每一层则是由各种各样的协议组成的。
什么是协议呢?协议就是通信的双方有一个共识,即如何表达和传递信息,往往定义了通信的格式,收发顺序,以及在发送接收时应该采取的行为。古时候的烽火就是一种协议,看到上一个烽火台点火,自己也立刻点火传递给下一个烽火台,有烽火就意味着敌军来袭。这就是规定了通信中的种种行为。
2.1 互联网协议栈
TCP/IP模型将互联网分为了5个层,从上到下为应用层(application)、传输层(transport)、网络层(network)、连接层(link)和物理层(physical)。
与之相对的,还有一种模型ISO/OSI,在TCP/IP模型的基础上,将原有的应用层细分为了应用、表示(presentation)、会话(session)层。一共7层。
在传输过程中,发送者的数据会从上到下层层封装,之后经过物理线路发送到接受者的计算机,再从下到上层层取出信息,交由应用程序进行使用。
3. 网络类型
除了目前主流的光纤接入,在近期DSL和有线电视网络也曾是计算机网络的主力军。
3.1 DSL与ADSL
DSL(digital subscriber line),数字用户线路,是早期一种使用电话线拨号上网的技术。将电话线中的模拟信号根据频率划分为不同频道,分别传输语音和数据信息,同时支持电话和计算机网络。因为用户的下载需求往往大于上传需求,所以一般分配给用户的上行带宽与下行带宽并不相同,往往下载速度大于上传速度。即所谓的ADSL (asymmetric digital subscriber line)。
3.2 有线电视网络
有线电视网络(cable network)是目前仍使用较广的网络。通过电视网络,同轴电缆可传输电视信号和计算机网络信号。与DSL不同的是,DSL的线路往往是专用的,即每户直接连到转接中心;而电视网络则是多户共用一条线缆,通向运营商。
4. 数据传输
为了将数据从一个主机传送到另一个主机,往往需要将一个大的数据分为许多相对小的数据包(packet),依次传输。类比于果园将产品送往超市一样,将水果分装在许多货车里一车一车地运送。
在传输中,数据是以比特流的形式收发的,也就是一长串的0或1。对每一条链接来说,传输的速度是有限的,我们称之为传输率(transmission rate),所以每个数据包通过这条链接的时间可以这样计算:
T = L ( b i t s ) R ( b i t s / s e c ) T=\frac{L(bits)}{R(bits/sec)} T=R(bits/sec)