静心学习之路系列

静心学习之路(3)——TCP/IP协议族总结

2020-11-04  本文已影响0人  游学者夏纳

体系结构和主要协议

(略,四个层,OSI模型为七层)


image

(我理解的)本质:socket封装/分用栈

1)入栈 发送 请求流程 - 客户端
(应用层)http数据
(传输层)tcp首尾部 + http数据
(网络层)ip首尾部 + tcp 首尾部 + http数据
(链路层)以太网首尾部 + ip首尾部 + tcp 首尾部 + http数据

2)出栈 接受 请求数据 - 服务端
(链路层)以太网首尾部 + ip首尾部 + tcp 首尾部 + http数据
(网络层)ip首尾部 + tcp 首尾部 + http数据
(传输层)tcp首尾部 + http数据
(应用层)http数据

ARP协议

本质:链路层协议
功能:Mac地址 -> IP地址(与RARP协议正相反),请求分用到数据链路层
报文长度:28字节,加上以太网帧头(14)尾(4-填充)共46字节。
抓包实际中该以太网帧 ARP-Request共42(46)字节,ARP-Reply共60(64)字节,可见它用了填充字节来满足最小帧长度。

DNS

本质:应用层协议(应用程序)
功能:域名->IP的其中一种实现方式
报文格式略,没啥好说的
抓包也没啥好分析的

IP协议(核心协议)

本质:网络层协议
功能:为上层协议提供无状态,无连接,不可靠的服务(上层自行封装,比如protocol值1-ICMP,6-TCP,17-UDP)
IP(v4)头部结构:固定部分20字节(可选信息有40字节,最长60字节)
IP分片:第二个分片开始不含报文头。IP层传递的数据可能是完整的IP数据报,也可能是IP分片,统称为IP分组(packet)。
IP路由:IP模块工作流程略,IP路由机制有兴趣自行查询「路由表」
IPv6头部结构:固定部分40字节(可选信息可变长)

TCP协议

本质:传输层协议
特点:相对于UDP,面向连接、字节流和可靠传输
TCP头部结构:固定部分20字节(内容略,可选信息有40字节,最长60字节)
TCP建立与关闭:(抓包过程读值m和n都是初始为随机值ISN)

过程 方向 标志位情况 seq值 ack值 状态说明
建立1 A>>B SYN m - (主动打开) SYS_SEND >>
建立2 A<<B SYN n m+1 (被动打开LISTEN)SYS_RCVD >>
建立3 A>>B - - n+1 ESTABLISHED >> ESTABLISHED
关闭4 A>>B FIN m+1 n+1 (主动关闭)FIN_WAIT_1 >>
关闭5 A<<B - - m+2 (被动关闭)CLOSE_WAIT >> FIN_WAIT_2
关闭6 A<<B FIN n+2 m+2 LAST_ACK >>
关闭7 A>>B - - n+3 TIME_WAIT >> CLOSED

TCP内容太多了,另起一篇总结把

上一篇 下一篇

猜你喜欢

热点阅读