一、计算机网络背景
网络相关概念
1.什么是网络?
网络是一种由多个节点(如计算机、手机或其他电子设备)通过通信线路或无线信号连接而成的系统。在网络中,信息可以通过这些节点进行传输和交换
2.独立模式
独立模式:计算机之间相互独立
3.网络互联
网络互联是指将两个或多个计算机网络通过一定的技术和方法连接起来,使它们能够相互通信和交换信息。网络互联是现代信息技术的基础,它使得分布在不同地理位置的网络能够形成一个更大的网络,从而实现资源的共享和信息的快速流通
在没有广泛网络连接的时代,科学家和研究人员确实采用了一些物理介质来共享和传输数据,比如:
-
磁带:在硬盘普及之前,磁带是一种常见的存储介质。研究人员会将数据存储在磁带上,然后通过邮寄或亲自携带的方式将磁带送到其他实验室。
-
硬盘:随着硬盘技术的发展,研究人员开始使用硬盘来复制和传输大量数据。这比磁带更快,也更方便。
-
软盘:软盘也是一种流行的数据传输工具,尤其是在个人计算机开始普及的时期。
这些方法的局限性很明显:
-
速度慢:物理传输介质需要时间来邮寄或运送,这导致数据共享的延迟。
-
容量限制:早期的存储介质容量有限,无法存储大量的数据。
-
易损坏:物理介质容易受到损坏,比如磁带可能会被磁场破坏,软盘可能会因为物理损伤而无法读取。
-
安全性问题:物理传输数据的安全性较低,容易在运输过程中丢失或被盗。
正是由于这些限制,研究人员和工程师开始寻求更高效的解决方案,这最终导致了网络的诞生和发展。以下是一些关键的网络发展里程碑:
-
ARPANET:1960年代末,美国国防部高级研究计划局(ARPA)创建了ARPANET,这是最早的包交换网络之一,也是现代互联网的前身。
-
TCP/IP:1970年代,传输控制协议/互联网协议(TCP/IP)被开发出来,它成为了互联网的标准通信协议。
-
电子邮件:电子邮件是互联网上最早的应用之一,它允许用户通过网络发送和接收消息。
-
文件传输协议(FTP):FTP的出现使得通过网络在不同计算机之间传输文件成为可能。
随着网络技术的发展,数据共享和传输的效率大大提高,科学家和研究人员可以更快地共享研究成果,促进了全球范围内的科学合作和知识传播。
4.局域网(LAN)
计算机数量更多了,通过交换机和路由器连接在一起
局域网(Local Area Network,简称LAN)是一种计算机网络,它将有限范围内的计算机和其他设备连接起来,以便它们可以相互通信和共享资源,如文件服务器、打印机和其他网络设备
5.广域网(WAN)
广域网WAN;将远隔千里的计算机都连在一起
广域网(Wide Area Network,简称WAN)是一种计算机网络,它覆盖广阔的地理区域,可以是跨越城市、国家甚至是全球范围的。与局域网(LAN)相比,广域网的覆盖范围更广,但通常数据传输速率较低,延迟较高。
所谓“局域网”和“广域网”只是一个相对的概念,比如,我们有“天朝特色”的广域网,也可以看做一个比较大的局域网
-
计算机是人的工具,人要协同工作,注定了网络的产生是必然的
二、协议
初始协议
❍ “协议”就是一种约定,是指多方之间达成的一种约定或者规定
【举例】:高中住校期间,我用学校座机和家里人沟通,因为用座机打电话是要花钱的,所以我和家人做了一个约定,电话响2声代表我生活费不足,电话响3声代表我生病了,需要家人接回;有了这种约定,我们就不需要通话,这样就节省了成本,这在计算机里叫做协议
协议的本质
计算机之间的传输媒介是光信号和电信号。通过 “频率” 和 “强弱” 来表示 0 和 1 这样的信息。要想传递各种不同的信息就需要约定好双方的数据格式。
【思考】只要通信的两台主机约定好协议就可以了吗?
-
定好协议,但是你用频率表示01,我用强弱表示01,就好比我用中国话,你用英语一样,虽然大家可能遵守的一套通信规则,但是语言不同,即使订好了基本的协议,也是无法正常通信的
所以完善的协议,需要更多更细致的规定,并让参与的人都要遵守
-
计算机生产厂商有很多
-
计算机操作系统,也有很多
-
计算机网络硬件设备,还是有很多
-
如何让这些不同厂商之间生产的计算机能够相互顺畅的通信?就需要有人站出来,约定一个共同的标准,大家都来遵守,这就是网络协议
-
一般具有定制协议或者标准资格的组织或者公司都必须是业内公认或者具有江湖地位的组织或者公司
协议分层
协议本质也是软件,在设计上为了更好的进行模块化,解耦合,也是被设计为层状结构的
【举例】两个人用电话联系。站在人的角度,是人与人之间在沟通,而站在电话的角度,是电话与电话之间在沟通,这就叫做分层
在这个例子中,我们的“协议”只有两层:语言层、通信设备层,但是实际的网络通信协议,设计的会更加复杂,需要分更多的层
但是通过上面的简单例子,我们能理解分层可以实现解耦合,让软件维护的成本更低(比如上层语言的改变不需要更换底层的硬件,通话方式的改变不需要上层的人更换语言交流)也就是说我们对任何一层进行修改并不会影响到其他层
在软件工程里有一句叫“高内聚,低耦合”,把功能比较集中、耦合度较高的的模块放在一层,也就是高内聚,不同层之间关系密度低,这就是低耦合
三、OSI七层模型
OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型,是一个逻辑上的定义和规范(为什么是逻辑上的?因为定协议的人不一定需要实现协议的内容)
OSI把网络从逻辑上分为了7层,每一层都有相关,相对应的物理设备,比如路由器,交换机
OSI七层模型是一种框架性的设计方法,其最主要的功能是帮助不同类型的主机实现数据传输,它的最大优点是将服务、接口和协议这三个概念明确地分开来,概念清楚,理论也比较完整。通过7个层次化的结构模型使不同的系统 不同的网络之间实现可靠的通讯
但是,它既复杂又不实用,所以我们按照TCP/IP四层模型来讲解
其实在网络角度,OSI定的协议7层模型其实非常完善,但是在实际操作的过程中,会话层、表示层是不可能接入到操作系统中的,所以在工程实践中,最终落地的是5层协议
但是要理解上面的话,需要我们学习完网络才可以理解,这里就知道这里就可以