TCP是一种可靠的面向连接的数据流协议,TCP之所以可靠,是因为它保证了数据的传输有序,这是通过一个序列号和确认号来保证的。
序列号的作用:
TCP将应用层数据和管理数据的每一字节进行顺序编号,序列号用于指出本报文段携带数据的第一个字节的序列号,(SYN,FIN等算作一个字节数据)
确认号的作用:
通信双方采用确认号来对收到的数据进行确认,该确认号之前(不包括该确认号)的所有数...
分类:
其他好文 时间:
2015-04-07 17:39:22
阅读次数:
535
转自: http://blog.chinaunix.net/uid-9112803-id-3212041.html 摘要: 本文简单介绍了TCP面向连接理论知识,详细讲述了TCP报文各个字段含义,并从Wireshark俘获分组中选取TCP连接建立相关报文段进行分析。 一、概述 TCP是面向连接的可靠...
分类:
其他好文 时间:
2015-04-05 17:24:22
阅读次数:
195
应用层协议在传输层之上,便是应用层。传输层的UDP报文和TCP报文段的数据部分就是应用层交付的数据。不同类型的网络应用有不同的通信规则,因此应用层协议是多种多样的,比如DNS、FTP、Telnet、SMTP、HTTP、RIP、NFS等协议都是用于解决其各自的一类问题。本节实验,介绍DNS、FTP、H...
分类:
其他好文 时间:
2015-04-03 12:54:55
阅读次数:
134
TCP通过让接收方指明希望从发送方接收的数据字节数(即窗口大小)来进行流量控制。如果窗口大小为0会发生什么情况呢?这将有效阻止发送方传送数据,直到窗口变为非0为止。ACK的传输并不可靠,也就是说,TCP不对ACK报文段进行确认,TCP只确认那些包含有数据的ACK报文段。1.坚持定时器假设一个场景:如果一个确认丢失了,则双方就有可能因为等待对方而使连接终止,接收方等待接收数据(因为它已经向发送方通告...
分类:
其他好文 时间:
2015-03-19 13:19:06
阅读次数:
228
TCP的服务 TCP通过下列方式来提供可靠性: ? 应用数据被分割成 TCP认为最适合发送的数据块。这和 UDP完全不同,应用程序产生的数据报长度将保持不变。由 TCP传递给 IP的信息单位称为报文段或段( segment)。 ?...
分类:
其他好文 时间:
2015-03-18 16:10:46
阅读次数:
166
TCP是一个面向连接的协议。无论哪一方向另一方发送数据之前,都必须在双方之间建立一条连接。这种两端间连接的建立与无连接协议UDP不同,UDP向另一端发送数据报时,无需任何预告的握手。1.建立连接的协议(3次握手)1)请求端发送一个SYN段指明客户端打算连接的服务器端口,以及初始序列号。2)服务器发回包含服务器的初始序号的SYN报文段作为应答。同时将确认序号设置为客户的ISN加1以对客户的SYN报文...
分类:
其他好文 时间:
2015-03-17 17:58:54
阅读次数:
140
1.TCP的服务在一个TCP连接中,仅有两方进行彼此通信。TCP通过下列方式来提供可靠性:1)应用数据被分割成TCP认为最适合发送的数据块。这和UDP完全不同,应用程序产生的数据报长度保持不变。由TCP传递给IP的信息单位称为报文段或段。2)当TCP发出一个段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能及时收到一个确认,将重发这个报文段,这将在21章中重传策略中讨论。3)当TCP收...
分类:
其他好文 时间:
2015-03-17 17:58:54
阅读次数:
151
在TCP进行数据传输时,可以分为成块数据流和交互数据流两种,如果按字节计算,成块数据与交互数据的比例约为90%和10%,TCP需要同时处理这两类数据,且处理的算法不同。书籍本章中以Rlogin应用为例观察交互数据的传输过程。提示经受时延的确认是如何工作以及Nagle算法怎样减少了通过广域网络传输的小分组的数目。交互式输入上图为没有优化的字符输入回显的数据传输过程,一共需要四个报文段。经受时延的确认...
分类:
其他好文 时间:
2015-03-17 17:57:04
阅读次数:
184
1.网络传输层1应用层(HTTP、FTP、SMTP)报文Message2传输层(TCP、UDP)报文段Segment,为运行在不同主机上的应用程序进程间提供数据 传输服务。通过套接字(Socket)实现。TCP(传输控制协议)面向连接的、可靠(应用:ftp、smtp、http等都是基于tcp)UDP...
分类:
Web程序 时间:
2015-03-05 00:08:13
阅读次数:
158
目录1、socket概述2、地址及顺序处理3、函数介绍4、使用实例1、socket概述 1、TCP协议通过三次握手协议建立连接TCP协议通过三个报文段完成连接的建立,这个过程称为三次握手(three-way handshake),过程如下图所示。第一次握手:建立连接时,客户端发送syn包(syn=....
分类:
其他好文 时间:
2015-01-19 12:41:15
阅读次数:
340