目录
在正式学习网络之前,我们需要了解的一些关于计算机网络的基本知识,本文主要阐述这些基本知识,带着大家一步一步迈进互联网网络的世界;
在正式了解这些概念的前提是我们要搞懂网络出现的意义;在计算机发展史中,可以说网络的出现是必然的,只要出现了计算机,就肯定有计算机网络的出现,在我们通过计算机进行完成一些任务时,必然会出现任务协同完成的问题,而要解决这个问题,我们必须要使用某种手段将计算机连接起来,方便我们进行任务协作;这便是计算机出现的意义;
局域网是连接计算机的一种 "方式" ,我们通过交换机与路由器等设备将计算机连接起来,这些便构成了一个局域网,实际上,局域网的概念是相对的;(比如我们的家用路由器组成一张局域网,连接到该路由器的设备之间的信息交换仅需通过该路由器即可)
广域网是相对局域网的一个概念,是将距离很远的两台主机连接起来,而中间可能经过多台设备进行转发才最终将数据传入到目标主机;(比如我有一个朋友将迪丽热巴,我们经常会一起在网络上聊天,而迪丽热巴在上海出差,而我们在湖北老家,迪丽热巴想给我发一条信息,这条信息便会经过很多中间设备进行转发,我们便可以理解成我的设备和迪丽热巴的设备是通过广域网连接起来的)
不要把局域网和广域网的概念扣的太死,距离远是相对的,我们在上述例子中,我们是把两座城市的距离看得很远,但如果我们是以整个地球作为参照物,那两个城市的距离就微乎其微了,所以我们才说局域网和广域网只是一个相对的概念;
我们经常听到别人谈及协议的概念(没听过也每关系),在计网这门课程中,你可能会听到各种不同的协议,而这些协议的本质就是约定,使用相同协议的双方遵守该协议的规则;
举个栗子,不知道大家小时候有没有跟自己小伙伴玩过类似的游戏,比如我和我的小伙伴想找我去网吧玩,他们通常会在楼下喊我,但是又怕被我老妈听到,因此我们就做出一种约定,把网吧这个地点改为东门亭子,他们就会在楼下喊我,“XXX,一起去东门亭子玩,去不去?”,这其实本质也是我和我的小伙伴指定的一种协议;
实际上,我们的网络协议之间是有分层的,每一层都有一个或多个不同的协议,每一层协议都会提供一些接口,让另一层可以使用;我们还是再举个栗子;
还是以上述中我和小伙伴偷偷去网吧的故事举例,只不过故事的背景发生了切换,我和我的小伙伴通过家中的座机进行交流;我和我的小伙伴之间认为我们是直接进行交流的,而实际上,我是对着我家座机电话讲话,他也是通过座机的听筒听到我讲话,这种看似同层协议在直接与对方交流的方式便是分层的特点之一;
总结:
隶属层 | 作用 | 代表协议 |
应用层 | 负责程序之间的沟通 | HTTP/HTTPS等 |
表示层 | 负责数据格式之间的转换 | LPP、NBSSP等 |
会话层 | 负责通信之间的连接管理 | SSL、TLS等 |
传输层 | 负责两台主机之间的传送策略 | TCP、UDP等 |
网络层 | 负责地址管理和路由选择 | IP、ICMP等 |
数据链路层 | 负责设备间数据帧的传送与选择 | ARP、RARP等 |
物理层 | 负责光电信号的传送方式 | DSL、ISDN等 |
对于OSI七层模型,我们可以将其理解成理论上被设计的很完美的模型,但实际中,我们对于TCP/IP协议簇用的更加广泛;
对于TCP/IP协议簇,我们将上三层优化成一层应用层,我们不关心物理层,因为那关于计算机硬件,我们不涉及,我们仅需关心如下四层;
实际编写程序时,我们通常采用TCP/IP四层模型;
在理解封装之前,我们首先了解报头的概念,每一层协议都会给自己添加首部信息,而这些首部信息称为报头,而上层传递给我们的信息称为有效载荷;我们将上层交付给我们的数据添加报头后分发给下层,这个过程便叫封装;
对于这个概念,我们有个大体印象即可,后面会着重学习每一个报头;
由于每一层都有不同的协议,因此我们网络信息发送到另一端向上交付时,我们会通过协议首部的信息,交付给特定的协议,这个过程便称为分用;