网络-OSI七层模型
想深入理解并掌握网络技术知识,是有点困难的,好在国际标准化组织(ISO)制定了一个用于计算机和通信系统间互联的标准体系,一般称之为OSI参考模型,或者七层模型。这个模型的建立也确立了各家网络设备制造商的网络设备之间互联
的标准,否则各自为政,都用自家网络协议,设备与设备之间无法互联,那网络市场怎么发展,无法解决用户网络需求。
通过OSI模型可以来解释如下图:
发送端:
OSI网络参考模型共分7层,发送端数据包的每层只和对应接收端的每层进行数据交互,上下每层之间相互屏蔽,相互间无协商关系,每层下面的一层只作为上层数据的承载即封装
①比如我们要发送一则消息给接收端,比如打开一个微信或者OQ,此时我们在应用层,写了一份消息,然后将这个消息逐步进行封装,表示层和会话层,作为网工用的不多,如需深入理解,建议看下TCP/IP协议簇
②封装至传输层,到这里有了著名TCP传输控制协议含有TCP的三次握手建立连接,到这里封装成了数据段
③此时需要网络层面寻址,寻找接收端的IP地址,这里就凸显出网络层的功能,在网络层封装成了IP数据包,数据包中包头包含了IP协议目的地址即接收端的IP地址,包的内容包含了应用层至网络层的所有数据信息(这里不做过多解释)
④再继续封装,在数据链路层面封装成了数据帧,数据链路层这块有以太网协议,通过物理网卡地址寻址即MAC地址,帧有帧头,包含了发送端的应用层至数据链路层所有数据信息
⑤最后将帧的数据全部封装成流就是比特流,流的层面就是靠双绞线(网线)进行传输,至于如何传输,我们网络技术不涉及,这块过于底层会涉及到通信这块知识。
接收端:
当我们能打开QQ和微信,还能接收到别人信息,这个过程就需要将别人发过来的数据包进行解封装。封装我们是从上向下封装,解封装,是从下往上解封。
①数据流从物理层的网线传过来
②在数据链路层,数据帧解开,发现对端的数据链路层MAC地址,这个MAC地址并不是实际发送端的是同一个局域网或者以太网下的MAC地址,因为发送端和接收端之间可能跨过多个网络设备。
③继续向上解封装数据包,在网络层看到了对端的IP地址,这个IP地址可能也不是实际的对端IP地址,可能做了NAT转换之类的。
④继续向上解封数据段,并继续解封至应用层,收到了对端的消息。
上述通过OSI模型每层的原理简单的描述了数据在网络之间相互传输的方式。
网络也是靠网线及各种网络设备进行传输的,其实网络设备也不用想的很复杂,其实就是电脑,电脑就是一个很专业的网络设备,其实只要带网卡能通过网络进行数据传输都可以叫网络设备。只不过有些网络设备侧重的功能不一样,根据OSI模型我们可以发现,其实电脑已经符合了OSI每层的数据封装及解封装的处理功能,只要一条网线就能将两台电脑互联通过以太网即可组件迷你局域网。但是世界那么大不可能就两台电脑进行互联吧,比如企业网这种中小型的园区网,亦或是大型的国际互联网,仅靠电脑进行互联,那几乎不可能实现互联网,电脑只有一个网卡,一块网卡即一个网口,最多就三四个。无法做到大型组网。有专业的人说用服务器,服务器当网络设备,性能是够了,但是网口还是不够,就是大号的电脑,这会儿就出现了二层交换机,路由交换机(三层交换机)、路由器等重要网络设备。而且这些设备在OSI模型中侧重的功能也不一样,可以通过下图来表示:
OSI模型自上向下发现:
1.电脑/服务器主要功能在于应用层至传输层之间,但7层每层的功能几乎都具备。
2.路由器/三层交换机主要功能在于网络层,做路由转发,但1-3层的功能都具备。
3.网卡/二层交换机主要功能在数据链路层,做二层数据转发,以太网数据转发,但1-2功能都具备。
4.集线器/网线/光纤/主要功能在物理层,做光电信号传输,只具备物理层功能。
通过上图发现当所有网络设备按照OSI模型进行互联,每台设备相互间能识别到封装的数据信息是和OSI每层相互对应的
如果两个电脑通过网络进行互相访问也就是互联,这个互联的方式是通过网络怎么实现的呢?其实上述我们通过微信/qq方式简单的描述了,但是数据传输过程必然会有多个网络设备进行远距离传输,通过写信寄邮件的方式,详细描述数据包如
何通过这些网络设备,发送到对方,这些网络设备又在数据传输过程中,扮演怎样的重要角色,如果按照OSI七层模型数据封装及解封装的模式,我们可以这么理解通过写信的方式将信从封装好信封,并标注好对方的地址,邮递员将这个信封发给
邮局,再通过邮局对照地址,将邮件发给对方,对方通过这个寄过来的信封再一层一层拆开,看到了信纸内容,并回了一封信,信依然是将装好邮件通过邮局的方式回给对方,周而复始进行写信通信。
上述通过写信的方式简单描述了网络数据传输的方式,但是实际传输过程还是有些复杂的,上面描述可以通过下图笼统的概括。
通过上图这个网络拓扑专业人员一眼看出这是一个简版的企业网,初学者可能还一时无法理解,我通过写信与收信的方式来简单说下这个数据传输方式,包括数据传输过程中各类网络设备主要发挥的功能。
上图首先明确一点,写信人PC1要把信发送给每台PC。这里PC我们暂且把它理解成实际的人,先别把它看成电脑。我们只从现实的写信的方式理解。
1、需求 写信人寄给收信人1,从1号省1市1区邮局(二层交换机)发送,此时1号省1市1区邮局过滤出寄件人及收件人的地址,发现是本区里,于是直接派人将该信封转给收信人1,收信人看到目的地址写的是自己,于是就拆开信封
上面这个方式就是二层交换机的二层数据转发,是通过以太网传输,通过arp广播方式,并记录了该交换机下所有连接设备的MAC地址及IP地址对应关系,发现两个节点都是该交换机下的,直接通过MAC地址转发,
2、需求 写信人寄给收信人2,1号省1市1区邮局根据发现写信人寄给收信人2的地址不是本地区,是属于1号省1市2区,本区无法送到1号省1市2区,于是先将该邮递给了上级单位市级邮局单位也就是1号省1市邮局,1号省1市邮局发现信件是要发
给2区的,是属于本市,派人邮寄给了1号省1市2区,此时市局更新了地址簿,记录了收信人2及写信人的对应地址,1号省1市2区根据地址表发现收信人2的具体地址,将写信人邮递的信封交给了收信任2。
上面数据包从PC1发出后,二层交换机根据arp表发现不是发给自己,于是转发给了核心交换机,核心交换机发现地址是发给PC3的,就转发给了1号省1市2区的交换机,注意的是核心交换机做了一次三层数据转发。
3、需求 写信人寄给收信人3和收信人4,这个就有点远了,要跨市了甚至跨省了,本来普通公路就能到的地方,虽然每条路都能到,但哪条路远那条路近,是走高速还是走高铁,飞机还是汽渡,这就要看省里的邮局安排了,而且如何做到业务隔
离,两个不同的收信人,不同的收件内容,但都来自同一写信人。还要考虑邮递的时候不能被间谍或者小偷截取信封,万一信封里有秘密对吧。
上面这些其实都要靠路由器去实现,进行选路,依靠路由算法及协议,选择最优的方案。
附:
OSI模型每层需要的网络技术及协议,下面这幅图充分的描述了每层所需的技术,也是我们必须要掌握的,这是网络工程师必备技能。
本文来自博客园,作者:冰橙阳光,转载请注明原文链接:https://www.cnblogs.com/baktomcat/p/15908203.html