查看: 11665|回复: 3

关于TCP的问题

[复制链接]
发表于 2006-9-6 00:32:23 | 显示全部楼层 |阅读模式
各位同行:
           请问:1、   TCP经过三次握手后,就可以建立与主机的联接了,请问建立联接后的TCP的标志位分别是多少啊?
              2、一次数据通迅的过程可以分为许多个数据包的,请问主机是怎么样识别并整合这些数据包的呢?这些数据包间有什么联系吗?我通过分析软件怎么样识别这些数据包其实是一次数据通迅分解开的呢?
        谢谢啊!!!!!!!!!!
回复

使用道具 举报

发表于 2006-9-6 10:26:52 | 显示全部楼层
To:
1.只有在需要数据传输时才会产生3次握手,握手完成就传输数据
连接后没有标志位表示已连接,TCP连接由计时器控制

2.这个要理解缓存的作用,所谓的整合,都是在缓存内进行,ack和syn就是负责有序组合的
最后一个数据报带有标识,接收端能明白它的意思

你可能说的意思是数据报分片,TCP下很多数据都不会分片,这个路由设置有关
所以你很少看到分片数据报
分片数据报的标志为DF (do fragment) (你可以捕获ping -l 15000 www.csna.cn,查看解码就可以看到)

评分

1

查看全部评分

回复

使用道具 举报

发表于 2006-9-6 11:01:46 | 显示全部楼层
原帖由 ailianzhe 于 2006-9-6 00:32 发表
各位同行:
           请问:1、   TCP经过三次握手后,就可以建立与主机的联接了,请问建立联接后的TCP的标志位分别是多少啊?
              2、一次数据通迅的过程可以分为许多个数据包的,请问主机是怎么样 ...



1、   TCP经过三次握手后,就可以建立与主机的联接了,请问建立联接后的TCP的标志位分别是多少啊?

TCP经过三次握手后,建立连接后是传输数据了,当客户机或服务器收到一个ACK确认,就发送一个数据!

2、一次数据通迅的过程可以分为许多个数据包的,请问主机是怎么样识别并整合这些数据包的呢?这些数据包间有什么联系吗?我通过分析软件怎么样识别这些数据包其实是一次数据通迅分解开的呢?

TCP不是有序列号和确认好吗?就通过这个来决定,举个列子吧!
A和B建立三次握手:
请求端A发起一个同步请求, 初始序列号(ISN)Seq=1000
服务器B收到后也发回一个它初始序列号Seq=2000,并且将请求端A的ISN加1(ACK=1001)作为对A的确认
A收到后核查,最后对服务器B发送一个确认,将服务器的ISN加1(ACK=2001),于是连接建立了!

传输数据
之前我们说过了,当请求端或者服务器建立连接后,收到一个ACK,就会发送一个数据。数据的大下由建立连接时请求端A和服务端B之间交互的MSS和Windows size,MTU来确定,这时的序列号要加上数据的的大小和标志为ACK字段的一个字节,依次类推!B和A也是类似!

LZ可以看看《TCP/IP协议详解》这本书,http://www.csna.cn/forum.php?mod=viewthread&tid=605&extra=page%3D3

TCP提供可靠的面向连接的数据流服务,在科来网络分析系统中可以看到TCP数据流的相关数据包。如下几副图,


[ 本帖最后由 KelvinFu 于 2006-9-6 12:01 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?CSNA会员注册

×

评分

1

查看全部评分

回复

使用道具 举报

发表于 2006-9-8 08:23:16 | 显示全部楼层
.....................
回复

使用道具 举报

您需要登录后才可以回帖 登录 | CSNA会员注册

本版积分规则

快速回复 返回顶部 返回列表