笔记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 协议。
发送方发送数据,接收方返回确认,发送方继续发送下一个数据。
2、出现差错
由于数据帧的丢失和出错、确认帧的丢失导致超时,需要重传数据帧,发送方发送数据时会暂时保留已发送的分组的副本,并设置了一个超时计时器。当接收方超时没有返回确认,发送方将会重传。
停止等待协议的优点是简单,但缺点是信道利用率太低。
使用发送窗口,位于窗口内的分组连续发送出去,不需等待对方的确认,提高信道利用率。发送方每收到接收方的一个确认发送窗口就向前移动一个分组,当收到最后一个分组的确认,这就表示:到这个分组为止的所有分组都已正确收到了。
当中间有分组丢失时,发送窗口将要重回丢失的第一个分组,然后以这个分组开始重新发送(即使发送过了而且返回确认),这就叫 Go-back-N(回退
N)。
如果通信线路质量不好,连续 ARQ 协议将会带来负面的影响。
为增强TCP的可靠性,建立TCP连接采用“三次握手”。
如图所示:
这主要是为了防止已经失效的请求报文突然传回到主机B,因而产生错误。
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,因而产生错误。
相关文章推荐
- TCPIP-TCP是一种面向连接(连接导向)的、可靠的、基于字节流的运输层(Transport layer)通信协议
- 3.5 面向连接的运输:TCP
- tcp协议是面向连接的,而http是无状态的,面向连接和无状态怎么感觉好像优点矛盾呢?
- HTTP 协议本身也是无连接的,虽然它使用了面向连接的 TCP 向上提供的服务。
- 基于 TCP (面向连接)和无连接UDP协议的 socket 套接字编程
- 面向连接的运输:TCP
- 2017-02-14 面向连接的运输:TCP、TCP链接、TCP报文段结构、往返时间的估计与超时、可靠数据传输、流量控制、TCP链接管理
- 基于 TCP (面向连接)和无连接UDP协议的 socket 套接字编程
- 使用 TCP 协议的面向连接的客户-服务器程序设计
- TCP连接关闭过程笔记
- TCP建立连接和终止协议详细解说
- 基于TCP(面向连接)的socket编程例子
- 5 面向非连接的协议
- 显示协议统计信息和当前 TCP/IP 网络连接。
- 面向连接的协议 [2 ]
- ISO CONP:面向连接网络协议--网络大典
- 显示协议统计信息和当前 TCP/IP 网络连接
- TCP连接关闭过程笔记
- 面向连接的协议 [1]
- TCP/IP学习笔记之三 --- IP: 网际协议