TCP UDP

网络七层协议

网络(OSI)七层协议由下往上分别为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。其中物理层、数据链路层和网络层通常被称作媒体层,是网络工程师所研究的对象;传输层、会话层、表示层和应用层则被称作主机层,是用户所面向和关心的内容。

从上到下分别是:

应用层

示例:TELNET,HTTP,FTP,NFS,SMTP等。

表示层

示例:加密,ASCII等。

会话层

示例:RPC,SQL等。

传输层

示例:TCP,UDP,SPX。

网络层

示例:IP,IPX等。

数据链路层

示例:ATM,FDDI等。

物理层

示例:Rj45,802.3等。

HTTP协议对应于应用层,TCP协议对应于传输层,IP协议对应于网络层,HTTP协议是基于TCP连接的,三者本质上没有可比性。 TCP/IP是传输层协议,主要解决数据如何在网络中传输;而HTTP是应用层协议,主要解决如何包装数据。Socket是应用层与TCP/IP协议族通信的中间软件抽象层,是它的一组接口。

TCP是传输层协议,实现的是端口到窗口的通信  并且以流的形式进行通信  UDP和IP是与数据包的方式发送的,后发出的顺序可能早到,所以并不能保证数据到达的次序,而TCP协议确保了数据到达的顺序与文本刘顺序相符。TCP协议与UDP协议走了两个极端。TCP协议复杂可靠,UDP协议轻便但不可靠。在处理异常的时候,TCP极端负责,而UDP不是,在TCP中,分段和编号实现了次序;ACK和重新发送实现了可靠性;sliding window则让上面的机制更加有效率的运行。UDP是无连接的,TCP是面向连接的,这个连接指的的就是在运行TCP协议之前,必须建立TCP连接,在数据传送完毕后必须释放连接,通俗的将通信的双方知道彼此的存在这个连接是一个虚电路,因为要建立连接所以TCP有建立连接的“三次握

手”,所以UDP在发送数据之前时延更小,但是面向连接是端到端的通信,所以多播和广播只能运用UDP协议

TCP是可靠协议,面向连接,报文段是面向字节流,传输效率低,是双工性的,有滑动窗口,有拥塞控制

UDP是不可靠协议,无连接,是面向报文(保留报文的边界),传输效率高,双工性是一对一、一对多、多对一、多对多,没有滑动窗口,没有拥塞控制

你可能感兴趣的:(TCP UDP)