【计算机网络自顶向下方法】序号和确认号的一个学习案例(Telnet)

Telnet        

        Telnet是一个用于远程登录的流行应用层协议。它运行在TCP之上,被设计成可在任意一对主机之间工作,它是一个交互式应用。Telnet可以很好的阐述TCP的序号与确认号。但是由于Telnet连接中发送的数据是没有加密的,所以易于被窃听攻击

一个经TCP的简单Telnet应用的确认号和序号

如上所示:

        假设客户和服务器的其实序号分别是42和79,一个报文段的序号就是该报文段数据字段首字节的序号。因此,客户发送的第一个报文段的序号为42,服务器发送的抵押给报文段的序号为79。确认号就是主机正在等待的数据的下一个字节序号。在TCP连接建立之后但没有发送任何数据之前,该客户等待字节79,而该服务器等待字节42。

        图中共发送3个报文段。第一个报文段是由客户发往服务器,在它的数据字段里包含一个字节的字符C的ASCII码。第一个报文段的序号字段里是42。另外,由于客户还未接收到来自服务器的任何数据,因此该第一个报文段中的确认号字段中是79。

        第二个报文段是由服务器发往客户。它有两个目的:首先它为该服务器所收到数据提供一个确认。通过在确认号字段中填入43,服务器告诉客户它已经成功地接收到字节42以及以前的所有字节,现在正等着字节43的出现。该报文段的第二个目的是回显字符C。因此,在第二个报文段的数据字段里填入的是字符C的ASCII码。第二个报文段的序号为79,它是该TCP连接上从服务器到客户端的数据流的起始序号,这也正是服务器要发送的第一个字节的数据。注意,对客户到服务器的数据的确认被装载在一个承载服务器到客户的数据的报文段中;这种确认被称为捎带在服务器到客户的数据报文段中的。

        第三个报文段是从客户发往服务器的。它的唯一目的是确认已从服务器收到的数据。该报文段的数据字段为空。该报文段的确认号字段填入的是80,因为客户已经收到了字节流中序号为79以及以前的字节,它正在等待着字节80的出现。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>