TCP协议
网络通信靠协议,经典协议TCP。
可靠传输无人比,润物无声似空气。
确定源头与目的,各16位不相弃。
先传序列后确认,确认号码又加一
四位首部偏移量,六位保留无含义。
六位协议状态位,最为重要无可替。
紧急指针URG,需要用时方为一。
确认标记ACK,一为有效零放弃。
Push标记推应用,置为一时表完毕。
重连标志RST,网络异常很来气。
SYN同步位,网络连接要建立。
窗口大小一十六,缓存大小别介意。
一十六位校验位,保证可靠最有力。
紧急指针十六位,顺序累加发紧急。
选项字段自定义,时间大小EOP。
数据字段为内容,发送信息很随意。
TCP报文格式
16位源端口号 | 16位目的端口号 | |||||||
32位序列号 | ||||||||
32位确认位 | ||||||||
4位首部长度 | 保留(6位) | URG | ACK | PSH | RST | SYN | FIN | 16位窗口大小 |
16位TCP检验和 | 16位紧急指针 | |||||||
选项(若有) | ||||||||
数据(若有) | ||||||||
注:校验位原理是加和原理 EOP是个结束符
1bytes = 8bit
为什么三次握手:确认两个机器都能发送信息并且能够接收信息
| 1号机器 | 2号机器 |
发送 | 第一次握手 | 第二次握手 |
接收 | 第三次握手 | 第二次握手 |
四次挥手:双方都知道对方发完并且都知道收完了
| 1号机器 | 2号机器 |
发送 | 第一次挥手(已发送) | 第二次挥手(已知发完) |
接收 | 第四次挥手(知道你收完了) | 第三次挥手(我收完了) |
使用xshell : telent www.baidu.com 80
GET / http/1.1
五层网络模型
应用层(HTTP) |
运输层(TCP)(UDP) |
网络层(ip) |
数据链路层 |
物理层 |