TCP与UDP协议

TCP协议分析

1.1 TCP协议概述

TCP协议属于4层传输层协议
传输层包括两大协议:TCP 和 UDP (2个协议的区别是什么?)

1.2 TCP与UDP协议的区别

TCP协议:面向连接的服务(重传机制)、可靠传输数据、速度慢
UDP协议:无连接服务、不可靠、速度快
TCP与UDP的共同作用:通过源与目标端口号,来完成进程到进程的通信!

TCP头部分析

图片[1]-TCP与UDP协议-购印资源网

源端口号:一般客户机的源端口号都是随机的,且一般都是50000以上!

目标端口号:一般服务器上的目标端口号都是固定,如80、443、23、53

端口号范围:0-65535 0与65535有特殊用途、一般1-65534可用
1-1024区间基本被国际标准组织占用分配给了固定的服务器、如20、21、80、443、53、67、68等等

序号:seq,对每个报文字节的编号

确认号:ack,确认对方的报文

六位控制位:

SYN:请求建立连接位!!

FIN:请求断开连接位!!

RST:(Reset)重置位!!(强制断开位!!)

ACK:确认控制位!当ACK=1时,ack有效,当ACK=0,ack无效

PSH:push,推送位!当PSH=1时,代表有上层数据,需要推送数据到上层,反之为没有!

URG:urgen,紧急位!URG=1时,代表紧急数据需要第一时间推送给应用层,需要配合紧急指针完成工作!

窗口大小windows:用来做流量控制!类似与水龙头!

校验和:校验4+5层数据,也就是校验数据段!!!

UDP协议分析

图片[2]-TCP与UDP协议-购印资源网

UDP包头长度:8个字节

UDP长度字段:代表4+5层数据的总长度

UDP校验和:校验4+5层数据,也就是校验数据段!!!也可能本字段是是UDP协议唯一的可靠机制!

TCP三次握手建立连接

图片[3]-TCP与UDP协议-购印资源网

重点:SYN只有双方前2次握手为1,代表彼此要建立连接!
面试题:
问:为什么TCP可靠?
答:因为TCP是面向连接服务,同时双方发送的每一个报文都有编号机制与确认重传机制,所以可以保证数据传输的可靠性!!同时TCP每发送一个报文后,都会开启一个重传计时器,以便防止数据中途丢失,而可以重传!

TCP四次握手断开连接

图片[4]-TCP与UDP协议-购印资源网

抓包分析TCP与UDP

案例:抓telnet/ftp/http报文
环境
win7客户机(抓包) + win2003服务器(Telnet/HTTP/FTP)

三次握手报文

图片[5]-TCP与UDP协议-购印资源网

SYN报文

图片[6]-TCP与UDP协议-购印资源网

四次握手断开

图片[7]-TCP与UDP协议-购印资源网

FIN报文

图片[8]-TCP与UDP协议-购印资源网
温馨提示: 本文最后更新于2022-03-14 05:11:03,某些文章具有时效性,若有错误或已失效,请在下方 留言或联系 购印资源网
© 版权声明
THE END
喜欢就支持一下吧
评论 抢沙发

请登录后发表评论

    暂无评论内容