Ý 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 – Endpoint ID). EID này không đổi khi ta gán đến một người dùng, một smartphone, 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 routing locators RLOCs. Các router RLOCs sẽ giúp xác định các vị trí của các 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 để hiện thực ý 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ư RLOC. 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ụ router hoặc switch) sẽ đảm nhận vai trò RLOC.
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 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?
Hình vẽ bên dưới so sánh sự tương đồng trong hoạt động cơ bản của giao thức LISP và DNS.
Theo như hình vẽ trên, LISP sẽ xây dựng một cơ sở dữ liệu chứa thông tin về các 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à Endpoint IDs (EIDs). 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. Khi một thiết bị đầu cuối kết nối vào một mạng, một switch chạy giao thức LISP sẽ cập nhật thông tin về thiết bị đó vào trong cơ sở dữ liệu LISP. 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 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ỉ mạng của thiết bị (Routing Locator). 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 di chuyển sang một vị trí khác và EID của nó không đổi. Đồng thời, thông tin nhận dạng đầu cuối EID tách biệt ra khỏi thông tin về vị trí (địa chỉ IP của gateway) cho phép các địa chỉ của cùng địa chỉ lớp mạng IP dùng nhiều địa chỉ 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.
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à xTR. Một khái niệm trọng tâm của LISP là khái niệm Map-Registration. Các router 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 (laptop, mobile phone, tables) và tất cả các thiết bị này để kết nối wifi. Ngoài ra còn 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ải 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í của 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 truyề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.
Để 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 – Endpoint ID). EID này không đổi khi ta gán đến một người dùng, một smartphone, 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 routing locators RLOCs. Các router RLOCs sẽ giúp xác định các vị trí của các 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 để hiện thực ý 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ư RLOC. 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ụ router hoặc switch) sẽ đảm nhận vai trò RLOC.
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 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?
Hình vẽ bên dưới so sánh sự tương đồng trong hoạt động cơ bản của giao thức LISP và DNS.
Theo như hình vẽ trên, LISP sẽ xây dựng một cơ sở dữ liệu chứa thông tin về các 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à Endpoint IDs (EIDs). 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. Khi một thiết bị đầu cuối kết nối vào một mạng, một switch chạy giao thức LISP sẽ cập nhật thông tin về thiết bị đó vào trong cơ sở dữ liệu LISP. 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 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ỉ mạng của thiết bị (Routing Locator). 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 di chuyển sang một vị trí khác và EID của nó không đổi. Đồng thời, thông tin nhận dạng đầu cuối EID tách biệt ra khỏi thông tin về vị trí (địa chỉ IP của gateway) cho phép các địa chỉ của cùng địa chỉ lớp mạng IP dùng nhiều địa chỉ 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.
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à xTR. Một khái niệm trọng tâm của LISP là khái niệm Map-Registration. Các router 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 (laptop, mobile phone, tables) và tất cả các thiết bị này để kết nối wifi. Ngoài ra còn 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ải 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í của 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 truyề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.