分类: 计算机网络

7 篇文章

TCP Data Flow and Window Management
在前面的内容,我们主要关注TCP如何建立连接的,以及TCP是如何保证数据的可靠传输的,如何来处理报文的丢失的。在本章中,一开始先介绍下在交互性较强的应用中TCP是怎么做的。比如说在在线游戏,按下一个键,按下一下鼠标就要发送一个TCP报文,这种情况下报文中的TCP header占据了更多的内容,有效字节(数据)非常少,游戏的操作往往是十分频繁的,那么…
TCP Congestion Control
在本章中,我们将会关注拥塞控制的问题,它是在大数据(bulk data)传输中很重要第一个问题。TCP拥塞控制能够保证网络不会被overwhelmed。最简单的方法就是,当TCP认为网络拥塞的时候,就降低发送速度。所以问题就是:如何判断认为网络是拥塞的以及TCP如何来降低发送速率,以及什么时候可以再提高速率。 TCP被设计为数据在双方之间可以可靠传…
TCP Timeout and Retransmission
到目前为止,我们主要关注在TCP是如何保证准确性。TCP基于不可靠的IP协议之上提供了可靠的数据传输,必须解决报文的丢失、重复、乱序的问题。面对已经丢失的数据,TCP重传这些数据。TCP有两种机制来完成重传,一种是基于时间的,一种是基于acknowledgements的结构的,第二种效率更高。 TCP在发送数据的时候会设置一个定时器,如果ACK没有…
TCP Keepalive
TCP连接的双方即使在在没有数据交互的时候也不会终止双方的连接。只要它们两者之间的路由器不要宕机了,很久之后还是可以进行数据交互的。在有些时候,客户端或者服务器想要只当对方是否关闭了,但是因为有些原因FIN报文没有正确的发送过来。我们又想在双方之间保持少量是数据交互,让它们双方能够直到对方是否还“建在”。这种机制叫做keepalive(保活)。ke…
TCP-简述
TCP是一种ARQ协议,即使当数据没能成功发送给对方的时候,就重试。 Another is to simply “try sending again” until the information is finally received. This approach, called Automatic Repeat Request (ARQ), fo…
TCP Connection Management
Introduction TCP是面向链接的(connection-oriented )。就是在双方交换数据之前需要经过建立链接。而UDP是无连接的(没有涉及任何连接的建立和终止的过程)。TCP中的有一些选项只有在连接建立的时候才可用。 TCP connection Establishment and Termination TCP连接的建立如下图…
tcp中的拥塞控制
为了提高在数据在链路中的传输数据,滑动窗口的模型,也就是说可以一次发送到多个数据包。因此会带来在链路当中的拥塞问题,即发送方发送数据过快导致链路较为拥挤导致数据通信的时延过大,从而会会引发数据丢包或者超时。 术语解释 丢包:发送方的数据不能成功的到达接收方,也就是在链路中数据包就丢失了,在TCP中如果收到三个冗余ACK,则表示数据发生了丢包。 超时…