数据包中可以体现数据包特征的有关字段 (1)源地址( Source Address)和目的地址( Destination Address) 它们各表明数据包的源P地址和目标P目的地址。根据地址,还可 以判断出数据流的方向:是由外部网络流入内部网络—往内(流 入),还是由内部网络流入外部网络——往外(流出)。 (2)标识符 是发送方分配的一个独一无二的编号,用于标识同一数据报中的各 分组,以便组装。 (3)标志F(Fag) F共占3位: ■第1位恒为0 第2位为0时是可分片,为1时是不可分片; 第3位为0时是最后报片,为1时是非最后报片
数据包中可以体现数据包特征的有关字段 (1)源地址(Source Address)和目的地址(Destination Address) 它们各表明数据包的源IP地址和目标IP目的地址。根据地址,还可 以判断出数据流的方向:是由外部网络流入内部网络——往内(流 入),还是由内部网络流入外部网络——往外(流出)。 (2)标识符 是发送方分配的一个独一无二的编号,用于标识同一数据报中的各 分组,以便组装。 (3)标志F(Flag) F共占3位: ▪ 第1位恒为0; ▪ 第2位为0时是可分片,为1时是不可分片; ▪ 第3位为0时是最后报片,为1时是非最后报片
(4)片偏移量FO( Fragment Offset) FO占13位,用以标明当前段片在初始|P分组中的位置,目的主机 可以根据FO来重新组合P分组。 (5)源端口( Source port)和目的端口( Destination port) 在TCP和UDP数据包中,源端口和目的端口分别表示本地通信端口 和地通信端口。端口号是按照协议类型分配的,所以端口号也表明 了所传输的数据包服务的协议类型。 (6)协议Prot( Protocol 在|P数据包中,“协议字段”用以标识接收的P分组中的数据的高 层(传输层)协议。高层协议号由TCP/P协议中央权威机构NC ( Network Information center)分配,如:1——控制报文协议 LCMP,6——传输控制协议TCP,8——外部网关协议EGP,17 用户数据抱协议UDP,29—传输层协议第4类|SOTP4
(4)片偏移量FO(Fragment Offset) FO占13位,用以标明当前段片在初始IP分组中的位置,目的主机 可以根据FO来重新组合IP分组。 (5)源端口(Source Port)和目的端口(Destination Port) 在TCP和UDP数据包中,源端口和目的端口分别表示本地通信端口 和地通信端口。端口号是按照协议类型分配的,所以端口号也表明 了所传输的数据包服务的协议类型。 (6)协议Prot(Protocol) 在IP数据包中,“协议字段”用以标识接收的IP分组中的数据的高 层(传输层)协议。高层协议号由TCP/IP协议中央权威机构NIC (Network Information Center)分配,如:1——控制报文协议 ICMP,6——传输控制协议TCP,8——外部网关协议EGP,17— —用户数据抱协议UDP,29——传输层协议第4类ISO-TP4
(7)服务类型ToS( Type of service) 在|P数据包中,T0S描述P分组所希望获得的服务质量,占8位,包括 ■低延迟、高吞吐量、高可靠性,各占1位; 优先级,共8级,占3位 未用2位。 表31列出了RFC1349 Almquist1992对于不同应用建议的TS值。 (8) 数据包内容 前面的7个字段都来自数据包头中,而数据内容则是来自数据包体 中。如数据内容中一些关键词可以代表数据内容的某一方面的特征 对数据包内容的抽取,将会形成依据内容的包过滤规则。这是目前 包过滤技术研究的一个重要方面
(7)服务类型ToS(Type of Service) 在IP数据包中,ToS描述IP分组所希望获得的服务质量,占8位,包括: ▪ 低延迟、高吞吐量、高可靠性,各占1位; ▪ 优先级,共8级,占3位; ▪ 未用2位。 (8)数据包内容 前面的7个字段都来自数据包头中,而数据内容则是来自数据包体 中。如数据内容中一些关键词可以代表数据内容的某一方面的特征。 对数据包内容的抽取,将会形成依据内容的包过滤规则。这是目前 包过滤技术研究的一个重要方面。 表3.1列出了RFC 1349[Almquist 1992]对于不同应用建议的ToS值
应用程序 最小时延最大吞吐量最高可靠性最小费用十六进制值 Telnet代Rlgi 0x10 FTP 控制 100 0 0000 0000000 0x10 数据 0x08 任意块数据 0x08 TFTP SMTP 命令 0x10 数据 UDP查 询 0000 0x08 0x10 TCP查 0 0x00 区域传 专输 0x08 ICMP 差错 0x00 查询 000000 00000 0x00 任何IGP 0x04 SNMP 0000 0x04 BOOTP 0x00 NNTP 0x02 表31RFC1349 Almquist1992]对于不同应用建议的ToS值
表3.1 RFC 1349[Almquist 1992]对于不同应用建议的ToS值 应用程序 最小时延 最大吞吐量 最高可靠性 最小费用 十六进制值 Telnet/Rlogin 1 0 0 0 0x10 FTP 控制 1 0 0 0 0x10 数据 0 1 0 0 0x08 任意块数据 0 1 0 0 0x08 TFTP 1 0 0 0 0x10 SMTP 命令 1 0 0 0 0x10 数据 0 1 0 0 0x08 DNS UDP查询 1 0 0 0 0x10 TCP查询 0 0 0 0 0x00 区域传输 0 1 0 0 0x08 ICMP 差错 0 0 0 0 0x00 查询 0 0 0 0 0x00 任何IGP 0 0 1 0 0x04 SNMP 0 0 1 0 0x04 BOOTP 0 0 0 0 0x00 NNTP 0 0 0 1 0x02
2数据包过滤基本准则 最早的包过滤是在路由器上进行的。通过对路由表的配置,来决定数据包 是否符合过滤规则。数据包的过滤规则由一些规则逻辑描述:一条过滤规 则规定了允许数据包流进或流出内部网络的一个条件。 在制定了数据包过滤规则后,对于每一个数据包,路由器会从第一条规则 开始诸条进行检査,最后决定该数据包是否符合过滤逻辑。 数据包规则的应用有两种策略: 默认接受:一切未被禁止的,就是允许的。即除明确指定禁止的数据 包,其他都是允许通过的。这也称为“黑名单”策略。 默认拒绝:一切未被允许的,就是禁止的。即除明确指定通过的数据 包,其他都是被禁止的。这也称为“白名单”策略。 从安全的角度,默认拒绝应该更可靠。 此外,包过滤还有禁入和禁出的区别。前者不允许指定的数据包由外部 网络流入内部网络,后者不允许指定的数据包由内部网络流入外部网络
2. 数据包过滤基本准则 最早的包过滤是在路由器上进行的。通过对路由表的配置,来决定数据包 是否符合过滤规则。数据包的过滤规则由一些规则逻辑描述:一条过滤规 则规定了允许数据包流进或流出内部网络的一个条件。 在制定了数据包过滤规则后,对于每一个数据包,路由器会从第一条规则 开始诸条进行检查,最后决定该数据包是否符合过滤逻辑。 数据包规则的应用有两种策略: ▪ 默认接受:一切未被禁止的,就是允许的。即除明确指定禁止的数据 包,其他都是允许通过的。这也称为“黑名单”策略。 ▪ 默认拒绝:一切未被允许的,就是禁止的。即除明确指定通过的数据 包,其他都是被禁止的。这也称为“白名单”策略。 从安全的角度,默认拒绝应该更可靠。 此外,包过滤还有禁入和禁出的区别。前者不允许指定的数据包由外部 网络流入内部网络,后者不允许指定的数据包由内部网络流入外部网络