概述
记录TCP相关的知识。包含三次握手,四次挥手。使用tcpdump来观察这些流程的细节。
概念
在理论设计的时候是按照层来设计的。每层都接受它的下层提供的特定服务,并且负责为自己上层提供特定服务。上下层之间的交互叫做“接口”,同一层之间交互遵循的是“协议”。
TCP
TCP报文数据结构
1 | 0 15 31 |
其中有一部分是协议Flags位。
1 | | | |
CWR: Congestin Window Reduced
ECE: 显示拥塞提醒回应 ECN-Echo
CWR和ECE用于传输过程中拥塞控制,与TCP的窗口协同工作
URG: 紧急
ACK: 反馈
PSH: 推送数据包
RST: 重置
SYN: 同步
FIN: 结束
三次握手
四次挥手
函数调用过程
下面是使用tcpdump观察到的信息:
1 | $ tcpdump -vv -n -K -i eth0 tcp port 10011 |
TCP状态转换图
TIME_WAIT
IP地址类型
值域 | 类型 | 应用 |
---|---|---|
0.0.0.0-127.255.255.255 | A类 | 一般用于大型网络。 |
128.0.0.0-191.255.255.255 | B类 | 中等规模网络。 |
192.0.0.0-223.255.255.255 | C类 | 用于小型网络。 |
224.0.0.0-239.255.255.255 | D类 | 多路广播用户 |
240.0.0.0-247.255.255.255 | E类 | 多路广播用户 |
IP地址由两部分组成,即网络地址和主机地址。网络地址表示其属于互联网的哪一个网络,主机地址表示其属于该网络中的哪一台主机。二者是主从关系。
DDoS攻击
分布式拒绝服务工具。利用的正是TCP里面的三次握手、四次挥手的规则。从根本上是很难防御。有些公司是购买一些硬件防火墙来构建防御。