这是是看了西安交大的计算机网络原理公开课的笔记。这里的计算机网络和我们平时用到的一些应用是有差别的,因为平时我们平时是站在用户的角度去使用网络的,而这里是作为网络的设计者,分析者来研究网络的。有把网络比喻为“信息的高速公路”,这里研究的并不是怎么去使用这条公路,我们侧重研究的有两点:一是这条路是怎么建起来的,比如路要制定多宽,混凝土要怎么配备等;二是这条路建起来以后我们要制定什么样的规则,保证在这条路上的运行是通畅的,比如堵车。但是课程的最后仍然会落脚到应用当中。
1 计算机网络的定义
首先思考一下,如果有两台计算机,要把它们连接起来构成一个小型的网络,需要做哪些工作?即需要哪些硬件和软件设备能够实现这两台计算机之间简单的信息交互?从硬件方面,一是需要一个网络的接口,比如说最常用的有线网卡,对无线网络来说比如蓝牙收发器或者无线网卡,二是从物理层面上需要通过一定的方式把它连接起来,也就是说要搭建一个物理信息的通道,比如双绞线(有线),蓝牙(无线)等。建立完物理连接,还要考虑两台计算机能否按照相同的方式进行物理传输:比如能否以相同的速率,相同的数据格式进行传输。于是考虑下载相应的软件,比如我们要连入internet网络,操作系统必须加载tcp/ip协议集的软件包。对于这个软件包,我们第一反应就是这个不用装啊!这是因为操作系统本身默认安装了。再比如说windows 98以前必须手动去安装这个软件。因此我们要想在建立好物理连接的计算机之间进行数据传送,就必须有相应的软件。这个软件就是协议集,协议集简单来说,就是一组规则,两台计算机之间有通信,必须要遵循相应的相同的规则。有了这些还不够。双方要进行信息交互,还必须要解决双方一个认识的问题,什么是认识,就是我们这次通讯要干什么,比如我们要使用FTP下载文件,就必须要有一个FTP服务器,用户端也需要有一个FTP客户端,才能完成FTP的下载。因此我们想要把两台计算机连接成一个计算机网络,要想让他们正常的工作,要想让他们能够达到我们用户的要求,需要有软件和硬件的支持。
在这样的基础上来思考什么是计算机网络:计算机网络就是以能够相互共享资源的方式互联起来的自治计算机系统的集合。主要特征是:资源共享;分布在不同地理位置的“自治系统”;遵循一定的规则即协议。