数据包中可以体现数据包特征的有关字段 (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 在IP数据包中,“协议字段”用以标识接收的IP分组中的数据的高 层(传输层)协议。高层协议号由TCP|P协议中央权威机构NC ( Network Information Center)分配,如:1——控制报文协议 ICMP,6——传输控制协议TCP,8——外部网关协议EGP,17 用户数据抱协议UDP,29—传输层协议第4类|SO-TP4
(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数据包中,ToS描述P分组所希望获得的服务质量,占8位,包括 低延迟、高吞吐量、高可靠性,各占1位; 优先级,共8级,占3位 未用2位。 表31列出了RFC1349 Almquist1992]对于不同应用建议的ToS值 (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/rlogin FTP 控制 0x10 数据 任意块数据 TFTP 000 0000000 0x08 0x08 0x10 SMTP 命令 0x10 数据 0x08 UDP查询 0x10 TCP查询 0x00 区域传输 000000 00000000 0x08 CMP 差错 0x00 查询 00000000 000000 0x00 任何IGP 0x04 SNMP 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. 数据包过滤基本准则 最早的包过滤是在路由器上进行的。通过对路由表的配置,来决定数据包 是否符合过滤规则。数据包的过滤规则由一些规则逻辑描述:一条过滤规 则规定了允许数据包流进或流出内部网络的一个条件。 在制定了数据包过滤规则后,对于每一个数据包,路由器会从第一条规则 开始诸条进行检查,最后决定该数据包是否符合过滤逻辑。 数据包规则的应用有两种策略: ▪ 默认接受:一切未被禁止的,就是允许的。即除明确指定禁止的数据 包,其他都是允许通过的。这也称为“黑名单”策略。 ▪ 默认拒绝:一切未被允许的,就是禁止的。即除明确指定通过的数据 包,其他都是被禁止的。这也称为“白名单”策略。 从安全的角度,默认拒绝应该更可靠。 此外,包过滤还有禁入和禁出的区别。前者不允许指定的数据包由外部 网络流入内部网络,后者不允许指定的数据包由内部网络流入外部网络