-
TCP、UDP协议
-
TCP三次握手和四次挥手过程
-
TCP是一种状态集转换
-
网络重要协议DNS ARP
1.TCP、UDP协议说明
TCP:传输控制协议(面向连接网络协议)
特点:安全可靠
缺点:传输效率不高
UDP:用户报文协议(无连接网络协议)
特点:传输效率高
缺点:安全性不高
TCP协议—TCP报文结构
端口号范围为:1-65535(其中1-1024为知名端口号)
控制位:数据传输控制管理作用
syn:请求建立连接控制字段(0无效 1有效)
fin:请求断开连接控制字段(0无效 1有效)
ack:确认控制字段(0无效 1有效)
2.TCP三次握手和四次挥手
TCP协议三次握手过程原理:
第一次握手: 客户端 --> 服务端 TCP报文 序列号seq=0 syn控制字段=1
第二次握手: 服务端 --> 客户端 TCP报文 序列号seq=0 确认号ack=1 syn控制字段=1 ack确认字段=1
第三次握手: 客户端 --> 服务端 TCP报文 序列号seq=1 确认号ack=1 ack确认字段=1
TCP协议四次挥手过程原理:
第一次挥手: 客户端 --> 服务端 TCP报文 fin控制字段=1 ack确认字段=1
第二次挥手: 服务端 --> 客户端 TCP报文 ack确认字段=1
第三次挥手: 服务端 --> 客户端 TCP报文 fin控制字段=1 ack确认字段=1
第四次挥手: 客户端 --> 服务端 TCP报文 ack确认字段=1
3.TCP十一种状态集转换
1.TCP三次握手状态集转换
1.服务端:
⑴.服务端从closed状态转换为listen状态(在服务端开启相应服务),只有在listen才可以建立连接的请求
⑵.从closed转变为listen,实际上就是创建了一个socket信息
netstat -an|grep -i es ---可以看到socket信息
scoket条目:tcp或udp协议 —— 目标地址, 端口——源地址, 端口——状态
2.客户端:
⑴.客户端发送syn信息给服务端,然后客户端从closed状态变为syn_send状态(三次握手的第一次握手)
3.服务端:
⑴.服务端在listen状态接收到客户端发送的syn请求,会响应syn和ack信息,并且从listen状态转换为syn_rcvd状态(三次握手的第二次握手)
4.客户端:
⑴.客户端在syn_send状态接受到服务端的syn和ack字段信息,然后恢复ack确认信息(三次握手的第三次握手),发送完后,从syn_send转换为established
2.TCP的四次挥手状态集的转换
1.客户端:
⑴.客户端在established状态发送fin字段信息给服务器(四次挥手的第一次挥手)
客户端状态转换为fin_wait1(第一次等待:服务端的确认ack信息)状态
2.服务端:
⑴.服务端在established接收到客户端发送的fin字段信息,从established状态转换成close_wait状态
⑵.服务端在close_wait状态发送ack确认字段(四次挥手的第二次挥手)
3.客户端:
⑴.客户端在fin_wait状态接受到服务端的ack信息,进入到fin_wait2等待状态(第二次等待:等待服务端的fin信息)
4.服务端:
⑴.服务端在close_wait状态发送fin断开连接字段给客户端(四次挥手的第三次挥手
⑵.服务端从close_wait状态变为last_ack状态
5.客户端:
⑴.客户端在fin_wait2状态接受服务端的fin信息,然后响应ack信息给服务端,并将自己的fin_wait2转变为time_wait状态
6.服务端:
⑴.服务端在last_ack状态接受到客户端发送的ack字段信息后,就会进入最终的closed状态
7.客户端:
⑴.在time_wait状态会等待30-120s的时间,才会进入到closed状态
问题:
1.为什么会有四次挥手过程,ack 和fin要分开发送?
答:服务端接受到了客服端的FIN时会向应用层汇报,并回应ACK给客户端,然后会等数据传输完毕后,在发送FIN请求断开连接。
2.客户端为什么要有time_wait状态
答:为了确保服务端能收到ack,客户端会在time_wait不断给服务端发送ack。
3.总结closing状态的由来:
答:在第二次挥手的时候,客户端没收到服务端发送的ack,但收到了fin字段信息,按理说收到fin后应该转换为time_wait,所以加了colsing起一个缓存时间(过程很快)
TCP的十一种状态集:
4.网络重要协议原理
1.DNS协议原理:建立IP地址和域名对应关系
DNS协议作用:将域名信息转换为IP地址
DNS层次结构:
例:www.baidu.com
. ---根域名服务器
.com ---顶级(一级)域名服务器
.baidu ---二级域名服务器
www ---主机记录
DNS解析过程:
三个查询过程:
⑴.本地查询
⑵.递归查询
⑶.迭代查新
dig www.oldboyedu.com +trace
2.ARP协议原理:建立IP地址和mac地址对应关系
ARP原理作用: 记录IP地址和mac地址关系(局域网主机与主机的通讯)
ARP原理说明:
- 发送ARP请求和回复信息, 获取访问主机的mac地址
- 构建ARP表 构建IP--mac记录信息
- 实现减少广播包的产生