本来的大纲规划中,是没有这一篇的,但是我写到第3篇协议的时候,越来越觉得,既然本专栏针对的是网络管理小白入门,还是需要照顾到基础相对薄弱,甚至是跨行业过来的这部分学员。

本篇的主要目的,是梳理一下网络中涉及到的一些重要的概念、术语和原理,因为没有这些基础知识储备,对部分学员而言,后续文章中的内容可能会觉得不好理解,但是我也尽量讲的白话一些,基础一些,过于深入的讨论放到以后扩展篇中,毕竟先入门更重要。对于基础比较好的,可以跳过本篇。

1:什么是协议?为什么需要协议?谁制定协议?

不管是计算机网络,还是信息通信网络,经常提到“标准”,其实这个标准就是协议,最近闹得沸沸扬扬的“联想5G投票”事件,这个5G标准,就可以理解成通信协议。

为什么需要协议?因为我们想要互联互通,就需要先约定好相同的标准,否则互相发送的数据包不能识别,就像我上课,普通话就是“协议”,讲课就是“通信”,讲课的内容就是“数据”,如果我在上面讲的是普通话,而你在下面只能听懂粤语,显然,我们的“协议”不匹配,无法交流。协议相同最好,但是不同,也不是就一定不能通信,因为还有一些是兼容的协议,比如我懂得八门语言,我的兼容性就很高(声明:此处仅吹牛举例)。

那么协议是谁定的呢?比如华为的5G标准,当然是华为定的。所以协议的制定,有标准化的国际组织制定的,就是开放的协议,大家都能免费使用;也有厂商自己制定的,就是私有的协议,你想用,就要付钱。就像手机安卓系统,一直是免费试用的,听说现在已经对部分国家收费了,这个一旦全面收费,你说Google 要拿多少钱?所以,谁有标准谁就是老大!

2:协议分层与OSI参考模型

学网络,如果不知道OSI参考模型估计不太现实,后面的类容就会觉得云里雾里。因为计算机网络通信的过程比较复杂,国际标准化组织ISO就开发了OSI参考模型,全称是Open System Interconnect,即开放式系统互联参考模型,很牛X的名字,我喜欢说全称,因为显得牛X,开个玩笑

OSI参考模型从我当年学习的角度去理解,就是规定了A和B通信的过程,一共需要进行多少个标准的步骤,而且大家都一样,这就是标准化,类似于公司生产一个产品出来,要经过7个部门(这就是OSI的7层模型),最后一个是销售部卖出去,每个部分各司其职,关键是出问题,也容易定位具体部分,便于排错。

所以OSI绝对不是一个纯粹理论的东西,很多学员一提到理论就不想学,就想光学配置、操作就OK了,这是一个误区。OSI对我们学习,特别是故障排除具有重要的指导意义。举个例子,不考虑策略的情况下:

1:如果A能ping通B,是否一定能telnet B?

2:反之,如果A能telnet B,是否一定能ping通B?

简单吧,有点网络基础的应该都知道,这就是层的作用。不知道的,学完本篇你一定会知道。

OSI的7层架构:

OSI毕竟是老外指定的标准,所以建议大家还是要知道英文的描述:
7:应用层(Application Layer)
6:表示层(Presentation Layer)
5:会话层(Session Layer)
4:传输层(Transport Layer)
3:网络层(Network Layer)
2:数据链路层(Data Link Layer)
1:物理层(Physical Layer)

老外的记忆方法:All People Seems To Need Data Process

就是把每个层首写的单词拿出来组合成一句话,不一定适合你,因为很多人这句话就记不住,其实就像打游戏的快捷键,用多了自然就记住了。比如CS的快捷键,十几年不打了,我还记得B43是买M4!况且真正要记住的,其实只有4.3.2.1层。

对于OSI每一层的作用,每一本网络相关的书籍或者网络上都有非常详细的解释,但是作为初学者,你记不住,也没必要记住那么多、那么详细的类容,我给大家简单总结一下最核心的功能,便于你目前的理解:

另外,我们还要了解,数据在源端产生,是从应用层最后到物理层,数据是变大的的过程,叫数据封装,每一层都有自己的包头,第二层还有自己的帧尾,所以每一层都有自己报文名称,一定要记?。?br/>
中文分别是:分段,报文,帧,比特流。

学完七层,接着就是数据封装过程:

当目标主机收到这个数据,是从物理层到应用层,每一层剥去对应层的包头,最终应用层还是原始的数据,这是变小的过程,就是数据解封装的过程,封装和解封装对于用户来说是透明的过程,感觉不到的,了解这两个过程,是后续理解抓包数据的基础。

OSI与排错:

觉得不够详细,那给你看看科莱软件提供的故障分析表(图片太大,可以保存再看):

现在应该知道之前思考的答案了吧?
1:能ping通,只能代表1-3层没问题,不一定能telnet,因为4-7层还可能有问题。
2:能telnet,一定能ping通,因为telnet在ping之上。

TCP/IP模型:

我们在学习研究时候,讲的模型都是指OSI参考模型,比如我后文中,如果说第三层,指的就是网络层,第二层就是数据链路层。然而在实际网络中,我们使用的是TCP/IP模型。
至于这个模型的由来,看下百科了解一下就可以了:

我们重点要知道的是,OSI模型是理论上的网络通信模型,或者说是一个理想化的模型,大部分网络很难具有真实和清晰的7层,而TCP/IP模型才是实际使用的模型,主要包含4(也可以说5)层架构,更简洁,也更加高效。对应层的功能基本一样,就不赘述了。

3:集线器、交换机、路由器

我们最早了解的设备应该还有一个叫Repeater,中继器,它的功能主要是放大信号,比如双绞线最大传输100M,130米的距离怎么办?可以中间用中继器连接,对衰减的信号进行还原,当然这个方法也不是无限制的,你不能说900米,中间每100米放一个中继器,不行的,一般10M的以太网最多用4个中继器,而100M的以太网最多只能连接2个中继器,这个虽然是历史了,但是还是要了解一下。

后来出现了多端口的中继器,就是集线器了,也就是我们说的HUB,相信很多人应该都用过,5个端口的HUB可以连接5台电脑,可以联网打游戏了,可以用宿舍唯一的接口上网了,看起来和交换机是一样的,不过HUB是广播通信,傻瓜的,没有记忆功能,每次到楼下找你,都要喊:“XX,你住几零几?”,不但浪费带宽资源,还打扰别人,当然信息也不安全,因为没有隐私可言了。

再后来,出现了网桥,什么自学式网桥,还有网桥集线器等等,这些就没必要再去了解了,我们说的交换机,就是现在的交换机,它比HUB智能在哪呢?智能在它有记忆功能,第一次在楼下喊:“XX,你住几零几?”,XX回复说在202,得到回复后,交换机就会记住XX住在202,后续的数据包就直接过去了,所以第一次是广播,之后就是单播了,既高效,又安全,这个记忆的内容就是MAC地址表(下图),表项中指出了哪个设备(MAC)在哪个端口下。

我们平时说的,包括本文提到的交换机默认都是二层交换机,是根据MAC地址来进行访问控制的,所以这些主机要在同一个网段才行,如果不同的网段需要通信,就需要用到路由器,或者三层交换机(带路由功能的交换机)等等三层以上的设备,需要的是路由表:

总结一下,路由器是根据IP地址进行通信处理,在OSI的第三层;交换机根据MAC地址进行通信处理,在OSI的第二层;路由器上形成的表叫路由表(上图),交换机上叫MAC地址表。