1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341
|
<pre>Network Working Group B. Trammell
Request for Comments: 5103 CERT/NetSA
Category: Standards Track E. Boschi
Hitachi Europe
January 2008
<span class="h1">Bidirectional Flow Export Using IP Flow Information Export (IPFIX)</span>
Status of This Memo
This document specifies an Internet standards track protocol for the
Internet community, and requests discussion and suggestions for
improvements. Please refer to the current edition of the "Internet
Official Protocol Standards" (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Abstract
This document describes an efficient method for exporting
bidirectional flow (Biflow) information using the IP Flow Information
Export (IPFIX) protocol, representing each Biflow using a single Flow
Record.
<span class="grey">Trammell & Boschi Standards Track [Page 1]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-2" ></span>
<span class="grey"><a href="./rfc5103">RFC 5103</a> IPFIX Biflow Export January 2008</span>
Table of Contents
<a href="#section-1">1</a>. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-3">3</a>
<a href="#section-1.1">1.1</a>. IPFIX Documents Overview . . . . . . . . . . . . . . . . . <a href="#page-3">3</a>
<a href="#section-2">2</a>. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-4">4</a>
<a href="#section-3">3</a>. Rationale and History . . . . . . . . . . . . . . . . . . . . <a href="#page-5">5</a>
<a href="#section-4">4</a>. Biflow Semantics . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-6">6</a>
<a href="#section-5">5</a>. Direction Assignment . . . . . . . . . . . . . . . . . . . . . <a href="#page-8">8</a>
<a href="#section-5.1">5.1</a>. Direction by Initiator . . . . . . . . . . . . . . . . . . <a href="#page-9">9</a>
<a href="#section-5.2">5.2</a>. Direction by Perimeter . . . . . . . . . . . . . . . . . . <a href="#page-10">10</a>
<a href="#section-5.3">5.3</a>. Arbitrary Direction . . . . . . . . . . . . . . . . . . . <a href="#page-10">10</a>
<a href="#section-6">6</a>. Record Representation . . . . . . . . . . . . . . . . . . . . <a href="#page-11">11</a>
<a href="#section-6.1">6.1</a>. Reverse Information Element Private Enterprise Number . . <a href="#page-11">11</a>
<a href="#section-6.2">6.2</a>. Enterprise-Specific Reverse Information Elements . . . . . <a href="#page-13">13</a>
<a href="#section-6.3">6.3</a>. biflowDirection Information Element . . . . . . . . . . . <a href="#page-13">13</a>
<a href="#section-7">7</a>. IANA Considerations . . . . . . . . . . . . . . . . . . . . . <a href="#page-14">14</a>
<a href="#section-8">8</a>. Security Considerations . . . . . . . . . . . . . . . . . . . <a href="#page-15">15</a>
<a href="#section-9">9</a>. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-15">15</a>
<a href="#section-10">10</a>. References . . . . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-15">15</a>
<a href="#section-10.1">10.1</a>. Normative References . . . . . . . . . . . . . . . . . . . <a href="#page-15">15</a>
<a href="#section-10.2">10.2</a>. Informative References . . . . . . . . . . . . . . . . . . <a href="#page-15">15</a>
<a href="#appendix-A">Appendix A</a>. Examples . . . . . . . . . . . . . . . . . . . . . . <a href="#page-17">17</a>
<a href="#appendix-B">Appendix B</a>. XML Specification of biflowDirection Information
Element . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-21">21</a>
<span class="grey">Trammell & Boschi Standards Track [Page 2]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-3" ></span>
<span class="grey"><a href="./rfc5103">RFC 5103</a> IPFIX Biflow Export January 2008</span>
<span class="h2"><a class="selflink" id="section-1" href="#section-1">1</a>. Introduction</span>
Many flow analysis tasks benefit from association of the upstream and
downstream flows of a bidirectional communication, e.g., separating
answered and unanswered TCP requests, calculating round trip times,
etc. Metering processes that are not part of an asymmetric routing
infrastructure, especially those deployed at a single point through
which bidirectional traffic flows, are well positioned to observe
bidirectional flows (Biflows). In such topologies, the total
resource requirements for Biflow assembly are often lower if the
Biflows are assembled at the measurement interface as opposed to the
Collector. The IPFIX Protocol requires only information model
extensions to be complete as a solution for exporting Biflow data.
To that end, we propose a Biflow export method using a single Flow
Record per Biflow in this document. We explore the semantics of
bidirectional flow data in <a href="#section-4">Section 4</a>, "Biflow Semantics"; examine the
various possibilities for determining the direction of Biflows in
<a href="#section-5">Section 5</a>, "Direction Assignment"; then define the Biflow export
method in <a href="#section-6">Section 6</a>, "Record Representation".
This export method requires additional Information Elements to
represent data values for the reverse direction of each Biflow, and a
single additional Information Element to represent direction
assignment information, as described in Sections <a href="#section-6.1">6.1</a> through <a href="#section-6.3">6.3</a>.
The selection of this method was motivated by an exploration of other
possible methods of Biflow export using IPFIX; however, these methods
have important drawbacks, as discussed in <a href="#section-3">Section 3</a>, "Rationale and
History".
<span class="h3"><a class="selflink" id="section-1.1" href="#section-1.1">1.1</a>. IPFIX Documents Overview</span>
"Specification of the IPFIX Protocol for the Exchange of IP Traffic
Flow Information" [<a href="./rfc5101" title=""Specification of the IP Flow Information Export (IPFIX) Protocol for the Exchange of IP Traffic Flow Information"">RFC5101</a>] (informally, the IPFIX Protocol document)
and its associated documents define the IPFIX Protocol, which
provides network engineers and administrators with access to IP
traffic flow information.
"Architecture for IP Flow Information Export" [<a href="#ref-IPFIX-ARCH" title=""Architecture for IP Flow Information Export"">IPFIX-ARCH</a>] (the IPFIX
Architecture document) defines the architecture for the export of
measured IP flow information out of an IPFIX Exporting Process to an
IPFIX Collecting Process, and the basic terminology used to describe
the elements of this architecture, per the requirements defined in
"Requirements for IP Flow Information Export" [<a href="./rfc3917" title=""Requirements for IP Flow Information Export (IPFIX)"">RFC3917</a>]. The IPFIX
Protocol document [<a href="./rfc5101" title=""Specification of the IP Flow Information Export (IPFIX) Protocol for the Exchange of IP Traffic Flow Information"">RFC5101</a>] then covers the details of the method for
transporting IPFIX Data Records and Templates via a congestion-aware
transport protocol from an IPFIX Exporting Process to an IPFIX
Collecting Process.
<span class="grey">Trammell & Boschi Standards Track [Page 3]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-4" ></span>
<span class="grey"><a href="./rfc5103">RFC 5103</a> IPFIX Biflow Export January 2008</span>
"Information Model for IP Flow Information Export" [<a href="./rfc5102" title=""Information Model for IP Flow Information Export"">RFC5102</a>]
(informally, the IPFIX Information Model document) describes the
Information Elements used by IPFIX, including details on Information
Element naming, numbering, and data type encoding. Finally, "IPFIX
Applicability" [<a href="#ref-IPFIX-AS" title=""IPFIX Applicability"">IPFIX-AS</a>] describes the various applications of the
IPFIX protocol and their use of information exported via IPFIX, and
relates the IPFIX architecture to other measurement architectures and
frameworks.
This document references the Protocol and Architecture documents for
terminology, uses the IPFIX Protocol to define a bidirectional flow
export method, and proposes additions to the information model
defined in the IPFIX Information Model document.
<span class="h2"><a class="selflink" id="section-2" href="#section-2">2</a>. Terminology</span>
Capitalized terms used in this document that are defined in the
Terminology section of the IPFIX Protocol document [<a href="./rfc5101" title=""Specification of the IP Flow Information Export (IPFIX) Protocol for the Exchange of IP Traffic Flow Information"">RFC5101</a>] are to
be interpreted as defined there. The following additional terms are
defined in terms of the IPFIX Protocol document terminology.
Directional Key Field: A Directional Key Field is a single field in
a Flow Key as defined in the IPFIX Protocol document [<a href="./rfc5101" title=""Specification of the IP Flow Information Export (IPFIX) Protocol for the Exchange of IP Traffic Flow Information"">RFC5101</a>]
that is specifically associated with a single endpoint of the
Flow. sourceIPv4Address and destinationTransportPort are example
Directional Key Fields.
Non-directional Key Field: A Non-directional Key Field is a single
field within a Flow Key as defined in the IPFIX Protocol document
[<a href="./rfc5101" title=""Specification of the IP Flow Information Export (IPFIX) Protocol for the Exchange of IP Traffic Flow Information"">RFC5101</a>] that is not specifically associated with either endpoint
of the Flow. protocolIdentifier is an example Non-directional Key
Field.
Uniflow (Unidirectional Flow): A Uniflow is a Flow as defined in the
IPFIX Protocol document [<a href="./rfc5101" title=""Specification of the IP Flow Information Export (IPFIX) Protocol for the Exchange of IP Traffic Flow Information"">RFC5101</a>], restricted such that the Flow
is composed only of packets sent from a single endpoint to another
single endpoint.
Biflow (Bidirectional Flow): A Biflow is a Flow as defined in the
IPFIX Protocol document [<a href="./rfc5101" title=""Specification of the IP Flow Information Export (IPFIX) Protocol for the Exchange of IP Traffic Flow Information"">RFC5101</a>], composed of packets sent in
both directions between two endpoints. A Biflow is composed from
two Uniflows such that:
1. the value of each Non-directional Key Field of each Uniflow is
identical to its counterpart in the other, and
2. the value of each Directional Key Field of each Uniflow is
identical to its reverse direction counterpart in the other.
<span class="grey">Trammell & Boschi Standards Track [Page 4]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-5" ></span>
<span class="grey"><a href="./rfc5103">RFC 5103</a> IPFIX Biflow Export January 2008</span>
A Biflow contains two non-key fields for each value it represents
associated with a single direction or endpoint: one for the
forward direction and one for the reverse direction, as defined
below.
Biflow Source: The Biflow Source is the endpoint identified by the
source Directional Key Fields in the Biflow.
Biflow Destination: The Biflow Destination is the endpoint
identified by the destination Directional Key Fields in the
Biflow.
forward direction (of a Biflow): The direction of a Biflow composed
of packets sent by the Biflow Source. Values associated with the
forward direction of a Biflow are represented using normal
Information Elements. In other words, a Uniflow may be defined as
a Biflow having only a forward direction.
reverse direction (of a Biflow): The direction of a Biflow composed
of packets sent by the Biflow Destination. Values associated with
the reverse direction of a Biflow are represented using Reverse
Information Elements, as defined below.
Reverse Information Element: An Information Element defined as
corresponding to a normal (or forward) Information Element, but
associated with the reverse direction of a Biflow.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in <a href="./rfc2119">RFC 2119</a> [<a href="./rfc2119" title=""Key words for use in RFCs to Indicate Requirement Levels"">RFC2119</a>].
<span class="h2"><a class="selflink" id="section-3" href="#section-3">3</a>. Rationale and History</span>
In selecting the Single Record Biflow export method described in this
document as the recommendation for bidirectional flow export using
IPFIX, we considered several other possible methods.
The first and most obvious would be simply to export Biflows as two
Uniflows adjacent in the record stream; a Collecting Process could
then reassemble them with minimal state requirements. However, this
has the drawbacks that it is merely an informal arrangement the
Collecting Process cannot rely upon, and that it is not bandwidth-
efficient, duplicating the export of Flow Key data in each Uniflow
record.
We then considered the method outlined in Reducing Redundancy in
IPFIX and Packet Sampling (PSAMP) Reports [<a href="#ref-IPFIX-REDUCING" title=""Reducing Redundancy in IP Flow Information Export (IPFIX) and Packet Sampling (PSAMP) Reports"">IPFIX-REDUCING</a>] for
reducing this bandwidth inefficiency. This would also formally link
<span class="grey">Trammell & Boschi Standards Track [Page 5]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-6" ></span>
<span class="grey"><a href="./rfc5103">RFC 5103</a> IPFIX Biflow Export January 2008</span>
the two Uniflows into a single construct, by exporting the Flow Key
as Common Properties then exporting each direction's information as
Specific Properties. However, it would do so at the expense of
additional overhead to transmit the commonPropertiesId, and
additional state management requirements at both the Collecting and
Exporting Processes.
A proposal was made on the IPFIX mailing list to use the Multiple
Information Element feature of the protocol to export forward and
reverse counters using identical Information Elements in the same
Flow Record. In this approach, the first instance of a counter would
represent the forward direction, and the second instance of the same
counter would represent the reverse. This had the disadvantage of
conflicting with the presently defined semantics for these counters,
and, as such, was abandoned.
<span class="h2"><a class="selflink" id="section-4" href="#section-4">4</a>. Biflow Semantics</span>
As stated in the Terminology section above, a Biflow is simply a Flow
representing packets flowing in both directions between two endpoints
on a network. There are compelling reasons to treat Biflows as
single entities (as opposed to merely ad-hoc combinations of
Uniflows) within IPFIX. First, as most application-layer network
protocols are inherently bidirectional, a Biflow-based data model
more accurately represents the behavior of the network, and enables
easier application of flow data to answering interesting questions
about network behavior. Second, exporting Biflow data can result in
improved export efficiency by eliminating the duplication of Flow Key
data in an IPFIX message stream, and improve collection efficiency by
removing the burden of Biflow matching from the Collecting Process
where possible.
Biflows are somewhat more semantically complicated than Uniflows.
When handling Uniflows, the semantics of source and destination
Information Elements are clearly defined by the semantics of the
underlying packet header data: the source Information Elements
represent the source header fields, and the destination Information
Elements represent the destination header fields. When representing
Biflows with single IPFIX Data Records, the definitions of source and
destination must be chosen more carefully.
As in the Terminology section above, we define the Source of a Biflow
to be that identified by the source Directional Key Field(s), and the
Destination of the Biflow to be that identified by the destination
Directional Key Field(s). Note that, for IANA-registered Information
Elements, or those defined by the IPFIX Information Model [<a href="./rfc5102" title=""Information Model for IP Flow Information Export"">RFC5102</a>],
Directional Key Fields associated with the Biflow Source are
represented by Information Elements whose names begin with "source",
<span class="grey">Trammell & Boschi Standards Track [Page 6]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-7" ></span>
<span class="grey"><a href="./rfc5103">RFC 5103</a> IPFIX Biflow Export January 2008</span>
and Directional Key Fields associated with the Biflow Destination are
represented by Information Elements whose names begin with
"destination"; it is recommended that enterprise-specific Information
Elements follow these conventions, as well.
Methods for assignment of Source and Destination by the Metering and
Exporting Processes are described in the following section.
As the Source and Destination of a Biflow are defined in terms of its
Directional Keys, Biflow values are also split info forward and
reverse directions. As in the Terminology section above, the forward
direction of a Biflow is composed of packets sent by the Biflow
Source, and the reverse direction of a Biflow is composed of packets
sent by the Destination. In other words, the two directions of a
Biflow may be roughly thought of as the two Uniflows that were
matched to compose the Biflow. A Biflow record, then, contains each
Flow Key record once, and both forward Information Elements and
Reverse Information Elements for each non-key field. See Figure 1
for an illustration of the composition of Biflows from Uniflows.
Uniflow Uniflow
+-------+-------+-----------------+ +-------+-------+-----------------+
| src A | dst B | counters/values | | src B | dst A | counters/values |
+-------+-------+-----------------+ +-------+-------+-----------------+
| | | |
V V V V
+-------+-------+---------------------+---------------------+
| src A | dst B | fwd counters/values | rev counters/values |
+-------+-------+---------------------+---------------------+
Biflow
Figure 1: Bidirectional Flow Conceptual Diagram
The reverse direction values are represented by Reverse Information
Elements. The representation of these Reverse Information Elements
within Templates is detailed in <a href="#section-5">Section 5</a>. A Flow Record may be
considered to be a Biflow record by the Collecting Process if it
contains at least one Reverse Information Element AND at least one
Directional Key Field. Flow Records containing Reverse Information
Elements but no Directional Key Fields are illegal, MUST NOT be sent
by the Exporting Process, and SHOULD be dropped by the Collecting
Process. The Collecting Process SHOULD log the receipt of such
illegal Flow Records.
When exporting Uniflows, Exporting Processes SHOULD use a Template
containing no Reverse Information Elements. Note that a Template
whose only Reverse Information Elements are counters MAY be used to
<span class="grey">Trammell & Boschi Standards Track [Page 7]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-8" ></span>
<span class="grey"><a href="./rfc5103">RFC 5103</a> IPFIX Biflow Export January 2008</span>
export Uniflows, as counters with values of 0 are semantically
equivalent to no reverse direction. However, this approach is not
possible for Reverse Information Elements whose zero values have a
distinct meaning (e.g., tcpControlBits).
Note that a Biflow traversing a middlebox [<a href="./rfc3234" title=""Middleboxes: Taxonomy and Issues"">RFC3234</a>] may show
different flow properties on each side of the middlebox due to
changes to the packet header or payload performed by the middlebox
itself. Therefore, it MUST be clear at a Collecting Process whether
packets were observed and metered before or after modification. The
Observation Process SHOULD be located on one side of a middlebox, and
the Exporting Process SHOULD communicate to the Collecting Process
both the incoming value of the flow property changed within the
middlebox and the changed value on the "other side". The IPFIX
Information Model [<a href="./rfc5102" title=""Information Model for IP Flow Information Export"">RFC5102</a>] provides Information Elements with prefix
"post" for this purpose. The location of the Observation Point(s)
with respect to the middlebox can be communicated using Options with
Observation Point as Scope and elements such as lineCardID or
samplerID.
For further information on the effect of middleboxes within the IPFIX
architecture, refer to <a href="#section-7">Section 7</a> of the IPFIX Implementation
Guidelines [<a href="#ref-IPFIX-IMPLEMENTATION" title=""IPFIX Implementation Guidelines"">IPFIX-IMPLEMENTATION</a>].
By the definition of Observation Domain in <a href="#section-2">Section 2</a> of the IPFIX
Protocol document [<a href="./rfc5101" title=""Specification of the IP Flow Information Export (IPFIX) Protocol for the Exchange of IP Traffic Flow Information"">RFC5101</a>], Biflows may be composed only of packets
observed within the same Observation Domain. This implies that
Metering Processes that build Biflows out of Uniflows must ensure
that the two Uniflows were observed within the same Observation
Domain.
<span class="h2"><a class="selflink" id="section-5" href="#section-5">5</a>. Direction Assignment</span>
Due to the variety of flow measurement applications and restrictions
on Metering Process deployment, one single method of assigning the
directions of a Biflow will not apply in all cases. This section
describes three methods of direction assignment, and recommends them
based upon Metering Process position and measurement application
requirements. In each of the figures in this section, the "MP" box
represents the Metering Process.
As the method selection is dependent on Metering Process position, it
is sufficient to configure the direction assignment method at the
Collecting and/or the Exporting Process out-of-band. For example, a
Collecting Process might be configured that a specific Exporting
Process identified by exporterIPv4Address is assigning direction by
initiator; or both a Collecting Process and an Exporting Process
could be simultaneously configured with a specific direction
<span class="grey">Trammell & Boschi Standards Track [Page 8]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-9" ></span>
<span class="grey"><a href="./rfc5103">RFC 5103</a> IPFIX Biflow Export January 2008</span>
assignment perimeter. However, for Exporting Processes that use
multiple direction selection methods, or for Collecting Processes
accepting data from Exporting Processes using a variety of methods, a
biflowDirection Information Element is provided for optional
representation of direction assignment information.
<span class="h3"><a class="selflink" id="section-5.1" href="#section-5.1">5.1</a>. Direction by Initiator</span>
If the measurement application requires the determination of the
initiator and responder of a given communication, the Metering
Process SHOULD define the Biflow Source to be the initiator of the
Biflow, where possible. This can be roughly approximated by a
Metering Process observing packets in both directions simply assuming
that the first packet seen in a given Biflow is the packet initiating
the Biflow. A Metering Process may improve upon this method by using
knowledge of the transport or application protocols (e.g., TCP flags,
DNS question/answer counts) to better approximate the flow-initiating
packet.
Note that direction assignment by initiator is most easily done by a
single Metering Process positioned on a local link layer, as in
Figure 2, or a single Metering Process observing bidirectional packet
flows at a symmetric perimeter routing point, as in Figure 3.
Note also that many Metering Processes have an "active" timeout, such
that any flow with a duration longer than the active timeout is
expired and any further packets belonging to that flow are accounted
for as part of a new flow. This mechanism may cause issues with the
assumption that a first packet seen is from the flow initiator, if
the "first" packet is a middle packet in a long-duration flow.
+-------+ +-------+
| node | | node |
+---+---+ +---+---+
| | +---------+
<===+=====+=====+======>+ +<===> Internet
| | router |
+---+---+ +---------+
| MP |
+---+---+
Figure 2: Local Link Metering Process Position
<span class="grey">Trammell & Boschi Standards Track [Page 9]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-10" ></span>
<span class="grey"><a href="./rfc5103">RFC 5103</a> IPFIX Biflow Export January 2008</span>
+-------+ +-------+
| node | | node |
+---+---+ +---+---+
| | +---------+
<===+===========+======>+ +<===> Internet
| router |
| +----+--+
+----+ MP |
+-------+
Figure 3: Symmetric Routing Point Metering Process Position
<span class="h3"><a class="selflink" id="section-5.2" href="#section-5.2">5.2</a>. Direction by Perimeter</span>
If the measurement application is deployed at a network perimeter, as
illustrated in Figure 4, such that there is a stable set of addresses
that can be defined as "inside" that perimeter, and there is no
measurement application requirement to determine the initiator and
responder of a given communication, then the Metering Process SHOULD
assign the Biflow Source to be the endpoint outside the perimeter.
No facility is provided for exporting the address set defining the
interior of a perimeter; this set may be deduced by the Collecting
Process observing the set of Biflow Source and Biflow Destination
addresses, or configured out-of-band.
+---------+ +---------+
====>+ access +====> ====>+ access +====>
Internet | router | Local Net | router | Internet
(link A) <====+ A +<==== <====+ B +<==== (link B)
+----+----+ +---------+
|
+---+---+
| MP |
+-------+
Figure 4: Perimeter Metering Process Position
<span class="h3"><a class="selflink" id="section-5.3" href="#section-5.3">5.3</a>. Arbitrary Direction</span>
If the measurement application is deployed in a network core, such
that there is no stable set of addresses defining a perimeter (e.g.,
due to BGP updates), as in Figure 5, and no requirement or ability to
determine the initiator or responder of a given communication, then
the Metering Process MAY assign the Biflow Source and Biflow
Destination endpoints arbitrarily.
<span class="grey">Trammell & Boschi Standards Track [Page 10]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-11" ></span>
<span class="grey"><a href="./rfc5103">RFC 5103</a> IPFIX Biflow Export January 2008</span>
In this case, the Metering Process SHOULD be consistent in its choice
of direction. Once assigned, direction SHOULD be maintained for the
lifetime of the Biflow, even in the case of active timeout of a
long-lived Biflow.
|
V
+----+----+ +---------+
<===+ core | | core +===>
| router +<========>+ router |
===>+ | | +<===
+----+----+ +----+----+
| |
+---+---+ V
| MP |
+-------+
Figure 5: Transit/Core Metering Process Position
<span class="h2"><a class="selflink" id="section-6" href="#section-6">6</a>. Record Representation</span>
As noted above, Biflows are exported using a single Flow Record, each
of which contains the Flow Key fields once, and both forward
Information Elements and Reverse Information Elements for each non-
key field. The IPFIX Information Model is extended to provide a
Reverse Information Element counterpart to each presently defined
forward Information Element, as required by any Information Element
that may be a non-key field in a Biflow.
<span class="h3"><a class="selflink" id="section-6.1" href="#section-6.1">6.1</a>. Reverse Information Element Private Enterprise Number</span>
Reverse Information Elements are specified as a separate "dimension"
in the Information Element space, assigning Private Enterprise Number
(PEN) 29305 to this document, and defining that PEN to signify "IPFIX
Reverse Information Element" (the Reverse PEN). This Reverse PEN
serves as a "reverse direction flag" in the Template; each
Information Element number within this PEN space is assigned to the
reverse counterpart of the corresponding IANA-assigned public
Information Element number. In other words, to generate a Reverse
Information Element in a Template corresponding to a given forward
Information Element, simply set the enterprise bit and define the
Information Element within the Reverse PEN space, as in Figure 6
below.
<span class="grey">Trammell & Boschi Standards Track [Page 11]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-12" ></span>
<span class="grey"><a href="./rfc5103">RFC 5103</a> IPFIX Biflow Export January 2008</span>
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0| flowStartSeconds 150 | Field Length = 4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
forward |
|
reverse V
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|1| (rev) flowStartSeconds 150 | Field Length = 4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reverse PEN 29305 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 6: Example Mapping between Forward and Reverse IEs
As the Reverse Information Element dimension is treated explicitly as
such, new Information Elements can be added freely to the IANA-
managed space without concern for whether a Reverse Information
Element should also be added. Aside from the initial allocation of a
Private Enterprise Number for this purpose, there is no additional
maintenance overhead for supporting Reverse Information Elements in
the IPFIX Information Model.
Note that certain Information Elements in the IPFIX Information Model
[<a href="./rfc5102" title=""Information Model for IP Flow Information Export"">RFC5102</a>] are not reversible; that is, they are semantically
meaningless as Reverse Information Elements. An Exporting Process
MUST NOT export a Template containing the reverse counterpart of a
non-reversible Information Element. A Collecting Process receiving
the reverse counterpart of a non-reversible Information Element MAY
discard that Information Element from the Flow Record. Non-
reversible Information Elements represent properties of the Biflow
record as a whole, or are intended for internal the use of the IPFIX
Protocol itself. Therefore, by definition, they cannot be associated
with a single direction or endpoint of the Flow.
The following specific Information Elements are not reversible:
1. Identifiers defined in <a href="./rfc5102#section-5.1">Section 5.1 of [RFC5102]</a> that cannot be
associated with a single direction of Uniflow collection: flowId
(5.1.7), templateId (5.1.8), observationDomainId (5.1.9), and
commonPropertiesId (5.1.11).
2. Process configuration elements defined in <a href="./rfc5102#section-5.2">Section 5.2 of
[RFC5102]</a>.
3. Process statistics elements defined in <a href="./rfc5102#section-5.3">Section 5.3 of [RFC5102]</a>.
<span class="grey">Trammell & Boschi Standards Track [Page 12]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-13" ></span>
<span class="grey"><a href="./rfc5103">RFC 5103</a> IPFIX Biflow Export January 2008</span>
4. paddingOctets defined in <a href="./rfc5102#section-5.12.1">Section 5.12.1 of [RFC5102]</a>.
5. biflowDirection (defined in <a href="#section-6.3">Section 6.3</a> of this document).
Any future addition to the Information Element Registry by IANA that
meets the criteria defined above SHOULD also be considered to be non-
reversible by the Collecting Process.
Note that Information Elements commonly used as Flow Keys (e.g.,
header fields defined in Sections <a href="#section-5.4">5.4</a> and <a href="#section-5.5">5.5</a> of the Information
Model) are reversible, as they may be used as value fields in certain
contexts, as when associating ICMP error messages with the flows that
caused them.
<span class="h3"><a class="selflink" id="section-6.2" href="#section-6.2">6.2</a>. Enterprise-Specific Reverse Information Elements</span>
Note that the Reverse PEN defined above is only available for
allocating reverse counterparts of IANA-registered IPFIX Information
Elements. No facility is provided for allocating reverse
counterparts of enterprise-specific Information Elements.
The allocation of enterprise-specific Information Elements for IPFIX
is left to the discretion of the organization allocating them. Note
that, as enterprise-specific Information Elements are designed for
the internal use of private enterprises, the lack of any guidance or
standard on Information Element allocation policies poses no
interoperability issues. However, if a private enterprise's own
Information Element registry anticipates the allocation of reversible
Information Elements, and the use of this specification for the
export of Biflow data, that registry MAY reserve one of the fifteen
available bits in the Information Element ID to signify the reverse
direction. For example, if the most significant bit were selected,
this would reserve Information Element IDs 0x4000 to 0x7FFF for the
reverse direction of Information Element IDs 0x0000 to 0x3FFF.
<span class="h3"><a class="selflink" id="section-6.3" href="#section-6.3">6.3</a>. biflowDirection Information Element</span>
Description: A description of the direction assignment method used
to assign the Biflow Source and Destination. This Information
Element MAY be present in a Flow Record, or applied to all flows
exported from an Exporting Process or Observation Domain using
IPFIX Options. If this Information Element is not present in a
Flow Record or associated with a Biflow via scope, it is assumed
that the configuration of the direction assignment method is done
out-of-band. Note that when using IPFIX Options to apply this
Information Element to all flows within an Observation Domain or
from an Exporting Process, the Option SHOULD be sent reliably. If
reliable transport is not available (i.e., when using UDP), this
<span class="grey">Trammell & Boschi Standards Track [Page 13]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-14" ></span>
<span class="grey"><a href="./rfc5103">RFC 5103</a> IPFIX Biflow Export January 2008</span>
Information Element SHOULD appear in each Flow Record. This field
may take the following values:
+-------+------------------+----------------------------------------+
| Value | Name | Description |
+-------+------------------+----------------------------------------+
| 0x00 | arbitrary | Direction was assigned arbitrarily. |
| 0x01 | initiator | The Biflow Source is the flow |
| | | initiator, as determined by the |
| | | Metering Process' best effort to |
| | | detect the initiator. |
| 0x02 | reverseInitiator | The Biflow Destination is the flow |
| | | initiator, as determined by the |
| | | Metering Process' best effort to |
| | | detect the initiator. This value is |
| | | provided for the convenience of |
| | | Exporting Processes to revise an |
| | | initiator estimate without re-encoding |
| | | the Biflow Record. |
| 0x03 | perimeter | The Biflow Source is the endpoint |
| | | outside of a defined perimeter. The |
| | | perimeter's definition is implicit in |
| | | the set of Biflow Source and Biflow |
| | | Destination addresses exported in the |
| | | Biflow Records. |
+-------+------------------+----------------------------------------+
Abstract Data Type: unsigned8
Data Type Semantics: identifier
ElementId: 239
Status: current
<span class="h2"><a class="selflink" id="section-7" href="#section-7">7</a>. IANA Considerations</span>
This document specifies the creation of a new dimension in the
Information Element space defined by the IPFIX Information Model
[<a href="./rfc5102" title=""Information Model for IP Flow Information Export"">RFC5102</a>]. This new dimension is defined by the allocation of a new
Private Enterprise Number (PEN). The Internet Assigned Numbers
Authority (IANA) has assigned Private Enterprise Number 29305 to this
document as the "IPFIX Reverse Information Element Private
Enterprise", with this document's authors as point of contact.
This document specifies the creation of a new IPFIX Information
Element, biflowDirection, as defined in <a href="#section-6.3">Section 6.3</a>. IANA has
assigned Information Element number 239 in the IPFIX Information
<span class="grey">Trammell & Boschi Standards Track [Page 14]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-15" ></span>
<span class="grey"><a href="./rfc5103">RFC 5103</a> IPFIX Biflow Export January 2008</span>
Element registry for the biflowDirection Information Element. The
values defined for this Information Element are static, and as such
do not need to be maintained by IANA in a sub-registry.
<span class="h2"><a class="selflink" id="section-8" href="#section-8">8</a>. Security Considerations</span>
The same security considerations as for the IPFIX Protocol [<a href="./rfc5101" title=""Specification of the IP Flow Information Export (IPFIX) Protocol for the Exchange of IP Traffic Flow Information"">RFC5101</a>]
apply.
<span class="h2"><a class="selflink" id="section-9" href="#section-9">9</a>. Acknowledgments</span>
We would like to thank Lutz Mark, Juergen Quittek, Andrew Johnson,
Paul Aitken, Benoit Claise, and Carsten Schmoll for their
contributions and comments. Special thanks to Michelle Cotton for
her assistance in navigating the IANA process for Enterprise Number
assignment, and for the IANA pre-review of the document.
<span class="h2"><a class="selflink" id="section-10" href="#section-10">10</a>. References</span>
<span class="h3"><a class="selflink" id="section-10.1" href="#section-10.1">10.1</a>. Normative References</span>
[<a id="ref-RFC5101">RFC5101</a>] Claise, B., Ed., "Specification of the IP
Flow Information Export (IPFIX) Protocol for
the Exchange of IP Traffic Flow Information",
<a href="./rfc5101">RFC 5101</a>, January 2008.
[<a id="ref-RFC5102">RFC5102</a>] Quittek, J., Bryant, S., Claise, B., Aitken,
P., and J. Meyer, "Information Model for IP
Flow Information Export", <a href="./rfc5102">RFC 5102</a>, January
2008.
<span class="h3"><a class="selflink" id="section-10.2" href="#section-10.2">10.2</a>. Informative References</span>
[<a id="ref-RFC2119">RFC2119</a>] Bradner, S., "Key words for use in RFCs to
Indicate Requirement Levels", <a href="https://www.rfc-editor.org/bcp/bcp14">BCP 14</a>,
<a href="./rfc2119">RFC 2119</a>, March 1997.
[<a id="ref-RFC3234">RFC3234</a>] Carpenter, B. and S. Brim, "Middleboxes:
Taxonomy and Issues", <a href="./rfc3234">RFC 3234</a>,
February 2002.
[<a id="ref-RFC3917">RFC3917</a>] Quittek, J., Zseby, T., Claise, B., and S.
Zander, "Requirements for IP Flow Information
Export (IPFIX)", <a href="./rfc3917">RFC 3917</a>, October 2004.
<span class="grey">Trammell & Boschi Standards Track [Page 15]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-16" ></span>
<span class="grey"><a href="./rfc5103">RFC 5103</a> IPFIX Biflow Export January 2008</span>
[<a id="ref-IPFIX-ARCH">IPFIX-ARCH</a>] Sadasivan, G., Brownlee, N., Claise, B., and
J. Quittek, "Architecture for IP Flow
Information Export", Work in Progress,
September 2006.
[<a id="ref-IPFIX-AS">IPFIX-AS</a>] Zseby, T., Boschi, E., Brownlee, N., and B.
Claise, "IPFIX Applicability", Work
in Progress, July 2007.
[<a id="ref-IPFIX-IMPLEMENTATION">IPFIX-IMPLEMENTATION</a>] Boschi, E., Mark, L., Quittek, j.,
Stiemerling, M., and P. Aitken, "IPFIX
Implementation Guidelines", Work in Progress,
September 2007.
[<a id="ref-IPFIX-REDUCING">IPFIX-REDUCING</a>] Boschi, E., Mark, L., and B. Claise,
"Reducing Redundancy in IP Flow Information
Export (IPFIX) and Packet Sampling (PSAMP)
Reports", Work in Progress, May 2007.
<span class="grey">Trammell & Boschi Standards Track [Page 16]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-17" ></span>
<span class="grey"><a href="./rfc5103">RFC 5103</a> IPFIX Biflow Export January 2008</span>
<span class="h2"><a class="selflink" id="appendix-A" href="#appendix-A">Appendix A</a>. Examples</span>
The following example describes a Biflow record as specified in
<a href="#section-6">Section 6</a>, above. The Reverse PEN is assigned for the purpose of
differentiating forward from Reverse Information Elements.
The information exported in this case is:
o The start time of the flow: flowStartSeconds in the IPFIX
Information Model [<a href="./rfc5102" title=""Information Model for IP Flow Information Export"">RFC5102</a>], with a length of 4 octets.
o The reverse start time of the flow: flowStartSeconds in the IPFIX
Information Model [<a href="./rfc5102" title=""Information Model for IP Flow Information Export"">RFC5102</a>], with a length of 4 octets, and the
enterprise bit set to 1. The following PEN is the Reverse PEN.
o The IPv4 source IP address: sourceIPv4Address in the IPFIX
Information Model [<a href="./rfc5102" title=""Information Model for IP Flow Information Export"">RFC5102</a>], with a length of 4 octets.
o The IPv4 destination IP address: destinationIPv4Address in the
IPFIX Information Model [<a href="./rfc5102" title=""Information Model for IP Flow Information Export"">RFC5102</a>], with a length of 4 octets.
o The source port: sourceTransportPort in the IPFIX Information
Model [<a href="./rfc5102" title=""Information Model for IP Flow Information Export"">RFC5102</a>], with a length of 2 octets.
o The destination port: destinationTransportPort in the IPFIX
Information Model [<a href="./rfc5102" title=""Information Model for IP Flow Information Export"">RFC5102</a>], with a length of 2 octets.
o The protocol identifier: protocolIdentifier in the IPFIX
Information Model [<a href="./rfc5102" title=""Information Model for IP Flow Information Export"">RFC5102</a>], with a length of 1 octet.
o The number of octets of the Flow: octetTotalCount in the IPFIX
Information Model [<a href="./rfc5102" title=""Information Model for IP Flow Information Export"">RFC5102</a>], with a length of 4 octets.
o The reverse number of octets of the Flow: octetTotalCount in the
IPFIX Information Model [<a href="./rfc5102" title=""Information Model for IP Flow Information Export"">RFC5102</a>], with a length of 4 octets, and
the enterprise bit set to 1. The following PEN is the Reverse
PEN.
o The number of packets of the Flow: packetTotalCount in the IPFIX
Information Model [<a href="./rfc5102" title=""Information Model for IP Flow Information Export"">RFC5102</a>], with a length of 4 octets.
o The reverse number of packets of the Flow: packetTotalCount in the
IPFIX Information Model [<a href="./rfc5102" title=""Information Model for IP Flow Information Export"">RFC5102</a>], with a length of 4 octets, and
the enterprise bit set to 1. The following PEN is the Reverse
PEN.
<span class="grey">Trammell & Boschi Standards Track [Page 17]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-18" ></span>
<span class="grey"><a href="./rfc5103">RFC 5103</a> IPFIX Biflow Export January 2008</span>
and the resulting Template Set would look like the diagram below:
1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Set ID = 2 | Length = 64 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Template ID >= 256 | Field Count = 11 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0| flowStartSeconds 150 | Field Length = 4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|1| flowStartSeconds 150 | Field Length = 4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reverse PEN 29305 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0| sourceIPv4Address 8 | Field Length = 4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0| destinationIPv4Address 12 | Field Length = 4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0| sourceTransportPort 7 | Field Length = 2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0| destinationTransportPort 11 | Field Length = 2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0| protocolIdentifier 4 | Field Length = 1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0| octetTotalCount 85 | Field Length = 4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|1| octetTotalCount 85 | Field Length = 4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reverse PEN 29305 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0| packetTotalCount 86 | Field Length = 4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|1| packetTotalCount 86 | Field Length = 4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reverse PEN 29305 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 7: Single Record Biflow Template Set
<span class="grey">Trammell & Boschi Standards Track [Page 18]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-19" ></span>
<span class="grey"><a href="./rfc5103">RFC 5103</a> IPFIX Biflow Export January 2008</span>
The following example Data Set represents a typical HTTP transaction.
Its format is defined by the example Template, above.
1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Set ID >= 256 | Length = 41 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 2006-02-01 17:00:00 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 2006-02-01 17:00:01 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 192.0.2.2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 192.0.2.3 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 32770 | 80 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 6 | 18000 . . .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
. . . | 128000 . . .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
. . . | 65 . . .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
. . . | 110 . . .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
. . . |
+-+-+-+-+-+-+-+-+
Figure 8: Single Record Biflow Data Set
The following example demonstrates the use of the biflowDirection
Information Element, as specified in <a href="#section-6.2">Section 6.2</a>, using the IPFIX
Options mechanism to specify that perimeter direction selection is in
effect for a given Observation Domain.
The information exported in this case is:
o The Observation Domain: observationDomainId in the IPFIX
Information Model [<a href="./rfc5102" title=""Information Model for IP Flow Information Export"">RFC5102</a>], with a length of 4 octets.
o The direction assignment method: biflowDirection as defined in
<a href="#section-6.2">Section 6.2</a>, above, with a length of 1 octet.
<span class="grey">Trammell & Boschi Standards Track [Page 19]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-20" ></span>
<span class="grey"><a href="./rfc5103">RFC 5103</a> IPFIX Biflow Export January 2008</span>
and the resulting Options Template Set would look like the diagram
below:
1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Set ID = 3 | Length = 18 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Template ID >= 256 | Field Count = 2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Scope Count = 1 |0| observationDomainId 149 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Field Length = 4 |0| biflowDirection 239 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Field Length = 1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 9: Biflow Direction Options Template Set
The following example Data Set would specify that perimeter direction
selection is in effect for the Observation Domain with ID 33. Its
format is defined by the example Options Template, above. Note that
this example data set would be sent reliably, as specified in the
description of the biflowDirection Information Element.
1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Set ID >= 256 | Length = 9 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 33 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 3 |
+-+-+-+-+-+-+-+-+
Figure 10: Biflow Direction Options Data Set
<span class="grey">Trammell & Boschi Standards Track [Page 20]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-21" ></span>
<span class="grey"><a href="./rfc5103">RFC 5103</a> IPFIX Biflow Export January 2008</span>
<span class="h2"><a class="selflink" id="appendix-B" href="#appendix-B">Appendix B</a>. XML Specification of biflowDirection Information Element</span>
This appendix contains a machine-readable description of the
biflowDirection information element defined in this document, coded
in XML. Note that this appendix is of informational nature, while
the text in <a href="#section-6.3">Section 6.3</a> is normative.
The format in which this specification is given is described by the
XML Schema in <a href="#appendix-B">Appendix B</a> of the IPFIX Information Model [<a href="./rfc5102" title=""Information Model for IP Flow Information Export"">RFC5102</a>].
<?xml version="1.0" encoding="UTF-8"?>
<fieldDefinitions xmlns="urn:ietf:params:xml:ns:ipfix-info"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:ietf:params:xml:ns:ipfix-info
ipfix-info.xsd">
<field name="biflowDirection" dataType="unsigned8"
dataTypeSemantics="identifier" group="misc"
elementId="239" applicability="all" status="current">
<description>
<paragraph>
A description of the direction assignment method used to
assign the Biflow Source and Destination. This
Information Element MAY be present in a Flow Data Record, or
applied to all flows exported from an Exporting Process or
Observation Domain using IPFIX Options. If this Information
Element is not present in a Flow Record or associated with a
Biflow via scope, it is assumed that the configuration of
the direction assignment method is done out-of-band. Note
that when using IPFIX Options to apply this Information
Element to all flows within an Observation Domain or from an
Exporting Process, the Option SHOULD be sent reliably. If
reliable transport is not available (i.e., when using UDP),
this Information Element SHOULD appear in each Flow
Record. This field may take the following values:
</paragraph>
<span class="grey">Trammell & Boschi Standards Track [Page 21]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-22" ></span>
<span class="grey"><a href="./rfc5103">RFC 5103</a> IPFIX Biflow Export January 2008</span>
<artwork>
+-------+------------------+----------------------------------------+
| Value | Name | Description |
+-------+------------------+----------------------------------------+
| 0x00 | arbitrary | Direction was assigned arbitrarily. |
| 0x01 | initiator | The Biflow Source is the flow |
| | | initiator, as determined by the |
| | | Metering Process' best effort to |
| | | detect the initiator. |
| 0x02 | reverseInitiator | The Biflow Destination is the flow |
| | | initiator, as determined by the |
| | | Metering Process' best effort to |
| | | detect the initiator. This value is |
| | | provided for the convenience of |
| | | Exporting Processes to revise an |
| | | initiator estimate without re-encoding |
| | | the Biflow Record. |
| 0x03 | perimeter | The Biflow Source is the endpoint |
| | | outside of a defined perimeter. The |
| | | perimeter's definition is implicit in |
| | | the set of Biflow Source and Biflow |
| | | Destination addresses exported in the |
| | | Biflow Records. |
+-------+------------------+----------------------------------------+
</artwork>
</description>
</field>
</fieldDefinitions>
<span class="grey">Trammell & Boschi Standards Track [Page 22]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-23" ></span>
<span class="grey"><a href="./rfc5103">RFC 5103</a> IPFIX Biflow Export January 2008</span>
Authors' Addresses
Brian H. Trammell
CERT Network Situational Awareness
Software Engineering Institute
4500 Fifth Avenue
Pittsburgh, PA 15213
United States
Phone: +1 412 268 9748
EMail: bht@cert.org
Elisa Boschi
Hitachi Europe
c/o ETH Zurich
Gloriastrasse 35
8092 Zurich
Switzerland
Phone: +41 44 6327057
EMail: elisa.boschi@hitachi-eu.com
<span class="grey">Trammell & Boschi Standards Track [Page 23]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-24" ></span>
<span class="grey"><a href="./rfc5103">RFC 5103</a> IPFIX Biflow Export January 2008</span>
Full Copyright Statement
Copyright (C) The IETF Trust (2008).
This document is subject to the rights, licenses and restrictions
contained in <a href="https://www.rfc-editor.org/bcp/bcp78">BCP 78</a>, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in <a href="https://www.rfc-editor.org/bcp/bcp78">BCP 78</a> and <a href="https://www.rfc-editor.org/bcp/bcp79">BCP 79</a>.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
<a href="http://www.ietf.org/ipr">http://www.ietf.org/ipr</a>.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Trammell & Boschi Standards Track [Page 24]
</pre>
|