rfc8783v3.txt   rfc8783.txt 
skipping to change at line 2946 skipping to change at line 2946
Figure 34 shows the content of the POST request to be issued by a Figure 34 shows the content of the POST request to be issued by a
DOTS client to its DOTS server to allow the traffic destined to DOTS client to its DOTS server to allow the traffic destined to
198.51.100.0/24 and UDP port number 53, but to drop all fragmented 198.51.100.0/24 and UDP port number 53, but to drop all fragmented
packets. The following ACEs are defined (in this order): packets. The following ACEs are defined (in this order):
* "drop-all-fragments" ACE: discards all fragments. * "drop-all-fragments" ACE: discards all fragments.
* "allow-dns-packets" ACE: accepts DNS packets destined to * "allow-dns-packets" ACE: accepts DNS packets destined to
198.51.100.0/24. 198.51.100.0/24.
POST /restconf/data/ietf-dots-data-channel:dots-data\ POST /restconf/data/ietf-dots-data-channel:dots-data\
/dots-client=dz6pHjaADkaFTbjr0JGBpw HTTP/1.1 /dots-client=dz6pHjaADkaFTbjr0JGBpw HTTP/1.1
Host: example.com Host: example.com
Content-Type: application/yang-data+json Content-Type: application/yang-data+json
{ {
"ietf-dots-data-channel:acls": { "ietf-dots-data-channel:acls": {
"acl": [ "acl": [
{ {
"name": "dns-fragments", "name": "dns-fragments",
"type": "ipv4-acl-type", "type": "ipv4-acl-type",
"aces": { "aces": {
"ace": [ "ace": [
{ {
"name": "drop-all-fragments", "name": "drop-all-fragments",
"matches": { "matches": {
"ipv4": { "ipv4": {
"fragment": { "fragment": {
"operator": "match", "operator": "match",
"type": "isf" "type": "isf"
} }
} }
}, },
"actions": { "actions": {
"forwarding": "drop" "forwarding": "drop"
} }
} },
]
"ace": [
{ {
"name": "allow-dns-packets", "name": "allow-dns-packets",
"matches": { "matches": {
"ipv4": { "ipv4": {
"destination-ipv4-network": "198.51.100.0/24" "destination-ipv4-network": "198.51.100.0/24"
} },
"udp": { "udp": {
"destination-port": { "destination-port-range-or-operator": {
"operator": "eq", "operator": "eq",
"port": 53 "port": 53
}
},
"actions": {
"forwarding": "accept"
} }
},
"actions": {
"forwarding": "accept"
} }
} }
] ]
} }
} }
] ]
} }
} }
Figure 34: Filtering IPv4 Fragmented Packets Figure 34: Filtering IPv4 Fragmented Packets
Figure 35 shows an example of a POST request issued by a DOTS client Figure 35 shows an example of a POST request issued by a DOTS client
to its DOTS server to allow the traffic destined to 2001:db8::/32 and to its DOTS server to allow the traffic destined to 2001:db8::/32 and
UDP port number 53, but to drop all fragmented packets. The UDP port number 53, but to drop all fragmented packets. The
following ACEs are defined (in this order): following ACEs are defined (in this order):
* "drop-all-fragments" ACE: discards all fragments (including atomic * "drop-all-fragments" ACE: discards all fragments (including atomic
fragments). That is, IPv6 packets that include a Fragment header fragments). That is, IPv6 packets that include a Fragment header
(44) are dropped. (44) are dropped.
* "allow-dns-packets" ACE: accepts DNS packets destined to * "allow-dns-packets" ACE: accepts DNS packets destined to
2001:db8::/32. 2001:db8::/32.
POST /restconf/data/ietf-dots-data-channel:dots-data\ POST /restconf/data/ietf-dots-data-channel:dots-data\
/dots-client=dz6pHjaADkaFTbjr0JGBpw HTTP/1.1 /dots-client=dz6pHjaADkaFTbjr0JGBpw HTTP/1.1
Host: example.com Host: example.com
Content-Type: application/yang-data+json Content-Type: application/yang-data+json
{ {
"ietf-dots-data-channel:acls": { "ietf-dots-data-channel:acls": {
"acl": [ "acl": [
{ {
"name": "dns-fragments", "name": "dns-fragments",
"type": "ipv6-acl-type", "type": "ipv6-acl-type",
"aces": { "aces": {
"ace": [ "ace": [
{ {
"name": "drop-all-fragments", "name": "drop-all-fragments",
"matches": { "matches": {
"ipv6": { "ipv6": {
"fragment": { "fragment": {
"operator": "match", "operator": "match",
"type": "isf" "type": "isf"
} }
} }
}, },
"actions": { "actions": {
"forwarding": "drop" "forwarding": "drop"
} }
} },
]
"ace": [
{ {
"name": "allow-dns-packets", "name": "allow-dns-packets",
"matches": { "matches": {
"ipv6": { "ipv6": {
"destination-ipv6-network": "2001:db8::/32" "destination-ipv6-network": "2001:db8::/32"
} },
"udp": { "udp": {
"destination-port": { "destination-port-range-or-operator": {
"operator": "eq", "operator": "eq",
"port": 53 "port": 53
} }
} }
}, },
"actions": { "actions": {
"forwarding": "accept" "forwarding": "accept"
} }
} }
] ]
} }
} }
] ]
} }
} }
Figure 35: Filtering IPv6 Fragmented Packets Figure 35: Filtering IPv6 Fragmented Packets
Appendix B. Examples: Filtering TCP Messages Appendix B. Examples: Filtering TCP Messages
This section provides examples to illustrate TCP-specific filtering This section provides examples to illustrate TCP-specific filtering
based on the flag bits. These examples should not be interpreted as based on the flag bits. These examples should not be interpreted as
recommended filtering behaviors under specific DDoS attacks. recommended filtering behaviors under specific DDoS attacks.
B.1. Discard TCP Null Attack B.1. Discard TCP Null Attack
 End of changes. 14 change blocks. 
25 lines changed or deleted 22 lines changed or added

This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/