您的位置:首页 > 理论基础 > 计算机网络

笔记5 --TCP是面向连接的运输层协议

2016-12-22 18:37 627 查看
笔记5

TCP 是面向连接的运输层协议。这说明,在使用 TCP 协议之前,应用程序需要建立TCP连接。在传送数据结束之后,就释放TCP的连接。

TCP协议具有面向连接的、一对一的、提供可靠交付、全双工的、基于字节流的、端到端的、流量控制、拥塞控制、差错控制机制的特点。

1、TCP连接

TCP 连接有两个端点。TCP 连接的端点叫做套接字(socket)或插口。根据 RFC 793 的定义:端口号拼接到(contatenated with)IP 地址即构成了套接字。

套接字 socket = ( IP 地址:端口号)

TCP 连接 ::= {socket1, socket2} = {(IP1:port1), (IP2:port2)}

2、TCP的可靠性

TCP 发送的报文段是交给 IP 层传送的。由于IP 层只能提供尽最大努力服务,也就是说,TCP 下面的网络所提供的是不可靠传输。因此,TCP 必须采取适当的措施才能使得两个运输层之间的通信变得可靠。

为增强TCP的可靠性,采用了停止等待协议、连续 ARQ 协议。

停止等待协议

1、正常情况

发送方发送数据,接收方返回确认,发送方继续发送下一个数据。

2、出现差错

由于数据帧的丢失和出错、确认帧的丢失导致超时,需要重传数据帧,发送方发送数据时会暂时保留已发送的分组的副本,并设置了一个超时计时器。当接收方超时没有返回确认,发送方将会重传。

停止等待协议的优点是简单,但缺点是信道利用率太低。

连续 ARQ 协议

自动重传请求 ARQ(Automatic Repeat Request)。

使用发送窗口,位于窗口内的分组连续发送出去,不需等待对方的确认,提高信道利用率。发送方每收到接收方的一个确认发送窗口就向前移动一个分组,当收到最后一个分组的确认,这就表示:到这个分组为止的所有分组都已正确收到了。

当中间有分组丢失时,发送窗口将要重回丢失的第一个分组,然后以这个分组开始重新发送(即使发送过了而且返回确认),这就叫 Go-back-N(回退
N)。

如果通信线路质量不好,连续 ARQ 协议将会带来负面的影响。

为增强TCP的可靠性,建立TCP连接采用“三次握手”。

如图所示:

 

  

这主要是为了防止已经失效的请求报文突然传回到主机B,因而产生错误。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: