Giao thức FC (Fibre Channel)

Một phần của tài liệu Công nghệ mạng lưu trữ và ứng dụng (Trang 35)

Mục đích của kênh quang là phát triển các phương tiện thích hợp thực tế, giá thành hạ đáp ứng nhu cầu truyền dẫn tốc độ cao giữa các máy trạm, mainframe, super computer, desktop, storage device, …

Có hai kiểu truyền dữ liệu cơ bản giữa các bộ xử lý và giữa bộ xử lý với thiết bị ngoại vi, đó là truyền qua kênh và truyền qua mạng. Một kênh cho phép các kết nối trực tiếp điểm-tới-điểm hoặc chuyển mạch giữa các thiết bị trao đổi thông tin. Kênh là phần cứng chuyên dụng, truyền dẫn dữ liệu tốc độ cao với tổng chi phí thấp. Ngược lại, mạng là một tập hợp các node phân tán (như các máy trạm, các file server, các thiết bị ngoại vi) và có các giao thức hỗ trợ tương tác giữa chúng. Mạng có chi phí tổng thể cao bởi vì chúng sử dụng phần mềm để truyền dẫn, và do đó tốc độ chậm hơn so với truyền dẫn qua kênh. Mạng có thể mở rộng thực hiện nhiều tác vụ hơn, linh động hơn kênh do chúng có thể điều khiển được các kết nối không định trước, trong

khi đó các kênh chỉ điều khiển được một lượng nhỏ các thiết bị với các địa chỉ cho trước.

Kênh quang là giao thức kết hợp cả hai loại hình truyền dữ liệu trên, tạo nên một giao diện mới có cả hai đặc tính của truyền dẫn qua kênh và truyền dẫn qua mạng, đáp ứng nhu cầu của cả những người sử dụng muốn sử dụng kênh và những người sử dụng muốn sử dụng mạng.

Mặc dù có tên gọi “kênh quang” nhưng kiến trúc của nó không đại diện cho cả topo kênh cũng như topo mạng. Nó cho phép một hệ thống các đường kết nối thông minh, gọi là Fabric, kết nối các thiết bị. Tất cả những gì mà một cổng kênh quang làm là quản lý một kết nối điểm - điểm đơn giản giữa nó và Fabric.

Kênh quang là công nghệ kết nối nối tiếp có hiệu năng cao, hỗ trợ các giao thức mức cao hơn khác gồm: FDDI, SCSI, HIPPI và IPI. Chuẩn kênh quang tập trung vào các yêu cầu truyền dẫn tốc độ rất cao với lượng dữ liệu lớn [5, 8].

Hình 2-19: Kiến trúc kênh quang

2.3.1.1. Tầng FC-0

Mức thấp nhất FC-0 liên quan đến các kết nối vật lý trong hệ thống, các phương tiện trong lớp FC-0 bao gồm các cáp, các connector và các bộ phát/thu.

FC-0 liên quan chặt chẽ đến các luồng bit được gửi, nhận và môi trường được sử dụng để truyền luồng bit. Lớp này được gọi là lớp vật lý, chuẩn kênh quang gọi chức năng của lớp này là LCF (Link Control Facility). Lớp vật lý được thiết kế sao cho có thể sử dụng nhiều công nghệ, đáp ứng mức độ cao nhất về yêu cầu hệ thống. Một tuyến truyền dẫn end-to-end có thể chứa nhiều công nghệ kết nối khác nhau để đạt được hiệu năng cao nhất và giảm chi phí tối đa.

Hình 2-20: Sơ đồ cơ chế kết nối quang Fibre Channel

Mô đun OFC (Open Fibre Control)

Kênh quang thường dùng tia laser để truyền dữ liệu. Trong FC-0, mô đun OFC là mô đun đảm bảo an toàn được sử dụng để điều khiển mức công suất của các liên kết dữ liệu qua tia laser sóng ngắn khi công suất quang vượt quá giới hạn an toàn.

Khi xảy ra tình trạng vượt quá công suất trong kết nối, bộ thu của cổng có sợi cáp kết nối tới sẽ phát hiện ra và phát một xung yêu cầu điều chỉnh công suất laser xuống mức thấp hơn, bộ thu của cổng bên kia của dây cáp sẽ nhận xung này và điều khiển bộ phát để phát sóng có công suất thấp hơn. Tuy nhiên nếu sử dụng tia laser có cường độ thấp thì không nhất thiết phải có thành phần OFC (Non-OFC).

Đầu nối

FC-0 cung cấp 4 loại đầu nối để phù hợp với nhiều phương tiện vật lý và các loại cáp đã tồn tại trước đó, đó là: SC đơn mode, SC đa mode, Coax (cho cáp đồng trục), STP 9-pin (cho cáp đồng).

Các đầu nối SC đơn và SC đa mode kết nối với cáp quang. Cáp quang đơn mode mỏng và có băng thông nhỏ hơn cáp quang đa mode do đó cáp quang đơn mode được sử dụng trong truyền dẫn khoảng cách xa, khoảng 10 km, còn cáp quang đa mode dùng trong truyền dẫn với khoảng cách gần hơn, khoảng 500 m.

Chuẩn FC còn cung cấp các đầu nối cho kết nối cáp đồng trục và cáp đồng. Với cáp đồng trục, TNC cho đầu thu còn BNC cho đầu phát. Với cáp đồng, đầu nối STP (Shield Twisted-pair) 9-pin, loại D (DB9) được sử dụng. Để tránh nhầm lẫn trong đấu nối, 5 lỗ ở giữa trong FC DB9 được đổ kín (không sử dụng).

Khái niệm bước sóng laser, liên quan đến các đầu nối đơn và đa mode. Laser sóng dài (LW) được sử dụng cho các kết nối FC khoảng cách xa, từ 500 m đến 10 km, chúng thường được sử dụng với các cáp quang đơn mode có lõi 9 µm.

Laser sóng ngắn (SW) được sử dụng cho các kết nối FC-AL với khoảng cách tối đa 500 m, thông thường được sử dụng cho cáp quang đa mode. Cáp đa mode thông thường có kích thước lõi 50 µm, tuy nhiên kích thước 62,5 µm cũng được sử dụng để tương thích với các thiết bị theo chuẩn FDDI đã tồn tại.

2.3.1.2. Tầng FC-1

FC-1 xác định giao thức truyền dẫn, bao gồm các luật mã hóa và giải mã, các ký tự đặc biệt (các bit đồng bộ) và điều khiển lỗi. Các thông tin truyền qua cáp được mã hóa đồng thời từng 8 bit thành 10 bit ký tự truyền dẫn, gọi là cơ chế mã hoá 8B/10B. Phương pháp mã hoá này được phát triển bởi IBM và là loại mã hoá tốt nhất trong việc hạn chế tốc độ lỗi bit của hệ thống.

8B/10B có thể tìm được các lỗi mà phương pháp kiểm tra chẵn lẻ không phát hiện được, kiểm tra chẵn lẻ không phát hiện ra các bit lỗi ở vị trí lẻ mà chỉ phát hiện các bit lỗi ở vị trí chẵn nhưng 8B/10B phát hiện được hầu hết các lỗi. Kênh quang cũng sử dụng cờ CRC (Cyclic Redundant Check) trong khung dữ liệu truyền cũng với mục đích phát hiện lỗi.

Để tăng độ tin cậy trong truyền dữ liệu, giao thức truyền dẫn FC sử dụng 12 ký tự đặc biệt (mỗi ký tự 8 bit). Tuy nhiên ở đây chỉ đề cập đến một loại phổ biến, đó là ký tự 28.5. Hiện tại, đây là ký tự đặc biệt duy nhất được kênh quang sử dụng trong mã hóa 8B/10B.

Mã hóa trong FC-1

Một byte tín hiệu chưa mã hoá tạo nên bởi 8 bit thông tin A, B, C, D, E, F, G, H và biến số điều khiển Z. Các bit thông tin này được mã hoá bởi FC-1 thành các bit a, b, c, d, e, i, f, g, h, j của ký tự truyền dẫn 10 bit. Giá trị i và j phụ thuộc vào RD (Running Disparity). Biến điều khiển có giá trị D - ứng với dữ liệu, hoặc K - ứng với ký tự đặc biệt.

Mỗi ký tự truyền dẫn hợp lệ được gán một tên theo quy tắc: Zxx.y, trong đó Z là biến điều khiển của byte thông tin chưa mã hoá FC-1, xx là giá trị thập phân của số nhị

phân tạo nên bởi các bit E, D, C, B, A và y là giá trị thập phân tạo nên bởi các bit F, H, G trong byte thông tin chưa mã hoá FC-1 theo đúng thứ tự.

Ví dụ tên của ký tự truyền dẫn FC-1 được tạo bởi số thập lục phân „BC‟, mã hoá kiểu K là K28.5

Luật mã hóa

Các byte mã hoá 8B/10B có một đặc tính gọi là độ lệch (disparity), thông số này có thể nhận giá trị âm, giá trị dương hoặc trung lập. Một byte 8B/10B được gọi là lệch âm nếu số bit 1 lớn hơn số bit 0 trong byte đó, ngược lại là lệch dương, và trung lập khi số bit 0 và số bit 1 bằng nhau.

Mỗi byte dữ liệu hoặc ký tự đặc biệt có hai mã truyền (không nhất thiết phải khác nhau). Byte dữ liệu và ký tự đặc biệt được mã hóa thành các mã này một cách lần lượt, phụ thuộc vào RD ban đầu.

RD là một thông số nhị phân, được tính toán dựa trên sự cân bằng giữa các bit 0 và 1 trong các block con (6 bit đầu tiên và 4 bit cuối cùng) của ký tự truyền dẫn. Một RD mới được tính toán từ ký tự đã được truyền ở cả hai bộ phát và bộ thu. Nếu ký tự được phát hiện có RD ngược với RD mà lẽ ra bộ phát phải phát (phụ thuộc vào RD của dòng bit trước) thì bộ thu sẽ hiển thị tình trạng không tương ứng.

Từ truyền dẫn

Một từ truyền dẫn được tạo bởi 4 ký tự truyền dẫn liền nhau. Do luật mã hoá 8B/10B mã 8 bit thành một ký tự 10 bit nên một từ truyền dẫn là một nhóm gồm 40 bit. Một từ truyền dẫn có thể thuộc về một trong hai loại sau:

- Dữ liệu: Ký tự truyền dẫn đầu tiên là một byte dữ liệu đã được mã hóa. - Ordered Set: Ký tự truyền dẫn thứ 4 là ký tự đặc biệt K28.5.

2.3.1.3. Tầng FC-2

Tầng FC-2 là tầng phức tạp nhất trong các tầng của giao thức. Chức năng chính của tầng FC-2 là đóng gói dữ liệu sử dụng các khung, điều khiển luồng và các lớp dịch vụ. Ngoài ra FC-2 còn cung cấp cơ chế kiểm soát lỗi. Để phục vụ như một cơ chế giao vận, FC phải có khả năng đóng gói dữ liệu của người sử dụng và phân phối nó tới nơi nhận mong muốn. Các khung là các gói cơ bản được sử dụng để đóng gói và vận chuyển dữ liệu.

Để truyền dữ liệu qua các liên kết, các khối dưới đây đã được định nghĩa bởi chuẩn. - Ordered Set - Frame - Sequence - Exchange - Protocol 2.3.1.3.1 Ordered Set

Ordered Set là một từ truyền dẫn - 4 byte chứa dữ liệu và các ký tự đặc biệt. Ordered Set cung cấp khả năng sẵn sàng cho việc đồng bộ bit và từ truyền dẫn. Một Ordered Set luôn luôn bắt đầu với ký tự đặc biệt K28.5. Do sự có mặt của ký tự đặc biệt nên từ truyền dẫn này có chức năng điều khiển đặc biệt, Ordered Set có ba loại chức năng chính là:

- Frame delimiter: Phân định các khung, SOF (bắt đầu khung) và EOF (kết thúc khung) là các Ordered Set.

- Primitive signal: Tín hiệu gốc, có hai loại:

 Một loại dùng để điều khiển dòng buffer-to-buffer.

 Một loại dùng để lấp đầy các khoảng trống giữa các khung do trong kênh quang, bộ phát phải liên tục phát ra các tín hiệu qua môi trường. Việc này giúp đồng bộ các bit, byte và word cũng như giúp tăng tốc độ truyền dẫn.

- Primitive sequence: Một dãy gồm ba ordered set đồng nhất sử dụng để điều khiển kết nối. Chúng được dành cho việc thông báo tình trạng lỗi kết nối hoặc mất đồng bộ.

2.3.1.3.2 Khung (Frame)

Các khối cơ bản nhất của một kết nối kênh quang là các khung. Các khung chứa dữ liệu, địa chỉ cổng nguồn/đích và các thông tin điều khiển kết nối. Các khung được phân loại thành khung dữ liệu và khung điều khiển kết nối.

Nếu một khung là khung điều khiển kết nối thì trường dữ liệu của nó có giá trị bằng 0. Còn nếu là khung dữ liệu thì trường dữ liệu có thể là một số bất kỳ giữa 0 và

528 (0 và 2112 byte). Khung dữ liệu có thể được sử dụng dưới dạng khung dữ liệu - kết nối (Link-Data frame) và khung dữ liệu - thiết bị (Device-Data frame). Khung điều khiển kết nối được phân ra thành các loại: khung xác nhận Acknowldge (ACK) và khung trả lời liên kết Link-Response (Busy and Reject).

Chức năng cơ bản của Fabric là nhận các khung từ cổng nguồn và định tuyến chúng đến cổng đích. Đây là nhiệm vụ của lớp FC-2 để chia dữ liệu cần truyền thành các khung và tập hợp các khung.

Cấu trúc của một khung được mô tả như sau. Mỗi khung bắt đầu bằng trường SOF và kết thúc bằng EOF. Header nằm ngay sau SOF được sử dụng để điều khiển các ứng dụng kết nối, điều khiển sự chuyển giao các giao thức và phát hiện sự thiếu hoặc sai thứ tự các khung. Một header phụ có thể chứa nhiều thông tin điều khiển kết nối khác. Tải tin tối đa 2112 byte chứa các thông tin chính cần truyền giữa cổng nguồn và cổng đích. 4 byte CRC nằm trước EOF, CRC được sử dụng để phân tích các lỗi truyền dẫn.

Hình 2-21: Cấu trúc khung

Một khung gồm có sáu phần cơ bản sau:

- Thứ nhất là đầu khung (SOF). SOF chiếm 4 byte, dấu phẩy và 3 byte chỉ ra loại dịch vụ kết nối.

- Thứ hai là Frame Header (FH). Chứa thông tin điều khiển hoạt động kết nối, thực hiện định tuyến, xử lý giao thức và phát hiện lỗi hoặc sai thứ tự của khung. Một trong những chức năng chính của FH là xác định duy nhất các

khung đang hoạt động. Một frame được xác định duy nhất bởi các trường sau: S_ID, D_ID, OX_ID, RX_ID, SEQ_ID và SEQ_CNT. Sequence Qualifier sẽ xác định các chuỗi đang hoạt động và đang mở. Sequence Qualifier bao gồm tất cả các trường trên trừ trường SEQ_CNT. SEQ_CNT được sử dụng để xác định vị trí của khung trong chuỗi. Phần Option Header có thể chứa tới 4 loại header, đó là: Expiration Security Header (bao lâu thì Frame sẽ bị loại bỏ), Network Header (chứa thông tin liên quan tới các giao thức mức cao liên quan tới mạng, như IP), Association Header (gắn Frame với các định danh trao đổi khác) và Device Header (chứa các thông tin mức cao khác, như SCSI).

Các trường con trong Frame Header:

o R_CTL: Điều khiển định tuyến - phân loại chức năng của khung. o D_ID: Định danh đích - địa chỉ định danh cổng đích của khung. o S_ID: Định danh nguồn - địa chỉ định danh cổng nguồn của khung. o TYPE: Loại cấu trúc dữ liệu - phân loại dữ liệu của khung.

o F_CTL: Điều khiển khung - điều khiển thông tin xử lý khung. o SEQ_ID: Định danh chuỗi - định danh duy nhất chuỗi khung. o DF_CTL: Các header tùy chọn trong trường dữ liệu .

o SEQ_CNT: Biến đếm của chuỗi - Số khung nằm trong Sequence hoặc Exchange.

o OX_ID: Định danh Exchange nguồn . o RX_ID: Định danh Exchange bên trả lời. o Parameter: thông tin về khung.

- Tiếp theo là trường Payload. Đối với các khung dữ liệu, trường này sẽ chứa dữ liệu của người sử dụng. Đối với các khung điều khiển liên kết, payload không được sử dụng.

- Trường CRC được sử dụng để kiểm tra tính toàn vẹn dữ liệu của trường FH và trường Payload.

- Cuối cùng là phân cách kết thúc khung (EOF): là một tập có thứ tự báo hiệu kết thúc nội dung của khung. Ngoài ra, EOF còn chứa các thông tin về tính hợp lệ của nội dung khung, mở hoặc đóng kết nối hoặc ngắt kết nối nếu cần.

2.3.1.3.3. Sequence

Mức logic trên frame đó là Sequence. Các Sequence cung cấp phương tiện để đảm bảo tính toàn vẹn của các khối dữ liệu được truyền hoặc nhận. Một Sequence được tạo

bởi một nhóm các khung có quan hệ được truyền theo một hướng. Có một vài chức năng được thực hiện bởi các tập có thứ tự (Odered Set) SOF hoặc EOF, đó là khởi tạo hoặc kết thúc các Sequence. Các thông tin khác liên quan đến việc kiểm soát Sequence nằm trong một trường con của trường FH.

Sequence được tạo nên bởi một hoặc nhiều khung truyền theo một hướng từ một N_Port tới một N_Port khác. Mỗi khung trong một sequence được đánh số duy nhất trong trường Seq_Cnt (Sequence Count).

2.3.1.3.4. Exchange

Exchange là cấu trúc lớn nhất mà FC-2 có thể hiểu được. Một Exchange tạo nên bởi các Sequence có quan hệ. Exchange cung cấp phương tiện truyền tin cậy các Sequence. Chúng thực hiện điều này bởi việc phát hiện và khôi phục lỗi của Sequence.

2.3.1.3.5. Giao thức

Các giao thức liên quan đến các dịch vụ đưa ra bởi kênh quang. Các giao thức có thể đặc trưng cho các dịch vụ lớp cao hơn mặc dù kênh quang cung cấp các giao thức riêng của nó để quản lý môi trường hoạt động cho truyền dữ liệu.

2.3.1.3.6. Điều khiển luồng

Điều khiển luồng là tiến trình điều khiển của FC-2 nhằm điều chỉnh tốc độ dòng

Một phần của tài liệu Công nghệ mạng lưu trữ và ứng dụng (Trang 35)