290 likes | 533 Views
iFCP -- An IP-based Protocol for Fibre Channel Storage Devices. Charles Monia Nishan Systems T11/01-057v0 Feb 6, 2001. Goal. Enable implementation of storage fabrics for FC devices consisting only of TCP/IP switching and routing elements. Components of the IP Storage Fabric Architecture.
E N D
iFCP -- An IP-based Protocol for Fibre Channel Storage Devices Charles Monia Nishan Systems T11/01-057v0 Feb 6, 2001
Goal • Enable implementation of storage fabrics for FC devices consisting only of TCP/IP switching and routing elements
Components of the IP Storage Fabric Architecture • Gateways for attaching FC devices to the IP Storage Fabric • iFCP -- TCP/IP protocol for transporting encapsulated FC-4 frame images between gateways • IP-equivalent protocols for FC-GS services • iSNS -- an IP protocol providing FC-compatible storage name services • Time server, broadcast/multicast server -- /TBD/ • etc…
Protocols • iFCP Protocol • Transport Protocol for TCP/IP-encapsulated FC-4 frame traffic • iFCP session end points are fibre channel N_PORTs • iSNS Protocol • Processes FC name service requests • Generic internet storage name server protocol (iFCP, iSCSI, FCIP,...) • Name Server repository contains all iFCP storage objects • Discovery Domains (ie. Zones), FC Devices, N_PORTs, Gateways, Etc. • Maintains security and access control information
iFCP and FC Comparison FC Routing FSPF General Services Name Services, security key distribution, time services FC-GS2 Management SNMP Fabric Services Class 1, class 2, class 3 per FC-FS iFCP Routing OSPF or any other IP routing protocol General Services IP-based Name Services, security key distribution,zoning iSNS, TLS, etc Time Services /TBS/ Management SNMP Fabric Services Class 2, class 3
FCIP Network and Session Model FC Tape Library FC Tape Library FC Server FC Server FC Server FC Server FC JBOD FC JBOD Data Flow FCIP Approach IP Tunneling Tunnel Session IP Network FibreChannel SAN FibreChannel SAN Autonomous Region Autonomous Region FCIP Tunnel FCIP Tunnel IP Services available at aggregatedFC SAN level This slide best viewed in slide show mode
iFCP Network Model iFCPGateway iFCPGateway FC Tape Library FC Tape Library FC Server FC Server iSNS Queries iSNS Server FC Server FC Server iFCPGateway iFCPGateway FC JBOD FC JBOD Gateway Region Gateway Region iFCP ApproachMap FCP to an IP Fabric Gateway Region Device-to-DeviceSession IP Network Gateway Region Device-to-DeviceSession IP Services at individual device level IETF Standards for Routing, Naming,Security, QoS, CoS, Discovery (iSNS)
Session Model Comparison FCIP One TCP/IP connection between a pair of autonomous regions iFCP One TCP/IP connection for each N_PORT login that traverses the IP network.
iFCP Session Model iFCPGateway iFCPGateway FC Tape Library FC Tape Library FC Server FC Server FC Server FC Server iFCPGateway iFCPGateway FC JBOD FC JBOD Gateway Region Gateway Region iFCP Session iFCP ApproachMap FCP to an IP Fabric Gateway Region IP Network Gateway Region
Gateway Region (GR) Compared to Autonomous Region • Only N_PORTS within a GR are exposed to the IP fabric. • Other FC elements within the GR (e.g., FC switches) are concealed from the IP fabric. • Class F traffic does not flow across the IP Network. • Equivalent class F functionality is performed using IP protocols • Gateway may control the assignment of all N_PORT addresses within the GR • Reconfiguration within a GR does not effect the state of other GRs.
Addressing and Routing Comparison FCIP N_PORT Addressing Globally-assigned across all interconnected ARs Routing between ARs Two independent routing planes FSPF backbone to the tunnel endpoints IP routes aggregated tunnel traffic Tunnel carries routing and distributed fabric services traffic iFCP N_PORT Addressing GR-Local Mode Locally assigned by each gateway or... Address-transparent mode Globally-assigned across a set of interconnected gateways Routing between GRs IP Only Routing within GR (if any) is opaque to the IP network FC routing and DFS traffic does not flow between GRs
iFCP Addressing -- Address Transparent Mode • Scope of N_PORT addresses is fabric-wide • ‘Fabric’ is name server object containing a collection of gateways • iSNS name server acts as fabric Domain Address Manager • Maintains pool of Domain IDs for the fabric, assigns FC domain ID to each gateway within the fabric • Within each GR, gateway acts as the ‘downstream’ principal switch • Advantages • Transparency • Gateway operation is simpler • Disadvantages • Each GR consumes 65K of Node IDs • Inefficient when GR N_PORT count is low • Less scaleable • Communication among N_PORTs restricted to N_PORTs within fabric
iFCP Addressing -- GR-Local Mode • Scope of N_PORT fabric addresses is local to the GR. • Gateway maps N_PORT network addresses of external devices to N_PORT fabric addresses • Normal inter-gateway frame traffic mapped on the fly • Advantages • Scalability • N_PORT connectivity is network-wide • Easier to manage • No need to create and configure fabric entities • Disadvantages • Gateway must be more ELS-aware • Special handling required for ELS traffic containing N_PORT addresses in the payload • Each gateway must maintain and update address translation tables
Gateway Architecture FC Device N/NL-Port FC Domain F/FL-Port iFCP Layer FCP Portal IP Network Gateway • FCP Portal Address • IP Address of Gateway • N_PORT ID • Gateway-assigned address of a directly attached N_PORT • N_PORT Fabric Address • Address of an N_PORT in the FC Domain • N_PORT ID for directly attached devices • Gateway-assigned key for external devices (GR-local mode) • N_Port Network Address • Address of an N_PORT in the IP Domain • N_PORT ID + FCP Portal Address IP Domain
iFCP Encapsulation TCP/IP Header iFCP Header (N bytes) FC Header (24 Bytes) FC Frame FC Payload iFCP CRC iFCP Frame
iFCP Header Detail FLAGS 15 Sequence End 14 Sequence Start 13 1 = iFCP encapsulation 12 - 3 Reserved 2 TCP ELS 1 Augmentation present 0 Compliance (must be 1) Class = FC Class of service (2 or 3) Version = iFCP Protocol Version Number Header Marker = 0xAA iFCP Header length = Size of header in words (2 + Length of augmented data field) iFCP Data Length = Length of iFCP frame in words Augmented data = Present for ELS frames containing N_PORT addresses in payload
GR-Local Mode Address Translation • Gateway maps N_PORT network addresses of external devices to N_PORT fabric addresses • Gateway discovers N_PORT network addresses by: • Snooping outgoing name server queries and responses • Snooping incoming PLOGI requests • GW assigns unique gateway-local key to each known external N_PORT address • Normal inter-gateway FC frame traffic mapped on the fly
Address Translation -- GR-Local Mode FC Frames Destination Address Lookup Table Header Destination N-port (DID) Source N-port (SID) (80XXYY) Destination IP Portal Address N-Port ID Payload Key iFCP-encapsulated Frame AA.BB.CC.DD 01XXYY Header IP Destination Address IP Source Address Transport Header (TCP) Mapped Frames Gateway Gateway Payload Header Dest. N-port (DID) Source N-port (SID) Payload • iFCP Mapping • Outbound Traffic (FC to iFCP) FC Device FC Device N/NL-Port N/NL-Port FC Traffic FC Domain F/FL-Port F/FL-Port iFCP Layer iFCP Layer FCP Portal FCP Portal IP Domain IP Network
Address Translation -- GR-Local Mode FC Frame Header Destination N-port (DID) Source N-port (SID) Remote Source Address Lookup Table Payload iFCP encapsulated frame 80XXYY Header Remote Source N-Port SID IP Destination Address IP Source Address + Key Transport Header (TCP) Gateway Mapped Frames Payload Header Dest. N-port (DID) Source N-port (SID) Payload • iFCP Mapping • Inbound Traffic (iFCP to FC) FC Device FC Device N/NL-Port N/NL-Port FC Traffic FC Domain F/FL-Port F/FL-Port iFCP Layer iFCP Layer FCP Portal FCP Portal Gateway IP Domain IP Network
Fibre Channel to iFCP Mapping ELS_ACCEPT Yes Results OK? ELS_REJECT No No iFCP Fabric Supported Service? ELS targeted at fabric? iFCP Service Performed Yes Yes No Processing Required? Process ELS Local N-Port? Yes No ELS xmit to N-Port ELS xmit Local N-Port Yes No • iFCP Link Services Command Flow -- Outbound/Internal iFCP Fabric Services FC ELS command IP Domain FC Domain
Fibre Channel to iFCP Mapping ELS xmit Local N-Port Augmented ELS? Process, Convert to Standard ELS Yes No • iFCP Link Services Command Flow -- Inbound iFCP Fabric Services RcvELS from N-Port IP Domain FC Domain
Fibre Channel to iFCP Mapping iSNS Name Server Query Convert to iSNS query Name Service ELS Response Format ELS Response Update Address Translation Tables • iFCP Link Services -- FC Name Service Queries Name Service ELS IP Domain FC Domain
Fibre Channel to iFCP Mapping Xmit PLOGI to N-Port Local N-Port? FC PLOGI Command Yes ELS xmit Local N-Port Setup TCP/IP Connection No • Outbound PLOGI Processing FC Domain IP Domain
Fibre Channel to iFCP Mapping ELS xmit Local N-Port Save N_PORT Network Address Assign N_PORT Fabric Address Set S_ID to N_PORT Fabric Address • Inbound PLOGI Processing Rcv PLOGI from N-Port IP Domain FC Domain
Gateway Implementation Example Network and SAN Management Console Configuration IP Switch Fibre ChannelSwitch FC RAID FC Disks • Fibre Channel • F-Port • FL-Port • FC Auto Port • OMNILOOP • GbE • GbE Port • GbE Trunk Port • Management • IP Java Mgmt Port • RS232 Console Port Mgmt IP F -Port OMNILOOP GbE Port FL-Port
Issues • Consider use of FCIP-style frame encapsulation • Stronger framing format • Enforceable flight-time limits • Need better way to piggy-back augmented data with ELS • Additional fabric services needed • Time Server • Quality of Service hooks • Support for FC-4 protocols other than FCP
iFCP Summary • Consolidates FC storage switching and routing functions within the IP fabric • Reduce component costs • Exploit investments in IP technology • Provide single configuration and management locus • And… • Extend Fibre Channel SAN functionality over LAN/MAN/WAN distances
Food for Thought • Modifications to FCIP Tunnel + Border Switch architecture for multiple TCP/IP connections between AR pairs. • Add intermediate routing plane between FSPF and IP • Consists of multiple TCP/IP connections between pair of tunnel endpoints. • Border switch snoops Class N frame traffic • All frame traffic between any N_PORT-pair is assigned to one of the TCP/IP connections