OSI (Open System Interconnection),开放式系统互联参考模型。它把网络协议从逻辑上分为了7层。OSI七层模型的主要目的是为解决异种网络互连时所遇到的兼容性问题,其最主要的功能就是帮助不同类型的主机实现数据传输。它的最大优点是将服务、接口和协议这三个概念明确地区分开来。
OSI七层模型:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。
TCP/IP从协议分层模型方面来讲,分为4个层次:网络接口层,网络层,传输层,应用层。
TCP/IP是传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议,Internet国际互联网络的基础。
TCP/IP 定义了电子设备如何介入因特网,已经数据如何在它们之间传输的标准。一般来说,TCP只负责发现传输可靠性问题,而IP是给因特网的每一台电脑规定一个地址。
TCP、UDP编程一般称为Socket套接字编程。
Socket接口比较:
AsyncSocket(支持Mac)
CFNetwork (支持Mac,iOS原声)
BSD Socket (支持Mac,Win,Linux,iOS原声)
Mac/iOS 操作系统。
UDP是TCP/IP参考模型中一种无连接的传输层协议,它主要用于不要求分组顺序到达的传输应用中。
UDP协议基本上是IP协议与上层协议的接口。
UDP协议适用端口分别运行在同一设备上的多个应用程序。
UDP不属于连接型协议,因为具有资源消耗小,处理速度快的优点。所以通常音频,视频和普通数据在传送时是用UDP较多,因为即使偶尔丢失一两个数据包,也不会对接收结果 产生太大影响。比如QQ就是使用的UDP协议,视频通话。
TCP传输控制协议。TCP是一种面向连接(连接导向)的、可靠的、基于字节流的运输层通信协议。它完成第四层传输层所指定的功能。
TCP层是位于IP层之上,应用层之下的传输层。
TCP特点:
【1】面向连接的传输、
【2】端到端的通信。
【3】高可靠性,确保传输数据的正确定,不出现丢失或乱序。
【4】全双工方式传输。
全双工:指可以同时(瞬时)进行信号的双向传输(A→B且B→A)。指A→B的同时B→A,是瞬时同步的。
半双工:指一个时间内只有一个方向的信号传输(A→B或B→A)
【5】采用字节流方式,即以字节为单位传输字节序列。
【6】紧急数据传送功能。
TCP重传策略:
TCP协议用于控制数据段是否需要重传的依据是设立重发定时器。在发送一个数据段的同时启动一个重发定时器,如果在定时器超时前受到ACK就关闭该定时器,如果定时器超时前没有受到确认,则重传该数据段。在选择重发时间的过程中,TCP必须具有自适应性。它需要根据互联网当时的通信情况,给出合适的数据重发。
TCP/UDP比较:
UDP是一种不可靠的网络协议,但是速度快
TCP安全,但是会占用胆量的安全保障功能,会使速度受到严重的影响。
TCP要求和服务器保持连接,UDP不需要。
TCP数据是有序的(先写的数据对方一定先受到)
UDP数据是无序的。