tcp协议的特点:
面向连接的,可靠的,流式服务
//面试常问:
一、通过抓包观察三次握手、四次挥手
工具:tcpdump 命令
抓冲我到他从他到我的数据包。
需要管理员权限。
运行示例:
进入管理员权限,使用tcpdump命令
客户端与服务器端连接成功:三次握手
发送数据:
加-S后(不简便化确认信息)
断开连接:四次挥手,也可能发生三次挥手
正常四次挥手
这里是三次挥手,比较特别
二、链接的状态、tcp状态转移图
反映的是tcp链接的状态,为tcp状态转移图。
例如:手机关于打电话来说,有待机状态、拨出状态、响铃状态、通话中状态、通话结束状态。。。
工具
netstat -natp
listen状态
发起链接后,已完成三次握手状态
监听对联改成1
理论上可以连接两个客户端,第三个不能正常连接。
链接一个:
链接两个:
链接时,服务器关闭
借宿服务器端:
还能看到链接状态一段时间,一段时间后为改变。以下是关闭服务器端后,一段时间内的变化:
三、TIME_WAIT 存在的原因
2min为报文生存期的两倍。
示例:快速链接,关闭服务器端,关闭客户端观察:
1、运行服务器端:
2、客户端链接
可正常通讯:
此时状态为:
3、关闭服务器端:
此时状态: