1.为什么需要三次握手
第一次握手:客户端主动发送数据包,如果服务器收到了。
此时对于服务器而言,服务器知道自己的“接收”能力正常,客户端的“发送”能力正常。
第二次握手:服务器给客户端回复响应报文,如果客户端收到了。
此时对于客户端而言,客户端知道自己的“发送”能力正常(因为我给你发送的报文 你给我做了响应,说明报文能正常发送),客户端的“接收”能力正常(我能收到你的报文)。同时知道服务器的“发送”、“接收”能力正常(能收到我第一次发的包,且做了响应)。
此时对于服务器而言,服务器只知道客户端的“发送”能力正常,但客户端“接收”能力还不确定(我发给你的报文 我不确定你是否收到);同时,服务器知道自己的“接收”能力正常,但“发送”能力还不确定。
第三次握手:客户端给服务器回复响应报文,如果服务器收到了。此时对于服务器而言,服务器就能确定自己的“发送”能力正常,客户端的“接收”能力正常。
经历了三次握手,双方都能确定自己和对方的收、发能力正常,所以就开始数据传输了。
半开队列计时器和全连队列保证了握手是否成功
防御:syn_cookie技术
2.为什么需要四次挥手
标准下其实是四次挥手,客户端向服务器端发送终止报文报表服务器端回应一次。至此客户端与服务器断开连接。服务器端断开连接,需要同样的操作。但是大多数情况下看不到这四次完整的挥手因为服务器为了节约资源会减少发送的包。
窗口 慢启动 原理就是假定一个值。不停的去尝试了解对端的最大值知道饱和为止。
拥塞控制,拥塞避免,快重传------丢包 TCP重传
UDP:给多少传多少
DHCP动态主机配置协议
三个方法
1.全局配置
2.DHCP接口配置
3.DHCP根据MAC地址分配固定IP