Как Fibre Channel Frame заполняются и пересекают Fabric?

8

Попытка обернуть голову вокруг того, как кадры Fibre Channel фактически заполняются и отправляются через коммутируемую матрицу. Я понимаю WWNN WWPN, WWNN - это WWN фактического HBA, а WWPN - это WWN фактических портов на карте. Таким образом, если HBA имеет 4 порта, они все используют один и тот же WWNN, но имеют разные WWPN. Все еще не уверен, где WWNN вступает в игру со связью в ткани все же. Во-вторых, процесс FLOGI, с помощью которого новый узел N_port пытается войти в матрицу и получить назначенный динмический FCID. После завершения PLOGI узел N-порта может отправить свой WWPN. Это поддерживает отношения WWPN к FCID ....

Наконец, адресация FC представляет собой комбинацию идентификатора домена, идентификатора области и идентификатора порта. Все 8 бит. Насколько я понимаю, это используется для определения местоположения интерфейса? Так что, если у меня есть два коммутатора домена 1 и домена 2, 0100000 будет означать первую область коммутатора 00 и порт 00?

Кроме того, я все еще не уверен, как хост отправляет на другой хост. В кадре FC есть поля для идентификатора адресата и идентификатора источника, которые являются 24-битными адресами FC или FCID. Мой вопрос заключается в том, заполняют ли эти DestID и SourceID хост-адаптер HBA или коммутатор FC? Я думал, что хозяин знал только свои WWNN и WWPN из HBA?

Во-вторых, я не вижу нигде в кадре Fibre Channel, где играют WWNN или WWPN. Если только они не используются в процессе FLOGI и PLOGI для получения динамического FCID.

Спасибо за вашу помощь. Ценить это.

PS Я использую Cisco MDS и на наших хостах fcinfo для сбора информации, я не вижу способа получить FCID, используя fcinfo на каждом хосте? Вот почему я запутался, поддерживает ли хост список FCID назначения или нет.

Кроме того, для хостов, подключенных напрямую, коммутатор не задействован, хосты FLOGI связаны друг с другом?

Джим
источник
Без каких-либо знаний по этой теме текст выглядит примерно так: «WWN WWNN, WWPN WWW FCID HBA ...»
Кристофер Перрен,

Ответы:

4

В начале хост знает WWNN и WWPN.

Ну, забудь WWNN. Теоретически, WWNN должен быть одинаковым на всех портах всех адаптеров HBA компьютера, но это случается редко. Обычно это то же самое на одном HBA, но я видел случай многопортового HBA с несколькими WWNN. Так что это немного беспорядок.

После входа в матрицу (FLOGI / PLOGI) хост узнает свой P_ID от коммутатора. И коммутатор узнает WWPN / WWNN от хоста. Следовательно, коммутаторы знают, какой WWPN назначен один к одному 24-битному P_ID.

Хост во время нормальной работы запрашивает коммутатор, например:

  • с какими WWPN мне разрешено общаться?
  • какой текущий P_ID WWPN я помню как мое блочное устройство (мой жесткий диск)?

Многие думают, что WWPN работает аналогично MAC-адресу, потому что цифры выглядят «похожими». Они почти ничего общего и играют разные роли.

WWPN или WWNN никогда не используются в качестве адреса; P_ID есть. В аналогии с DNS и IP WWPN выглядит примерно так my.node.com: он идентифицирует адрес ( 111.112.113.114), но не служит адресом во время фактической связи; 111.112.113.114делает. В FC P_ID будет фактическим адресом, используемым в кадрах.

Это не идеальная аналогия. WWPN не так понятен человеку, как DNS-имя. И P_ID немного более полезен, чем IP, поскольку сам его формат помогает коммутаторам FC быстро выяснить, как обрабатывать кадр. Во всяком случае, это большая картина.

Кстати, в FC нет ничего похожего на MAC-адрес (это хорошо для нас!) - нет низкоуровневой адресации ниже адреса P_ID.

kubanczyk
источник
Есть ли способ увидеть PID хоста с хоста? PID удаленных устройств хранятся локально? Например, если узел A хочет отправить на узел B, знает ли узел A PID узла B? Кроме того, если WWNN WWPN не имеет никакого отношения к передаче кадров FC, как работают связи точка-точка? Каждый узел подключается друг к другу?
Джим
Да, запросы NodeA переключаются, и затем он локально сохраняет текущий P_ID NodeB. Можно увидеть собственный P_ID, но это зависит от используемой ОС. Точка-точка без переключателя не нуждается в PLOGI / FLOGI / WWNN / WWPN / P_ID: все, что мы видим на проводе, адресовано нам, все, что мы отправляем, адресовано NodeB, мы не можем ошибаться, поэтому мы не нужно никакого адреса.
Кубанчик
Существует ли тип кадра FC, отправляемый с нового узла, чтобы выяснить, какие другие узлы находятся в матрице? Например, я знаю, что наши цели FC могут видеть другие WWPN узлов в той же зоне, мне просто интересно, как цель обнаруживает их? Это передает трансляцию ФК или что-то? Я слышал, это как-то связано с сервером имен коммутаторов FC?
Джим
Нет трансляции. Узел отправляет кадр запроса по адресу 0xFFFFFC. Каждый коммутатор обычно прослушивает этот адрес, поэтому отвечает первый коммутатор, который получает такой кадр. Ответ представляет собой список: P_ID, WWNN и WWPN. Кроме того, существует другой необязательный механизм, называемый RSCN, в котором сам коммутатор отправляет кадр узлу после того, как любой новый WWN появляется в списке.
Кубанчик
0

Предостережение - я не знаю, что вещи MDS более новые (FC-SW и т. Д.) Что-то меняют, но это (ужасно) обратно совместимый протокол, так что ...

Насколько я понимаю, FC всегда выглядит как петля для устройств на нем. В каждом цикле может быть более одного устройства, но сам FC не имеет понятия маршрутизации или коммутации, все это обрабатывается коммутаторами (или другими приемами, но не внутри «обычных» кадров FC, нет поддержки тегов VLAN и т. Д., Может быть, с FC -SW).

Домены являются логическими группами этих циклов.

Страница Википедии на самом деле довольно хорошая.

TheFiddlerWins
источник
«Сам FC не имеет понятия маршрутизации или коммутации» ... Ну, на самом деле, если вы сравните либо маршрутизацию FC, либо коммутацию с миром IP, тогда станет ясно, что FC имеет действительно чистый и последовательный подход, и стек IP является чрезмерно сложный и в значительной степени устаревший беспорядок.
kubanczyk
1
Я согласен, если вы измените IP на IPv4. IPv6 намного ближе к FC. Разница в том, что (по крайней мере, в традиционном ФК) у вас не будет больше 127 конечных точек. И IPv4 также не переключается, это делается на уровне Ethernet.
TheFiddlerWins
Согласитесь с замечанием IPv4. Но 127 конечных точек в ФК? Нет. Вы говорите об устаревшем режиме без фабрики, называемом "частным циклом". В традиционной ткани 2 ^ 24 минус небольшой зарезервированный бассейн.
Кубанчик
Я не уверен, что вы определяете как «традиционную» ткань, я говорил о FC-AL, похоже, вы говорите только о FC-SW, который является относительно новым.
TheFiddlerWins
Оба были запущены в производство в предыдущем тысячелетии.
Кубанчик