计算机网络分层
应用层
传输层
网络层
数据链路层
物理层
通过硬件实现两台机器的直接通信
主机A,B数据交换的流程:
应用层A应用请求网络数据->传输层对A传下来的请求进行拆包和重组,添加报文头->网络层通过IP和对应的端口将传输层的数据与主机产生交换->数据链路层找到对应的局域网中的主机->物理层进行数据的交换
TCP协议
TCP协议是传输层中常用的协议之一,传输层的特点是多路复用和多路拆分。
TCP协议首部
TCP特性
面向字节流、可靠性传输、拥塞控制、面向连接(三次握手,四次挥手)
TIME_WAIT状态比较特殊
- 我们知道网络是不稳定的,可能机器B 发送了一些数据还没到达(比FIN包慢);
- 同时回复的ACK包可能丢失了,机器B会重传FIN包;
如果此时机器A马上关闭连接,会导致数据不完整、机器B无法释放连接等问题。所以此时机器A需要等待2个报文生存最大时长,确保网络中没有任何遗留报文了,再关闭连接
