A substantial amount of time ago, a blog was published about iSCSI compared to Fibre Channel that walked through several of the basic points comparing the two. There’s another side to the same argument though, iSCSI vs Fibre Channel over Ethernet (FCoE). Many people confuse these two technologies and don’t understand how/why they are different from each other. This article aims to give some high level differentiation and where one may/may not make sense.
What is FCoE?
FCoE is a standard published by ANSI/INCITS that allows Fibre Channel frames to be encapsulated in Ethernet frames and then traverse a “normal” Ethernet network. Normal is in quotes because the network has special requirements (we’ll get there later). There are multiple ways those Fibre Channel frames get encapsulated, one being through Converged Network Adapters (CNAs) in the server itself. These cards present an FC or FCoE adapter to the host OS which then receives the FC frames and puts them inside of Ethernet. From there it transports it across the network as normal Ethernet. The switches never see it as anything except for Ethernet. Another option is a gateway switch, which connects to an FC switch and encapsulates the traffic from the other switch into Ethernet and then sends it to the rest of the network.
How are they the same?
They both use a form of Ethernet switches. They both use normal network wiring, twinax/direct attached or fiber optic LC cables.
How are they different?
FCoE requires specific types of Ethernet switches, ones that support datacenter bridging (DCB) protocols that allow things like priority-based flow control. Switches that support this are often datacenter only and quite expensive.
Rather than a standard Ethernet NIC (like iSCSI can utilize) FCoE requires special CNAs that can encapsulate the FC frames and often present multiple adapters to the host OS from a single port. Oftentimes this second adapter looks like a traditional FC HBA to the client, keeping the environment more familiar for those familiar with FC.
FCoE has substantially less overhead than iSCSI, since FCoE loses the whole TCP/IP stack. This removes a lot of the unnecessary (in this type of network) resends and connection validation made for lossy networks. Additionally, since FCoE just uses Ethernet and FCoE standards instead of RFC-based things like TCP/IP and iSCSI, the environment is a lot more inherently predictable and stable because all constituent parts have strict guidelines and rules they have to follow.
FCoE uses World Wide Name (WWN) for addressing rather than IPs/IQNs of iSCSI.
FCoE cannot be routed in any way, it’s purely layer 2 (being Ethernet based).
FCoE is substantially more expensive than iSCSI due to these requirements and restrictions to implement. It also often requires specific licenses to enable its functionality.
Just because these two technologies both run on “normal” Ethernet networks, it doesn’t mean they are similar. As shown above, they actually share very little in common and because of that fit differing needs and implementations.