RFC2625 - IP and ARP over Fibre Channel(3)

时间:2005-02-16 来源: 作者: 点击:
+---+----------------+----------------+----------------+------------+ | 0 | 0x04 | D_ID | +---+----------------+----------------+----------------+------------+ | 1 | 0x00 | S_ID | +---+--------------
  
+---+----------------+----------------+----------------+------------+
| 0 | 0x04 | D_ID |
+---+----------------+----------------+----------------+------------+
| 1 | 0x00 | S_ID |
+---+----------------+----------------+----------------+------------+
| 2 | 0x05 | F_CTL |
+---+----------------+----------------+----------------+------------+
| 3 | SEQ_ID | 0x20 | SEQ_CNT |
+---+----------------+----------------+----------------+------------+
| 4 | OX_ID | RX_ID |
+---+----------------+----------------+----------------+------------+
| 5 | 0xXX-XX-XX-XX Parameter Relative Offset |
+---+------+--------------------------------------------------------+
| 6 | 0001 | 0x000 | Dest. MAC (Hi order bits) |
+---+------+---------+----------------+----------------+------------+
| 7 | Dest. MAC (Lo order bits) |
+---+------+----------+----------------+----------------------------+
| 8 | 0001 | 0x000 | Src. MAC (Hi order bits) |
+---+------+---------+----------------+----------------+------------+
| 9 | Src. MAC (Lo order bits) |
+---+----------------+----------------+----------------+------------+
|10 | 0xAA | 0xAA | 0x03 | 0x00 |
+---+----------------+----------------+----------------+------------+
|11 | 0x00-00 | 0x08-06 |
+---+----------------+----------------+----------------+------------+
|12 | ARP Packet Data |
+---+----------------+----------------+----------------+------------+
|13| ... |
+---+----------------+----------------+----------------+------------+

The Code Points for a FARP-REQ for a specific Match Address Code
Point MATCH_WW_PN_NN ( b'011') is shown below. In particular, note
the IP addresses field of the Requester set to a valid address and
that of the responder set to '0'. Note also the setting of the D_ID
address and the Port_ID of the Responder.

The corresponding code point for a FARP-REPLY is also shown below.
In particular, note the setting of the Port_ID of Responder and the
IP address setting of the Responder.

E.4.2 Code Points with FARP Command

Code Points for FC Frame with FARP-REQ Command for MATCH_WW_PN_NN
+---+----------------+----------------+----------------+------------+
|Wrd| <31:24> | <23:16> | <15:08> | <07:00> |
+---+----------------+----------------+----------------+------------+
| 0 | 0x04 | D_ID = |
| | | 0xFF 0xFF 0xFF |
+---+----------------+----------------+----------------+------------+
| 1 | 0x00 | S_ID |
+---+----------------+----------------+----------------+------------+
| 2 | 0x05 | F_CTL |
+---+----------------+----------------+----------------+------------+
| 3 | SEQ_ID | 0x20 | SEQ_CNT |
+---+----------------+----------------+----------------+------------+
| 4 | OX_ID | RX_ID |
+---+----------------+----------------+----------------+------------+
| 5 | 0xXX-XX-XX-XX Parameter Relative Offset |
+---+----------------+----------------+----------------+------------+
| 6 | 0x54 | 0x00 | 0x00 | 0x00 |
+---+----------------+----------------+----------------+------------+
| 7 | Port_ID of Requester = S_ID |Match Addr. |
| | |Code Points |
| | | xxxxx011 |
+---+----------------+----------------+----------------+------------+
| 8 | Port_ID of Responder = |Responder |
| | 0x00 0x00 0x00 |Flags |
+---+----------------+----------------+----------------+------------+
| 9 | 0001 | 0x000 |WW_PN Src. MAC(Hi order bits)|
+---+------+---------+----------------+----------------+------------+
|10 | WW_PN Src. MAC (Lo order bits) |
+---+------+----------+---------------+-----------------------------+
|11 | 0001 | 0x000 |WW_NN Src. MAC(Hi order bits)|
+---+------+---------+----------------+----------------+------------+
|12 | WW_NN Src. MAC (Lo order bits) |
+---+----------------+----------------+----------------+------------+
|13 | 0001 | 0x000 |WW_PN Src. MAC(Hi order bits)|
+---+------+---------+----------------+----------------+------------+
|14 | WW_PN Dest. MAC (Lo order bits) |
+---+------+----------+---------------+-----------------------------+
|15 | 0001 | 0x000 |WW_NN Dest.MAC(Hi order bits)|
+---+------+---------+----------------+----------------+------------+
|16 | WW_NN Dest. MAC (Lo order bits) |
+---+----------------+----------------+----------------+------------+
|17 | 0x00-00-00-00 |
+--------------------+----------------+---------+-------------------+
|18 | 0x00-00-00-00 |
+--------------------+----------------+---------+-------------------+

|19 | 0x00-00-00-00 |
+--------------------+----------------+---------+-------------------+
|20 | set to a valid IPv4 Address by Requester if Available |
+--------------------+----------------+---------+-------------------+
|21 | 0x00-00-00-00 |
+--------------------+----------------+---------+-------------------+
|22 | 0x00-00-00-00 |
+--------------------+----------------+---------+-------------------+
|23 | 0x00-00-00-00 |
+--------------------+----------------+---------+-------------------+
| | 0x00-00-00-00 |
|24 | set to a valid IPv4 Address of Responder if available |
+--------------------+----------------+---------+-------------------+

Code Points for FC Frame with FARP-REPLY Command
+---+----------------+----------------+----------------+------------+
|Wrd| <31:24> | <23:16> | <15:08> | <07:00> |
+---+----------------+----------------+----------------+------------+
| 0 | 0x04 | D_ID |
+---+----------------+----------------+----------------+------------+
| 1 | 0x00 | S_ID |
+---+----------------+----------------+----------------+------------+
| 2 | 0x05 | F_CTL |
+---+----------------+----------------+----------------+------------+
| 3 | SEQ_ID | 0x20 | SEQ_CNT |
+---+----------------+----------------+----------------+------------+
| 4 | OX_ID | RX_ID |
+---+----------------+----------------+----------------+------------+
| 5 | 0xXX-XX-XX-XX Parameter Relative Offset |
+---+----------------+----------------+----------------+------------+
| 6 | 0x55 | 0x00 | 0x00 | 0x00 |
+---+----------------+----------------+----------------+------------+
| 7 | Port_ID of Requester = D_ID | xxxxx011 |
+---+----------------+----------------+----------------+------------+
| 8 | Port_ID of Responder = S_ID |Resp. Flag |
+---+----------------+----------------+----------------+------------+
| 9 | 0001 | 0x000 |WW_PN Src. MAC(Hi order bits)|
+---+------+---------+----------------+----------------+------------+
|10 | WW_PN Src. MAC (Lo order bits) |
+---+------+----------+---------------+-----------------------------+
|11 | 0001 | 0x000 |WW_NN Src. MAC(Hi order bits)|
+---+------+---------+----------------+----------------+------------+
|12 | WW_NN Src. MAC (Lo order bits) |
+---+----------------+----------------+----------------+------------+
|13 | 0001 | 0x000 |WW_PN Src. MAC(Hi order bits)|
+---+------+---------+----------------+----------------+------------+
|14 | WW_PN Dest. MAC (Lo order bits) |
+---+------+----------+---------------+-----------------------------+
|15 | 0001 | 0x000 |WW_NN Dest.MAC(Hi order bits)|
+---+------+---------+----------------+----------------+------------+
|16 | WW_NN Dest. MAC (Lo order bits) |
+---+----------------+----------------+----------------+------------+
|17 | 0x00-00-00-00 |
+--------------------+----------------+---------+-------------------+
|18 | 0x00-00-00-00 |
+--------------------+----------------+---------+-------------------+
|19 | 0x00-00-00-00 |
+--------------------+----------------+---------+-------------------+
|20 | set to a valid IPv4 Address by Requester |
+--------------------+----------------+---------+-------------------+
|21 | 0x00-00-00-00 |
+--------------------+----------------+---------+-------------------+

|22 | 0x00-00-00-00 |
+--------------------+----------------+---------+-------------------+
|23 | 0x00-00-00-00 |
+--------------------+----------------+---------+-------------------+
|24 | set to a valid IPv4 Address by Responder |
+--------------------+----------------+---------+-------------------+

APPENDIX F: Fibre Channel Protocol Considerations

F.1 Reliability In Class 3

Problem: Sequence ID reuse in Class 3 can conceivably result in
missing frame aliasing, which could result in delivery of corrupted
(incorrectly-assembled) data, with no corresponding detection at the
FC level.

Prevention: This specification requires one of the following methods
if Class 3 is used.

- Continuously increasing Sequence Count (new Login Bit) - both
sides must set When an N_Port sets the PLOGI login bit for
continuously increasing SEQ_CNT, it is guaranteeing that it
will transmit all frames within an Exchange using a
continuously increasing SEQ_CNT (see description in Section
B.1 below).
- After using all SEQ_IDs (0-255) once, must start a new
Exchange. It is recommended that a minimum of 4 Exchanges be
used before an OX_ID can be reused.
- Note: If an implementation is not checking the OX_ID when
reassembling Sequences, the problem can still occur. Cycling
through some number of SEQ_IDs, then jumping to a new Exchange
does not solve the problem. SEQ_IDs must still be unique
between two N_Ports, even across Exchanges.
- Use only single-frame Sequences.

F.2 Continuously Increasing SEQ_CNT

This method allows the recipient to check incoming frames, knowing
exactly what SEQ_CNT value to expect next. Since the SEQ_CNT will not
repeat for 65,536 frames, the aliasing problem is significantly
reduced.

A Login bit (PLOGI) is used to indicate that a device always uses a
continuously increasing SEQ_CNT, even across transfers of Sequence
Initiative. This bit is necessary for interoperability with some
devices, and it provides other benefits as well.

In the FC-PH-3 [11], the following is supported:

Word 1, bit 17 - SEQ_CNT (S)
0 = Normal FC-PH rules apply
1 = Continuously increasing SEQ_CNT

Any N_Port that sets Word 1, Bit 17 = 1, is guaranteeing that it will
transmit all frames within an Exchange using a continuously
increasing SEQ_CNT. Each Exchange SHALL start with SEQ_CNT = 0 in the
first frame, and every frame transmitted after that SHALL increment
the previous SEQ_CNT by one, even across transfers of Sequence
Initiative. Any frames received from the other N_Port in the Exchange
shall have no effect on the transmitted SEQ_CNT.

Appendix G: Acronyms and Glossary of FC Terms

It is assumed that the reader is familiar with the terms and acronyms
used in the FC protocol specification [2]. The following is provided
for easy reference.

First Frame: The frame that contains the SOFi field. This means a
logical first and may not necessarily be the first frame temporally
received in a sequence.

Code Point: The coded bit pattern associated with control fields in
frames or packets.

PDU: Protocol Data Unit

ABTS_LS: Abort Sequence Protocol - Last Sequence. A protocol for
aborting an exchange based on the ABTS recipient setting the
Last_Sequence bit in the BA_ACC ELS to the ABTS

ADISC: Discover Address. An ELS for discovering the Hard Addresses
(the 24 bit NL_Port Identifier) of N_Ports

D_ID: Destination ID

ES: End sequence. This FCTL bit in the FC header indicates this frame
is the last frame of the sequence.

FAN: Fabric Address Notification. An ELS sent by the fabric to all
known previously Logged in ports following an initialization event.

FLOGI: Fabric Login.

LIP: Loop Initialization. A primitive Sequence used by a port to
detect if it is part of a loop or to recover from certain loop
errors.

Link: Two unidirectional paths flowing in opposite directions and
connecting two Ports within adjacent Nodes.

LOGO: Logout.

LR: Link reset. A primitive sequence transmitted by a port to
initiate the link reset protocol or to recover from a link timeout.

LS: Last Sequence of Exchange. This FCTL bit in the FC header
indicates the Sequence is the Last Sequence of the Exchange.

Network Address Authority: A 4-bit field specified in Network_Headers
that distinguishes between various name registration authorities that
may be used to identify the WW_PN and the WW_NN. NAA=b'0001'
indicates IEEE-48-bit MAC addresses

Node: A collection of one or more Ports identified by a unique World
Wide Node Name (WW_NN).

NOS: Not Operational. A primitive Sequence transmitted to indicate
that the port transmitting this Sequence has detected a link failure
or is offline, waiting for OLS to be received.

OLS: Off line. A primitive Sequence transmitted to indicate that the
port transmitting this Sequence is either initiating the link
initialization protocol, receiving and recognizing NOS, or entering
the offline state.

PDISC: Discover Port. An ELS for exchanging Service Parameters
without affecting Login state.

Primitive Sequence: A primitive Sequence is an Ordered Set that is
transmitted repeatedly and continuously.

Private Loop Device: A device that does not attempt Fabric Login
(FLOGI) and usually adheres to PLDA. The Area and Domain components
of the NL_Port ID must be 0x0000. These devices cannot communicate
with any port not in the local loop.

Public Loop Device: A device whose Area and Domain components of the
NL_Port ID cannot be 0x0000. Additionally, to be FLA compliant, the
device must attempt to open AL_PA 0x00 and attempt FLOGI. These
devices communicate with devices on the local loop as well as devices
on the other side of a Fabric.

Port: The transmitter, receiver and associated logic at either end of
a link within a Node. There may be multiple Ports per Node. Each Port
is identified by a unique Port_ID, which is volatile, and a unique
World Wide Port Name (WW_PN), which is unchangeable. In this
document, the term "port" may be used interchangeably with NL_Port or
N_Port.

Port_ID: Fibre Channel ports are addressed by unique 24-bit Port_IDs.
In a Fibre Channel frame header, the Port_ID is referred to as S_ID
(Source ID) to identify the port originating a frame, and D_ID to
identify the destination port. The Port_ID of a given port is
volatile (changeable).

PLOGI: Port Login.

SI: Sequence Initiative

World Wide Port_Name (WW_PN): Fibre Channel requires each Port to
have an unchangeable WW_PN. Fibre Channel specifies a Network Address
Authority (NAA) to distinguish between the various name registration
authorities that may be used to identify the WW_PN. A 4-bit NAA
identifier, 12-bit field set to 0x0 and an IEEE 48-bit MAC address
together make this a 64-bit field.

World Wide Node_Name (WW_NN): Fibre Channel identifies each Node with
a unchangeable WW_NN. In a single port Node, the WW_NN and the WW_PN
may be identical.

Full Copyright Statement

Copyright (C) The Internet Society (1999). All Rights Reserved.

This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.

The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.

This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Acknowledgement

Funding for the RFCEditor function is currently provided by the
Internet Society.
------分隔线----------------------------
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
推荐内容