TCP:
优点:1、可靠性,在发送数据前会建立连接(三次握手)。数据丢失、超时都会进行重传。
2、流量控制。
3、全双工机制:在一个连接上,可以在发送数据的同时接收数据。
缺点:1、会使数据包变大(不确定)?在(三次握手)的时候会确定开始序号。
TCP会为每个字节编制一个序号。在发送数据过程中,将整个传输数据分成单个的字节流,但是一次发送的话可能是多个字节(TCP数据段)。例如某次发送端的段数据的序号是500,长度是100。那么接收端在确认的时候,会回复601,表示接收端下次期望收到的字节流开始序号,那么当前收到的字节数是600字节。
UDP:
优点:1、无需建立连接,传输速度快。例如常用的网络命令ping,就是发送端直接向接收端发送4个数据包。接收端收到数据包后,回传数据包来确定网络是否通畅。
关于连接的理解:之前一直没想明白一个监听端口和建立的连接之间的关系。
每一个连接对,都是由4元组来确认的,简单的概述为这种形式:《客户端ip:客户端端口号,服务器ip:服务器端口号》。
只要有一元是不同的,就是不同的连接对。
服务器会一直在服务器端口号上监听客户端的连接请求。