OSI模型与TCP/IP模型
今天重新温习了一篇OSI模型与TCP/IP模型的知识,发现很多知识点又忘记了。所以,在此记录一下,方便下次查阅。
OSI模型
从低到高:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
物理层
并不是指物理设备或者物理媒体。而是有关物理设备通过物理媒体进行互联的描述和规定。该层定义了接口的机械特性、电气特性、功能特性、规程特性等4个基本特性。物理层以比特流的方式传送来自数据链路层的数据,而不去理会数据的含义和格式。同样,接收数据后直接传给数据链路层。
数据链路层
负责通过物理层从一台计算机到另外一台计算机无差错的传输数据帧,允许网络层通过网络连接进行虚拟无差错的传输。通常,数据链路层发送数据帧之后,等待接收方进行确认。接收方数据链路层检测帧传输过程中产生的任何问题。没有经过确认和损坏的帧都需要重传。
网络层
负责信息寻址和将逻辑地址转换为物理地址。在网络层,数据传递单位是包。网络层的任务是选择合适的路径转发数据包。使发送方的数据包能够正确无误的按地址寻找到接收方的路径。并将数据包交给接收方。网络中两点之间可以到达的路径可能有很多,在选择最快捷、花费最低的路径时必须考虑网络拥塞程度、服务质量、线路的花费和线路的有效性。总的来说,网络层负责选择最佳路径。
网络层还能够协调发送、传输及接收设备的能力不平衡问题。如网络层对数据进行分段和重组,使得数据的长度能够满足该网络下层数据链路锁支持的最大数据帧MTU的长度。还需要考虑网络层不同网络协议之间的相互连接问题。
传输层
传输层的功能是保证在不同子网的两台设备间数据包可靠、顺序、无错的传输。在传输层,数据传输单位是段。传输层负责处理端对端通信,即一个终端到另一个终端的通信,中间可以有多个交换节点。传输层向高层用户提供端到端的可靠的透明传输服务,为不同进程间的数据交换提供可靠的传输手段。在传输层的一个很重要的工作是数据的分段和重组,即把一个上层数据切割成更小的逻辑片和物理片。发送方在传输层把上层交给它的较大的数据进行分段后分别交给网络层进行独立输出,从而在传输层实现流量控制,提高网络资源的利用率。接收方收到数据后重组。传输层可以将收到的乱序数据包重新排序,并验证是否收到所有分组。
会话层
会话层是利用传输层提供的端到端的服务,向表示层或会话用户提供会话服务。会话层主要功能是在两个节点之间建立、维护、释放面向用户的连接,并对会话进行管理和控制,保证会话数据可靠传送。会话层的连接与传输层的连接有1对1、1对多、多对1的关系。会话工程中,会话层需要决定到底使用全双工通信还是半双工通信。如果采用全双工,会话层的对话管理工作就很少。如果采用半双工,会话层则通过一个数据令牌来协调会话。保证每次只有一个用户能够传输数据。会话层提供同步服务,通过在数据流中定义检查点来把会话分割成明显的会话单元。当网络出故障时,从最后一个检查点开始重传数据。SQL、RPC(远程进程呼叫)都属于该层协议。
表示层
表示层专门负责有关网络中计算机信息表示方式的问题。表示层在不同的数据格式之间进行数据转换,实现不同计算机之间的信息交换。除了编码,还包括数组、浮点数、记录、图像、声音等。表示层还负责数据的加密。文件的压缩,降低传输费用。
应用层
直接与用户和应用程序打交道。负责对软件提供接口以使程序可以使用网络。Telnet(虚拟终端协议)、SMTP(简单邮件传输协议)、SNMP(简单网络管理协议)、DNS(域名系统)和超文本传输协议(HTTP)。
TCP/IP模型
从低到高:网络接口层、网络层、传输层、应用层。
各层主要功能大致与OSI相对应。
应用层协议:HTTP、FTP、SMTP、DNS。
传输层协议:TCP、UDP。
网络层协议:IP、ARP、ICMP(因特网控制消息协议)、RARP(反向地址解释协议)。
网络接口层:Ethrenet、令牌环、帧中继、ISDN和分组交换网X.25。