黑客基础知识(19)

时间:2026-01-19

很棒



发送者保存发送的数据的记录,在发送下一个数据之前,等待这个数据的确认消息。在它发送这个数

据的同时,还启动了一个记时器。如果在一定时间之内,没有接收到确认消息,就认为是这个数据在传送

时丢失了,接着,就会重新发送这个数据。

这种方法还产生了一个问题,就是包的重复。如果网络传输速度比较低,等到等待时间结束后,确认

消息才返回到发送者,那么,由于发送者采用的发送方法,就会出现重复的数据了。解决的一个办法是给

每个数据一个序列号,并需要发送者记住哪个序列号的数据已经确认了。为了防止由于延时或重复确认,

规定确认消息里也要包含确认序列号。从而发送者就能知道哪个包已经确认了。   TCP协议中还有一个

重要的概念:滑动窗口。这一方法的使用,使得传输更加高效。

有前面的描述可见,发送者在发送完一个数据包之后,要等待确认。在它收到确认消息之前的这段时

间是空闲的。如果网络延时比较长,这个问题会相当明显。

滑动窗口方法是在它收到确认消息以前,发送多个数据包。可以想象成有一个窗口在一个序列上移动



如果一个包发送出去之后还没有确认,叫做未确认包。通常未确认的包的个数就是窗口的大小。

此窗口的大小为8。发送者允许在接收到一个确认消息以前发送8个数据包。当发送者接到窗口中第一

个包的确认消息时,它就将窗口下滑一个。

在接收端,也有一个滑动窗口接收和确认一个包。

端口

使用TCP传输就是建立一个连接。在TCP传输中一个连接有两个端点组成。其实,一个连接代表的是发送和

接收两端应用程序的之间的一个通信。可以把他们想象成建立了一个电路。通常一个连接用下面的公式表

示:

(host,port)

host是主机,port是端口。TCP端口能被几个应用程序共享。对于程序员来讲,可以这样理解:一个应用

程序可以为不同的连接提供服务。

TCP格式

TCP传输的单位是段,在建立连接,传送数据,确认消息和告之窗口大小时均要进行段的交换。

段的格式如下图:

段的格式也分成两部分,头和数据。
上面格式中的名称已经足够说
明了他们的作用了。具体的含义请参见有关资料。

建立一个TCP连接

TCP协议使用一个三次握手来建立一个TCP连接的。

握手过程的第一个段的代码位设置为SYN,序列号为x,表示开始一次握手。接收方收到这个段后,向

发送者回发一个段。代码位设置为SYN和ACK,序列号

黑客基础知识(19).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:4.9 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:19元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219