📄 rfc1044.txt
字号:
Hardwick & Lekashman [Page 22]RFC 1044 IP on Network Systems HYPERchannel February 1988WHICH PROTOCOL IS BEST? In choosing which to follow, the "Cray-Ames" approach was taken for several reasons: 1. Cray Research has performed exemplary work in dealing with other vendors to provide IP on HYPERchannel from the Cray computers to other hosts. As a result, there are 4 or 5 vendor supported implementations of IP on HYPERchannel that use this approach. 2. The two part structure of the message proper has its uses when a machine wishes to make protocol decisions before staging the transfer of an immense block of associated data into memory. Many network coprocessors and intelligent I/O subsystems find it simpler to read in the entire network message before deciding what to do with it. Arbitrarily catenating the two components does this best and permits streaming of messages from future technology network adapters. 3. Some TCP users (mostly secure DoD sites) intend to load up IP datagrams with optional fields in the future. The Tektronix-Berkeley implementation has problems if the IP header length exceeds 54 bytes.Hardwick & Lekashman [Page 23]RFC 1044 IP on Network Systems HYPERchannel February 1988EXTENDED (32-BIT) MESSAGE ENCAPSULATION Message Proper +------------------------------+-----------------------------+ 0 | Trunks to Try |1| Message Flags | | TO trunks | FROM trunks |GNA|CRC| |SRC|EXC|BST|A/D| +------------------------------+-----------------------------+ 2 | Destination Domain | Destination Network | | Number | Number | +------------------------------+-----------------------------+ 4 |O| Physical addr of | Protocol server |Dest Port| |N| destination adapter | logical address | number | +------------------------------+-----------------------------+ 6 |O| Physical addr of | Originating | Src Port| |N| source adapter | server address | number | +------------------------------+-----------------------------+ 8 | IP on HYPERchannel | Offset to start of IP | | type code 0x06 | datagram header | +------------------------------+-----------------------------+ 10 | Source Domain Number | Source Network Number | | | | +------------------------------+-----------------------------+ 12 | - reserved - | Age Count | +------------------------------+-----------------------------+ 14 | Next Header Offset | Header End Offset | | | (usually 16) | +------------------------------+-----------------------------+ 16 | Padding to IP header start (usually 0 bytes) | | | +------------------------------+-----------------------------+ Off| Entire IP datagram if datagram length <= (64-Offset) | | | | else first (64-Offset) bytes of IP datagram | +------------------------------+-----------------------------+ Associated Data +------------------------------+-----------------------------+ | | | Remainder of IP datagram | | | | No associated data is present if IP | | datagram fits in the Message Proper | | | +------------------------------+-----------------------------+TRUNK MASK From the vantage of an IP driver, any trunk mask is valid so long asHardwick & Lekashman [Page 24]RFC 1044 IP on Network Systems HYPERchannel February 1988 it results in successful delivery of the HYPERchannel network message to its destination. There is no reason to check this field for validity on reception of the message. Specification of the Trunk Mask on output is a local affair that can be specified by the transmitting driver's address resolution tables. The use of 0xFF in this value is strongly encouraged for any message other than those using exotic trunk configurations on a single local network.MESSAGE FLAGS Several new bits have been defined here. EXTENDED ADDRESSING. This bit should be set ON whenever a 32-bit address (Network and/or Domain numbers nonzero) is present in the message. It should always be OFF with the 16-bit message header. If this bit is improperly set, delivery of the message to the (apparent) destination is unlikely. END-TO-END CRC. Some newer technology adapters are equipped to place a 32-bit CRC of the associated data at the end of the associated data block when this bit is on. Similarly equipped adapters will examine the trailing 32-bits of associated data (when the bit is on) to determine if the message contents have been corrupted at any stage of the transmission. Transmitting device drivers should include the ability to set this bit on transmission as a configuration option similar to the specific HYPERchannel device interface used. The bit should be generated to be turned ON if the HYPERchannel IP driver is attached to an adapter equipped to generated CRC information -- it should be left OFF in all other circumstances. If a message arrives at the host with the CRC bit still on, this indicates that the CRC information was placed at the end of associated data by the transmitting adapter and not removed by the receiving adapter; thus the associated data will be four bytes longer than otherwise expected. Since the IP datagram length is self contained in the network message, this should not impact IP drivers. It is possible for host computers to both generate and check this CRC information to match the hardware assisted generation and checking logic in newer network adapters. Contact NSC if there are particular applications requiring exceptional data integrity that could benefit from host generation and checking.Hardwick & Lekashman [Page 25]RFC 1044 IP on Network Systems HYPERchannel February 1988 FROM ADDRESS CORRECT. This bit should be set by all transmitting IP drivers who have endeavored to provide a completely correct FROM address that properly reflects the adapter interface used. No action should be taken on this bit by the receiving IP driver at this time. Additional work needs to be done to determine the action an IP driver should take if it detects a real or imagined "security violation" should a message arrive with this bit absent.TO ADDRESS The TO address logically constitutes bytes 2-5 of the network message. NETWORK AND DOMAIN NUMBERS. The Network and Domain numbers should both be nonzero when 32-bit addressing is used. If the message is local in nature, then the local Network and Domain numbers should be placed in this field. ADAPTER ADDRESS. Contains the adapter address as in the basic message. The high order bit of this eight bit field (the "outnet" bit) should be set to zero if the destination network and domain are the same as the transmitting host's. The high order bit should be set to one if the destination host is not in the local network or domain. LOGICAL TO AND SUBADDRESS. The logical TO field should contain the protocol server address of the HYPERchannel IP driver for that host as determined by the host's system administrator.FROM ADDRESS The FROM address is filled in with the address that the local driver expects to receive from the network, but no particular use is made of the FROM address.MESSAGE TYPE The value 6 must be placed in this byte to uniquely indicate that the network message is being used to carry IP traffic. No other well- behaved protocol using HYPERchannel should duplicate this value of 6. Note that all IP drivers should be prepared to send and receive the basic format network messages using the 16-bit HYPERchannel addresses. The driver can distinguish an incoming network message by the value of byte 8 -- 32-bit messages will always have a 6 in byte 8, while 16-bit messages should have a 5 here. For interoperability with older drivers, a value of 0 here should be treated as 16 address bit messages.Hardwick & Lekashman [Page 26]RFC 1044 IP on Network Systems HYPERchannel February 1988IP HEADER OFFSET Byte 9 contains the offset to the start of the IP header within the message proper, such that the Message Proper address plus the IP header offset generates the address of the first byte of the IP header (at least on byte addressable machines.) Unlike the 16-bit header, receiving IP drivers should assume that this field contains a correct offset to the IP header and examine the information at that offset for conformance to an IP datagram header. Valid offsets are in the range of 16 through 44 bytes, inclusive. The limitation of 44 bytes is imposed so that routing decisions on the vast majority of IP datagrams can be made by examining only the message proper, as the basic IP datagram will fit into the message proper if it begins at an offset of 44.IP DATAGRAM CONTENTS The message and data are treated as logically contiguous entities where the first byte of associated data immediately follows the 64th byte of the message proper. If the entire IP datagram is less than or equal to (64-offset) bytes in length it will fit into the Message Proper. If so, only a message proper containing the HYPERchannel header and IP datagram is sent on the network. If the IP datagram is greater than this length, the IP datagram spills over into the associated data. On transmission, a 64 byte message proper is sent followed by as many bytes of associated data as are needed to send the entire datagram. On reception, the message proper can be read into the start of an IP input buffer and the associated data read into memory 64 bytes from the start of the message. If the received message is in fact a 32- bit address message, no "shuffling" of the message will be required to build a contiguous IP datagram -- it's right there at buffer+16.ADDRESS RESOLUTION PROTOCOL Address Resolution Protocol has achieved a great deal of success on the Ethernet as it permits a local IP network to configure itself simply by having each node know its own IP address. Those unfamiliar with the intent, protocol, and logic of the Address Resolution Protocol should refer to RFC-826, "An Ethernet Address Resolution Protocol" [2].Hardwick & Lekashman [Page 27]RFC 1044 IP on Network Systems HYPERchannel February 1988 A later section of this document describes four techniques where a target HYPERchannel address is to obtained given the destination's IP address. The protocol is defined in this section for completeness. Message Proper +------------------------------+-----------------------------+ 0 | Trunks to Try |1| Message Flags | | TO trunks | FROM trunks |GNA|CRC| |SRC|EXC|BST|A/D| +------------------------------+-----------------------------+ 2 | Server Domain or | Server Network or | | 0xFF | 0xFF | +------------------------------+-----------------------------+ 4 | Server Adapter Address or | Server logical addr/port or | | 0xFF | 07 | +------------------------------+-----------------------------+ 6 |O| Physical addr of | Originating | Src Port| |N| source adapter | server address | number | +------------------------------+-
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -