1.源端口和目的端口:各占2个字节,分别写入源端口和目的端口;
2.序列号:占4个字节,TCP连接中传送的字节流中的每个字节都按顺序编号。例如,一段报文的序号字段值是 301 ,而携带的数据共有100字段,显然下一个报文段(如果还有的话)的数据序号应该从401开始;
3.确认号:占4个字节,是期望收到对方下一个报文的第一个数据字节的序号。例如,B收到了A发送过来的报文,其序列号字段是501,而数据长度是200字节,这表明B正确的收到了A发送的到序号700为止的数据。因此,B期望收到A的下一个数据序号是701,于是B在发送给A的确认报文段中把确认号置为701;
4.数据偏移报头长度:占4位,它指出TCP报文的数据距离TCP报文段的起始处有多远;
5.保留:占6位,保留今后使用,但目前应都位0;
6.标志位
同步SYN,在连接建立时用来同步序号。当SYN=1,ACK=0,表明是连接请求报文,若同意连接,则响应报文中应该使SYN=1,ACK=1;
确认ACK,仅当ACK=1时,确认号字段才有效。TCP规定,在连接建立后所有报文的传输都必须把ACK置1;
终止FIN,用来释放连接。当FIN=1,表明此报文的发送方的数据已经发送完毕,并且要求释放;
紧急URG,当URG=1,表明紧急指针字段有效。告诉系统此报文段中有紧急数据;
推送PSH,当两个应用进程进行交互式通信时,有时在一端的应用进程希望在键入一个命令后立即就能收到对方的响应,这时候就将PSH=1;
复位RST,当RST=1,表明TCP连接中出现严重差错,必须释放连接,然后再重新建立连接;
7.窗口大小:占2字节,指的是通知接收方,发送本报文你需要有多大的空间来接受;
8.检验和:占2字节,校验首部和数据这两部分;
9.紧急指针:占2字节,指出本报文段中的紧急数据的字节数;
10.选项:长度可变,定义一些其他的可选的参数。

最新文章

  1. 虚拟机VMware与主机共享文件介绍
  2. 获取QQ企业邮箱通讯录PY脚本
  3. Deep Learning 13_深度学习UFLDL教程:Independent Component Analysis_Exercise(斯坦福大学深度学习教程)
  4. 使用 nc (Netcat) 建立傳送資料的 socket server
  5. 4kbps~15kbps语音编码器基础框架ACELP
  6. .Net面試4套
  7. ACM YTU 挑战编程 字符串 Problem A: WERTYU
  8. python获取网络时间和本地时间
  9. Nt内核函数原型and中文
  10. hdu2066一个人的旅行(dijkstra)
  11. Bash ShellShock 解决办法
  12. plat模板修改记录
  13. IOS开发-UI学习-UITextField的具体属性及用法
  14. 【Beta阶段】计划安排
  15. 初识Hibernate之继承映射
  16. idea从git上拉取并管理项目
  17. Linux - ubuntu vMwareTools安装
  18. uml活动图
  19. 深入源码分析SpringMVC底层原理(二)
  20. gstreamer

热门文章

  1. postman---post请求数据类型
  2. 初学JavaScript正则表达式(二)
  3. pthread_create线程终止问题
  4. Jmeter怎么搭建环境
  5. 浅谈C++ STL deque 容器
  6. Django 连接数据库
  7. 洛谷P4173 残缺的字符串
  8. 9.27 csp-s模拟测试53 u+v+w
  9. 剑指offer:数据流中的中位数(小顶堆+大顶堆)
  10. [NewLife.XCode]导入导出(实体对象百变魔君)