【网络】OSI/RM模型和TCP协议

来源:互联网 发布:飞思卡尔单片机型号 编辑:程序博客网 时间:2024/06/11 01:48

引言

         网络方便着我们的生活、工作、学习。不管我们去哪,网络这个词都跟着我们,套用一个金庸小说里的一句话,有人的地方就有网络。

         这里不是盘点网络带给我哪些好处,或者哪些方便的的。因为那个说三天三夜也是说不完的。它渗透到我我们的方方面面,作为一个走在程序员路上的媛,我们不能只看表面,也要看看它深层次的东西。隐藏在水下的冰山才是大头。不要止步于那冰山一角。

                                     

                                                                   图1(温馨提示不要看图片太久哦 ↑↑↑)

         最近我们这的网也是总闹脾气,这次也不知道咋回事,好几天网络不能用。心里那个急啊,感觉就像是与世隔绝了一样,想查资料啥的都没有办法。想想这几年,有那么几次网络不通,又没有办法,总觉得它与我隔着一层纱,虚无缥缈,又揭不开。这一次就试一试,揭不开,也要靠近一点点。


网络结构

           ISO/OSI(开放系统互联模型)是国际标准化组织(ISO)提出的,这个非常权威,看看咱们生活方方面面的标准都有它提出的标准。它规定了不管是设备提供商还是软件开发什么都要遵循它的标准。这样大家进行无障碍交互了。

           打个比方,在大街上的车子,无论大车小车,长车短车,贵车便宜车,都靠右行驶,这样就不会发生在路上逆行,横行,S行等等各种奇葩了,要是没有这个标准,马路上还不乱套了。它保证了一种秩序,对于生产商和使用方都是方便的。

           OSI分为7层::应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。


                                                                       图2  ISO/OSI网络结构模型

       知道这些或许还不够,依然让你对网络的世界,迷迷糊糊。那么就让我接下来继续学习,网络体系结构模型,它还有哪些不为人知的秘密。。

网络协议

          目前大多数网络通信协议都是基于OSI.我们这里介绍一下TCP/IP 通信协议,怎么理解它,TCP/IP就是在一个大标准下,进行的网络协议。

          TCP/IP是传输控制协议/互联网络协议的简称,分为四层:应用层、传输层、网络层、数据链路层,物理层,这个TCP/IP和OSI模型非常相似啊。我做了一个对比图。

                                                     

                                                                           图3  TCP/IP和OSI模型对比

         还是一头 雾水啊,图虽然很明白的说明了两种协议模型的对应关系,那么他们在我们的生活中又有怎么样的应用呢?不举个例子,是真的没有形象啊。

          当然OSI它并不是 我们应用于实践的标准,它是标准的标准,比如我们发一个消息的时候,会用到的是,TCP/IP 这种基于OSI的传输协议。

比如要完成下面这个例子

          小明和小黑是好朋友,他们在家使用QQ互加好友以后进行通信,他们在发消息聊天过程中,计算机和网络都为他们做了些什么?大概说一下这个过程!

—————>

                                                               小明                                                                                                                                          小黑

                                                                                                                                   图4   QQ聊天实例

分析:首先发送消息的计算机将携带有IP的请求发送给接受计算机,然后接收计算机同意后,反馈给消息服务器,这样消息服务器就可以设置消息传输对话。默认情况下,消息发送不是没有高要求时,发送方和接收方会优先考虑UDP传输协议。并且通过QQ运营商服务器的转换转换。双方就可以达到聊天的目的。请看下面两个示意图:

                                                                  

                                                                                 图5   TCP的三次握手

         例子举得有点不大对,一般我们用的通信协议都是UDP,TCP/IP因为握手机制,使的信息传输过程中有专一占用线路的特性,使消息安全的情况下,所以速度会比较慢。使用UDP就不一样了,它像一个大广播,不管你答应要跟我进行通信,我都会发出去,这样就保证了消息的快速传播,但是这样很容易造成信息的丢失,如果小明给小黑发送一个”你好“,小黑没有收到也是很正常的,它允许消息丢失。

      

                                                                                    图6  TCP通信过程

        这里只是进行了简单的消息发送的分析,因为如果展开来说的话这个网络太复杂,这里只做一个简单的抽象分析,上面这个示意图已经满足我这里讨论了。


TCP/IP对应的设备

        在软考的时候一直有一个问题在困扰我,可能是没有拿出来单独分析过吧。什么中继器、集线器、网桥、交换机、路由器、网关,在网络结构中都有哪些作用?这里简单分析一下,扫扫盲。

       中继器:中继器就是一个信号放大器,因为信号在传输过程中会有衰弱。还记得在学习物理的时候,电流在电线中传输过程中因为电阻的存在,传输很长的距离后,会比刚刚流出的时候小,因为再这个过程中有衰弱过程。所有中继器也是为了让信号传递更远,而放大信号。

       集线器:它就像是一个多端口的中继器,应用于星型拓扑结构中,能够连接多个计算机或网络设备。

       举个和它类似的例子,比如我们的计算机usb端口不够用,我们配一个集线器,就相当于给计算机增加了一些usb端口,它并没有数据处理的能力,就像是一个中转站。并且不会因为向多个端口发送广播而衰弱。

       网桥:它可以将两个局域网(LAN)连接起来根据mac地址(物理地址)来转发帧。帧中包含源地址和目标地址,它可以有效地连接两个LAN,使本地通信限制在本地网段内,并转发相应的信号到另一个网段,网桥通常用于连接数量不多的,同一类型的网段。网桥只能在相似或相同的网段中进行数据传递,如以太网间,因为网桥的存在,传递数据就像是在一个网络内。

       交换机:交换机比集线器智能一点,它可以识别帧中的mac源地址和目标地址,并且分析后选择发送指定的端口。它最大的特点是知道目标地址在何处,就发到指定端口 ,不知道就发送给所有端口。这种过滤作用有效的提高了网络传输速率。

       路由器:听到路由器,是否回想起在你家里也有一个叫“路由”的家伙。没错这个就是讲到的路由就是你家里的路由。路由它是比交换机更智能的网络设备。他能够理解数据中的IP地址。交换机或许是在物理上划分网络段,而交换机确是在逻辑上划分,它将网络划分为逻辑上的子网段。

      网络中的设备用他们的网络地址(TCP/IP网络中的IP地址)互相通信。IP地址是与硬件地址无关的逻辑地址。目前TCP/IP 地址就是通过路由器组成的,或者往大里说Internet就是成千上万个IP子网通过路由器组成的国际性网络。

       网关:又称为网间连接器、协议转换器。是最复杂的网络互连设备。它最大的特点可以在不同的协议间进行通信。这是上面那些设备不具备的。

       这一部分的学习和网络通信过程中的A、B、C、D、E网络划分也有关系。比如连接同一个集线器(或交换机)上的两个C类网络。网络A的IP地址范围为“192.168.1.1~~192.168.1.254”网络B的IP地址范围为“192.168.2.1~~192.168.2.254”子网掩码都为“255.255.255.0”。根据子网掩码判断它俩不是一个在一个网络中。它们俩如果没有网关,也是不能通信的。网络A中某个主机将消息通过自己的网关转发给对方的网关,对方网关在找到目的主机,这样就实现了不同网络间的通信。

      我画了一个图,把这些设备划分在了不同层中:

                                              

                                                                             图7   TCP/IP 各层设备

总结

          经过这一个过程的分析,虽然还是不知道为什么网络不同,毕竟网络进过这个多层次的相互协作,哪一个步骤出现问题都可能造成不能上网。不过这个过程让自己对于网络的了解又加深了一层。以后多多进行分析和总结,这样深入分析一下它其中的原理。或许不能解决你的问题,却让你离生活更近了一步。不管对接下来网络的研究也是有一个基础的作用。


参考资料http://blog.sina.com.cn/s/blog_55c70ec10100hlux.html

                     http://www.docin.com/p-424032769.html

                     http://wenku.baidu.com/view/e3cd4c3667ec102de2bd8991.html



0 0
原创粉丝点击