Chinaunix首页 | 论坛 | 博客
  • 博客访问: 429962
  • 博文数量: 133
  • 博客积分: 936
  • 博客等级: 准尉
  • 技术积分: 1069
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-31 15:54
文章分类

全部博文(133)

文章存档

2016年(19)

2013年(22)

2012年(92)

分类: C/C++

2013-05-18 08:59:15

TCP/IP报头

 
参考:
http://www.zdnet.com.cn/developer/code/story/0,2000081534,39031256,00.htm




    TCP是美国国防部设计的两种传输协议之一,另一种是UDP。UDP是一种不可靠的网络服务,负载比较小,而TCP则是一种可靠的通信服务,负载相对而言比较大。TCP采用套接字(socket)


或者端口(port)来建立通信。TCP给端口到端口通信提供了错误和流量控制机制,同时TCP还负责建立连接、处理终止和中断的端对端通信控制。
    通常情况下我们认为TCP相比UDP具有更大的通信负载,UDP不具备TCP的控制特性,TCP用了大约20个字节来发送一个65Kbps的数据块,这个报头占整个数据块的比重也不过3%。所以,总得


来看,这个负载是合理的,何况还令通信具有了可靠性。


源端口            16 位         主叫端口号


目标端口          16 位         被叫端口号


序列号            32 位         保证数据按照正确的顺序得到处理。号码代表封装
                               数据的第一个字节的序列号,按顺序分段加1


确认号            32 位         代表下一个希望接收的TCP字节


数据偏移           4 位          TCP报头中32位字的数目


保留               6 位          设置为0


标志               6 位          控制连接和数据流的建立和终止:
                                URG  紧急指针字段
                                ACK  确认字段
                                PHS  推函数
                                RST  复位连接
                                SYN  同步序列编号
                                FIN  发送方没有更多数据需要传输


窗口             16 位         接收窗口的大小,表示发送方希望接收的字节数目


校验和            16 位          根据IP地址字段、TCP报头和长度的校验和


紧急指针           16 位         紧急数据之后的第一字节指针,让接收方知道有
                                少紧急数据到来。


选项               可 变         当前只定义了最大 TCP 段大小
阅读(1523) | 评论(0) | 转发(4) |
0

上一篇:TCP/IP协议栈

下一篇:ARP协议是

给主人留下些什么吧!~~