【网络】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
- 【网络】OSI/RM模型和TCP协议
- OSI网络七层模型和TCP/IP协议模型
- ISO/OSI网络体系结构和TCP/IP协议模型
- ISO/OSI网络体系结构和TCP/IP协议模型
- ISO/OSI网络体系结构和TCP/IP协议模型
- ISO/OSI网络体系结构和TCP/IP协议模型
- ISO/OSI网络体系结构和TCP/IP协议模型
- ISO/OSI网络体系结构和TCP/IP协议模型
- ISO/OSI网络体系结构和TCP/IP协议模型
- TCP/IP协议集及OSI/RM模型
- OSI模型和TCP/IP网络模型
- TCP/IP协议和OSI模型
- TCP/IP协议和OSI参考模型
- TCP/IP协议和OSI参考模型
- OSI模型和TCP/IP协议族
- OSI和TCP/IP协议模型简介
- TCP/IP四层模型和OSI七层模型、网络协议整理
- OSI和TCP/IP网络模型
- 线程间通讯-----生产者与消费者(多线程)
- srcAdd.jsp
- java之Class Loading Architecture --《Java_Security_2nd_Edition》
- JAVA处理CSV格式文件-javacsv.jar
- C#控件缩写
- 【网络】OSI/RM模型和TCP协议
- shell读取文件每一行的方式
- C语言编程技巧
- Ollydbg
- 位运算
- linux 查看文件(夹)大小
- cenos7.1 安装openstack kilo 心得之五 安装Database
- Spark 1.5.0 远程调试
- LeetCode:Lowest Common Ancestor of a Binary Search Tree