三次握手,四次挥手 之网络管理基础命令
三次握手
三次握手
客户端未发起请求之前处于CLOSED状态,服务器未接收到请求也处于CLOSED状态
第一次,客户端向服务器端发起连接请求报文,这时请求报文的首部SYN=1,同时选择一个初始序列号seq=1,此时客户端进程进入FYN-SENT状态,TCP规定SYN报文段不能携带数据,但需要消耗一个序列号
第二次,服务器收到请求报文后,如果同意连接,则发出确认报文。确认报文中应该ACK=1,SYN=1,确认号是ack=x+1,同时也为自己初始化一个序列号seq=y,此时服务器进入SYN-RCVD状态,这个报文也不能携带数据,但同样消耗一个序列号。
第三次,客户端收到确认报文后,还要想服务器端确认,确认报文有ACK=1,ack=y+1,自己的序列号是seq=x+1,此时,TCP连接建立,客户端进入ESTABLISHED,TCP规定,ACK报文段可以携带数据,如果不携带数据则不消耗序列号
当服务器收到客户端的确认后也进入ESTABLISHED状态,此后双方就可以通信了
四次挥手
第一次 客户端发出断开连接请求报文,此时报文首部为FIN=1,序列号为最后一次接收到的数据的最后一个字节的序号+1,此时客户端进入FIN-WAIT-1状态,TCP报文规定,FIN报文即使不携带数据也需要消耗一个序列号
第二次 服务器端收到断开连接请求报文后,发出确认断开报文,ACK=1,ack=u+1,并且带上自己的序列号seq=u,此时服务器就进入了CLOSE-WAIT状态,TCP通知高层的应用进程,客户端已经没有数据要发送了,但服务器端想客户端发送数据,客户端还可以接受
客户端收到服务器的确认请求后,此时客户端进入FIN-WAIT-2状态,等待服务器发送断开连接报文
第三次 服务器端将最后的数据发送完毕后,就向客户端发送断开请求FIN=1 ack=u+1,此时服务器进入LSTE-ACK(最后确认)状态,等待客户端确认
第四次 客户端收到服务器发来的断开报文后,必须确认,ACK=1,ack=w+1,而自己的序列号是seq=u+1,此时客户端进入了TIME-WAIT状态。注意此时TCP连接还没有断开,还要等待一段时间,当客户端撤销相应的TCP后,才进入CLOSED状态
服务器只要收到了客户端的确认报文后,立即进入CLOSED状态
子网划分
网络地址分为A,B,C,E类
A类 0-127
B类 128-191
C类 192-223
D类 224-239
E类 240-254
主机数=2^主机ID -2
网络数=2^可变的网络ID位
ifconfig
语法格式
ifconfig 网络设备 参数
常用选项
up 启用指定网络设备、网卡
down 关闭指定网络设备,网卡
ip
语法格式
ip [ OPTIONS ] OBJECT { COMMAND | help }
示例
显示网络设备信息
关闭一个网络设备
ip link set dev eth0 down
为网络添加地址
删除一个网络地址
nmcli
查看网卡信息
显示具体的网络接口信息
显示所有设备状态
删除一个网卡连接
添加一个网卡连接
网络接口停用
网络接口启用
route
netstat
列出所有端口
列出所有处于监听状态的socket
显示每个协议的统计信息
显示PID和进程名