TCP报文段首部的前20个字节是固定的,后面有4N字节是根据需要而增加的选项。因此TCP报文段的最小长度为20个字节。
首部固定部分的各字段的意义如下:
1、源端口和目的端口:加上IP首部的源IP地址和目的IP地址,确定唯一的一个TCP连接。另外通过目的端口来决定TCP将数据报交付于那个应用程序,从而实现TCP的分用功能。
2、序号:占4个字节,序号的范围为[0,4284967296]。由于TCP是面向字节流的,在一个TCP连接中传送的字节流中的每一个字节都按顺序编号,首部中的序号字...
分类:
其他好文 时间:
2014-06-10 14:41:03
阅读次数:
198
相信不少初学手机联网开发的朋友都想知道Http与Socket连接究竟有什么区别,希望通过自己的浅显理解能对初学者有所帮助。1、TCP连接手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接。TCP协议可以对上层网络提供接口,使上层网络数据的传输建立在“无...
分类:
其他好文 时间:
2014-06-09 15:06:13
阅读次数:
276
TCP的数据被封装在一个IP数据报中:
TCP首部如下图所示:
下面以此讲解这些字段的含义。
16位源端口号、16位目的端口号。用于寻找发送端和接收端应用进程。一个IP地址(IP首部)加一个端口号(TCP首部)称为一个套接字,一对套接字可唯一确定一个TCP连接。
32位序号。用来标识数据字节流中的字节,它的值表示该报文段中第一个数据字...
分类:
其他好文 时间:
2014-06-08 15:33:06
阅读次数:
227
在有关TCP连接的很多配置中,有很多选项有的配置
net.ipv4.tcp_rmem:这个参数定义了TCP接收缓冲(用于TCP接收滑动窗口)的最小值、默认值、最大值
net.ipv4.tcp_wmem:这个参数定义了TCP发送缓冲(用于TCP发送滑动窗口)的最小值、默认值、最大值
netdev_max_backlog:当网卡接收数据包的速度大于内核处理的速度时,会有一个队列保存这些数据包...
分类:
其他好文 时间:
2014-06-08 10:01:51
阅读次数:
523
一、用途:
1.提高程序效率
默认情况下connect函数是阻塞的,它发起TCP连接的三路握手。完成一个connect需要花费一个RTT时间(从本地主机到对端再回到本地),RTT的波动范围很大,局域网上几毫秒到几百毫秒,广域网上甚至能需要几秒,这对计算机来说是非常漫长的时间,这段时间可以用来执行其他的处理工作,提高效率。因此非阻塞的connect函数是必要的。
2.同时建立多个连接,不必...
分类:
其他好文 时间:
2014-06-08 02:59:20
阅读次数:
300
TCP简介 TCP是Transmission Control
Protocol(传输控制协议)的简称,是TCP/IP体系中面向连接的运输层协议,在网络中提供全双工的和可靠的服务。 TCP最主要的特点:
(1)是面向连接的传输层协议; (2)每个TCP连接只能有两个端点,而且只能一对一通信,不...
分类:
其他好文 时间:
2014-06-06 20:12:35
阅读次数:
339
在C#编写代码,很多时候会遇到Http协议或者TCP协议,这里做一个简单的理解。
TCP协议对应于传输层,而HTTP协议对应于应用层,从本质上来说,二者没有可比性。Http协议是建立在TCP协议基础之上的,当浏览器需要从服务器获取网页数据的时候,会发出一次Http请求。Http会通过TCP建立起一个到服务器的连接通道,当本次请求需要的数据完毕后,Http会立即将TCP连接断开,这个过程是...
分类:
其他好文 时间:
2014-06-04 13:14:06
阅读次数:
296
HTTP协议学习总结一、建立连接方面HTTP/1.0
每次请求都需要建立新的TCP连接,连接不能复用。HTTP/1.1
新的请求可以在上次请求建立的TCP连接之上发送,连接可以复用。优点是减少重复进行TCP三次握手的开销,提高效率。注意:在同一个TCP连接中,新的请求需要等上次请求收到响应后,才能发...
分类:
其他好文 时间:
2014-05-31 20:49:01
阅读次数:
339
TIME_WAIT状态在等2MSL后closed,存在的原因:1.ack n+1可能丢失,FIN
N超时重发,如果不存在time_wait状态,则C端下次收到会响应RST报文,S端收到则会解释为是错误。因而,要实现TCP全双工连接的正常终止,必须正确处理终止过程中四个分节任何一个分节的丢失情况,主动...
分类:
其他好文 时间:
2014-05-29 15:38:25
阅读次数:
258
1.概念数字证书SSL/TLSopenSSL2.数字证书认证流程2.1跟服务器TCP连接2.2服务器传送证书给浏览器
证书格式2.3浏览器如何验证3.使用代理时,如何处理证书认证4.补充openSSL,openSSH,FreeBSD
分类:
其他好文 时间:
2014-05-25 22:04:43
阅读次数:
194