网络基础与Linux网络应用全解析
1. 网络的起源与定义
网络的概念几乎和电信本身一样古老。想象一下石器时代,人们可能用鼓在个体之间传递信息。比如,洞穴人A想邀请洞穴人B一起玩互相扔石头的游戏,但他们住得太远,B听不到A敲鼓的声音。A有几个选择:一是走到B的住处;二是换个更大的鼓;三是让住在他们中间的C转发消息。最后一种方式就是网络的雏形。
如今,我们通过大量的电线、光纤、微波等让计算机相互通信。在计算机领域,网络被定义为一组能够相互通信的主机集合,通常依赖一些专用主机在参与者之间中继数据。主机通常是计算机,但也可以是X终端或智能打印机等,小型的主机集合也被称为站点。
通信离不开某种语言或代码,在计算机网络中,这些被统称为协议。它不像书面协议,更像是国家元首会面时遵循的高度形式化的行为准则,是计算机网络中主机之间交换消息的严格规则。
2. 常见网络协议
2.1 TCP/IP网络
现代网络应用需要复杂的方法在机器间传输数据。当管理有多个用户的Linux机器,且用户可能同时连接远程主机时,需要一种让他们共享网络连接且互不干扰的方法,这就是分组交换。分组是在网络中从一台机器传输到另一台机器的小块数据,交换发生在数据报通过网络的每个链路时。分组交换网络通过在单个网络链路上交替发送不同用户的分组,实现多个用户共享该链路。
Unix系统及后来的许多非Unix系统采用的解决方案是TCP/IP。在TCP/IP网络中,数据报和分组常被互换使用。TCP/IP起源于1969年美国国防高级研究计划局(DARPA)资助的研究项目,ARPANET最初是实验性网络,1975年转为运营网络。1983年,TCP/IP成为标准