Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Giao thức LISP

    Cisco LISP (Locator ID Separation Protocol) – Giải Mã Kiến Trúc Định Tuyến Hiện Đại Dùng Trong Enterprise Network


    Trong thế giới mạng IP truyền thống, chúng ta đã quen với một mô hình rất đơn giản: mỗi thiết bị được gán một địa chỉ IP, và địa chỉ đó vừa đóng vai trò định danh thiết bị, vừa đóng vai trò giúp hệ thống mạng xác định vị trí của thiết bị để chuyển tiếp gói tin.

    Mô hình này đã hoạt động tốt trong nhiều thập kỷ. Tuy nhiên, khi mạng Internet phát triển bùng nổ, cùng với sự mở rộng của doanh nghiệp đa chi nhánh, cloud computing, mobility, virtualization và segmentation, cách tiếp cận truyền thống bắt đầu bộc lộ những giới hạn nghiêm trọng.

    Đó chính là lý do Locator ID Separation Protocol (LISP) ra đời.

    LISP không đơn thuần là một giao thức định tuyến mới. Đây là một kiến trúc mạng được thiết kế để giải quyết bài toán scalability của routing, đồng thời mang lại khả năng mobility, segmentation và abstraction rất mạnh trong các hệ thống mạng hiện đại .
    Bài toán của IP Routing truyền thống


    Để hiểu tại sao LISP xuất hiện, trước tiên chúng ta cần nhìn lại cách IP routing truyền thống hoạt động.

    Trong mô hình thông thường, địa chỉ IP có hai chức năng cùng lúc.

    Thứ nhất, nó định danh thiết bị. Nếu một host có địa chỉ IP 192.168.1.10, đó chính là “identity” của host.

    Thứ hai, địa chỉ đó cũng thể hiện vị trí logic của thiết bị trong topology mạng. Router dựa vào thông tin này để quyết định đường đi.

    Điều này có nghĩa là identity và location đang bị trộn lẫn trong cùng một thông tin.

    Nghe có vẻ bình thường, nhưng đây chính là nguồn gốc của nhiều vấn đề lớn.
    Vấn đề 1: Routing Table ngày càng phình to


    Internet routing hoạt động dựa trên BGP.

    Các router backbone trên Internet phải lưu trữ lượng route khổng lồ. Khi số lượng prefix tăng lên, router cần:
    • nhiều memory hơn
    • CPU mạnh hơn
    • convergence chậm hơn
    • cập nhật routing phức tạp hơn

    Nguyên nhân lớn nhất là route disaggregation.

    Ví dụ, thay vì quảng bá một route summary lớn, nhiều tổ chức quảng bá các prefix nhỏ hơn.

    Tại sao?
    Vấn đề 2: Multihoming


    Giả sử doanh nghiệp kết nối đồng thời với hai ISP:
    • ISP A
    • ISP B

    Doanh nghiệp muốn:
    • redundancy
    • failover
    • load balancing

    Để làm điều này, họ thường quảng bá prefix của mình đến cả hai ISP.

    Kết quả?

    Internet phải giữ thêm nhiều route chi tiết thay vì route aggregate.

    Route table lại lớn thêm.
    Vấn đề 3: Traffic Engineering


    Nhiều doanh nghiệp muốn điều khiển lưu lượng inbound.

    Ví dụ:
    • traffic từ châu Á đi ISP A
    • traffic từ châu Âu đi ISP B

    Một cách phổ biến là quảng bá prefix cụ thể hơn.

    Ví dụ:

    Thay vì:
    10.10.0.0/16

    thì quảng bá:
    10.10.0.0/17
    10.10.128.0/17

    Kỹ thuật này hoạt động, nhưng lại làm routing table Internet càng lớn.
    Vấn đề 4: Mobility


    Giả sử một endpoint di chuyển từ site A sang site B.

    Trong kiến trúc IP truyền thống:
    • IP address gắn với subnet
    • subnet gắn với location

    Khi thiết bị đổi location, IP phải đổi.

    Nhưng nếu IP đổi:
    • session TCP reset
    • application gián đoạn
    • policy phải cập nhật

    Đây là vấn đề cực lớn trong wireless mobility, IoT, roaming users.
    Ý tưởng cốt lõi của LISP


    LISP giải quyết vấn đề bằng cách tách riêng hai khái niệm:

    Identity

    Location

    Thay vì để IP address vừa là identity vừa là location, LISP chia thành hai namespace khác nhau.
    Endpoint Identifier (EID)


    EID là địa chỉ đại diện cho endpoint.

    Ví dụ:
    192.168.10.100

    EID dùng để nhận diện host.

    Host vẫn nghĩ đây là IP bình thường.

    Application không biết gì về LISP.

    User cũng không biết gì.
    Routing Locator (RLOC)


    RLOC là địa chỉ của router LISP edge.

    Ví dụ:
    203.0.113.10

    Đây mới là địa chỉ dùng để routing qua underlay network.

    Nói cách khác:
    • EID = ai
    • RLOC = ở đâu

    Đây là điểm khác biệt lớn nhất của LISP .
    Ví dụ trực quan


    Giả sử:

    Site 1:

    Host:
    192.168.1.101

    Router:
    RLOC = 192.168.123.1

    Site 2:

    Host:
    192.168.2.102

    Router:
    RLOC = 192.168.123.2

    Host H1 muốn gửi traffic đến H2.

    Trong routing truyền thống:

    Router cần route đến:
    192.168.2.0/24

    Trong LISP:

    Router không cần biết route cụ thể đến EID.

    Thay vào đó:
    1. lookup mapping
    2. tìm RLOC tương ứng với EID
    3. encapsulate traffic
    4. gửi đến đúng router đích

    Tức là:
    192.168.2.102

    được ánh xạ thành:
    192.168.123.2
    LISP là giao thức map-and-encapsulation


    Có thể hiểu đơn giản:

    DNS dùng để:
    hostname → IP

    LISP dùng để:
    EID → RLOC

    Sau khi mapping hoàn tất:

    traffic được encapsulate giống tunneling.

    Do đó LISP vừa là:
    • mapping protocol
    • encapsulation protocol

    Thành phần kiến trúc LISP


    Để LISP hoạt động, có một số thành phần quan trọng.
    ITR (Ingress Tunnel Router)


    ITR là router nhận traffic từ endpoint nguồn.

    Nhiệm vụ:
    • nhận packet từ host
    • lookup EID-to-RLOC mapping
    • encapsulate packet
    • gửi traffic đến ETR

    Có thể hình dung:

    ITR = điểm vào tunnel
    ETR (Egress Tunnel Router)


    ETR là router ở site đích.

    Nhiệm vụ:
    • nhận packet LISP encapsulated
    • decapsulate
    • forward đến endpoint thật

    Có thể hình dung:

    ETR = điểm ra tunnel
    xTR


    Nếu một router làm cả hai vai:
    • ITR
    • ETR

    thì gọi là:
    xTR

    Thực tế enterprise thường dùng mô hình này.
    Map Server (MS)


    Map Server lưu mapping database:
    EID → RLOC

    Ví dụ:
    192.168.2.0/24 → 192.168.123.2

    ETR sẽ đăng ký prefix của mình với MS.
    Map Resolver (MR)


    MR nhận query từ ITR.

    Nếu ITR cần biết:
    192.168.2.102 ở đâu?

    MR sẽ giúp resolve.

    Tương tự DNS resolver.
    Proxy ETR (PETR)


    Dùng khi LISP site cần gửi traffic đến non-LISP world.

    Ví dụ:

    Internet.

    PETR nhận traffic encapsulated rồi forward tiếp ra mạng thường.
    Proxy ITR (PITR)


    Dùng cho chiều ngược lại.

    Traffic từ non-LISP world vào LISP world.

    PITR giúp encapsulate và đưa traffic vào LISP fabric.

    Đây là bộ khung cốt lõi của LISP architecture
    Đặng Quang Minh, CCIE#11897 (Enterprise Infrastructure, Wireless, Automation, AI), CCSI#31417

    Email : dangquangminh@vnpro.org
    https://www.facebook.com/groups/vietprofessional/
Working...
X