rfc1475.txt
来自「RFC 的详细文档!」· 文本 代码 · 共 1,539 行 · 第 1/5 页
TXT
1,539 行
issuing both Ri's and Flowi's will take care to make sure that it can
distinguish them by some private method.)
If a flow has been set up by a restricted target RAP route
announcement, it is no different from a route in the implementation.
If this announcement originates from the host itself, the Ri in
incoming datagrams can be used to determine whether they followed the
flow, or to optimize delivery of the datagrams to the next layer
protocol.
3.4.3 Mobile hosts
First, a definition: A "mobile host" is a host that can move around,
connecting via different networks at different times, while
maintaining open TCP connections. It is distinguished from a
"portable host", which is simply a host that can appear in various
places in the net, without continuity. A portable host can be
implemented by assigning a new address for each location (more or
less automatically), and arranging to update the domain system.
Supporting truly mobile hosts is the more interesting problem.
To implement mobile host support in a general way, either some layer
of the protocol suite must provide network-wide routing, or the
datagrams must be tunnelled from the "home" network of the host to
its present location. In the real network, some combination of these
is probable: most of the net will forward datagrams toward the home
Ullmann [Page 17]
RFC 1475 TP/IX June 1993
network, and then the datagrams will follow a specific host route to
the mobile host.
The requirement on the routing system is that it must be able to
propagate a host route at least to the home network; any other
distribution is useful optimization. When a host route is propagated
by RAP as a targeted route, and the routers use the resulting Ri's,
the datagram follows an effective tunnel to the mobile host. (Not a
real tunnel, in the strict sense; the datagrams are following an
actual route at the network protocol layer.)
As explained in RAP [RFC14XX-RAP], a targeted route can be issued
when desired; in particular, it can be triggered by the establishment
of a TCP connection or by the arrival of datagrams that do not carry
an Ri indicating that they have followed a (non-tunnel) route.
4. TCP: Transport protocol
Internet version 7 expands the sizes of the sequence and
acknowledgement fields, the window, and the port numbers. This is to
remove limitations in version 4 that begin to restrict throughput at
(for example) the bandwidth of FDDI and round trip delay of more than
60 milliseconds. At gigabit speeds and delays typical of
international links, the version 4 TCP would be a serious limitation.
See [RFC1323].
The port numbers are also expanded. This alleviates the problem of
going through the entire port number range with a rapid sequence of
transactions in less than the lifetime of datagrams in the network.
4.1 TCP segment header format
The 64 bit fields (sequence and acknowledgement) in the TCP header
are off-phase aligned, in anticipation of the usual case of the TCP
header following the 9 32-bit word IP header. If IP options add up
to an odd number of 32 bit words, a null option may be added to push
the transport header to off-phase alignment.
Ullmann [Page 18]
RFC 1475 TP/IX June 1993
0 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| data offset | MBZ |A|P|R|S|F| checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| source port |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| destination port |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ sequence number +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ acknowledgement number +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| window |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| options ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
A description of each field:
4.1.1 Data offset
An 8 bit count of the number of 32 bit words in the TCP header,
including any options.
4.1.2 MBZ
Reserved bits, must be zero, and must be ignored.
4.1.3 Flags
These are the protocol state flags, use exactly as in TCPv4, except
that there is no urgent data flag.
4.1.4 Checksum
This is a 16 bit checksum of the segment. The pseudo-header used in
the checksum consists of the destination address, the source address,
the protocol field (constant 6 for TCP), and the 32 bit length of the
TCP segment.
Ullmann [Page 19]
RFC 1475 TP/IX June 1993
4.1.5 Source port
The source port number, a 32 bit identifier. See the section on port
numbers below.
4.1.6 Destination port.
The 32 bit destination port number.
4.1.7 Sequence
A 64 bit sequence number, the sequence number of the first octet of
user data in the segment.
The ISN (Initial Sequence Number) generator used in TCPv4 is used in
TCPv7, with the 32 bit value loaded into both the high and low 32
bits of the TCPv7 sequence number. This provides reasonable behavior
when the 32 bit rollover option is used (see below) for TCPv4
interoperation. V7 hosts must implement the full 64 bit sequence
number rollover.
4.1.8 Acknowledgement
The 64 bit acknowledgement number, acknowledging receipt of octets up
to but not including the octet identified. Valid if the A flag is
set, if A is reset (0), this field should be zero, and must be
ignored.
4.1.9 Window
The 32 bit offered window.
4.1.10 Options
TCP options, some of which are documented below.
4.2 Port numbers
Port numbers are divided into several ranges: (all numbers are
decimal)
0 reserved
1-32767 Internet registered ("well-known") protocols
32768-98303 reserved, to allow TCPv7-TCPv4 conversion
98304 up dynamic assignment
It must also be remembered that hosts are free to dynamically assign
for active connections any port not actually in use by that host:
Ullmann [Page 20]
RFC 1475 TP/IX June 1993
hosts must not reject connections because the "client" port is in the
registered range.
4.3 TCP options
4.3.1 Option Format
Each option begins with a 32 bit header:
0 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 ... | padding |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
4.3.2 Null
The null option (type = 0), is to be ignored.
4.3.3 Maximum Segment Size
Maximum segment size (type = 1) specifies the largest segment that
the other TCP should send, in terms of the number of data octets.
When sent on a SYN segment, it is mandatory; if sent on any other
segment it is advisory.
Data is one 32 bit word specifying the size in octets.
4.3.4 Urgent Pointer
The urgent pointer (type = 2) emulates the urgent field in TCPv4.
Its presence is equivalent to the U flag being set. The data is a 64
bit sequence number identifying the last octet of urgent data. (Not
an offset, as in v4.)
4.3.5 32 Bit rollover
The 32 bit rollover option (type = 3) indicates that only the low
order 32 bits of the sequence and acknowledgement packets are
significant in the packet.
This is necessary because a converting internet layer gateway has no
retained state, and cannot properly set the high order bits. This
option must be implemented by version 7 hosts that want to
interoperate with version 4 hosts.
Ullmann [Page 21]
RFC 1475 TP/IX June 1993
5. UDP: User Datagram protocol
The user datagram protocol is also expanded to include larger port
numbers, for reasons similar to the TCP.
5.1 UDP header format
0 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| data offset | MBZ | checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| source port |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| destination port |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| options ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
A description of each field:
5.1.1 Data offset
An 8 bit count of the number of 32 bit words in the UDP header,
including any options.
5.1.2 MBZ
Reserved bits, must be zero, and must be ignored.
5.1.3 Checksum
This is a 16 bit checksum of the datagram. The pseudo-header used in
the checksum consists of the destination address, the source,
address, and the protocol field (constant 17 for UDP), and the 32 bit
length of the user datagram.
5.1.4 Source port
The source port number, a 32 bit identifier. See the section on TCP
port numbers above.
5.1.5 Destination port.
The 32 bit destination port number.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?