TCP篇
TCP 是⾯向连接的、可靠的、基于字节流的传输层通信协议。
TCP连接是点对点,而UDP是一对多
Socket:由 IP 地址和端⼝号组成
序列号:⽤来解决乱序问题等
窗⼝⼤⼩:⽤来做流量控制
TCP 四元组可以唯⼀的确定⼀个连接,四元组包括如下: 源地址 源端⼝ ⽬的地址 ⽬的端⼝。
源地址和⽬的地址的字段(32位)是在 IP 头部中,作⽤是通过 IP 协议发送报⽂给对⽅主机。
源端⼝和⽬的端⼝的字段(16位)是在 TCP 头部中,作⽤是告诉 TCP 协议应该把报⽂发给哪个进程。
TCP与UDP的区别
1.连接
TCP有连接,UDP无连接
2.服务对象
TCP一对一,UDP一对一,一对多,多对多
3. 可靠性
TCP可靠,UDP不可靠
4.拥塞控制、流量控制
TCP有,UDP无
5.首部开销
报文段形式
6. 传输⽅式
TCP 是流式传输,没有边界,但保证顺序和可靠。 UDP 是⼀个包⼀个包的发送,是有边界的,但可能会丢包和乱序。
TCP 和 UDP 应用场景
由于 TCP 是⾯向连接,能保证数据的可靠性交付,因此经常⽤于: FTP ⽂件传输 HTTP / HTTPS
由于 UDP ⾯向⽆连接,它可以随时发送数据,再加上UDP本身的处理既简单⼜⾼效,因此经常⽤于: 包总量较少的通信,如 DNS 、 SNMP 等视频、⾳频等多媒体通信 ⼴播通信
TCP 连接建立
三次握手