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: SIMON_SHEN SHEN_JIN@263.net)
Translation time: 2001-9-6
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 David C. Plummer
Request for Comments: 826 (DCP @ mi-mc)
NOVEMBER 1982
Ethernet address conversion protocol or conversion network protocol address
48-bit Ethernet address for transmitting on Ethernet hardware
(RFC826 - An Ethernet Address Resolution Protocol OR Converting Network Protocol
Addresses to 48.bit Ethernet Address for Transmission On Ethernet Hardware)
table of Contents
3. Abstract 1
2. Description 3
3. Question 5
5. Motivation 5
5. Definition 5
6. Package 4
7. Happiness 6
8. Close 7
9. Why do you do this?
10. Network monitoring and tired 8
11. An example 9
12. Related cases 9
Abstract
Through the routing mechanism, the implementation of the protocol P on the transmit host S determines that S needs to be transmitted to the target host T, and T is
10 mega Ethernet cables connected to S. The actual transmission Ethernet package must generate a 48-bit Ethernet address. the Lord
The protocol P address of the machine is not always compatible with the corresponding Ethernet address (length or value). Now this protocol allows dynamics
Release
Information, this information can be used to construct a table of address A within the P-address of the Conversion Protocol P address space is a table of 48-bit Ethernet addresses.
The protocol allowed in non-10 megabo Ethernet hardware has been integrated, and the radio network is this hardware.
[The purpose of this RFC is to propose a conversion protocol address (eg IP address) for local network addresses (such as Ethernet
Method of location). This problem is now being widely received by the ARPA Internet community, and the method proposed here is for readers only
Reference is not a description of the Internet standard. ]
2. Description
This agreement was originally designed for Dec / Intel / Xerox 10 trillion Ethernet, which is now available in other types of
online. Many discussion will directly target 10 trillion Ethernet. In short, the right words will follow the specific discussion of Ethernet.
The DOD Internet protocol will be referenced as the specification of the Internet.
The numbers used here are high bytes in the Ethernet standard, which is, for example, PDP-11, VAX and other machines.
Byte Address, therefore, the operation field (Ar $ OP) described below must be particularly careful.
It is necessary to handle hardware namespaces. Until the official recognition, the request can be sent to
David C. Plummer
Symbolics, Inc.
243 Vassar Street
Cambridge, Massachusetts 02139
Or send an email to DCP @ mit-mc.
3. Problem
The world is always messy, and the network has increased this mess. Almost every layer of the network architecture,
Several potential protocols can be used. For example, at a high level has Telnet and Supdup for remote login. Low one
There are CHAOS, DOD TCP, Xerox, BSP, or Decnet, etc. Reliable byteflow protocols. Even logical transport layers close to hardware also include protocols such as Chaos, DOD Internet, Xerox Pup, Decnet. 10 trillion Ethernet
The type fields in the Ethernet cladding will cause these protocols (and more) to coexist on one cable. However, 10 trillion
Net requires 48-bit address on physical cable, and most protocol addresses are not 48 bits, they don't need hardware
What is the relationship between 48 Bit Ethernet? For example, the address of chas is 16 bits, and the address of the DOD Internet is 32
Bits, the address of Xerox Pup is 8 bits. This requires an agreement to dynamically divide a
A 48-bit Ethernet address correspondence.
4. Motivation
With more manufacturers provide specifications that follow DEC, Intel and Xerox, 10 trillion Ethernet
Use is also increasing. With the increase in use, more and more software developed for this interface. There are two options: (1)
Each implementator uses its own way to do some form of address conversion; (2) Each implementation uses a unified standard, so that this code
You can not modify the transplant to other systems. This proposal tries to establish a standard.
5. Definition
The following definition is a reference to the value of the type field filled in the Ethernet header.
Ether_type $ xerox_pup,
Ether_type $ doD_INTERNET,
Ether_type $ Chaos,
A new value
Ether_TYPE $ address_Resolution
Refigure the following value (later discussion)
ARES_OP $ Request (= 1, high byte before) and
ARES_OP $ reply (= 2), and
ARES_HRD $ Ethernet (= 1).
6. Package format
In order to map the
Discussion package format. The package format is as follows.
Ethernet transport layer (not the user needs access):
48 Bit: Destination Ethernet address
48 Bit: Source Ethernet Address
16 Bits: Protocol Type = Ether_TYPE $ Address_Resolution
Ethernet package data:
16 bits: (Ar $ hrd) hardware address space (for example: Ethernet, packet radio net.)
16 Bit: (Ar $ PRO) Protocol Address Space. For Ethernet hardware, it belongs to the type field Ether_TYPE $ Comment> collection 8 Bits: (AR $ HLN) The byte length of each hardware address 8 Bits: (AR $ PLN) The byte length of each protocol address 16 Bits: (AR $ OP) Operation Code (ARES_OP $ Request | ARES_OP $ Reply) N bytes: (Ar $ SHA) source hardware address, N get it from the Ar $ HLN field M bytes: (Ar $ SPA) Source Protocol Address, M get from the Ar $ PLN field N bytes: (Ar $ THA) Destination Hardware Address (If you know) M byte: (Ar $ TPA) Destination Protocol Address. 7. When a network layer comes down, the route will determine the protocol address of this packet, and according to the purpose agreement Address decision which hardware is used to transmit. Address conversion in 10 trillion Ethernet. Some lower levels (like hardware drive layers) ) You must consult address conversion module (perhaps implementation in Ethernet Support Modules) to turn the Change to 48-bit Ethernet address. The address conversion module attempts to find this pair in a table. Return to the phase if found The 48-bit Ethernet address should be given to the caller (hardware drive layer). If you can't find it, you should notify the caller this package is being discarded (if the package will be retransmitted by the top), and a type field is ether_type $ address_resoluti ON Ethernet Pack. The address conversion module fills an Ares_hrd $ Ethernet in the AR $ HRD field, fill in the Ar $ PRO field The protocol type to be converted, fill 6 (48-bit Ethernet address byte) in the Ar $ HLN field, in the Ar $ PLN field Fill in the byte number of the address of the protocol, fill the ARES_OP $ Request in the Ar $ OP field, fill your own 48 in the Ar $ SHA field Bits Ethernet address, fill your own protocol address in the AR $ SPA field, fill in the army to access the machine in the AR $ TPA field Address. It is not possible to fill a special value in the Ar $ THA field because its value is to be obtained. If it is realized, The AR $ TPA field can fill the hardware broadcast address (all machines on 10 trillion Ethernet). According to the original routing mechanism, this A package will be broadcast to all workstations on the Ethernet cable. 8. When receiving an address conversion package, the assembly module is sent to the address conversion module running similar to the following algorithm. Conditional Establishment means processing ends and discards the package. ? Do I use the hardware in the AR $ HRD field? Yes: (almost certain) [Check the hardware address length of AR $ HLN (optional)]] ? Do I use the protocol in the AR $ PRO field? Yes it is: [Check the protocol address length of Ar $ PLN (optional)] MERGE_FLAG: = FALSE If the Address update table and set merge_flag to true. ? I am a destination agreement address? Yes it is: If MERGE_FLAG is false, add a triple group Address, sender hardware address>. ? Is the opcode of ARES_OP $ request? (Now watch the opcode) Yes it is: Exchange the hardware and protocol fields, fill in the local hardware and protocol address in the sender field. Fill an ARES_OP $ Reply in the AR $ OP field. Then put this package from the hardware that receives the package Send to the destination hardware address. Note that before checking the opcode, the The conversion table is added. This is built in communication is two-way assumptions. If A has some reason to talk to B, B is also There will be some reason to talk to a "conversation". Also noted that if the The new hardware address will overwrite the old. The relevant situation gives this motivation. Summary: AR $ HRD and AR $ HLN fields make non-10 megabytes to use this protocol and package format. For 10 trillion Ethernet, Taiwanese network type field, but will be related to the agreement you want to see with the address. 9. Why do you do this? Regular broadcast is not expected, suppose there is 100 hosts on an Ethernet, broadcast address translation every 10 minutes Information (possibly via parameter settings), this is a package every 6 seconds. This is completely reasonable, but is it useful? Workstation one Will not communicate with each other (so there are 100 unused entries in the conversion table), they are mainly and large, file servers or networks Bridge communication, and only a small number of host communications (such as interactive conversation). The protocol described herein is only sent when needed. Interest, and each machine is only sent once every machine starts. This package format does not allow more than one conversion in a packet. This is for simple. If complicated, The package will be more difficult to analyze, and many information is useless. Think about a bridge with four agreements telling the workstation of four consecutive associations The site, and three workstations have never been used. This package format allows you to answer the storage space of the bag, answer package and request package have the same length, Some fields are also the same. The value of the hardware field (AR $ HRD) comes from a list. Now only one value defined by 10 megabytes of Ethernet (ARES_HRD) $ Ethernet = 1). It has been discussed to use this agreement on Packet Radio NetWorks, which needs to make Use this protocol to allocate a value. For 10M Ethernet, the value of the protocol field (AR $ pro) comes from the collection Ether_TYPE $, this is the assigned protocol Natural reuse of types. Combine it with the operation code (AR $ OP) to effectively reduce the association of this protocol conversion The quantity of the discussion, will also cause more difficulties to network monitoring and troubleshooting (see network monitoring and miscarriage below). Hopeless There are 32768 protocols, but Murphy has made some rules that do not allow us to make this assumption. In theory, the length field (AR $ HLN and AR $ PLN) are redundant because of the hardware type (in ARD) and Association The type of discussion (in the AR $ PRO) can determine the length of the protocol address. They are included in an optional consistency check and Network monitoring and miscarriage (see below). The operation code determines whether the request (may result in a response) or a response to the previous request. 16 more than specials, But this field is necessary. The sender's hardware address and protocol address are absolutely useful, and they can get results from the conversion table. In the request package format, the destination protocol address is necessary, so the machine can decide whether the sender information is put Do you send a response in the conversion table. If the assumption response is caused by the request, then this field is not in the answering package necessary. Including it is for integrity, network monitoring, and more simple algorithms described above (put the sender information Take a look at the opcode after the conversion table). Destination hardware addresses are included for integrity and network monitoring. It is meaningless in the request package, because the machine This number is to ask. It is the address of the requesting machine in the answering package. In some implementations (for example, no prosecution 14-bit Ethernet head), send this field as the destination hardware address of the package to the hardware drive, there is a register or In the stack space. There is no padding byte between the address. The package data is seen as a byte stream, which is only 3 bytes to the word (AR $ HRD, A) R $ PRO and AR $ OP), they are sending at the high byte in front. 10. Network monitoring and troubleshooting The above address conversion protocol allows the machine to get high-level protocol activities in Ethernet (such as chas, internets, PUP, DECNET information. It can decide which Ethernet address is being used (via value), and the type of each protocol Agreement address. In fact, the monitor does not have to use any high-level protocol. It works below: When receiving the address conversion package, it always puts the Try the table. The length of the hardware and protocol address can be obtained from the AR $ HLN and Ar $ PLN fields of the package. If the opcode is a response, The controller can discard this package. If the operator is a request, and the destination protocol address is the same as the monitor's protocol address. Monitor usually will issue an answer package. The monitor will only get a mapping because the requesting response will be sent directly to the request. Host. Monitor can try to send its own request, but be careful, this will cause two monitors to fall into the request to send cycle. Since the agreement and operation code is not merged into a field, the monitor does not have to know the request operation of each high-level protocol The code corresponding to the code. The length field is to have enough information with the "Analysis" protocol address, although it does not have the meaning of the protocol address. A successful implementation of the address conversion protocol can also be tap for unsuccessful implementation. Suppose a hardware driver successfully The Ethernet type is the package of Ether_type $ address_resolution. Due to the complex or maintenance table Hygically, the package format may be incorrect. Because the request is broadcast, the monitor will receive this package, if you need to display it Conduct troubleshooting. 11. An example It is assumed that there are machine X and Y on the same 10 trillion Ethernet cable. They have Ethernet address EA (X) and EA (Y), DOD Internet Address IPA (X) and IPA (Y). Suppose the Internet's Ethernet type is ET (IP). Machine X just started, and And it will have a package sooner or later. X know to send to IPA (Y) and tell the IPA (Y) hardware drive (here is Ethernet driver). The driver allows the address conversion module to convert Because X is just started, it doesn't have this information. It does not have a package first, generate an address conversion package, (ar $ hrd) = ARES_HRD $ Ethernet (Ar $ pro) = ET (IP) (Ar $ HLN) = EA (X) length (AR $ PLN) = (IPA (X) length (AR $ OP) = ARES_OP $ Request (Ar $ SHA) = EA (x) (AR $ SPA) = IPA (x) (Ar $ THA) = Arbitrary Value (AR $ TPA) = IPA (Y) And broadcast all the machines on the cable. The machine Y received this package, judge whether you understand this hardware type (Ethernet), do you understand this protocol (Interger NET), whether the package is given to yourself ((AR $ TPA) = IPA (Y)). Then map Interest down (may overwrite the existing entry). Then realize that it is a request, then exchange the field to fill in the EA (Y). The Venue Ethernet Address field (Ar $ SHA), set the operator to a response, and then send the package directly (not broadcast) to EA (x). At this time, y has known how to send X, and X doesn't know how to send Y. s The machine X receives Y sent package, generates So I was discarded. The next time the XTNET module attempts to send the package to the Y, the address translation will succeed, and the package can be reached. If the Y's Internet module is sent to X, it will succeed, because Y has remembered in the address conversion request from X Information required. 12. Related Perhaps the conversion form will expire, which is outside the scope of this agreement. There is a more detailed description here (feeling Thank Moon @ SCRC @ MIT-MC). When the host moves, it is assumed that the address conversion table is cleared when the movement is moved, and any connection originted from the host can be jobs. But there is no reason to discard their old addresses without any reasons to discard their old addresses. The 48-bit Ethernet address is unique, and it is fixed at any time and does not change. If host name (and other protocol Site) is reassigned on different physical hardware, and the host "moves". And from experience, there will always be due to hard Error routing information generated by pieces or software errors, but this error is not allowed to exist. Maybe initiate a loss of connection If the address conversion module will not be able to reach the other party due to the cause of the other party or the converter entry. Thus deleting In addition to this information. Maybe when you receive a package from a host, when you update the conversion entry to the host bell. This conversion entry will be deleted if it does not receive a package from a host for a certain period of time. This will result in an additional burden of each received package scan conversion table. Perhaps use a hash or index will be fast. The recommended algorithm for receiving the address converter is attempting to shorten the recovery time after the host moves. If the Agreement Address> Already in the conversion table, then the sender's hardware address will overwrite this entry. So in good ether Online, after the request broadcast arrives, each workstation will get this new hardware address. Another way is that there is a daemon to process timeout. After a certain period, the daemon considers deletion of a table item. It first sends an address conversion request packet directly with the Ethernet address in the table (if you need to retransmit a few times). If in one During a short period of time, the read item is deleted. This request is sent directly, and it does not affect Ethernet. Each workstation. The delete entry is to delete the useful information that must be re-obtained. Because the host only sent information about their own, without sending information about any other host, restart a The host will make its address mapping table to the latest. Error information will never exist through the transfer between the machine. machine The only existing error message is not known that other machines have modified 48-bit Ethernet address. Maybe manual update (Or clear) the address mapping table is enough. This document requires more thinking if it is considered important. Any address conversion type protocol is used. RFC826 - An Ethernet Address Resolution Protocol OR Converting Network Protocol Addresses to 48.bit Ethernet Address for Transmission On Ethernet Hardware Ethernet address conversion protocol or conversion network protocol address is 48-bit Ethernet address for transmitting in Ethernet hardware 1 RFC Document Chinese Translation Program