#来自ウルトラマンゼロ(赛罗)
传输层向它上面的应用层提供通信服务,它属于面向部分的最高层,同时也是用户功能中的最底层。
为运行在不同主机上的进程之间提供了逻辑通信。
传输层的功能:
端口号只有本地意义,在因特网中不同计算机的相同端口是没有联系的。
端口号:
套接字:唯一标识了网络中的一个主机和它上面的一个进程,socket = (主机IP地址,端口号)
TCP/IP协议族传输协议:
TCP/IP协议:
UDP协议:
IP数据报和UDP数据报:
TCP 和 网络层虚电报:
UDP 优点:
特点:
UDP 的首部格式:
只校验和检查首部和数据部分。
TCP 连接管理就是使运输连接的建立和释放都能正常进行。
连接阶段:连接建立、数据传送、连接释放
客户机 TCP 首先向服务器 TCP 发送一个连接请求报文段(SYN = 1, seq = x)
服务器 TCP 收到连接请求报文段,如同意,发送确认(SYN = 1,ACK = 1,seq = y,ack = x + 1)
客户机收到确认报文段后,向服务器给出确认,(ACK = 1,ack = y + 1,seq = x + 1)
//三次握手 A:有件事不知当讲不当讲 B:讲 A:MMP //四次挥手 A:我讲完了 B:好,我来讲 B:MMP,我讲完了 A:好
客户机向其 TCP 发送一个连接释放报文段,并停止发送数据,主动关闭 TCP 连接(终止位 FIN = 1,seq = u)
服务器收到连接释放报文段后即发出确认,客户到服务器这个方向的连接解决释放了-半关闭(ACK = 1,seq = v,ack = u + 1)
服务器通知客户端 TCP释放连接,主动关闭TCP连接(FIN = 1,ACK = 1,seq = w,ack = v + 1)
客户机收到连接释放报文后,发出确认(ACK = 1,seq = u + 1,ack = w + 1)
当服务器返回 ACK ,攻击者不确认,一直耗着,占用 CPU 资源。
匹配发送方的发送速率与接收方的读取速率
基于滑动窗口协议。
实现:
防止过多的数据注入到网络中。
慢开始:每经过一个传输轮次(往返时延RTT),拥塞窗口 cwnd 就会加倍
拥塞避免:发送端窗口 cwnd 每经过一个往返时延 RTT 就会增加一个 MSS 的大小
快重传:当收到连续的三个重复的 ACK,直接重传对方期待的的报文
快恢复:当收到连续的三个冗余 ACK,令 ssthresh = cwnd = cwnd / 2