Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2859848
  • 博文数量: 471
  • 博客积分: 7081
  • 博客等级: 少将
  • 技术积分: 5369
  • 用 户 组: 普通用户
  • 注册时间: 2012-01-04 21:55
文章分类

全部博文(471)

文章存档

2014年(90)

2013年(69)

2012年(312)

分类: 网络与安全

2013-06-16 11:28:14

 一:TCP/IP相关问题 

连接端及标记

  IP地址和端口被称作套接字,它代表一个TCP连接的一个连接端。为了获得TCP服务,必须在发送机的一个端口上和接收机的一个端口上建立连接。TCP连接用两个连接端来区别,也就是(连接端1,连接端2)。连接端互相发送数据包。

  一个TCP数据包包括一个TCP头,后面是选项和数据。一个TCP头包含6个标志位。它们的意义分别为:

  SYN: 标志位用来建立连接,让连接双方同步序列号。如果SYN1ACK=0,则表示该数据包为连接请求,如果SYN=1ACK=1则表示接受连接。

  FIN: 表示发送端已经没有数据要求传输了,希望释放连接。

  RST: 用来复位一个连接。RST标志置位的数据包称为复位包。一般情况下,如果TCP收到的一个分段明显不是属于该主机上的任何一个连接,则向远端发送一个复位包。

  URG: 为紧急数据标志。如果它为1,表示本数据包中包含紧急数据。此时紧急数据指针有效。

  ACK: 为确认标志位。如果为1,表示包中的确认号时有效的。否则,包中的确认号无效。

PSH: 如果置位,接收端应尽快把数据传送给应用层。

TCP/IP的一些实现原则
 当一个SYN或者FIN数据包到达一个关闭的端口,TCP丢弃数据包同时发送一个RST数据包 

 当一个RST数据包到达一个监听端口,RST被丢弃  当一个RST数据包到达一个关闭的端口,RST被丢弃 

 当一个包含ACK的数据包到达一个监听端口时,数据包被丢弃,同时发送一个RST数据包 

 当一个不包含SYN位的数据包到达一个监听端口时,数据包被丢弃 

 当一个SYN数据包到达一个监听端口时,正常的三阶段握手继续,回答一个SYN|ACK数据包 

 当一个FIN数据包到达一个监听端口时,数据包被丢弃

 

原则1
当一个SYN或者FIN数据包到达一个关闭了的端口,
服务器丢弃该数据包,并返回一个RST数据包;
如图(aaa



原则2:
当一个RST数据包到达一个‘监听端口或者关闭的’端口,
RST数据包都会被服务器丢弃。

原则3
当一个ACK数据包到达一个监听的端口,
服务器会丢弃这个数据包,并回应一个RST数据包。
如图(ccc

原则4
当一个FIN数据包到达一个监听端口时,数据包将会被丢弃。
如图(ddd


 

 

阅读(3016) | 评论(5) | 转发(4) |
给主人留下些什么吧!~~