RFC1883 Internet Protocol, Version 6 (IPv6) Manual

xiaoxiao2021-03-06  82

Organization: China Interactive Publishing Network (http://www.china-pub.com/)

RFC Document Chinese Translation Program (http://www.china-pub.com/compters/emook/aboutemook.htm)

E-mail: Ouyang@china-pub.com

Translator: cata_xu (cata_xu amethyst@theory.issp.ac.cn)

Translation time: 2001-9-11

Copyright: This Chinese translation copyright belongs to China Interactive Publishing Network. Can be used for non-commercial use free reprint, but must

Keep the translation and copyright information of this document.

Network Working Group S. DeERING, XEROX PARC

Request for Comments: 1883 R. Hinden, Ipsilon NetWorks

Category: Standards TRACK DECEMBER 1995

Internet Agreement, Version 6 (IPv6) Manual

(RFC1883 - Internet Protocol, Version 6 (IPv6) Specification)

The state of this memo

This document tells the Internet standard tracking protocol of an Internet community, which requires further discussion and construction.

It is improved. Please refer to the latest version of the Internet Formal Protocol Standard (STD1) to get the standardization of this agreement.

The degree and state. The release of this memo is not restricted.

Summary

This document details Internet Protocol Version 6 (IPv6), and sometimes it is also a next-generation IP or IPNG.

Table of contents

table of Contents

Introduction 2

2. Terminology 3

3. IPv6 header format 3

4. IPv6 expansion header 5

4.1 Extended header sequence 6

4.2 Options 7

4.3 Topbele Options Head 8

4.4 Routing Head 10

4.5 Split Head 14

4.6 Destination Options Header 18

4.7 No next header 19

5. Group size problem 19

6. Flow label 20

7. Priority 21

8. Upper level agreement 22

8.1 upper checksum 22

8.2 Maximum Grouping Survival Period 23

8.3 Maximum upper payload size 23

Appendix A Format Guide Policy 24

Example 1 24

Example 2 25

Example 3 26

Safety considerations 26

Acknowledgments 27

Reference 27

1 Introduction

IP version 6 (ipv6) is a new version of the Internet protocol, which is set up as a follow-up of IP version 4 (IPv4) [RFC-791]

meter. Changes between IPv4 to IPv6 can be simply broken down to the following range:

o Extended address characteristics

IPv6 expands IP address size from 32 bits to 128 to support more address level, more address nodes

In

And the simpler address is automatically configured. The measurementability of broadcast routing is by increasing a "range" used to broadcast addresses.

The domain is improved. IPv6 defines a new address called "any address", usually used to send a group to

Any one in a set of nodes.

o Snapup format

Some IPv6 headers have been removed or optionally to reduce the universal events of the packet handles and

Process overhead has restricted bandwidth overhead of IPv6 headers.

o Improve support for extensions and options

Changes on the IP header option coding take into account more effective forwarding, less restrictions on the options and future

Greater flexibility in the new option.

O stream tag characteristics

IPv6 adds a new feature that can be required to require special handle senders, non-default or "real-time" services, which belong to a particular communication "stream".

o Identification and privatization characteristics

Extension to support identification, complete data, and (optimized) data confidentiality is IPv6 unique.

This document details the basic IPv6 header and the initial defined IPv6 extension header and option, and also discusses the packet size.

Questions, stream labels and priority semanties and IPv6 in the upper protocol. IPv6 address format and semantics

Described in [RFC-1884]. ICMP IPv6 version is illustrated in [RFC-1885], where all IPv6

It is now required to include.

Term

Node - Equipment that implements IPv6.

Router - A forwarding does not clearly point to its own IPv6 packet. [See the attention below]

Host - any node that is not a router. [See the attention below]

The upper layer - next to the previous protocol layer of IPv6. Examples are transport protocols such as TCP and UDP, control protocols such as

ICMP, routing protocols such as OSPF and Internet or low-level as "tunneling" (ie packaging)

IPv6 protocols such as IPX, AppleTalk, or IPv6 itself.

Link - a communication facility or medium that can communicate with a node that communicates with the link layer (i.e., one layer of IPv6).

Examples are Ethernets (simple or bridged), PPP links, X.25, frame relays, or

ATM network, and "tunnel" in the Internet, such as tunneling IPv4 or IPv6 itself.

Neighbor - Node connected to the same link.

Interface - Node Connection Settings to a link.

Address - an IPv6 identifier for an interface or a set of interfaces.

Group - coupled with the IPv6 header of the payload.

Link MTU - a maximum transmission unit that can be transported on a link, that is, the maximum size of the eight-bit byte packet.

Path MTU - The minimum link MTU of all links in the path between the source node and the destination node.

Note: Although some are unusual, but configure it into some interface groups for multiple interfaces.

(Less than all) from the non-own predetermined grouping, and abandon the non-own predetermined packet arriving from other interfaces.

possible. Such settings when receiving a packet with a front (being forwarded) interface and the neighbor interact

It is necessary to follow the routing protocol requirements. When you receive the interface from the latter (non-forward) and the neighbors

Such devices must follow the protocol requirements of the host when used.

3. IPv6 header format

- - - - - - - - - - - - - - - -

| Version | Priority | Distance |

- - - - - - - - - - - - - - - | True load length | Next header | Jump limit |

- - - - - - - - - - - - - - - -

| | |

| | |

Source address

| | |

| | |

- - - - - - - - - - - - - - - -

| | |

| | |

Destiny Address

| | |

| | |

- - - - - - - - - - - - - - - - version 4 Internet protocol version number = 6

Priority 4 bit priority. See Section 7.

Stream label 24 bit flow label. See Section 6.

The length of the payload is 16-bit no symbol integer, the length of the payload, that is, the grouping part of the IPv6 header is eight

Bit byte form. If it is zero, it means that the payload length is carried in a huge effective

Loads in the tap.

The next header 8-bit selector. Identify the header of the IPv6 header. And IPv4 protocol domain

of

Is the same value [RFC-1700 later is described later].

]

The next hop is limited to 8-bit unsigned integers, and each node that is forwarded to this group is subtracted. If the next hop is limited

This packet is abandoned if it is reduced to zero.

The 128-bit address of the source address packet originator. See [RFC-1884].

The destination address group specifies the 128-bit address of the recipient (if a routing header appears, may not

Is the final recipient). See [RFC-1884] and 4.4.

4. IPv6 extension header

In IPv6, optional Internet layer information is encoded in a separate header, which may be in group IPv6

Between the header and the last layer. There is a small amount of this extension header, each being identified by a clear next report.

As in these examples, IPv6 packets can have zero, one, or more extended headers, each packet is

The next header field of the previous header:

--------------------------------------

| IPv6 header | TCP header data

| | |

| Next header = |

| TCP |

--------------------------------------

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------

| IPv6 header | Routing header | TCP header data

| | | | |

| Next header = | Next header = |

| Routing | TCP |

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - -----------------

| IPv6 header | Routing header | Split header | TCP slide

| | | | Header Data

| Next header = | Next header = | Next header = |

| Routing | Segment | TCP |

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - ----------------- There is an exception, unless the group arrives in a node that is identified in the address domain of the IPv6 header (or in a set of nodes)

Each, passed in the form of multicast), otherwise the extended header will not be along any node on a packet transfer path.

Check or handle it. In this way, if there is no extended header, then normal multiplex decomposition on IPv6 next header field

This module will be stimulated to deal with the first extended header, or to process the upper header when the extended header does not appear.

The content and semantics of each extended header decide whether to continue to the next header. So the extended header must strictly press them.

Process it in the order in the group. For example, a receiver cannot find a special purpose by scanning a packet.

Other extended headers and take precedence to all previous groups to process it.

The exception mentioned in the previous paragraph is a header option header, and the information carries must be along the packet transfer path.

The node is handled, including the source and destination address. The IPv6 must be immediately then the IPv6 header when the header appears. its

The appearance of the value zero in the IPv6 next newspaper field.

As a result of processing a header, if a node continues to pass to the next header but in the current header

The header value is not recognized by the node, the node will discard the group and send an ICMP parameter information, including an ICMP editor.

Code value 2 (meaning "encounter" unopened next header type ") and compensation for unfounded values ​​in the original group

ICMP pointer domains to packet source. If a node encounters the next report value of zero in a non-IPv6 header, the same

Measures will also be taken.

Each extension header is an integer multiple of 8 8-bit bytes, which is to reserve 8 8-bit bytes to the later header.

team

Column. Multiple 8-bit fields in each extended header are arranged on their original boundaries, namely n = 1, 2, 4, or

8 For n 8-bit bytes wide domains are placed on the N 8-bit bytes starting from the header.

A complete implementation of an IPv6 includes the implementation of the following extended headers:

Take an item

Routing (model 0)

Fragmentation

Purpose option

Authorize

Package safety payload

The four items will be detailed in this document, and the latter two will be described in [RFC-1826] and [RFC-1827].

4.1 Extended header order

When more than one expanded header is used in the same group, it is recommended that those headers appear in the following order:

IPv6 header

Take a header

Purpose option header (Note 1)

Routing header

Split header

Authorized header (Note 2)

Package safety payload (Note 2)

Purpose option header (Note 3)

Upper header

Note 1: Refers to the options that will be processed by the first destination address, this destination address appears in the IPv6 destination address

The options in the domain should be added to the routing header.

Note 2: Consider the additional recommendation of the authorization and package safety payload header related sequence is given in [RFC-1827].

Note 3: Refers to options that will only be handled only by the final destination.

In addition to those destination options, the header will appear twice (before the routing header, the other before the upper stage), each

An extension header will appear at most once.

If the upper header is another IPv6 header (in IPv6 is tunneled or encapsulated in IPv6), then it can

It can be followed by its own extended headers, these two headers belong to the recommendation of the same level.

If otherwise, if other extensions are defined, they must be described in order to constrain the sequence constraints of the headers listed above.

.

In addition to only constraints, IPv6 nodes must accept and tries immediately outside the step-by-step option header after IPv6 header.

The drawing processes an extended header in any order in the same group. However, adhesive proposed order IPv6 packets have been carefully considered until they can revise the recommendation order unless they will be revised.

4.2 Options

Two extended headers currently defined - Top option headers and destination options - The following formats are encoded

Type length value for "option" (TLV) variable

- - - - - - - - - - - - - - - - - -

| Option Type | Option Data Length | Option Data

- - - - - - - - - - - - - - - - - -

The 8-bit identifier of the option type option type.

Option data length 8-bit unmarked integer. The option data length domain of this option is in the form of an 8-bit byte.

Option data variable length domain. Option type precise data.

The option option in the header must be processed in the order in which they appear in the header; for example, a recipient

You cannot search for a header to find a special option and processed priorlicate before processing all the options preceded.

The option type identifier is inherently encoded so that if the node that is being processed, the option type is not recognized.

Identifier is the highest word energy to explain this behavior.

00 - Skip this option and continue to process the header.

01 - Abandon this group

10 - Abandon this group and whether this group destination address is not a broadcast address to send an ICMP parameter

Question (Code 2) Packet gives the source address of the packet to indicate the type of options that are not recognized.

11 - Abandon this group and only send ICMP parameters when the group destination address is not a broadcast address

(Code 2) The packet gives the source address to indicate the type of options that are not recognized.

The third highest bit byte of the option type indicates whether the option data of that option can change the last middle-line selection to the group.

purpose. When the authorization header appears in the group, for any of its data, it may change the option of the intermediate selection.

It must be seen as a zero-value byte when calculating or verifying the grouping authorization.

0 - Option data does not change the intermediate selection

1 - Option data must change the intermediate selection

A single option may have a special queue requirement to ensure that the multi-byte value in the option data field points to the original boundary. An option

The queue requirement is specified by using symbol XN Y, meaning that the option type must appear from the beginning of the header.

X byte multiplied integer plus Y bytes. E.g:

2N means any two 8-bit bytes from the beginning of the header.

8n 2 means any 8 8-bit bytes from the beginning of the header plus 2 8-bit bytes.

When you must arrange the later options and the heads included in the liner reach the multiple of 8 8-bit bytes in length,

Two filler options are used. These filler options must be recognized by all IPv6:

Filler 1 option (Queue requirements: None)

- - - -

| 0 |

- - - -

note! The format of the filler 1 option is a special form - it has no length and value domain.

The filler 1 option is used to insert an 8-bit byte packing into the selection area of ​​the header. If you need more than one 8 digits

word

If the packing of the section, the filler n option is as mentioned below, and should be used instead of multiple packing 1 options.

Filler N option (Queue requirements: None) - - - - - - - - - - - - - - - - -

| 1 | Option Data Length | Option Data

- - - - - - - - - - - - - - - - - -

The filler n option is used to insert two or more 8-bit bytes of filler insertional sections. For n 8-bit bytes

For packing, the option data length domain contains a value of N-2, and the option data consists of an 8-bit byte of the N-2 zero value.

Appendix A contains the formatting wizard for design new options.

4.3 Take the header

Topbee option headers are used to carry optimized information that must be checked by each node of the packet transmission path. Take an item

The header is identified by the next header of the zero value with the IPv6 header, and has the following format:

- - - - - - - - - - - - - - - -

| Next report | Head extension length | |

- - - - - - -

| | |

.

Options.

.

| | |

- - - - - - - - - - - - - - - -

The next header 8-bit selector. Identify the header type of the header option header. use

And the same value of the IPv4 protocol domain [as described in RFC-1700].

The header extension is 8-bit unmarked integers. Topbele option header length is unit 8 bytes,

Does not include the first 8 bytes.

Option variable length domain, its length allows the topbeat option header integrity of 8 bytes

Multiplier. As in Section 4.2, one or more TLV encoding options are included.

In Section 4.2, there is an additional instruction to the filler 1 and the filler N, the following is the definition of the hop -oul option:

Giant Output Load Option (Queue Requirements: 4N 2) - - - - - - - -

| 194 | Option Data Length = 4 |

- - - - - - - - - - - - - - - -

Giant Treatment Load Demand |

- - - - - - - - - - - - - - - -

The giant profile option is used to send a payload greater than 65,535 bytes and IPv6 packets. Giant payload length

Is the packet length of bytes, remove the IPv6 header but including the header option header; it is more than 65,535

byte. If a packet and a giant active load option containing less than or equal to 65,535 bytes giant load length

If you received, then a code is zero and points to the ICMP parameter error in the high byte of the ineffective drainable load length domain.

The packet should be sent to the source of the packet.

The payload length domain in IPv6 should be set to zero in each packet carrying a giant valid load option. If group

And one code is received together with a current giant prosthetic load option and a non-zero IPv6 payload length domain, one code is zero

The ICMP parameter error message of the option type field pointing to the giant valid load option should be sent to the source of the packet.

The dramatic load option cannot be used in a packet carrying a slice header. If you contain a packet with a valid giant product load option

If you encounter a slice header, a code is zero and points to the ICMP parameter error message of the fragmentary header first byte shall be sent.

The source of the packet.

A implementation that does not support the giant payload option has an interface to the link, its link MTU is greater than 65,575 bytes (40 bytes)

IPv6 plus 65,535 bytes payload).

4.4 Route

The IPv6 source uses routing headers to list the intermediate nodes to "Access" on the address of the packet destination address. This function is

The source routing option for IPv4 is very similar. The routing header is determined by the next header of the continued head value of 43.

The format is as follows:

- - - - - - - - - - - - - - - -

| Next header | Head extension length | Route type | Leave part |

- - - - - - - - - - - - - - - -

| | |

.

Special type data.

.

| | |

- - - - - - - - - - - - - - - -

The next header 8-bit selector. Identify the key type of the routing header. And IPv4 protocol domain

The value is used [as described in RFC-1700]

Extended header length 8-bit unmarked integer. Routing header of 8 bytes, not including head 8 words

Section.

Routing type Specific routing header variable 8-bit identifier.

Left partial 8-bit unmarked integer. The remaining routing part is clearly listed in the most

The number of intermediate routes that still need to be accessed before the final place.

Special type data variable length domain, its format is determined by the routing type, and its length can make the complete

The routing header is an integer multiple of 8 bytes.

If the node is handling a routing header with unspected routing type when processing a packet, this node is

The required behavior relies on the legacy domain value as follows:

If the legacy part is zero, the node must ignore the routing header and continue to handle the next header in the group, this

The type of header is identified by the next news header field in the routing header.

If the legacy fragment is not zero, the node must discard this group and send code to zero and point to unforeseen routing types.

ICMP parameter error code message to the source of the packet.

Zero routing header type has the following format:

- - - - - - - - - - - - - - - -

Next header | Head extension length | Routing type = 0 | Levings section |

- - - - - - - - - - - - - - - -

| Predict | Strict / loose bitmap |

- - - - - - - - - - - - - - - - | |

|

|

Address [1]

| | |

| | |

- - - - - - - - - - - - - - - -

| | |

| | |

Address [2]

| | |

| | |

- - - - - - - - - - - - - - - -

.

.

.

- - - - - - - - - - - - - - - - | |

| | |

Address [N]

| | |

| | |

- - - - - - - - - - - - - - - -

The next header 8-bit selector. Identify the key type of the routing header. And IPv4 protocol domain

The value is used in the same value [as described in RFC-1700]

Extended header length 8-bit unmarked integer. Routing header of 8 bytes, not including head 8 words

Section. For zero routing headers, the length of the header extension is equal to the number of addresses

Betal, and must be an even number equal to 46.

Routing type 0.

Left partial 8-bit unmarked integer. The remaining routing part is clearly listed in arrival.

The number of intermediate nodes that still need to be accessed before the final destination.

The maximum legal value is 23.

Reserve 8 reserved domains. For the initial turn of transmission; negligible when receiving.

Strict / loose bitmap 24 bitmap, value from 0 to 23, and from left to right. For each piece of the route

For the bitmap, the bitmap must be the next destination address must be the neighbors of the previous address.

:: 1 means strict (must be neighbors), 0 means loose (no need to be neighbors

Home).

Address [1 ... n] 128-bit address vector, number from 1 to n.

Multicast addresses do not have to appear in the type of zero routing, or IPv6 destination with zero-routing header type grouping

The address domain appears.

If the bit value of the strict / loose bitmap is zero, the destination address domain of the IPv6 header in the source packet must identify the source node.

A neighbor. If the bit is zero, the source is required to use any legal, non-multicast addresses as the initial destination address.

Bits larger than n must be set by the source from zero and is ignored by the recipient, where n is the number of addresses in the routing header.

The routing header will not be inspected or handled unless it arrived in the node identified in the address domain of this IPv6 header destination. In that one

Node, in the next report of the next newspaper in the previous header causes the routing header module to be called so that the following algorithms are performed in a zero routing form:

IF legacy fragment = 0 {

Continue to handle the next header in the group, and its type is identified by the next news header in the routing header.

}

ELSE IF header extension is odd or greater than 46 {

Send code is zero and points to the header extension length domain, and discards the ICMP parameter error message to the packet.

site.

}

Else {

Use the extended header length to calculate the number of addresses in the routing header in the length of the extended header length.

IF legacy fragment is greater than n {

Send code is zero and points to the legacy fragment domain, and discard the ICMP parameter error message to the source.

site.

}

Else {

Legal fragment reduction;

By subtracting the legacy fragment to calculate the I, i is an index of the next address to be accessed in the address vector.

IF address [i] or IPv6 destination address is broadcast {

Abandon

}

Else {

Exchange IPv6 destination address and address [i]

The iF strict / loose bitmap is 1 and the new destination address is not a neighbor of this node.

address{

Send ICMP destination is not accessible message - this is not a neighbor message from the source address and throws

Discard this group.

}

ELSE IPv6 hop limit is less than or equal to one {

Send ICMP time exceeds - the hop limit in the transmission message of the source address exceeds and discards this

Group

}

Else {

Split 1 from the hop limit

Re-deliver the transmission IPv6 module to the new destination

}

}

}

}

As an example of the above algorithm, it is considered that a packet from the source node S transmits a group to the destination node D, which is used.

The packet is routed by the routing of the routing by next to the nodes I1, I2, and I3. Related to each segment of the pass path

The value of the IPv6 header and the routing header domain is as follows:

When packets from S to I1:

Source address = s header extension length = 6

Destination address = I1 legacy fragment = 3

Address [1] = i2

(If the zero bit of the bitmap is 1, address [2] = i3

Then S and I1 must be neighbors, address [3] = D

This will be checked by S)

When packets from i1 to i2:

Source address = s header extension length = 6

Destination address = I2 legacy fragment = 2

Address [1] = i2

(If 1 bit of the bitmap is 1, address [2] = i3

Then I1 and I2 must be neighbors, address [3] = D

This will be checked by I1)

When packets from I2 to i3:

Source address = s header extension length = 6

Destination address = I3 legacy fragment = 1

Address [1] = i1

(If 2 of the bitmap is 1, address [2] = i3

Then I2 and I3 must be a neighbor, address [3] = D

This will be checked by I2)

When packets from I3 to D:

Source address = s header extension length = 6

Destination address = D legacy fragment = 0

Address [1] = i1

(If the 3 digits of the bitmap are 1, address [2] = i2

Then I3 and D must be a neighbor, address [3] = i3

This will be checked by I3)

4.5 Split header

The IPv6 source is sent to the slice header to send than the destination that can be fitted in the path MTU. (note:

Unlike IPv4, the slice in IPv6 is implemented only through the source node, not by the router along the packet delivery path - see Section 5. The fractional header is achieved by the next report value of 44 in the previous header, and there is

The following format:

- - - - - - - - - - - - - - - -

| Next header | pre-levy | Split compensation | Reserved | M |

- - - - - - - - - - - - - - - -

| ID |

- - - - - - - - - - - - - - - -

The next header 8-bit selector. Identifies the graphics part of the initial packet (as defined below)

Initial header. Use the value as the IPv4 protocol domain [as described in RFC-1700].

Reserve 8 reserved domains. The initial is zero during transmission, and it is ignored when receiving it.

Split compensation 13-bit unmarked integers. As related to the fragmentation part of the initial packet,

The header is compensated for data from 8 bytes.

Reserved 2 bits of reserved domains. The initial is zero during transmission, and it is ignored when receiving it.

Sign M 1 = More fragments; 0 = Last fragmentation.

Identify 32 bits. See the description below.

In order to send a packet that is too large to the path MTU to its destination, the source node can divide the packet component

The sheet is sent to each slice as an independent grouping, and these packets are reached when the recipient is reached.

For each packet that will be shard, the source node generates the identifier value. This logo must be in the same source of the same source

Different from any other fragmentation packets on the address and destination address. If the routing header appears, the destination address to consider is the most

The following destination address.

* "Recently" means that within the maximum possible survival time of the group, including transmission from the source to destination

Time and flowers on the remaining fractions of the same packet waiting to be reorganized. However, this does not require source nodes

Know the maximum survival cycle of the group, but assume that it is maintained as a simple, 32-bit, "loopback" count

The identifier value that can be increased at each packet must be added when the packet must be fragmented. Is this to maintain one

Simple nodes are also achieved by multiple counters, for example, each possible source address of this node is used

A counter, or each active (source address, destination address) connected to a counter.

The initial large unscapsted packets are referenced as "raw grouping" and is considered to be composed of two parts, as follows: Original packet:

-------------------------------------- // ------ ----------------

| Unsecured | Split |

| Part | section |

-------------------------------------- // ------ -----------------

The unseaped portion consists of IPv6 header and extended header, and it must be processed by nodes on the intermediate circuit of the destination.

Also, all the headers including routing headers (if they appear), also include topbeat option headers (if present

The words) but do not include extended headers.

The fragmentation portion consists of the remainder of this group, that is, any extended header that only needs to be processed by the final destination node and on

Layers and data.

The fractional portion of the initial packet is divided into a divider, in addition to the fragmentation of the last "rightmost", each fragment length

Is an integer multiple of 8 bytes. Split will transmit according to the independent "fragmentation group" below:

Original group:

------------------------------------ - / / - ----------

| Unsecured | The first | Second | | Final |

| Part | Split | Split | .... | Split |

------------------------------------ - / / - ----------

Split group:

-------------- --------------

| Unsecured | Split | First |

| Part | News | Split |

-------------- --------------

-------------- --------------

| Unsecured | Split | Second |

| Part | News | Split |

-------------- --------------

o

o

o

-------------- --------------

| Unsecured | Split | Final |

| Part | News | Split |

-------------- --------------

Composition of each fragmentation group:

(1) The unparalleled portion of the initial packet and the payload length of the initial IPv6 header change to only this point

The length of the tile group (remove the length of IPv6 header itself), and the last header of the unwrapped part

One reported domain changed to 44.

(2) A fragmentary header includes:

Identifies the next header value of the first header of the initial packet fragment section.

Contains fractional compensation relative to the initial packet fractional portion, and fragmentation of 8 bytes

Compend. The first fragment ("leftmost") fragmentation compensation is zero.

A flag M, when the slice is the last ("rightmost") one value is zero, otherwise the flag M value is 1.

(3) Split itself. .

The length of the fragment must be selected to produce a fragmentation packet that is suitable for the MTU to the packet destination path.

In the destination, the fragmentation group is re-combined into the original, unsaled form, as follows:

Recombinant raw group:

-------------------------------------- // ------ ------------------

| Unsecured | Split |

| Part | Part |

-------------------------------------- // ------ ------------------

The following rules dominate the reorganization:

The original packet can only be reorganized from a slice group with the same source address, destination address, and fragmentation identifier.

The unseaped portion of the recombinant group is composed of all headers that are straight until the first fragmentation packet (that is

It is said that the fractional compensation of the group is zero), there are two changes:

The next reported head field of the last header of the unparalleled part is obtained from the first slide of the fragmentary header.

The payload length of the recombinant group is calculated from the length and compensation of the unscapted portion and the last fragmentation. example

For example, a formula for calculating the payload length of the recombinant initial packet is:

Pl.ORIG = Pl.first - fl.first - 8 (8 * fo.last) fl.last

Here

Pl.ORIG = The payload length domain of the restructuring group.

Pl.First = The first slice packet payload length domain.

Fl.first = Split length with the slide header of the first fragmentation.

Fo.last = Split Compensation Domain of the Fragmentary Header of the Last Split Packet.

Fl.last = Split length with the final fragmentation header.

The fractional portion of the recombinant group is established from the slice of the fragmented header that follows each slice. Length of each fragment

It is calculated by subtracting the length between the IPv6 header and the slice itself from the packet payload length. It is in the fragmentation unit

The relative position of the division is calculated by the fragmentation compensation value.

Split headers do not appear in the final restructuring group.

The following error type may be generated when the recombinant fragmentation packet:

If the number of fragments received is insufficient to complete the restructuring within 60 seconds of the first arrival fragment, grouping

The restructuring must be terminated and all the packet fractions that have been received must be discarded. If the first fragmentation (ie, slide

The one that is zero is already received. The ICMP time is exceeded - the slice restructuring time exceeds the message should be sent to the shard.

Source of origin.

If the fragmentation length is not 8 bytes from the fragmentation packet payload length domain and the flag M of the fragmentation is

1. Then this fragment must be abandoned and transmitted to the code to zero and point to the ICMP parameters of the slide packet payload length domain.

The error code message is sent to the source of the group.

If the length and compensation value of the fragmentation causes more than 65,535 bytes from the packet payload generated from the fragmentation restructuring.

This fragment must be abandoned and transmitted by zero and pointing to the ICMP parameter error code message for fragmentation packet shard compensation domain.

To the source of the packet.

The following cases are undesirable, but if there is, it should not be considered an error:

The number of headers and contents of the front sharpening headers of the same initial packets may be different. No matter how the header appears, each of the slice packet slides in front is first procedure when the packet is arrived before being arranged. only

Those headers that compensate for zero slice groups remain in groups after the restructuring.

The next reported header value of the different fractional slices of the same raw group may be different. Split separation from the compensation value of zero

The value coming in the group is used to reorganize.

4.6 Destination Options Head

The destination option header is used to carry optimization information that only needs to be sentenced to the destination node of the group. Destination option header

Take the next header value for 60 in front of a header, the format is as follows:

- - - - - - - - - - - - - - - -

| Next header | Extended header | |

- - - - - - -

| | |

.

Options.

.

| | |

- - - - - - - - - - - - - - - -

The next header 8-bit selector. Identifies the header type of the header immediately. Use

The value of the IPv4 protocol domain [as described in RFC-1700].

Extended header length 8-bit unmarked integer. The destination option header length is unit 8 bytes,

Does not include the first 8 bytes.

Option variable length domain, its length allows the destination option header integrity of 8 bytes

Multiplier. As in Section 4.2, one or more TLV encoding options are included.

The unique destination options defined in this document are filler 1 and packing N described in Section 4.2.

Note that there are two possible methods to compile optimized destination information in IPv6 packets: either as a destination option

One option of the header is either be a separate extension header. Split headers and authorization headers are the latter method example.

Which way to use depends on what behavior expects to be desirable to understand the purpose of optimization information:

o If the destination node expects behavior to abandon the group and the destination address of the group is not a multicast address,

Then information is either encoded as a separate header or as an option in the destination option.

The option type in the destination option is at its own highest two-digit value of 11. This choice may depend on

Use fewer bytes, or how to produce better queues, or more efficient syntax. o If you expect any other behavior, the information must be encoded into one option in the destination option.

Its maximum two option types is 00, 01, or 10, used to illustrate the desired behavior (see Section 4.2).

4.7 No next header

The value of the IPv6 header is 59 or any extended header pointed out that there is no header after this header. in case

These bytes indicate that the bytes appear late from the end of the header of 59 later than one next newspaper.

Will be discarded, and if the packet is forwarded, the byte will not be changed.

5. Group size problem

IPv6 requires each link on the Internet, there are 576 or more bytes of MTUs. In any one that cannot handle 576

A

On the link of bytes or more byte packets, link-specific slice or restructuring must be available next to IPv6.

From each link to its direct connection, the node must be able to receive the same packet as the link MTU. One

Configurable MTUs (such as PPP link [RFC-1661]) must be configured to have at least 576 bytes of MTUs. recommend

Configure a larger MTU to adapt to possible packages that may not recruit fragments.

In order to find and utilize the path with greater than 576 byte MTU, IPv6 node implementation path MTU discovery

[RFC-1191]. However, minimized IPv6 implementation (such as in importing ROM) may simply limit itself

After 576 bytes of grouping, the implementation of the path MTU discovery is ignored.

In order to send a packet larger than the path MTU, the node can use the IPv6 shard header to separate the packet in the source and in the purpose.

Reorganization group. However, this fragment is in any adjustment itself to fit the standard path MTU (ie, drop to 576 bytes)

It is unsuccessful in the application.

A node must be able to receive a slice packet with a larger number of 1500 bytes after the recombination, and the packet includes an IPv6 header. Node allows

A slice group greater than 1500 bytes after receiving the recombination. However, the node cannot send a reorganized size greater than 1500 bytes.

The film unless it has clearly known that the purpose of the destination recombination such large-sized grouping.

The response to IPv4 destination as an IPv6 group (ie, packets experience from IPv6 to IPv4), initial

The IPv6 node may receive a report of less than 576 ICMP packets under the report. This way IPv6 node is not

Be required to reduce subsequent packet size to less than 576 bytes, but must include a slice header in group to make IPv6

The IPv4 conversion router can obtain a valid identifier value that causes IPv4 shards. Note that this means payload

Maybe it must be reduced to 528 bytes (576 minus the 40 bytes of the IPv6 header), and if attached

If you are using an extended header, it can be smaller.

Note: Path MTU finds must be consistent, here the host "think" destination is connected to itself

On the link.

Note: Not like IPv4, in order to perform the path MTU discovery, IPv6 does not have to set "no slide" tag in points

Group header. That is, this is an implicit feature in each IPv6 group. And those in the RFC-1191 program

The part of the MTU "step" table cannot be applied to IPv6, because "from" self-contained address information packet

The IPv6 version of the big "message has identified the accurate MTU to be used.

6. Flow label

The 24-bit stream tag field in the IPv6 header can be used by the source to mark the special control of the IPv6 router (eg

Non-default QoS or "real-time" service) packets. When writing this document, IPv6's problem is still experimentally

And attributed to a clearer change in the stream tag requirements in the Internet. Hosts do not support streaming domain function

And the router is required to be set to zero during the initial packet, and pass through this domain when forwarding the packet, and

Ignore this domain when you receive a packet.

The stream is a group sequence transmitted from a particular source to a particular destination (unicast or multicast). For streaming, the source is required to perform special controls during the period. The nature of special control can pass through the control protocol, such as

Resource reservation agreement, or through information in the circulating group, such as information in the step-bybeat option, to the router.

This control protocol or option has exceeded the scope of this document.

And without any stream in communication, there may be multiple active streams from a source to the destination. One

The stream is uniquely identified by the source and non-zero flow labels. Flow label that does not belong to a stream

To zero.

The source node of the stream assigns a stream tag to a stream. The new stream label must be (pseudo) random selection and range is

From 1 to 0xffffFFF. The purpose of the random allocation is to set in the course signature suitable for the router to do the hash key value.

Any set of positions used to query and stream joint state.

All groups belonging to the same stream must be sent along with the same source address, destination address, priority, and stream tags.

If any of those groups include header option headers, they must be headed by the same topbeat option.

The content (excluding the next newspaper domain) of the step-by-step option is to initially. If any group includes a header, then

They must be used until all extended headers including routing headers (excluding the next report of the next routing header)

The same content is initially. Use routers and destinations to check if these conditions are satisfied, but not required.

If you are detected, the node must be zero by sending code and pointing to the stream tag domain (that is

IPv6 Packet Compensation Value 1) ICMP Parameter error code message to the source of the packet.

For any flow, the router can set the stream control state as "icon chambers", even without pass.

The overlapped protocol, trip option, or other method provides a clear stream establishment of the router. For example, once received from one

Packets with unknown and non-zero flow labels, the router can handle the group of IPv6 headers and anything

What must be extended, just like this flow label is zero. Such processing will include determining the next hop interface and

Other behaviors, such as updating the step-by-edge option, pointer and address in front of the header, or determine how to be based on

Significance to arrange the group. Then the router may select "Remember" the results of the processing steps and cache this information.

Use the source address plus the stream tag as the cache key value. Then, then the group with the same source address and stream tag can then

Reference cached information to manipulate, rather than checking all those who can assume as a stream as according to the requirements of the article

The domain that has not been changed from the first packet.

As mentioned earlier, whether or not other groups continue to arrive, randomly set cache stream controls are built

It must be abandoned within 6 seconds after standing. If you have a packet with one source address and stream label after the cache state is abandoned

If the group will be complete and normal processing (as if it's a stream tag is different), it may cause this stream.

Rebuild the cache flow.

For example, the survival cycle of the cache stream control state that is controlled protocols and step-bybeat options must be used as a clear setup mechanism.

Part of the specification will be described.

Source is no longer a new stream in the survival period of the flow control state that may have been pre-used for stream labels.

Use stream tags. This is because the internal control state can be randomly established in the 6-second survival period, and the same current standard is used.

The last packet of the signed stream and the first packet interval between the new stream are 6 seconds. Have a longer lactational survival

Clean streaming stream labels must remain not used for those longer life cycles before being re-used.

When a node stops and restarts (such as as a result of "crash", it must carefully do not use a

It is used earlier, and there is no flow label that may not have expired flow. This may be recorded on a stable memory

The stream label can be remembered after the stream label is crash, or through the maximum life of the flow that is previously possible.

Period (for at least 6 seconds; if there is a longer life-saving setup mechanism has been used to use any stream tags before being used. If the minimum time of the node (often more than 6 seconds) is known, then start

This minimum time before the distribution label can be deducted from the time of the period.

There is no special requirements for all or even most of the stream, that is, the packet carrying non-zero labels. This

Evaluation is placed here to make the agreement designer and realizes don't consider other aspects. For example, only assume that most packets belong to flow

Just want to design a performance-complete router or to design a header pressure on the packet that works in a stream.

The shrink mechanism is unwise.

7. Priority

The 4-bit priorities in IPv6 can make the source to transmit from other packets from the same source to its desired transmission

Priority is identified. The priority is divided into two ranges: 0 to 7 value is used to designate communication priority to providing the resistance

The source of the plug protocol, namely, as a "returned" communication, "returning", such as TCP communication. The value of 8 to 15 is used to give

Communication that cannot be returned in response occurs, such as the "real-time" packet sent by the constant rate, is prioritized.

For constrained blocking communications, recommend the following priorities to specific applications:

0 - free communication

1 - "Fill in the blanks" communication (such as online news)

2 - Not paying attention to data transmission (such as email)

3 - (Reserved)

4 - Terms of charge (such as FTP, NFS)

5 - (Reserved)

6 - Interactive communication (such as Telnet, X)

7 - Internet Control Communication (such as routing control protocol, SNMP)

For unconstrained blocking communications, the minimum priority value (8) under blocking conditions should be used to do those senders

I hope to abandon the group (such as high fidelity video communication), the highest priority value (15) should give those senders least

Prouded groups (such as low furnish audio communication). Inconstrained obstruction priority and unconstrained priority

There is no implied relative order.

8. Upper layer protocol

8.1 upper checksum

Any transport layer or other upper layer protocol included from the IP header must be modified in its verification and calculation.

Use 128-bit IPv6 addresses to replace 32-bit IPv4 addresses in IPv6. Special, below

IPv6 TCP and UDP "pseudo-header".

- - - - - - - - - - - - - - - -

| | |

| | |

Source address |

|

| | - - - - - - - - - - - - - - - - - - - - - - - - - - - -

| | |

| | |

Destiny Address

| | |

| | |

- - - - - - - - - - - - - - - -

| Payload Length |

- - - - - - - - - - - - - - - -

| Zero | Next header |

- - - - - - - - - - - - - - - -

o If the group contains a routing header, which destination address in the dummy head is the final destination. in

Source node, this address will be the last part of the routing header. This address will be in IPv6 reporting

The head of the destination address domain.

o The next report value in the pseudo-header identifies the upper protocol (eg, the TCP corresponds to 6, UDP is 17). Such as

If there is an extended header between the IPv6 header and the upper header, then the next report of the pseudo header and

The next news header in the IPv6 header will be different.

o The payload length in the pseudo-headed head is the length of the upper group, including the upper header. If there is an extended header between the IPv6 header and the upper header, then the payload of the pseudo head will be less than IPv6.

The payload length in the header (or in the giant "load option).

o is not like IPv4, when the UDP packet is initially initially, the UDP checksum is not optimized. Be

Say that when you initially a UDP group, IPv6 nodes must calculate UDP on grouping and pseudo-states.

The checksum, and if the result is generated by zero, the location in the UDP header must also be changed to

0xfff. The IPv6 recipient must discard the UDP group containing zero checksum and log errors.

IPV6 version of ICMP [RFC-1885] includes the above pseudo headers in its checksum, and IPv4 version is not verified

And in the sum of pseudo headers, this is a change in IPv4 version from ICMP. The reason for this change is to protect ICMP

It does not interrupt or mislead on its dependent IPv6 header field, not like IPv4, is covered by network layer checksum. ICMP

The value of the next report in the pseudorated head is 58, which identifies the IPv6 version of ICMP.

8.2 Maximum Group Survival Period

Not like IPv4, IPv6 nodes do not need to enhance maximum packet survival cycle. This is because IPv4 "survival" field in IPv6

Rename "Switch". In fact, even if you want, only very little IPv4 implementation complies to their restriction grouping

The requirements of the survival cycle have not changed in practice. Any relying on the network layer protocol to restrict the group survival week

The upper level agreement (regardless of IPv4 or IPv6) must first upgrade to provide itself to explore and abandon the waste group

Mechanisms.

8.3 Maximum upper payload size

When calculating the maximum payload size is feasible to the upper data, the upper protocol must consider the relative IPv4 header.

The larger size of the IPv6 header. For example, the MSS of TCP in IPv4 is used in maximum packet size (default or passing

path

MTU finds the value of learning) minus 40 bytes (20 bytes is minimizing IPv4 header length and 20-byte minimization

TCP

The length of the header is calculated. When using TCP on IPv6, because the minimum length of IPv6 header is (ie said,

IPv6 header does not extend the header) More than 20 bytes higher than the minimized IPv4 length, MSS must reduce 60 with maximum packet size

Bytes are calculated.

The formatting guidance policy of the appendix A option

This appendix on how to design a header (as in Section 4.2) in the design of a header or destination option (like the 4.2)

The placement domain gives some suggestions when the new option. This guidance policy is based on some assumptions:

O A desired feature is a multi-byte that is arranged on their original boundaries in the options of the option.

The domain, ie the width of the N-byte should be placed in the n-byte of the n-byte from the beginning of the header or destination option.

Double position, n = 1, 2, 4, or 8 here.

o Because the header is a total of 8-bytes long integer times, another desired feature is a top jump or purpose option.

The header should be established as small as possible.

o Announces any of the selected items that can be assumed to carry a very small option, usually only 1.

These assumptions provide the following methods to place the domain: no internal filling, sort the domain from the minimum to maximum, then send

Birth is based on the maximum domain arrangement (until the Maximum Queue of 8 bytes). This method uses the following

Method is illustrated:

Example 1

If the option x requires two data fields, 8-bytes long domains, and 4-word-wide domain, they can be placed as follows:

- - - - - - -

Option type = x | Option data length = 12 | - - - - - - - - - - - - - -

| 4-Word Festival Domain |

- - - - - - - - - - - - - - - -

| | |

8-word somewhere

| | |

- - - - - - - - - - - - - - - -

In order to ensure that the 8-byte domain is started from the 8-byte multiples compensated from the beginning of the package header, it is required to be 8n 2.

A complete jump or destination option, including one such option, should look as follows:

- - - - - - - - - - - - - - - -

Next header | extended head length = 1 | Option type = x | Option data length = 12 |

- - - - - - - - - - - - - - - -

| 4-Word Festival Domain |

- - - - - - - - - - - - - - - -

| | 8-Word Shan Domain

| | |

- - - - - - - - - - - - - - - -

Example 2

If the option y requires three data fields, 8-bytes long domains, 4 word-wide domains have been one 1-bytes long domain, as

Lower placement:

- - - -

| Option type = Y |

- - - - - - - - - - - - - - - -

| Option Data Length = 7 | 1 - Word Day Domain | 2-Word Domain |

- - - - - - - - - - - - - - - -

| 4-Word Festival Domain |

- - - - - - - - - - - - - - - -

In order to ensure that the 4-byte domain is started from the 4-byte multiples compensated from the beginning of the package header, it is required to be 4N 3.

A complete jump or destination option, including one such option, should look as follows:

- - - - - - - - - - - - - - - -

Next header | Extended header = 1 | Filler 1 option = 0 | Option type = Y |

- - - - - - - - - - - - - - - | Option data length = 7 | 1-byteen area | 2-word sield |

- - - - - - - - - - - - - - - -

| 4-Word Festival Domain |

- - - - - - - - - - - - - - - -

| Filler n option = 1 | Option data length = 2 | 0 | 0 |

- - - - - - - - - - - - - - - -

Example 3

The hop and destination option headers in Example X and Example 2 in Example 1 are the following, according to the options appearing according to the option.

One of two formats:

- - - - - - - - - - - - - - - -

Next header | Extended header = 3 | Option type = x | Option data length = 12 |

- - - - - - - - - - - - - - - -

| 4-Word Festival Domain |

- - - - - - - - - - - - - - - - | |

8-word somewhere

| | |

- - - - - - - - - - - - - - - -

| Filler n option = 1 | Option data length = 1 | 0 | Option type = Y |

- - - - - - - - - - - - - - - -

| Option Data Length = 7 | 1 - Word Day Domain | 2-Word Domain |

- - - - - - - - - - - - - - - -

| 4-Word Festival Domain |

- - - - - - - - - - - - - - - -

| Filler n option = 1 | Option data length = 2 | 0 | 0 |

- - - - - - - - - - - - - - - -

- - - - - - - - - - - - - - - - | Next header | Extended header length = 3 | Pack 1 option = 0 | Option type = Y |

- - - - - - - - - - - - - - - -

| Option Data Length = 7 | 1 - Word Day Domain | 2-Word Domain |

- - - - - - - - - - - - - - - -

| 4-Word Festival Domain |

- - - - - - - - - - - - - - - -

| Filler n option = 1 | Option data length = 4 | 0 | 0 |

- - - - - - - - - - - - - - - -

| 0 | 0 | Option Type = x | Option Data Length = 12 |

- - - - - - - - - - - - - - - -

| 4-Word Festival Domain |

- - - - - - - - - - - - - - - - | |

8-word somewhere

| | |

- - - - - - - - - - - - - - - -

Safety Considering Reference on Security Architecture in Internet Protocol [RFC-1825], this document illustrates with IPv6

IP Authorized Head [RFC-1826] and IP Package Safety Payload [RFC-1827].

Thank you

The author expresses sincerely for the IPNG Working Group, End-to-End Protocol Research Group, and many beneficial recommendations of the Internet community member.

Thanks.

Author address

Stephen E. Deering Robert M. Hinden

Xerox Palo Alto Research Center Ipsilon NetWorks, Inc.

3333 Coyote Hill Road 2191 E. Bayshore Road, Suite 100

Palo Alto, CA 94304 Palo Alto, CA 94303

USA USA

Phone: 1 415 812 4839 Phone: 1 415 846 4604

Fax: 1 415 812 4471 Fax: 1 415 855 1414

Email: deering@parc.xerox.com email: hinden@ipsilon.com

reference

[RFC-1825] Atkinson, R., "Security Architecture for the Internet

Protocol, RFC 1825, Naval Research Laboratory, August

1995.

[RFC-1826] Atkinson, R., "IP Authentication HEADER", RFC 1826,

Naval Research Laboratory, August 1995.

[RFC-1827] Atkinson, R., "IP ENCAPSULATING Security Protocol

(ESP) ", RFC 1827, Naval Research Laboratory, August

1995.

[RFC-1885] Conta, A., And S. Deering, "Internet Control Message

Protocol (ICMPV6) for the Internet Protocol Version 6 (IPv6) Specification, RFC 1885, DIGITAL EQUIPMENT

Corporation, Xerox Parc, December 1995.

[RFC-1884] Hinden, R., And S. DeERING, Editors, IP Version 6

Addressing Architecture, RFC 1884, IPSILON NETWORKS,

Xerox Parc, December 1995.

[RFC-1191] Mogul, J., And S. Deering, "Path Mtu Discovery", RFC

1191, Decwr, Stanford University, November 1990.

[RFC-791] Postel, J., "Internet Protocol", STD 5, RFC 791,

USC / INFORMATION sciences institute, SEPTEMBER 1981.

[RFC-1700] Reynolds, J., And J. Postel, "Assigned Numbers", STD 2,

RFC 1700, USC / INFORMATION sciences institute, October

1994.

[RFC-1661] Simpson, W., Editor, "The Point-to-Point Protocol

(PPP) ", STD 51, RFC 1661, Daydreamer, July 1994.

RFC1883 - Internet Protocol, Version 6 (IPv6) Specification

Internet Agreement, Version 6 (IPv6) Manual

RFC1883 - Internet Protocol, Version 6 (IPv6) Specification Internet Protocol, Version 6 (IPv6) Manual

2

RFC Document Chinese Translation Program

转载请注明原文地址:https://www.9cbs.com/read-96344.html

New Post(0)