博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IP通信 第三周
阅读量:5306 次
发布时间:2019-06-14

本文共 1138 字,大约阅读时间需要 3 分钟。

TCP建立连接/三次握手:

步骤1     A的TCP向B发出连接请求报文段,其首部中的同步位SYN=1,并选择序号xeq=x,表明传送数据时的第一个数据字节的序号是x号。

步骤2     B的TCP收到连接请求报文段后,如同意,则发回确认。ACK=1,其确认号

ack=x+1。同时B向A发起连接请求,应使SYN=1,自己选择的序号seq=y。

步骤3 A收到此报文段后向B给出确认,其ACK=1,确认号ack=y+1。

A的TCP通知上层应用进程,连接已经建立。

TCP报文格式:

源端口和目的端口字段----------------各占2字节。端口是传输层玉应用层的服务接口。传输层的复用和分用功能都要通过端口才能实现。

序号字段----------------------------占4字节。TCP连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。

确认好字段--------------------------占4字节,是期望收到对方的下一个报文段的数据的第一个自己的序号。

首部长度----------------------------占4位,指出TCP首部共有多少个4字节,首部长度在20-60字节之间,所以,该字段值在5-15之间。

保留字段----------------------------占6位,保留为今后使用,但目前位置为0.

紧急URG-----------------------------当URG=1时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送。

确认ACK-----------------------------只有当ACK=1是确认号字段才有效。

推送PSH(PuSH)---------------------接收TCP收到PSH=的报文段,就尽快地交付接收应用进程,而不再等到整个缓存都填满了后再向上交付。

复位RST(ReSeT)--------------------当RST=1时,表明TCP连接中出现严重差错,必须释放连接,然后再重新建立传输连接。

同步SYN-----------------------------同步SYN=1表示这是一个连接请求或连接接受报文。

终止FIN(FINis)--------------------用来释放一个连接。FIN=1表明此报文段的发送端的数据已经发送完毕,并要求释放传输连接。

窗口字段----------------------------占2字节,用来让对方设置发送窗口的依据,单位为字节。

 

转载于:https://www.cnblogs.com/qq735020139/p/10549636.html

你可能感兴趣的文章
LCA的两种求法
查看>>
Python 发 邮件
查看>>
mysql忘记密码的解决办法
查看>>
全面分析Java的垃圾回收机制2
查看>>
[Code Festival 2017 qual A] C: Palindromic Matrix
查看>>
修改博客园css样式
查看>>
Python3 高阶函数
查看>>
初始面向对象
查看>>
docker一键安装
查看>>
leetcode Letter Combinations of a Phone Number
查看>>
ALS算法 (面试准备)
查看>>
Unity 5.4 测试版本新特性---因吹丝停
查看>>
7.5 文件操作
查看>>
DFS-hdu-2821-Pusher
查看>>
MyEclipse中将普通Java项目convert(转化)为Maven项目
查看>>
node js 安装.node-gyp/8.9.4 权限 无法访问
查看>>
windows基本命令
查看>>
VMware中CentOS设置静态IP
查看>>
[poj1006]Biorhythms
查看>>
jsp
查看>>