Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1813626
  • 博文数量: 272
  • 博客积分: 1272
  • 博客等级: 少尉
  • 技术积分: 1866
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-09 15:51
文章分类

全部博文(272)

文章存档

2016年(16)

2015年(28)

2014年(97)

2013年(59)

2012年(25)

2011年(47)

发布时间:2013-01-11 14:22:46

摘要: 本文简单介绍了TCP面向连接理论知识,详细讲述了TCP报文各个字段含义,并从Wireshark俘获分组中选取TCP连接建立相关报文段进行分析。 一、概述 TCP是面向连接的可靠传输协议,两个进程互发数据之前需要建立连接,这里的连接只不过是端系统中分配的一些缓存和状态变量,中间的分组交换机不维护任何连接状态信息。连接建立整个过程如下(即三次握手协议): 首先,客户机发送一个特殊的TCP报文段; 其次,服务器用另一个特殊的TCP报文段来响应; 最后,客户机再用第三个特殊报文段作为响应。 图1 三次握手协议示意图[1] 二、TCP报文格式 2.1 概述 为......【阅读全文】

阅读(5478) | 评论(0) | 转发(7)

发布时间:2013-01-09 09:27:34

. 前言 TCP是具备流控和可靠连接能力的协议,为防止TCP发生拥塞或为提高传输效率,在网络发展早期就提出了一些相关的TCP流控和优化算法,而且也被RFC2581规定是每个TCP实现时要实现的。 本文中,为求方便把将“TCP分组段(segment)”都直接称为“包”。 2. 慢启动(slow start)和拥塞避免(Congestion Avoidance) 慢启动和拥塞避免是属于TCP发送方必须(MUST)要实现的,防止TCP发送方向网络传入大量的突发数据造成网络阻塞。 先介绍几个相关参数,是在通信双方中需要考虑但不在TCP包中体现的一些参数: 拥塞窗口(cong......【阅读全文】

阅读(3686) | 评论(0) | 转发(0)

发布时间:2013-01-08 16:50:56

 首先以socket和send两个系统调用为例,来回顾一下协议栈是如何工作的,在这过程中可以找到如何在协议栈中增加对UDP协议的支持。socket系统调用的原型是int socket(int domain, int type, int protocol);domain是协议域,对于ipv4协议来说,其值是PF_INET(ipv4因特网协议),对于我们自己实现的ipv4协议模块,我们为其新增MY_PF_INET。所有的协议域在include/linux/socket.h被定义,如下:#define AF_UNSPEC 0#define AF_UNIX 1 // Unix域的socket......【阅读全文】

阅读(3060) | 评论(0) | 转发(7)

发布时间:2013-01-04 10:48:53

代码简化, 促进跨平台开发的目的.  typedef 行为有点像 #define 宏,用其实际类型替代同义字。  不同点:typedef 在编译时被解释,因此让编译器来应付超越预处理器能力的文本替换。 用法一: typedef int (*MYFUN)(int, int); 这种用法一般用在给函数定义别名的时候上面的例子定义MYFUN 是一个函数指针, 函数类型是带两个int 参数, 返回一个int 在分析这种形式的定义的时候可以用下面的方法: 先去掉typedef 和别名, 剩下的就是原变量的类型. 去掉typedef和MYFUN以后就剩: int (*)(int,......【阅读全文】

阅读(1127) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册