TCP与UDP协议

2021-12-28 10:12:52 浏览数 (1)

TCP协议分析

1.1 TCP协议概述

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

1.2 TCP与UDP协议的区别

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

TCP头部分析

源端口号:一般客户机的源端口号都是随机的,且一般都是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协议分析

UDP包头长度:8个字节

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

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

TCP三次握手建立连接

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

TCP四次握手断开连接

抓包分析TCP与UDP

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

三次握手报文

SYN报文

四次握手断开

FIN报文

0 人点赞