ISO OSI模型与TCP/IP
TCP/IP结构对应OSI
TCP/IP
|
OSI
|
应用层
|
应用层
表示层
会话层
|
主机到主机层(TCP)(又称传输层)
|
|
网络层(IP)(又称互联层)
|
|
网络接口层(又称链路层)
|
数据链路层
|
物理层
|
引用:
OSI(开放系统互联(Open System Interconnection))_百度百科
TCP/IP协议_百度百科
TCP/IP网络协议_百度百科
1969年12月,美国国防部高级计划研究署的分组交换网ARPANET投入运行,从此计算机网络发展进入新纪元。ARPANET当时仅有4个结点,分别在美国国防部、原子能委员会、麻省理工学院和加利福利亚。这4台计算机之间进行数据通信仅有传送数据的通路是不够的,还必须遵守一些事先约定好的规则,由这些规则明确所交换数据的格式及有关同步问题。1973年鲍伯·卡恩(Bob
Kahn)与温顿·瑟夫(Vinton G.
Cerf)一起合作的结果产生了在开放系统下的所有网民和网管人员都在使用的“传输控制协议”(TCP,Transmission-Control
Protocol)和“因特网协议”(IP,Internet
Protocol)即TCP/IP协议。ARPANET完全转换到TCP/IP在1983年1月1日发生。1984年,美国国防部将TCP/IP作为所有计算机网络的标准。
OSI是Open
System Interconnection的缩写,意为开放式系统互联。国际标准化组织(ISO)制定了OSI模型,该模型定义了不同计算机互联的标准,是设计和描述计算机网络通信的基本框架。为了解决不同体系结构的网络的互联问题,国际标准化组织ISO于1981年制定了开放系统互连参考模型(Open
System Interconnection Reference
Model,OSI/RM)。这个模型把网络通信的工作分为7层,它们由低到高分别是物理层(Physical
Layer),数据链路层(Data Link Layer),网络层(Network
Layer),传输层(Transport Layer),会话层(Session
Layer),表示层(Presentation Layer)和应用层(Application
Layer)。第一层到第三层属于OSI参考模型的低三层,负责创建网络通信连接的链路;第四层到第七层为OSI参考模型的高四层,具体负责端到端的数据通信。每层完成一定的功能,每层都直接为其上层提供服务,并且所有层次都互相支持,而网络通信则可以双向进行。
传输层(TCP,Transmission-Control Protocol)的主要功能:
传输层的功能是从会话层接收数据,根据需要把数据切成较小的数据片,并把数据传送给网络层,确保数据片正确到达网络层,从而实现两层数据的透明传送。
传输层是两台计算机经过网络进行数据通信时,第一个端到端的层次,具有缓冲作用。当网络层服务质量不能满足要求时,它将服务加以提高,以满足高层的要求;当网络层服务质量较好时,它只用很少的工作。传输层还可进行复用,即在一个网络连接上创建多个逻辑连接。
传输层也称为运输层。传输层只存在于端开放系统中,是介于低3层通信子网系统和高3层之间的一层,但是很重要的一层。因为它是源端到目的端对数据传送进行控制从低到高的最后一层。
有一个既存事实,即世界上各种通信子网在性能上存在着很大差异。例如电话交换网、分组交换网、公用数据交换网、局域网等通信子网都可互连,但它们提供的吞吐量、传输速率、数据延迟通信费用各不相同。对于会话层来说,却要求有一性能恒定的界面。传输层就承担了这一功能。它采用分流/合流、复用/介复用技术来调节上述通信子网的差异,使会话层感受不到。
此外传输层还要具备差错恢复、流量控制等功能,以此对会话层屏蔽通信子网在这些方面的细节与差异。传输层面对的数据对象已不是网络地址和主机地址,而是和会话层的界面端口。上述功能的最终目的是为会话提供可靠的、无误的数据传输。传输层的服务一般要经历传输连接建立阶段、数据传送阶段、传输连接释放阶段3个阶段才算完成一个完整的服务过程。而在数据传送阶段又分为一般数据传送和加速数据传送两种。传输层服务分成5种类型。基本可以满足对传送质量、传送速度、传送费用的各种不同需要。
TCP/IP是Transmission Control Protocol/Internet
Protocol的缩写,译为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议、Internet国际互联网络的基础,由链路层、网络层的IP协议、传输层的TCP协议及应用层组成。TCP/IP
定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的协议来完成自己的需求。
传输层(TCP,Transmission-Control Protocol)的主要功能:
TCP是面向连接的通信协议,通过三次握手建立连接,通讯完成时要拆除连接,由于TCP是面向连接的所以只能用于端到端的通讯。
TCP提供的是一种可靠的数据流服务,采用“带重传的肯定确认”技术来实现传输的可靠性。TCP还采用一种称为“滑动窗口”的方式进行流量控制,所谓窗口实际表示接收能力,用以限制发送方的发送速度。
如果IP数据包中有已经封好的TCP数据包,那么IP将把它们向‘上’传送到TCP层。TCP将包排序并进行错误检查,同时实现虚电路间的连接。TCP数据包中包括序号和确认,所以未按照顺序收到的包可以被排序,而损坏的包可以被重传。
TCP将它的信息送到更高层的应用程序,例如Telnet的服务程序和客户程序。应用程序轮流将信息送回TCP层,TCP层便将它们向下传送到IP层,设备驱动程序和物理介质,最后到接收方。面向连接的服务(例如Telnet、FTP、rlogin、X
Windows和SMTP)需要高度的可靠性,所以它们使用了TCP。DNS在某些情况下使用TCP(发送和接收域名数据库),但使用UDP传送有关单个主机的信息。
UDP是面向无连接的通讯协议,UDP数据包括目的端口号和源端口号信息,由于通讯不需要连接,所以可以实现广播发送。
UDP通讯时不需要接收方确认,属于不可靠的传输,可能会出现丢包现象,实际应用中要求程序员编程验证。
UDP与TCP位于同一层,但它不管数据包的顺序、错误或重发。因此,UDP不被应用于那些使用虚电路的面向连接的服务,UDP主要用于那些面向查询---应答的服务,例如NFS。相对于FTP或Telnet,这些服务需要交换的信息量较小。使用UDP的服务包括NTP(网络时间协议)和DNS(DNS也使用TCP)。
欺骗UDP包比欺骗TCP包更容易,因为UDP没有建立初始化连接(也可以称为握手)(因为在两个系统间没有虚电路),也就是说,与UDP相关的服务面临着更大的危险。