转自:http://blog.csdn.net/sunnydogzhou/article/details/6572071 1 TCP关闭时的四次握手Tcp连接在关闭的的时候,执行的是一个四次握手的过程,下图是客户端发起的关闭时客户端和服务器的状态转换图 具体过程如下:1、 客户端发送FIN报文段,进 ...
分类:
其他好文 时间:
2016-10-17 13:26:52
阅读次数:
196
可靠性: 收到消息包之后要回确认包,超时重传; TCP将保持它首部和数据的检验和。这是一个端到端的检验和,目的是检测数据在传输过程中的任何变化。如果收到段的检验和有差错,TCP将丢弃这个报文段和不确认收到此报文段(希望发端超时并重发)。 既然TCP报文段作为IP数据报来传输,而IP数据报的到达可能会 ...
分类:
其他好文 时间:
2016-09-05 00:00:30
阅读次数:
387
为什么需要“三次握手” 在谢希仁著《计算机网络》第四版中讲“三次握手”的目的是“为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误”。在另一部经典的《计算机网络》一书中讲“三次握手”的目的是为了解决“网络中存在延迟的重复分组”的问题。这两种不用的表述其实阐明的是同一个问题。 谢希仁版《 ...
分类:
其他好文 时间:
2016-09-01 08:12:32
阅读次数:
180
TCP是个流协议,它存在粘包问题 产生粘包的原因是: TCP所传输的报文段有MSS的限制,如果套接字缓冲区的大小大于MSS,也会导致消息的分割发送。 由于链路层最大发送单元MTU,在IP层会进行数据的分片。 应用层调用write方法,将应用层的缓冲区中的数据拷贝到套接字的发送缓冲区。而发送缓冲区有一 ...
分类:
其他好文 时间:
2016-08-14 22:12:56
阅读次数:
234
TCP是面向连接的,无论哪一方向另一方发送数据之前,都必须先在双方之间建立一条连接。在TCP/IP协议中,TCP 协议提供可靠的连接服务,连接是通过三次握手进行初始化的。三次握手的目的是同步连接双方的序列号和确认号 并交换 TCP窗口大小信息。 1.第一次握手:建立连接。客户端发送连接请求报文段,将 ...
分类:
其他好文 时间:
2016-08-14 16:10:18
阅读次数:
108
和UDP这种“滚珠”式的协议不同(一份数据就是一个udp packet),TCP以报文段的方式传递数据,其大小受网络链路的限制。在SYN报文段中互相通告最大报文段长(MSS)。所以业务层交付的数据,会被TCP拆分/合并为合适的报文段(这也就是为嘛TCP数据跟水流似的,没有边界)。 对于每个报文段而言 ...
分类:
其他好文 时间:
2016-08-09 20:30:09
阅读次数:
206
传输控制协议TCP概述TCP是面向连接的运输层协议。每一条TCP连接只能有两个端点(endpoint),每一条TCP连接只能是点对点的(一对一)。TCP提供可靠交付的服务。TCP提供全双工通信。面向字节流。TCP报文段的首部格式源端口和目的端口字段——各占2字节。端口是运输层与应用层的服..
分类:
其他好文 时间:
2016-08-06 22:06:07
阅读次数:
236
应用层协议在传输层之上,便是应用层。传输层的 UDP 报文和 TCP 报文段的数据部分就是应用层交付的数据。不同类型的网络应用有不同的通信规则,因此应用层协议是多种多样的,比如 DNS、FTP、Telnet、SMTP、HTTP、RIP、NFS 等协议都是用于解决其各自的一类问题。本节实验,介绍 DNS、FTP、HTTP 三个常用的应用层协议。一、DNSDNS (Domain Name Servic...
分类:
其他好文 时间:
2016-07-29 15:46:37
阅读次数:
302
TCP报文段的首部格式 概述 TCP报文段首部的前20个字节是固定的,因此TCP首部的最小长度是20字节。 源端口和目标端口 各占2个字节,分别写入源端口号和目的端口号。 序列号 占4个字节,表示本报文段所发送数据的第一个字节的编号。在TCP连接中所传送的字节流的每一个字节都会按顺序编号。由于序列号 ...
分类:
其他好文 时间:
2016-07-09 17:42:59
阅读次数:
176
分组、包,packet,信息在互联网当中传输的单元,网络层实现分组交付。用抓包工具抓到的一条条记录就是包。帧,frame,数据链路层的协议数据单元。我们将链路层分组称为帧。数据报,Datagram,通过网络传输的数据的基本单元,包含一个报头(header)和数据本身,其中报头描述了数据的目的地以及和 ...
分类:
其他好文 时间:
2016-07-07 14:26:36
阅读次数:
105