rfc1705.txt
来自「RFC 的详细文档!」· 文本 代码 · 共 1,438 行 · 第 1/5 页
TXT
1,438 行
will also supply TCP with it's IANA network layer number. TCP may
use the source TA and the IANA number to update it's cache.
The structure of a TA is to concatenate a unique manufacture code
with a manufacturer defined variable to form a unique 64 bit number.
The unique manufacture code will be a 24 bit number, possibly the
same code as the IEEE 802.3 MAC address code. The remaining 40 bits
will be supplied by the manufacture to uniquely identify the TCP. It
is recommended that this field be built by encoding the
manufacturer's serial number. An integer serial number will be
viewed as an integer number and converted into it's hexadecimal
equivalent, left padded with 00 octets if necessary. If a serial
number contains Alpha characters, these alpha characters will be
converted into octets using the international standard ASCII code.
The integer values will then be converted to their hexadecimal
equivalent and the 2 values will be concatenated to form the unique
identifier. These structure will allow 2^24 (16,777,216)
manufactures to build 2^40 (1,099,511,627,776) transport addressable
entities. Each of these entities may have 1 or more network
interfaces using IPv4, IPng, or any other network layer protocol.
The current growth of the Internet may indicate that this amount of
address space is inadequate. A larger fixed space (i.e., 96 or 128
bits) or a variable length field may be required. The disadvantage
is that this address must be transmitted in every packet.
Carlson & Ficarella [Page 11]
RFC 1705 Six Virtual Inches to the Left: IPng Problems October 1994
4.2 TCPng
The new TCP header is as shown.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Destination TA +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Source TA +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination Port Number | ver |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Port Number | QoS |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Window Size |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Sequence Number +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Acknowledgment Number +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| data offset |X|X|C|A|P|R|S|F| Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
/ Variable length option 1 /
\ : \
/ : /
\ Variable length Option n \
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1
Destination TA: 64 bits.
The Destination Transport Address. The concatenation of
the 24 bit IEEE assigned Ethernet address and the 40 bit
representation of the machines serial number for the
remote node.
Carlson & Ficarella [Page 12]
RFC 1705 Six Virtual Inches to the Left: IPng Problems October 1994
Source TA: 64 Bits.
The Source Transport Address. The concatenation of the
24 bit IEEE assigned Ethernet address and the 40 bit
representation of the machines serial number for the
local node.
Destination Port Number: 28 Bits.
Identifies the specific application on the remote node.
Ver: 4 bits.
Version number. This is TCPng. RFC 793
references 9 earlier editions of ARPA TCP. The current
TCP is version 10.
Source Port Number: 28 Bits.
Identifies the specific application on the local node.
QoS: 4 bits.
The Quality of Service parameter may be set by the user
application and passed down to a network layer that
supports different levels of service.
Window: 32 Bits.
The number of data octets beginning with the one
indicated in the acknowledgment field which the sender
of this segment is willing to accept.
Sequence Number: 64 Bits.
The sequence number of the first data octet in this segment
(accept when the S bit is present). If S bit is on, the
sequence number is the initial sequence number (ISN) and
the first data octet is ISN+1. (The ISN is computed using
the existing algorithm).
Acknowledgment Number: 64 Bits.
If the A bit is set, this field contains the value of
the next sequence number the sender of this segment is
expecting to receive. Once a connection is established,
this is always sent.
Data Offset: 8 Bits.
This is the number of 32 bit words in the TCP header. This
indicates where the data begins. The TCP header is an
integral number of 32 bit words long. The minimum value is
12 and the maximum is 256. If options are used, they must
pad out to a 32 bit boundary.
Carlson & Ficarella [Page 13]
RFC 1705 Six Virtual Inches to the Left: IPng Problems October 1994
Flags: 8 Bits.
The A, P, R, S, and F flags carry the same meaning as in
the current version of TCP. They are:
1. A = Ack, and acknowledgment field significant
2. P = Push, the push function
3. R = Reset, reset the connection
4. S = Sync, synchronize sequence numbers
5. F = Fin, No more data from sender
The C bit, C = Compatibility, is used to indicate that one
end of the connection is an unmodified TCP/IP host. When
the C bit is set, all header values must conform to the
TCPv6 specifications. The source port, destination port,
and window size must be 16 bits and the Sequence and
Acknowledgment numbers must be 32 bits. These values are
stored in the lower half of the proper area with null octet
pads filling out the rest of the field.
The 2 X bits, X = Reserved, are not defined and must be
ignored by a receiving TCP.
Checksum: 16 Bits.
The checksum field has the same meaning as in the current
version of TCP. The current 96 bit pseudo header is NOT
used in calculating the checksum. The checksum covers only
the information present in this header. The checksum field
itself is set to zero for the calculation.
Variable Length Options:
There are two types of options, mandatory and optional. A
TCP must implement all known mandatory options. It must
also be capable of ignoring all optional options it does
not know about. This will allow new options to be
introduced without the fear of damage caused by unknown
options. An option field must end on a 32 bit boundary.
If not, null octet pad characters will be appended to the
right of the option. The structure of an option is shown
in figure 2 below:
Carlson & Ficarella [Page 14]
RFC 1705 Six Virtual Inches to the Left: IPng Problems October 1994
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Option data | pad |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2
4.3 Mandatory Options
There are three mandatory options defined by this implementation of
TCP. Each of these options is implemented using the structure
pictured in figure 2 above.
A description of each field follows:
Type: 16 bits
The type field identifies the particular option.
Length: 16 bits
The length field represents the size of the option
data to follow, in octets.
Option Data: Variable Length
The option data is of variable length specified by
the length field, plus 0-3 bytes of zeros to pad to a
32-bit boundary.
The following are the 3 mandatory options that must be implemented:
Null: 8 bits
The null option, (type=0) is represented by the bit
sequence [00000000], preceded by an additional 8, zero
padding bits to fill out the full 16-bit type field. The
data may be of any size, including 0 bytes. The option may
be used to force an option to be ignored.
Maximum Segment Size: 8 bits
The maximum segment size option, (type=1) is represented by
the bit sequence [00000001] preceded by an additional 8,
zero padding bits to fill out the full 16-bit type field.
If this option is present, then it communicates the maximum
receive segment size at the TCP which sends this segment.
This potion is mandatory if sent in the initial connection
request (SYN). If it is sent on any other segment it is
advisory. The data is a 32-bit word specifying the segment
Carlson & Ficarella [Page 15]
RFC 1705 Six Virtual Inches to the Left: IPng Problems October 1994
size in octets [Ullmann, 1993].
Urgent Pointer: 8 bits
The urgent pointer, (type=2) is represented by the bit
sequence [00000010] preceded by an additional 8, zero
padding bits to fill out the full 16-bit type field. This
option emulates the urgent field in TCPv6. The data is a
64-bit sequence number identifying the last octet of urgent
data within the segment.
4.4 Optional Options
This version of TCP must be capable of accepting any unknown options.
This is to guarantee that when presented with an unrecognized option,
TCP will not crash, however it must not reject or ignore any option.
4.5 Compatibility Issues
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?