| < draft-przygienda-idr-compressed-updates-01.txt | draft-przygienda-idr-compressed-updates-02.txt > | |||
|---|---|---|---|---|
| Network Working Group A. Przygienda | Network Working Group A. Przygienda | |||
| Internet-Draft Juniper | Internet-Draft Juniper | |||
| Intended status: Standards Track A. Lingala | Intended status: Standards Track A. Lingala | |||
| Expires: December 19, 2017 AT&T | Expires: February 6, 2018 AT&T | |||
| J. Tantsura | J. Tantsura | |||
| Futurewei Technologies Inc | Futurewei Technologies Inc | |||
| June 17, 2017 | August 5, 2017 | |||
| Compressed BGP Update Message | Compressed BGP Update Message | |||
| draft-przygienda-idr-compressed-updates-01 | draft-przygienda-idr-compressed-updates-02 | |||
| Abstract | Abstract | |||
| This document provides specification of an optional compressed BGP | This document provides specification of an optional compressed BGP | |||
| update message format to allow family independent reduction in BGP | update message format to allow family independent reduction in BGP | |||
| control traffic volume. | control traffic volume. | |||
| Requirements Language | Requirements Language | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| skipping to change at page 1, line 41 ¶ | skipping to change at page 1, line 41 ¶ | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on December 19, 2017. | This Internet-Draft will expire on February 6, 2018. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2017 IETF Trust and the persons identified as the | Copyright (c) 2017 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| skipping to change at page 4, line 29 ¶ | skipping to change at page 4, line 29 ¶ | |||
| higher frequency" form factors but as multiple cores that | higher frequency" form factors but as multiple cores that | |||
| introduce the usual pitfalls of parallelization. In short, | introduce the usual pitfalls of parallelization. In short, | |||
| getting a lot of independent work done is getting cheaper and | getting a lot of independent work done is getting cheaper and | |||
| cheaper while speeding up a single strain of execution depending | cheaper while speeding up a single strain of execution depending | |||
| on previous results less so. This opens nevertheless the | on previous results less so. This opens nevertheless the | |||
| possibility to apply different filters on BGP streams, possibly | possibility to apply different filters on BGP streams, possibly | |||
| even executing in parallel threads. One possible filter can | even executing in parallel threads. One possible filter can | |||
| compress the data in a manner completely transparent to the rest | compress the data in a manner completely transparent to the rest | |||
| of existing implementation. | of existing implementation. | |||
| Hence, we suggest in this draft the removal of redundancy in the BGP | Hence, we suggest in this document the removal of redundancy in the | |||
| update stream via Huffman codes which can be applied as filter to a | BGP update stream via Huffman codes which can be applied as filter to | |||
| BGP update stream concurrently to the rest of the BGP processing and | a BGP update stream concurrently to the rest of the BGP processing | |||
| per peer. Subsequently, this document describes an optional scheme | and per peer. Subsequently, this document describes an optional | |||
| to compress BGP update traffic with a deflate variant of Huffman | scheme to compress BGP update traffic with a deflate variant of | |||
| encoding [RFC1950], [RFC1951]. | Huffman encoding [RFC1950], [RFC1951]. | |||
| In broadest terms, such a scheme will be beneficial if a BGP | In broadest terms, such a scheme will be beneficial if a BGP | |||
| implementation finds itself in an I/O constrained scenario while | implementation finds itself in an I/O constrained scenario while | |||
| having spare CPU cycles disponible. Compression will ease the | having spare CPU cycles disponible. Compression will ease the | |||
| pressure on TCP processing and synchronization as well as reduce raw | pressure on TCP processing and synchronization as well as reduce raw | |||
| number of IP packets exchanged between peers. | number of IP packets exchanged between peers. | |||
| 2. Terminology | 2. Terminology | |||
| 3. IANA Considerations | 3. IANA Considerations | |||
| skipping to change at page 5, line 41 ¶ | skipping to change at page 5, line 41 ¶ | |||
| o Route Refresh with Options | o Route Refresh with Options | |||
| [ID.draft-idr-bgp-route-refresh-options-02] subtype 4 and 5 (BoRR | [ID.draft-idr-bgp-route-refresh-options-02] subtype 4 and 5 (BoRR | |||
| and EoRR with options) | and EoRR with options) | |||
| following each other and compressed while following the rules below: | following each other and compressed while following the rules below: | |||
| 1. Compressed and uncompressed BGP updates MAY follow each other in | 1. Compressed and uncompressed BGP updates MAY follow each other in | |||
| arbitrary order with exception of compressor overflow scenario | arbitrary order with exception of compressor overflow scenario | |||
| per Section 4.3. After decompression of the stream of | per Section 4.3. After decompression of the stream of | |||
| interleaved compressed and uncompressed BGP update messages the | interleaved compressed and uncompressed BGP updates and route | |||
| resulting sequence of updates does not have to be identical to | refresh messages the resulting sequence of messages does not have | |||
| the sequence in a stream generated without compression. However, | to be identical to the sequence in a stream that would be | |||
| the uncompressed sequence MUST ensure that the ultimate semantics | generated without compression. However, the uncompressed | |||
| of the updates are the same to the peer as in the no-compression | sequence MUST ensure that the ultimate semantics of the message | |||
| case. | stream is the same to the peer as of a correct uncompressed case. | |||
| 2. The updates contained within the compressed BGP update message | 2. The updates and refreshes contained within the compressed BGP | |||
| MUST be stripped of the initial marker while preserving the BGP | update message MUST be stripped of the initial marker while | |||
| update message header. The length field in the BGP update header | preserving the BGP update or route refresh message header. The | |||
| retains its original value. | length field in the BGP header retains its original value. | |||
| 3. Each compressed BGP Update MUST carry a sequence of non- | 3. Each compressed BGP Update MUST carry a sequence of non- | |||
| fragmented original updates, i.e. it cannot contain a part of an | fragmented original messages, i.e. it cannot e.g. contain a part | |||
| original BGP update. Section 4.3 presents the only exception to | of an original BGP update. Section 4.3 presents the only | |||
| this rule. | exception to this rule. | |||
| 4. Each compressed BGP Update MUST be sent as a block, i.e. the | 4. Each compressed BGP Update MUST be sent as a block, i.e. the | |||
| decompression MUST be able to yield decompressed results of the | decompression MUST be able to yield decompressed results of the | |||
| update without waiting for further compressed updates. This is | update without waiting for further compressed updates. This is | |||
| different from the normally used stream compression mode. | different from the normally used stream compression mode. | |||
| Section 4.3 presents the only exception to this rule. | Section 4.3 presents the only exception to this rule. | |||
| 5. The compressed update message MAY exceed the maximum message size | 5. The compressed update message MAY exceed the maximum message size | |||
| but in such case compressor overflow per Section 4.3 MUST be | but in such case compressor overflow per Section 4.3 MUST be | |||
| invoked. | invoked. | |||
| skipping to change at page 9, line 40 ¶ | skipping to change at page 9, line 40 ¶ | |||
| overflow fragment. | overflow fragment. | |||
| 7. Security Considerations | 7. Security Considerations | |||
| This document introduces no new security concerns to BGP or other | This document introduces no new security concerns to BGP or other | |||
| specifications referenced in this document. | specifications referenced in this document. | |||
| 8. Acknowledgements | 8. Acknowledgements | |||
| Thanks to John Scudder for some bar discussions that primed the | Thanks to John Scudder for some bar discussions that primed the | |||
| creative process. Thanks to Eric Rosen, Jeff Haas, Acee Lindem and | creative process. Thanks to Eric Rosen, Jeff Haas, Acee Lindem, Jeff | |||
| Jeff Tantsura for their careful reviews. | Tantsura and Csaba Mate for their careful reviews. | |||
| 9. Normative References | 9. Normative References | |||
| [ID.draft-idr-bgp-route-refresh-options-02] | [ID.draft-idr-bgp-route-refresh-options-02] | |||
| Patel et al., K., "Extension to BGP's Route Refresh | Patel et al., K., "Extension to BGP's Route Refresh | |||
| Message", internet-draft draft-idr-bgp-route-refresh- | Message", internet-draft draft-idr-bgp-route-refresh- | |||
| options-02.txt, May 2017. | options-02.txt, May 2017. | |||
| [ID.draft-ietf-idr-bgp-extended-messages-12] | [ID.draft-ietf-idr-bgp-extended-messages-12] | |||
| Bush et al., R., "Extended Message support for BGP", | Bush et al., R., "Extended Message support for BGP", | |||
| End of changes. 9 change blocks. | ||||
| 25 lines changed or deleted | 25 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||