tcp/udp在模型的传输层
自下而上网络接口层、网际层(ip/ARP/icmp/igmp/rarp)、传输层(tcp/udp)、应用层
物理层/数据链路层、网络层、传输层、会话层/表示层/应用层
udp:面向无连接的通信协议,数据包括目的端口信息和源端口信息
优点:面向无连接,操作简单,要求系统资源较少,速度快,由于不需要连接,可进行广播发送
缺点:发送数据之前不需要与对方建立连接,接收到数据时也不需要发送确认信号,发送端不知道接收端是否正确接接收,不会重发,不可靠。
tcp:面向连接的通讯协议,通过三次握手建立连接,通讯完成时四次挥手断开连接
优点:在数据传输时,有确认、窗口、重传、拥塞控制机制,能保证数据正确性,较为可靠
缺点:速度相对慢一点,要求系统资源较多
tcp短连接:client向server发起连接,server接到请求,双方建立连接,client向server发送消息,server回应client,一次读写完成双方都可以发起close请求
tcp长连接:client向server发起连接,server接到请求,双方建立连接,client向server发送消息,server回应client,一次读写完成,连接不关闭,后续读写操作,长时间操作之后client发起关闭请求。
tcp长连接优缺点:长连接可以省去较多的tcp建立/关闭的操作,减少浪费,节省时间,对于频繁请求资源的客户,较适用于长连接;client和server如果长时间不关闭的话,会存在一个问题,随着客户的越来越多,server早晚会有扛不住的一天,这时需要采取一些策略,如关闭一些长时间不读写操作的连接,这样可以避免一些恶意连接导致server端服务受损,如果条件再允许,就可以以客户端为颗粒度,限制每个客户端的最大连接数,
tcp短连接优缺点:短连接对于服务器来说较为简单,存在的连接都是有用的连接,不需要额外的控制,但如果客户端连接频繁,会在tcp的建立和关闭上浪费时间。