一、计算机网络概述
目录
我在学习计算机网络的时候心中会有很多疑问?——什么是计算机网络?计算机网络里边都有什么东西组成的?计算机网络都能干啥?这么神奇的东西是怎么做出来的?还有计算机网络中的一些概念术语都是什么含义等,接下来我把这些归纳一下。
先上点相关链接:
1.3计算机网络体系结构及OSI七层参考模型与TCP/IP参考模型
1、什么是计算机网络?
也就是计算机网络的概念,(1)百度百科给的解释是:计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。这是一个比较官方的解释,覆盖比较全面。(2)我们也可以这么看:计算机网络就是互连的、自治的计算机系统的集合。所谓自治就是无主从关系,各个计算机相互独立;所谓互连,显而易见就是这些独立的计算机互联互通,能相互通信。(3)我们也可以简单点:计算机网络=通信技术+计算机技术,说白了计算机网络就是一种通信网络。那么全球这么多的计算机,很多计算机距离又非常远,如何保证它们之间的互联呢?答:通过交换网络把这些主机互连起来,这些交换网络就是很多交换节点(路由器或交换机)组成。
2、计算机网络的分类
按照分布范围分类可以分为1)广域网(WAN)任务主要是提供长距离通信,覆盖范围大。广域网也是因特网的核心部分。连接广域网的各结点交换机的链路一般也都是高速链路,通信容量大。2)城域网(MAN)覆盖范围相对小很多,一般也都在一个城市内。城域网大多采用以太网技术,所以也可以并入局域网进行讨论。3)局域网(LAN)局域网一般用微机或者工作站通过高速线路相连,覆盖范围较小。局域网使用广播技术,广域网则使用交换技术。4)个人区域网(PAN)是在个人生活工作的地方将电子设备(如平板电脑、智能手机等)用无线技术连接起来的网络,也常称为无限个人区域网WPAN,范围大约在10m。注:若中央处理器之间距离非常近(如仅1m或甚至更小),则一般称为多处理器系统,而不称为计算机网络。
按照传输技术分类可以分为1)广播式网络,所有计算机都共享一个公共信道。当其中一台计算机使用公共信道发送信息时,其他所有计算机都会“收听这个消息。接收到该消息的计算机通过检查目的地址来决定是否接收该消息。这也是这一网络的漏洞所在,黑客可以通过接收所有消息,然后分析处理消息获取你的隐私信息,所以公共网络不要随便连接。局域网基本都采用广播式通信技术,广域网中的无线、卫星通信网也采用广播式通信技术。2)点对点网络,每条物理线路连接一对计算机。如果通信的两台主机之间没有直接的线路,那么它们就要通过中间节点的接收、存储和转发来连接一条通路。师傅采用分组存储转发与路由选择机制是点对点式网络和广播式网络的重要区别。广域网基本都属于点对点网络。
按照拓扑结构分类可以分为1)星形网络。2)总线型网络。3)环形网络。4)网状形网络。以上四种基本网络结构可以互连组织成更为复杂的网络。如图1.1。其中星形、总线型和环形网络多用于局域网,网状形网络多用于广域网。每种结构都有自己的优缺点。
按照使用者分类可以分为1)公用网(Public Network)主要是指电信公司建造的大型网络(比如移动、联通、电信的宽带)。2)专用网(Private Network)是某个部门为本单位特殊业务而建造的网络,不向公众提供服务。比如电力、军队等部门都有自己专门的网络。
按照交换技术分类可以分为1)电路交换网络。2)报文交换网络。3)分组交换网络。参考1.1数据交换——电路、报文、分组交换
按照传输介质分类可以分为有线和无线网络。有线网络又可以分为双绞线网络、同轴电缆网络等。无线网络又可以分为蓝牙、微波、无线电等网络。
3、计算机网络组成
计算机网络主要有硬件、软件、协议三大组成部分。硬件主要由主机(也叫端系统,比如我们使用的电脑)、通信链路(如双绞线、光纤等)、交换设备(如路由器、交换机等)和通信处理机(如网卡)等组成。软件如网络操作系统、邮件收发程序、FTP程序、聊天程序(如QQ)等。协议是计算机网络的核心,如同交通规则约定汽车驾驶一样,保证网络数据有条不紊的传输。
4、什么是网络协议?
有了硬件(主机、链路、路由器……)连接在一起,Internet能否顺畅运行?能保证应用数据有序交付吗?答案肯定是:NO!这些硬件只是计算机网络的基础,其中的数据交换需要遵循事先约定好的规则。就像我们人类交流一样,得用双方能听懂的语言(规则、协议)才能交流。所以还需要有协议,到这里差不多就理解什么是协议了,网络协议(network protocol)是为了网络中进行数据交换而建立的规则、标准或者叫约定。这些协议规定了通信双方交流消息的格式、意义、顺序以及针对收到的消息或发生的事件所采取的“动作”(actions)。
协议的三要素:语法(Syntax)、语义(Semantics)、时序(Timing)。
举例:TCP、IP、HTTP、Skype、802.11等。
5、计算机网络结构
计算机网络是什么样子的呢?如图1.2所示,我们可以大致分为网络边缘、接入网络,物理介质、网络核心(核心网络)三个方面,网络边缘主要是主机,这些主机位于“网络边缘”,运行着网络应用程序如Email,Web等。比如客户/服务器(client/server)应用模型中,客户端一般是电脑向服务器发送请求,接受服务器响应,服务器上运行比如Web应用程序;而对等(peer-peer,P2P)应用模型中在计算机之间直接进行通信,没有专门的服务器。
那么如何将网络边缘介入核心网(边缘路由器)呢?数字用户线路(DSL),比较古老的一种接入网络,利用已有的电话线连接中心局的DSLAM,如图1.3所示, 其中数据通过DSL电话线接入Internet, 语音(电话)通过DSL电话线接入电话网。
电缆网络,其中数据、电视信号在共享线缆分布式网络上利用不同频率传输(频分多路复用)。以太网(Ethernet)主要用于公司、高校等组织机构。无线接入网络(基站base station或接入点access point),通过共享的无限接入网络,无限局域网(LANs)或广域无线接入(电信运营商的蜂窝网),连接端系统和路由器。
最后什么是网络核心呢?网络核心就是路由器互联组成的网络,它主要的功能是路由+转发。路由(routing)就是确定分组从源主机到目的主机传输路径,转发(forwarding)就是将分组从路由器的输入端口交换到正确的输出端口。
6、数据交换
网络核心解决的基本问题就是将数据从源主机送到目的主机,那么这里就有问题了,这是如何实现的呢?很简单,通过数据交换,那么什么是数据交换呢?为什么需要数据交换呢?首先为什么需要数据交换:想要主机互相通信,我们可以把主机两两连在一起,那么这样就有一个问题——要n个主机的话,从一个主机出发有n-1条链路,那么总共就有条链路,这样不光经济上不可行,也很难实现。怎样解决这样一个问题呢?我们可以在这些主机中间加一个交换设备,专门负责数据的交换,同样有一个问题,把所有的主机连接在一台交换设备上是否可行?如果主机数目少的话还可以,如果主机数目庞大的时候可想而知,那么就衍生出了交换网络,把交换设备连接在一起组成交换网络。我们的主机和交换网络中某一个交换设备连接,然后交换设备负责将我们的数据进行正确交换。
数据交换从技术上大致可以分为电路交换、报文交换、分组交换。这些技术的详细介绍请见1.1数据交换——电路、报文、分组交换。
7、计算机网络功能
计算机网络功能很多,现在纯粹单机运行的软件已经很少了。总结起来主要有五大功能:数据通信、资源共享、分布式处理、提高可靠性和负载均衡。除了这些这些主要的功能,计算机网络还可以实现远程教育(这几年正在兴起,比如掌门家教这类)、娱乐(比如LOL)等功能。以下详细介绍五大主要功能:
1)数据通信是计算机网络最基本和最重要的功能,用来实现联网计算机之间的各种信息的传输并实现分散不同地理位置的计算机联系起来同意调配、控制和管理。比如,文件传输、电子邮件等应用。2)资源共享不仅可以是软件共享、数据共享,也可以是硬件共享。提高硬件资源、软件资源和数据资源的利用率。比如现在的云计算技术很好的实现了共享。3)分布式处理就是当网络中某个计算机负载过重时,可以把某些任务交给网络中其他的计算机来处理,不仅提高处理速度而且提高了资源利用率。4)提高可靠性主要是指计算机网络中的计算机可以通过网络实现互为替代机,这样一台机子损坏不会造成数据丢失等危险,现在的区块链技术和这个思想差不多。5)负载均衡主要是将繁重的工作任务均衡的分配给计算机网络中的各台计算机,现在大型网站实现要为数以万计的用户提供服务基本都要用到负载均衡。