计算机网络——总览

计算机网络这个标题实在是太广泛了,当中涉及太多的方面与相关知识,这篇博客作为总览尝试从几个不同的角度出发大致对计算机网络有一个基础的认识,后面再通过另外的博客来深入了解其中某些具体的技术。

说起计算机网络,普通人的第一印象可能就是因特网(Internet),但其实世界上存在着许许多多的网络,他们使用不同的技术、不同的规范标准以及不同的硬件和软件。所有能够相互互联通讯的网络都叫互联网(internet),而全球范围的互联网用大写Internet表示,称为因特网。

如果要深入学习计算机网络,首先要对计算机网络这么庞大的主题进行划分,如果从网络尺度上考虑,按照物理尺寸大致可以将计算机网络划分为以下多个系统:

个域网PAN:Personal Area Network,允许设备围绕一个人进行通信。例如蓝牙(bluetooth),采用主-从操作模式。还有使用射频识别技术RFID(Radio Frequency IDentification)构建的近场通信NFC(Near Field Communication)。

局域网LAN:Local Area Network,一般在一座建筑内,比如家庭或办公室。有线局域网使用IEEE802.3(俗称以太网)标准构建,使用一台交换机与局域网内的计算机通过点到点链路连接。交换机有多个端口,每个端口连接一台计算机,交换机的工作是中继与之连接的计算机的数据包,根据每个数据包中的地址来确定这个数据包要发往哪台计算机。无线局域网使用IEEE802.11(俗称WiFi)标准构建,使用一个无线接入点(AP, AccessPoint)中继无线设备之间的数据包,还负责中继无线设备与Internet之间的数据包。

城域网MAN:Metropolitan Area Network,覆盖范围在一个城市的网络,早起城市与城市间的网络都是自发组织的,但现在都统一由国家级运营商运营,所以现在城域网与广域网的界限越来越模糊。

广域网WAN:Wide Area Network,范围通常是一个国家、地域或大陆。这种大型网络通常由多台路由器连接多条链路,多个子网。广域网中通常存在多家子网运营商,他们提供与internet中的其他子网的互联服务,这样的运营商成为Internet服务提供商(ISP, Internet Service Provider)。

如果从传播技术上考虑,计算机网络可以分为两种:点到点链路与广播式链路。

点到点链路:链路将一对单独的机器连接起来,为了从源端到达接收端,数据包必须首先访问一个或多个中间机器。

广播式链路:任何一台机器发出的数据包都能被所有其他任何机器收到,每个数据包指定了预期的接收方。当一台机器收到一个数据包时,它要检查地址字段,如果目的地是接收机器,则处理此包;如果目的地址是其他机器,则忽略此数据包。(无线网络)

上面所说的两种划分方式,按照物理尺寸划分或者按照传播技术划分,实际上都是从宏观的角度上划分的。如果从通讯时涉及的技术细节上看,要实现网络通讯必须解决各种各样的问题,为了降低网络设计的复杂性,计算机网络的体系结构采用了分层的设计思想:绝大多数网络都组织称一个层次栈或分级栈结构。每一层建立在其下一层基础上,解决特定的问题,然后通过接口(interface)与上下层相互通信。而通讯双方之间,一台机器的第n层与另一台机器的第n层对话使用使用的规则称为协议(protocol)。接口是单方上下层通信使用的,协议是双方对等层通信使用的,每层的协议完全独立与其他层的协议,只要接口不变就能正常工作。层和协议组成的集合称为网络体系结构。传输数据时,高层协议把消息传递到下一层时,下一层会在消息前加上一个头(也有可能会加尾)数据来标识当前层的数据。

下层向上层提供两种不同类型的服务,面向连接的服务与无连接服务:

面向连接服务:如同电话模型,通讯双方要先建立连接,然后使用连接传输数据,最后释放连接。在绝大多数情况下,这种连接服务可以保持顺序,数据会按照发送的顺序到达。

无连接服务:如同邮政模型,每个报文携带了完整的目标地址,报文由系统中的中间节点路由,而且每个报文都独立于后续的报文路由,所以到达的先后顺序不保证一致。

计算机体系结构建立在分层的思想下,就引申出来各种各样的分层方式,其中最著名的是OSI参考模型:该模型把网络分为7层,分别是:物理层、数据链路层、网络层、传输层、会话层、表示层与应用层。但在实际运用中,会话层与表示层基本没定义什么内容,所以讨论计算机网络的分层基本都是集中在另外的5层:

物理层:物理层关注的是在一条通信信道上传输原始比特,规定了如何在不同的介质上以电气(或其他模拟)信号传输比特。涉及的问题包括用什么信号表示0和1,一个比特持续多少纳秒,传输是否可以在两个方向同时进行等。

数据链路层:数据链路层的主要任务是将一个原始的传输设施转变为一条没有漏检传输错误的线路。该层把数据拆分成数据帧(data frame),按顺序发送这些数据帧。如果服务是可靠的,接收方要认真去人正确收到的每一帧,并发送一个确认帧回(acknowledgement frame)给发送方。

网络层:网络层的主要功能是控制子网的运行。一个关键的问题是如何把数据包从源端路由到接收端。除此之外处理拥塞也是网络层的责任。最终把多条链路结合在网络中,把网络与网络连结成互联网,以便使我们可以在两个相隔遥远的计算机之间发送数据包。

传输层:传输层增强了网络层的传递保证并且提供了数据交付的抽象。满足不同应用需求的TCP与UDP协议正是工作在这一层。传输层是真正的端到端层,会话的双方是源端与接收端上的一个应用程序。在其下的各层设计的是一台机器与它直接邻居,而不是最终的源机器与目标机器。

应用层:应用层包含了用户通常需要的各种各样协议。广泛使用的有超文本传输协议(HTTP, HyperText Transfer Protocol)、域名系统(DNS, Domain Name System)、电子邮件(EMAIL)、内容分发网络(CDN, Content Distribution Network)、对等网络(P2P, Peer-to-Peer)等等。

接下来让我们从时间轴的角度来看看不同时期的不同上网方式:

最初要连接到ISP的常见方式是使用家里的电话线。数字用户线(DSL, Digital Subscriber Line)使用连接到各家的电话线进行数字数据的传输。这种上网方式需要使用一个一个调制解调器(modem)来把数字数据包转换成电话线能传输的模拟信号,然后在另一端电话公司使用数字用户线接入复用器来把模拟新号转回数字信号发向互联网。因为这种方式是使用电话呼叫来发送比特位的,所以也成为拨号上网。电话线的语音通话使用的带宽很小,因此拨号上网的速率被限制在56kbps。

接下来出现的上网方式也是重用已有基础设施完成的,但使用的是有线电视系统。与拨号类似的是,这种上网方式也需要在家庭与ISP之间的两端使用调制解调器转换信号,但有线电视系统的传输能力比电话线高,速度可以达到几百kb甚至mb每秒。

到了现在,通过铺设直达住户的光纤已经攻克了家庭上网的“最后一英里”。光纤到户(FTTH, Fiber to the Home)的上网方式通过专用光纤传输数据,无需经过数字信号与模拟信号之间的转换,上网速度大大加快,可以提供100Mbps的上网速度。

除了上面介绍的家庭有线网络通讯,无线网络通讯中的移动电话网络也是从诞生到现在经历了多代变迁:

第一代移动电话系统以连续变化的模拟信号来传输语音通话,只能打电话。

第二代系统从模拟信号切换到数字信号后,不近增加了通讯容量,安全性也得到提升,还支持了短信服务。全球移动通信系统(GSM, Golbal System for Mobile communications)就是我们常说的第二代移动通讯系统,俗称2G系统。而我们熟知的通用数据包无线业务(GPRS, General Packet Radio Service)则是GSM的延续。

第三代系统,俗称的3G系统从2001年开始部署,它能同时提供数字语音和宽带数字数据服务。3G系统使用宽带码分多址(WCDMA, Wideband Code Division Multiple Access)标准通信,它可以提供高达14Mbps的下行与6Mbps的上行。

第四代移动通信网络,俗称4G系统正是如今正在使用的移动通信系统。它使用的是TD-LTEFDD-LTE两种制式,能够快速传输数据、高质量、音频、视频和图像等。4G能够以100Mbps以上的速度下载。

与广域的移动电话网络相对应的是小范围内的无线局域网(WLAN, Wireless Local Area Network)。无线局域网标准在很早就由IEEE委员会制定,编号为802.11,我们俗称的WiFi指的正是它。与移动电话网络不同的是,无线局域网运行在无需授权的频段上,通常分布在2.4-2.5GHz与5.725-5.825GHz之间。

还有一种无线通讯技术在近十年被运用到我们的生活当中,但我们往往没有意识到它也是无线通讯的一种形式,这就是无线射频识别(RFID, Radio Frequency IDentification)技术。这项技术最常见的应用就是我们的公交卡,公交卡就是一个RFID标签,而刷卡器就是RFID读写器。当RFID标签靠近到一定范围,RFID读写器就能够发现它们并且访问表现携带的信息。大多数的RFID标签都不需要电源,操作所需要的能量全部来自于RFID读写器提供的无线电波,这正式RFID技术能被广泛运用的关键。我们熟知的近场通信NFC(Near Field Communication)技术正是从RFID演变而来。

至此,我们从不同的角度出发对计算机网络进行了大致的了解,对计算机网络有了一个初步的认识,接下来会深入了解其中涉及到的很多具体技术,这些就留待后续的文章再慢慢分享。

Bookmark the permalink.

Comments are closed.