Java TCP/IP协议

2019-05-27  本文已影响0人  沉淀之际

简介

       在TCP/IP协议中能够实现传输层功能的、具有代表性的协议是TCP、UDP。

TCP

       TCP是面向连接的、可靠的流协议。流就是指不间断的数据结构,你可以把他想象成排水管道中的水流。当应用程序采用TCP发送消息时,虽然可以保证发送的顺序,但还是犹如没有任何间隔的数据流发送给接收端。
       TCP为提供可靠性传输,实行“顺序控制”或“重发控制”机制。此外还具备“流控制(流量控制)”、“拥堵控制”、提供网络利用率等众多功能。
       TCP通过检验和、序列号、确认应答、重发控制、连接管理以及窗口控制等机制实现可靠性传输。

三次握手、四次挥手
三次握手、四次挥手

面试问题补充

窗口控制与重发机制

       TCP每发一个段(TCP以段为单位发送数据)进行一次确认应答处理,效率较低(当包的往返时间过长时)。所以引进了滑动窗口控制解决这个问题。


滑动窗口

面试问题补充

UDP

       UDP是不具有可靠性的数据报协议。细微的处理它会交给上层的应用去完成。在UDP的情况下,虽然可以确保发送消息的大小,却不能保证消息一定会到达。因此,应用有时会根据自己的需要进行重发处理。

UDP的特点及使用场景

       UDP不提供复杂的控制机制,利用IP提供面向无连接的通信服务。并且它是将应用程序发来的数据在收到的那一刻,立即按照原样发送到网络上的一种机制。
       即使是出现网络拥堵的情况下,UDP也无法进行流量控制等避免网络拥堵的行为。此外,传输途中即使出现丢包,UDP也不负责重发。甚至当出现包的到达顺序错乱时也没有纠正功能。如果需要这些细节控制,那么不得不交由采用UDP的应用程序去处理。UDP有点类似于用户说什么听什么的机制,但是需要用户充分考虑好上层协议类型并制作相应的应用程序。因此,也可以说,UDP按照“制作程序的哪些用户的指示行事”。
       由于UDP面向无连接,它可以随时发送数据。再加上UDP本身的处理既简单又高效,因此经常用于以下几个方面:

上一篇 下一篇

猜你喜欢

热点阅读