一次性搞懂TCP/IP协议

七层网络协议

也可以叫五层网络协议。应用层 -> 传输控制层 -> 网络层 -> 链路层 -> 物理层
其中应用层、表示层、会话层统称为应用层,一般来说程序都在应用层
三次握手,四次分手是在传输控制层
路由器IP是在网络层

TCP相关

传输控制层,UDP/TCP

三次握手

客户端给服务端首先发了一个syn的数据包,服务端返回一个syn+ack的数据包,然后客户端再回给服务端一个ack,建立起链接,开辟资源。所以说是面向链接的,可靠的

对于程序来说,条目就是一个soket,对资源的包装,接受队列和发送队列,程序和内核之间的交互,如何交互的IO模型。什么是soket,四元组,源ip+端口,目标ip+端口,绝对唯一的链接。一个系统里面能够分配的就是有65535个端口号

四次分手

资源释放的过程。任一方发出fin,因为是可靠的分手,所以对方会回一个fin+ack,说明我听到了,但是态度是不知道的,然后再回一个fin表示我也想跟你分手,然后发出方再回一个ack,此时便是4次分手。如果建立完三次握手,网断了,那么任何一方是否直到网断了这件事,是不知道的。内核有一个keepalive,也就是心跳