18/09/2021

MẶT PHẲNG DỮ LIỆU VÀ MẶT PHẲNG ĐIỀU KHIỂN CỦA MẠNG TRỤC FABRIC (Phần 2)

Giao thức LISP

Ý nghĩa ban đầu của địa chỉ IP là giúp chỉ ra danh xưng của một host. Trong các mạng hiện tại, khi một người dùng di chuyển từ một vị trí này của hệ thống sang một vị trí khác, địa chỉ IP gán tới thiết bị của người dùng đó thay đổi. Địa chỉ IP vì vậy còn tượng trưng cho vị trí của một người dùng hoặc vị trí của một host và có phụ thuộc vào sơ đồ mạng ở vị trí đó.

Để giải quyết vấn đề này, phần danh hiệu identity và phần vị trí phải được tách biệt ra. Giao thức tách biệt vị trí/danh hiệu LISP là một giao thức giúp giải quyết yêu cầu này. Địa chỉ IP cho một thiết bị đầu cuối chỉ có ý nghĩa về mặt danh hiệu, không phụ thuộc vào vị trí mà ở đó thiết bị kết nối vào. Chúng ta sẽ cần một danh hiệu cho thiết bị đầu cuối – EndpointID. EID này không đổi khi ta gán đến một người dùng, một điện thoại thông minh, một máy tính hoặc bất kỳ vật nào. Để có thể tạo kết nối giữa hai EID, giao thức LISP có một thành phần gọi là các router định vị (routing locators RLOCs). Các router định vị RLOCs sẽ giúp xác định các vị trí của EID.

Với ý tưởng này, chúng ta đã tách biệt phần nhận dạng ID và phần vị trí ra với nhau. Ta có thể dùng nhiều địa chỉ IP để thực hiện ý tưởng này. Một vài địa chỉ IP được dùng cho phần EID. Một vài địa chỉ IP khác sẽ được dùng như RLOCs. Một thiết bị sẽ được gán một IP như là EID và một IP khác cho phần RLOC. Hoặc một thiết bị chỉ cần gán EID. Còn một thiết bị hạ tầng mạng (ví dụ như router hoặc switch) sẽ đảm nhận vai trò RLOC.

Trong kiến trúc SD – Access, cơ chế ánh xạ và phân giải tên cho các đầu cuối sẽ cần mặt phẳng điều khiển. Giao thức LISP (Locator/ID Separation Protocol) được dùng cho mục đích này. Chức năng của giao thức LISP rất dễ hiểu. Tương tự như DNS cung cấp khả năng phân giải tên miền sang địa chỉ IP, giao thức LISP cung cấp khả năng phân giải địa chỉ IP đến một đích đến (nghĩa là thiết bị switch hay router nào mà người dùng hay thiết bị đó đang kết nối vào, LISP trả lời câu hỏi một máy hay một dịch vụ đang ở đâu).

Theo như hình vẽ trên, LISP hiện thực một cơ sở dữ liệu chứa thông tin về tất cả các host và các thiết bị đầu cuối kết nối vào mạng. Thông tin lưu giữ bao gồm địa chỉ IP, địa chỉ MAC, vị trí (nghĩa là thiết bị router hay switch mà host đó đang kết nối vào). Các thông tin đầu cuối được thêm vào LISP theo cách đầy đủ này được gọi là EID. Thông tin này có thể bao gồm các máy riêng lẻ hay cả một dãy địa chỉ subnets. Cơ sở dữ liệu LISP này được xây dựng và duy trì trên các thiết bị mạng (chẳng hạn như switch hay router).

LISP không chỉ có khả năng định tuyến dựa trên địa chỉ IP hay địa chỉ MAC (Endpoint Identifier) mà còn cung cấp địa chỉ lớp mạng của thiết bị. Cặp giá trị EID và RLOC cung cấp tất cả các thông tin cần biết để truyền dữ liệu ngay cả khi một thiết bị đầu cuối sử dụng một địa chỉ không đổi khi nó di chuyển sang một vị trí khác. Đồng thời, thông tin nhận dạng đầu cuối EID tách biệt ra khỏi vị trí (địa chỉ gateway) cho phép các địa chỉ của cùng địa chỉ lớp mạng IP dùng nhiều gateway lớp 3 khác nhau. Chúng ta cần nhớ lại là, trong mạng truyền thống, một địa chỉ đầu cuối phải kết hợp một – một với địa chỉ gateway.

Hình vẽ dưới đây mô tả một ví dụ của hai lớp mạng là một phần của mạng ảo. Các lớp mạng này trải rộng trên mạng vật lý gồm nhiều thiết bị riêng lẻ. Các địa chỉ mạng RLOC là địa chỉ duy nhất cần thiết để thiết lập kết nối giữa các lớp mạng. Ngoài ra trong hình cũng hiển thị các thiết bị đầu cuối có thể di chuyển tự do trong mạng mà không cần thay đổi địa chỉ gateway.

Khi có một thiết bị đầu cuối kết nối vào hạ tầng mạng, thiết bị chạy LISP sẽ truyền thông tin về thiết bị này vào cơ sở dữ liệu LISP. Các router LISP khác khi có dữ liệu cần truyền đến đầu cuối này sẽ truy vấn cơ sở dữ liệu và sẽ xác định được router LISP Routing Locator (là switch hoặc router) mà đầu cuối chúng ta vừa kết nối. Một cách cơ bản, LISP hoạt động như một nguồn thông tin duy nhất về vị trí của các host hay các subnets ở bất kỳ thời điểm nào bên trong một mạng LISP. Các thông tin này có thể được tham khảo để xác định vị trí của bất kỳ đầu cuối nào.

Trong hình vẽ trên, một router đầu vào Ingress Tunnel Router ITR sẽ đóng gói các gói tin đi vào đưa vào mạng ảo overlay. Một router đầu ra Egress Tunnel Router ETR sẽ mở gói từ mạng ảo overlay và đẩy gói tin đến host đích. Phần lớn các router kết nối vào mạng ảo sẽ thực hiện cả hai chức năng đầu vào/đầu ra (ingress/egress), người ta còn gọi chung các router này là các router đóng gói/mở gói xTR. Một khái niệm trọng tâm của LISP là khái niệm Map – Registration. Các router định vị RLOC sẽ đăng ký các subnet và các hosts mà nó biết vào trong cơ sở dữ liệu của LISP (Map server/Resolvers).

Vì sao LISP được dùng trong mạng overlay?

Có hai thuận lợi chính khi dùng LISP trong mạng ảo: tính cơ động (mobility) và khả năng mở rộng (scalability). Các thế giới người dùng mạng hiện nay là một thế giới của các thiết bị di động. Trung bình một người dùng sở hữu từ hai đến ba thiết bị di động và tất cả thiết bị này đều kết nối wifi, ngoài ra còn có các thiết bị di động khác như scanner, card reader, các thiết bị y tế, mobile video cameras,… Khi các thiết bị di chuyển khắp nơi, phần EID không đổi, chỉ có phần vị trí là thay đổi. LISP sẽ giúp giả quyết dễ dàng.

Trong hình vẽ bên trên, khi một thiết bị di chuyển sang vị trí khác, địa chỉ IP thay đổi từ 10.1.0.1 sang 20.2.0.9. Trong mạng truyền thống, địa chỉ IPv4 hay IPv6 tượng trưng cho cả phần danh hiệu và vị trí host. Nếu hệ thống mạng ảo overlay dùng LISP, khi thiết bị di chuyển sang vị trí khác, phần danh hiệu EID không đổi, chỉ có phần vị trí là thay đổi.

Để nâng cao khả năng mở rộng, các router RLOCs không cần theo dõi vị trí của tất cả các thiết bị ở mọi thời điểm. Các RLOC chỉ truy vấn địa chỉ đích khi nó có nhu cầu truền dữ liệu thật đến các máy đó. Thêm vào đó, khi một truy vấn được thực thi với LISP, các thông tin này sẽ được lưu trữ trong các router RLOC, giúp giảm thiểu nhu cầu truy vấn cơ sở dữ liệu LISP.

Chia sẻ: