KernSafe Technologies
 
Picture
Many iSCSI vendors struggle to educate and show customers that in real world scenarios, iSCSI is better for enterprise use. Luckily demand for iSCSI solutions is growing on daily basis now but it wasn't like that from the very beginning. When first iSCSI Initiators went out, they weren't a good example of use of iSCSI technology. They had many problems which was successfully preventing joy of simplicity that comes with it.

Fiber-Chanel

Nowadays fibre-channel is running at 8GBit while iSCSI at 10GBbit. When you will compare those two protocols now, you will see that there isn’t much difference between them. In the past, one of the advantages of fibre-channel was security since it required it to be on completely separated network and not be connected in any way to any other network. Now, iSCSI is running on same network and it is nothing unusual but if someone is concerned about security, he may consider buying separate switches that will physically separate it from normal network traffic.

From more technical point of view, fibre-channel operates as a layer-two protocol, while iSCSI operates on layer-seven (application) level. The biggest difference between that is that fibre-channel uses its own flow and error correction mechanism, while iSCSI depends on build in TCP/IP solutions.

Also processing of fibre-channel frame take a slightly less time since there doesn't need to be any TCP and IP header generated and decoded each frame is sent. Since the fibre-channel is roll out for a specific purpose, all frame management is performed in dedicated hardware and thanks to that it can operate with much less latency. At the same time iSCSI depends on TCP/IP in order to operate and encode and decode headers if required. It is still possible to offload some of this work (like generating checksums) into hardware that decreases CPU load but still some latency will be added.

Another thing is that fibre-channel is a frame lossless solution. If everything was correctly configured, there won't be any packet loss. Even if there will be huge increase of data transfer, flow control mechanism will limit amount of data being sent thus preventing any packet loss.
iSCSI

iSCSI is currently running at 10GBit speed but with 40GBit on mind, you can assume that it will be able to run any type of data, no matter how intense it would be.

We can also observe a slow adoption of 16GBit fibre-channels with 32GBit in future. But will it last? Companies that will decide to go for fibre-channel will need to be prepared that everything needs to be upgraded faster and faster - that comes with new expenses. At that time you may also consider FCoE (Fibre-channel over Ethernet). Then you can have approximately same speed but with hermetization of FC packages into Ethernet.

On the other hand Ethernet is not a lossless packet solution. It was design form the beginning as a 'best-effort packet delivery protocol' that means it was already known that some packets will get lost along the way. Said that, protocols (such as TCP) needs to control and detect if packets get lost and then be able to transfer lost packets again. This works in real life environment without any problems and, most importantly, there will never be any data corruption caused by any packet loss. Keep in mind if there will a large quantity of data being transfer over such network, its performance may drop significantly.

iSCSI may seems like it have some disadvantages but it can easily make them up with its simplicity and flexibility. On the contrary to fibre-channel, iSCSI don’t need any special network to work, it can utilize any Ethernet network. Actually its traffic can be routed outside of a single domain. That thing wouldn’t be possible with fibre-channel without any expensive hardware.

Simplicity is also very big plus for iSCSI. Setting up fibre-channel usually requires a special knowledge, while doing same task with iSCSI requires little to none additional knowledge to that network administrator already have. Even additional tweaking of it, in order to get its full potential would be far easier than in fibre-channel.

Fibre-channel over Ethernet (FCoE)

It is the newest technology that allows using fibre-channel lossless solutions over Ethernet network. It will need to use some special extensions like DCB (Data Center Bridging) to work. That will almost always require special hardware and configuration to work but it allows combining fibre-channel and Ethernet networks. Even if you probably can't use FCoE over your current network and you will need to cover some expenses to implement it, it still brings it closer to iSCSI then to fibre-channel in terms of price. The only disadvantage of it is that it is still a layer-two protocol and that means its traffic can't be routed outside broadcast domain. That makes managing of FCoE closer to fibre-channel rather than iSCSI.

What to expect

What can future bring that is still not here yet? I will still stick to iSCSI since its future is clearer comparing to fibre-channel. The speed of network will significantly increase to 100GBit in upcoming years. Fibre-channel future maybe is not that exciting but it is still something to look for.

Conclusion

Even if iSCSI will have some disadvantages, such as higher latency and packet loss, overall it is clear that every company can benefit from implementing it instead of fibre-channel because of its ease of deployment and flexibility of use. Already many companies decided to go for iSCSI and they are happy about it, not only for themselves, but also for their customers.