选择题 12.  下列功能中,能使TCP准确可靠地从源设备到目的地设备传输数据的是______。
【正确答案】 D
【答案解析】 TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议,主要通过如下一些方式实现可靠传输:
   当TCP发出一个段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能及时收到一个确认,将重发这个报文段。当TCP收到发自TCP连接另一端的数据时,它将发送一个确认。
   TCP将保持它首部和数据的检验和。这是一个端到端的检验和,目的是检测数据在传输过程中的任何变化。如果收到段的检验和有差错,TCP将丢弃这个报文段,同时,不确认收到此报文段。
   由于TCP报文段作为IP数据报来传输,而IP数据报的到达可能会失序,因此,TCP报文段的到达也可能会失序。因此,TCP将对收到的数据进行重新排序,将收到的数据以正确的顺序交给应用层,这就需要对报文进行编号,以确定报文的顺序。
   由此可见,选项D正确。
   对于选项A,封装是为了提高传输效率,当个别包传输失败后,只需要重传失败的包即可,如果没有把一个大的包封装成多个小的包,每当一个包出错的时候都需要重发整个包。所以,选项A错误。
   对于选项B,拥塞控制的目的是防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不致过载。所以,选项B错误。
   对于选项C,TCP是面向连接的服务,而UDP才是面向无连接的服务。所以,选项C错误。