CHƯƠNG II : KIẾN TRÚC CỦA ĐỊNH TUYẾN PHÂN ĐOẠN
2.4. Mặt phẳng dữ liệu SR – IPv6
2.4.1. Tổng quan về SR – IPv6
SR – IPv6 (SRv6) là một giao thức được thiết kế để chuyển tiếp các gói tin dữ liệu IPv6 trên mạng dựa trên phương pháp định tuyến nguồn. SRv6 chuyển tiếp dữ liệu bằng cách cho phép Router nguồn chèn thêm tiêu đề định tuyến phân đoạn (Segment Routing Header) vào các gói tin IPv6. Các node chuyển tiếp dữ liệu sẽ làm nhiệm vụ
Nguyễn Đình Trung-D17CQVT06-B 41
tiếp tục cập nhật địa chỉ IP đích IPv6 và bù vào ngăn xếp địa chỉ để thực hiện việc chuyển tiếp theo cách “per-hop”.
Trong tương lai, mạng internet sẽ hướng dần tới xu thế 5G. Các nhà mạng cũng cần phải bắt kịp với điều này chuyển đổi theo xu hướng đơn giản hóa các mạng lưới, cung cấp đường truyền có độ trễ thấp đến người dùng và thực hiện triển khai SDN và ảo hóa các chức năng mạng. Kỹ thuật SRv6 sử dụng các phương pháp chuyển tiếp gói tin IPv6 hiện có và các kỹ thuật mở rộng dựa vào tiêu đề Header IPv6 để thực hiện chuyển dữ liệu xử lý giống như chuyển tiếp nhãn. Các địa chỉ IPv6 được định nghĩa là các SID, mỗi SID lại có chức năng rõ ràng, riêng biệt của nó. SID được dùng để vận hành, triển khai VPN đơn giản hóa, giúp cho việc xác định và cấu hình các VPN linh hoạt hơn.
2.4.2. Ưu điểm của SRv6
- Đơn giản hóa cấu hình mạng để dễ dàng thực hiện VPN hơn.
- SRv6 không sử dụng các kỹ thuật MPLS và hồn tồn tương thích với các mạng IPv6 hiện có. Các node chỉ cần hỗ trợ chuyển tiếp gói tin IPv6 thay vì chuyển tiếp dữ liệu bằng MPLS.
- Cung cấp biện pháp chống loop (TI-LFA), giúp cải thiện khả năng bảo vệ tuyến, luồng FRR.
- SRv6 là sự kết hợp của thuật toán RLFA, hỗ trợ bất kỳ các topology nào và
khắc phục nhược điểm trong việc bảo vệ đường hầm thông thường.
- Tạo điều kiện tối ưu hóa lưu lượng trên các đường dẫn chuyển tiếp IPv6.
- SID ứng với các loại dịch vụ khác nhau được Router nguồn sử dụng một các linh hoạt để chọn đường đi và để điều chỉnh lưu lượng dịch vụ.
2.4.3. Tiêu đề SR trong mặt phẳng dữ liệu IPv6
Một gói tin IPv6 bao gồm các tiêu đề IPv6 chuẩn, tiêu đề mở rộng (0...n), và dữ liệu. Để thực hiện SRv6 dựa vào mặt phẳng chuyển tiếp dữ liệu IPv6 thì một tiêu đề IPv6 mở rộng được chèn vào gói tin, nó được gọi là SRH. Mỗi SRH sẽ chỉ một tuyến đường cụ thể và thông tin danh sách các IPv6 Segment. Danh sách IPv6 Segment đó có chức năng giống như các danh sách trong SR MPLS.
Nguyễn Đình Trung-D17CQVT06-B 42
Hình 2.30: Định dạng tiêu đề SRH
Router nguồn chèn thêm SRH vào gói IPv6 và mỗi node chuyển tiếp sẽ chuyển tiếp gói dựa trên thơng tin đường dẫn được mang trong SRH. Hình 2.30 cho thấy định dạng tiêu đề SRH. Trong đó, các trường đều mang một ý nghĩa riêng biệt, cụ thể bảng 2.4 sẽ giải thích những trường này:
Tên Trường Độ dài Ý nghĩa
Next Header 8 bits Loại tiêu đề tiếp theo trong một SRH.
Hdr Ext Len 8 bits Độ dài tiêu đề SRH. Nó bao gồm độ dài từ Segment List [0] đến
Segment List [n].
Routing Type 8 bits Loại tiêu đề tuyến đường. Với giá trị bằng 4 thì sẽ xác định một
loại SRH.
Segments Left 8 bits Số lượng node chuyển tiếp giữa node hiện tại và node đích.
Last Entry 8 bits Chỉ số của segment cuối cùng trong một danh sách segment.
Flags 8 bits Các mã định danh trong gói tin dữ liệu.
Tag 16 bits Các gói tin cùng một nhóm.
Segment List[n]
128xn bits
Danh sách chồng nhãn segment. Mỗi một danh sách segment được đánh số bắt đầu từ segment cuối cùng của tuyến đường. Mỗi danh sách nhãn lại là một định dạng của địa chỉ IPv6.
Nguyễn Đình Trung-D17CQVT06-B 43
Hình 2.31: Định dạng SRH
Hình 2.31 thể hiện định dạng các Segment trong SRH, trong đó:
IPv6 Destination Address: Là địa chỉ đích IPv6 của gói tin. Nó cũng được gọi
là IPv6 DA, IPv6 DA là một giá trị cố định trong gói tin IPv6 thông thường. Trong SRv6, IPv6 DA chỉ xác định next hop tiếp theo của gói tin hiện có và nó có thể thay đổi.
<Segment List [0], Segment List [1], Segment List [2],..., Segment List [n]>: Danh sách các segment SRv6. Tương tự như ngăn xếp nhãn MPLS trong SR MPLS, nó được tạo ra bởi router nguồn. Một danh sách các segment được đánh số từ segment cuối cùng của một đường dẫn.
Trong hình 2.32, mỗi lần gói tin đi qua node SRv6, giá trị các trường Segment còn lại (Segments Left) giảm đi 1 giá trị và IPv6 DA thay đổi. Cả hai trường Segments Left và Segments List đều xác định thông tin về IPv6 DA.
Hình 2.32: Quá trình chuyển đổi IPv6 DA
Mỗi SRv6 segment đều có định dạng của địa chỉ IPv6, còn được gọi là định danh phân đoạn SRv6 (SID). Mỗi SRv6 SID bao gồm hai phần: Locator và Function. Theo hình 2.33, ta có thể thấy phần Locator chiếm phần lớn các bit quan trọng nhất của địa chỉ IPv6 và phần Function chiếm các bit cịn lại.
Nguyễn Đình Trung-D17CQVT06-B 44
Hình 2.33: Cấu trúc SRv6 SID
Phần Locator cho phép một node được định vị bởi các node khác và chúng phải là duy nhất trong một miền SR. Sau khi một Locator được cấu hình cho một node hệ thống sẽ tạo ra một tuyến phân đoạn mạng định vị và quảng bá thông tin tuyến đường trong miền SR thơng qua IGP. Các node khác trên mạng khi đó sẽ có được thơng tin các tuyến đường và sử dụng thơng tin tuyến đường để xác định vị trí node. Ngồi ra, tất cả các SID SRv6 được quảng bá bởi node đều có thể tiếp cận được thơng qua tuyến đường đó.
Phần Function xác định một chỉ dẫn thiết bị được cài đặt sẵn nhằm hướng dẫn node tạo SID SRv6 thực hiện chức năng tương ứng. Người dùng cũng có thể tùy chọn phần Agruments ngay sau phần Function, chiếm các bit quan trọng nhất của địa chỉ IPv6. Nếu trong trường hợp SRv6 SID được biểu thị với định dạng: Locator; Function; Arguments, thì phần Arguments được sử dụng để xác định lưu lượng gói tin và thơng tin dịch vụ. Cả hai phần Function và Arguments đều có thể dùng để xác định, cho ta biết cấu trúc SRv6 SID nhằm tạo điều kiện thuận lợi cho cơng việc lập trình mạng.
Một node SRv6 có chức năng duy trì bảng Local SID cục bộ. Bảng này chứa tất cả thông tin SID SRv6 được tạo bởi node “local” cục bộ. Dựa trên bảng đó, node cục bộ tạo cơ sở thông tin chuyển tiếp SRv6 (FIB). Bảng SID cục bộ cung cấp các chức năng sau:
- Xác định SID được tạo ra có giá trị cục bộ “locallly”, ví dụ: End.X SID.
- Chỉ định những chỉ thị nào có mối liên hệ ràng buộc với SID.
- Lưu trữ các tham số liên quan đến các chỉ thị, chẳng hạn như outbound interface và next hop.
SRv6 SID có nhiều loại, trong đó mỗi loại SRv6 SID chỉ ra một chức năng cụ thể (bảng 2.5).
Nguyễn Đình Trung-D17CQVT06-B 45
Các loại
SID SRV6 Chức năng Ví dụ
End SID
Là điểm cuối “Endpoint” SID, được sử dụng để xác định tiền tố của một địa chỉ đích trên mạng. End SID tương tự như Prefix SID trong SR MPLS.Một IGP gửi tồn bộ End SID cho các hàng xóm khác. End SID có giá trị “global” và được nhìn thấy bởi các SR node khác trong mode “Global”.
Hình 2.34
End.X SID
Là điểm cuối “Endpoint” SID của kết nối chéo lớp 3, được sử dụng để xác định một liên kết trên một mạng. SID End.X tương tự như Adjacency SID trong SR MPLS. Một node IGP gửi toàn bộ End.X SID sang các hàng xóm khác. End.X SID hiển thị trong mode “Global” và có giá trị “Local” cục bộ.
Hình 2.35
End.DT4 SID
SID End.DT4 xác định một VPN IPv4 trên mạng. Hành động chuyển tiếp, ánh xạ tới SID End.DT4 là để giải mã các gói tin và tìm kiếm bảng định tuyến của một VPN IPv4 cho việc chuyển tiếp các gói tin. SID End.DT4 tương đương với một nhãn IPv4 VPN được sử dụng trong VPN.
Hình 2.36
End.OTP SID
End.OTP SID (OAM Endpoint with Timestamp and Punt) là một OAM SID thực hiện việc giám sát cho một gói tin OAM. Nó được sử dụng trong các công việc như ping và tracert các địa chỉ. Ví dụ hình 2.37, node A cố gắng ping End.X SID A4: 4 :: 45 giữa các node D và E thông qua End.X SID A2: 2 :: 3, node D cần trả lời lại bằng bản tin ICMPv6 Echo Request được gửi bởi nút A. Khi xây dựng gói tin, node A cần chèn End.OTP SID A4: 4 :: 1 của nút D vào gói tin.Sau khi nhận gói tin, node D thấy rằng địa chỉ đích của gói tin có chứa SID End.OTP của chính nó, node D vẫn sẽ tiến hành kiểm tra cho dù A4: 4 :: 45 là SID cục bộ của nó. Nếu đúng SID đó là giá trị local của D thì nút D trả về một gói tin báo hiệu việc ping thành công. Nếu không, nút D báo lỗi SID không phải là SID cục bộ của nó.
Hình 2.37
Nguyễn Đình Trung-D17CQVT06-B 46
Hình 2.34: Ví dụ về End SID
Hình 2.35: Ví dụ về End.X SID
Hình 2.36: Ví dụ về End.DT4 SID
Nguyễn Đình Trung-D17CQVT06-B 47
2.5 Kết luận chương
Trong chương II này, kiến trúc của công nghệ SR đã được phác họa một cách cơ bản qua từng thành phần như mặt phẳng điều khiển của nó. Cụ thể, hai mặt phẳng đó là mặt phẳng điều khiển và mặt phẳng dữ liệu SR. Trên thực tế mỗi mặt phẳng lại có một cấu trúc khác nhau cũng như các tham số đặc trưng riêng. Việc nắm bắt được cấu trúc của SR giúp hiểu được quá trình hoạt động, quá trình trao đổi nhãn cũng như vai trò của mỗi phần tử nhất định. Nghiên cứu kiến trúc hiện tại này có thể giúp ta thấy cái nhìn khác biệt giữa SR và các cơng nghệ định tuyến trước đó. Về cơ bản, q trình trao đổi nhãn của SR khá giống và tương đồng với công nghệ chuyển mạch nhãn đa giao thức MPLS. Chúng cũng đều gồm có 3 giai đoạn chính, đó là: Gán nhãn, hốn đổi nhãn và gỡ nhãn. Điều khác biệt ở đây là SR dùng các SID (Prefix SID, Adj SID, Node SID) còn MPLS thì dùng các nhãn để chèn vào gói tin trong q trình trao đổi nhãn. Hơn nữa, các SID của SR không cần các giao thức phân bổ nhãn giống như MPLS (LDP, RSVP) mà thay vào đó SR sử dụng các phương pháp định tuyến mở rộng sử dụng trạng thái liên kết như OSPF hoặc IS-IS.
Trong chương III tiếp theo, nội dung chính của chương sẽ đi vào trình bày và thực hiện mơ phỏng các kịch bản sử dụng của SR thường được ứng dụng trong cuộc sống hiện nay. Qua đó, đưa ra những phân tích, đánh giá, nhận xét, kết luận chi tiết về từng khía cạnh của kịch bản. Cụ thể, đó là nội dung, mục đích, các bước thực hiện và kết quả mô phỏng cho mỗi kết quả cụ thể.
Nguyễn Đình Trung- D17VT06-B 48
CHƯƠNG III: CÁC KỊCH BẢN MÔ PHỎNG ĐỊNH TUYẾN PHÂN ĐOẠN PHÂN ĐOẠN
3.1. Kịch bản thiết lập kênh truyền L3VPN sử dụng SR 3.1.1. Nội dung kịch bản 3.1.1. Nội dung kịch bản PE1 P1 CE1 P2 L0:5.5.5.5/32 L0:2.2.2.2/32 L0:1.1.1.1/32 L0:3.3.3.3/32 L0:6.6.6.6/32 L0:4.4.4.4/32 Gi0/0/0/1 Gi0 /0 /0 /0 Gi0/0/0/0 192.168.12.0/24 17 2.1 68 .1.0 /2 4 1 7 2 .16 8 .2 .0 /2 4
Gi0/0/0/1 Gi0/0/0/0 Gi0/0/0/1 Gi0/0/0/1
Gi0 /0 /0 /0 G i0 /0 /0 /0 G i0 /0 /0 /0 192.168.23.0/24 192.168.34.0/24 L3VPN L3VPN PE2 CE2 Hình 3.1: Topo minh họa kịch bản thiết lập kênh truyền L3VPN sử dụng SR
Trong kịch bản này, một kênh truyền dịch vụ L3VPN thường được dùng trong mạng lưới thực tế sẽ được khai báo. Qua đó, có thể hiểu rõ hơn về cách cấu hình và nguyên lý hoạt động của SR. Cụ thể, một kênh truyền được thiết lập giữa hai CE, khi đó các khách hàng giữa hai vùng khác nhau của hai CE sẽ giao tiếp được với nhau đảm bảo quá trình truyền dữ liệu diễn ra thành công. Topo sử dụng cho kịch bản này được thể hiện trong hình 3.1.
3.1.2. Mục đích kịch bản
Với kịch bản thứ hai này nhằm mục xây dựng một kênh truyền dịch vụ ảo phổ biến trong mạng Internet hiện nay, cụ thể:
- Cấu hình và khai báo thành thạo mơ hình mạng sử dụng SR.
- Nắm rõ cách báo hiệu cho kênh L3VPN.
- Các giao thức cần thiết khi triển khai L3VPN.
- Cách thiết lập và kiểm tra kênh truyền L3VPN.
- Có thể ứng dụng kịch bản vào đời sống, công việc thực tế.
- Có thể mở rộng thực hiện nhiều kênh truyền L3VPN và thiết lập cấu hình để
Nguyễn Đình Trung-D17CQVT06-B 49
3.1.3. Các bước thực hiện kịch bản
Kịch bản này cần thực hiện các bước khai báo sau:
Thực hiện đặt địa chỉ IP cho các interface đấu nối và interface Loopback. Lưu ý
cần thực hiện câu lệnh “No shutdown” để các interface này có thể hoạt động bình thường. Có thể kiểm tra bằng các lệnh Ping giữa các địa chỉ đấu nối.
Tiếp tục sử dụng định tuyến động OSPF cho các router, tạo thành một miền thơng
suốt.
Kích hoạt tính năng SR trên các router, khai báo thủ công giá trị Prefix – SID.
Tuy nhiên, cần tránh việc khai báo trùng lặp một Prefix – SID cho nhiều router vì mỗi giá trị này là duy nhất trên tồn mạng.
Khai báo VRF trên hai router PE với các giá trị RD và RT, các router khác nhau
nhằm phân biệt VRF.
Thực hiện khai báo phiên MP – BGP trên hai PE để báo hiệu cho kênh truyền
L3VPN, các router cịn lại khơng sử dụng BGP. Có hai cách để thiết lập phiên BGP trên PE, đó là hai PE này có thể “peer” trực tiếp với nhau hoặc thơng qua một router trung gian Route Reflector. Tuy nhiên, để đơn giản nhất có thể thì bài mơ phỏng sẽ thực hiện khai báo phiên MP – BGP bằng cách “peer” trực tiếp.
Sau khi đã khai báo thành công phiên MP – BGP, từ router PE sẽ định tuyến đến
dải IP khách hàng của CE và quảng bá dải địa chỉ khách hàng vào BGP VPNv4.
Kiểm tra kết quả sau khai báo.
Các câu lệnh khai báo cấu hình cho kịch bản này được trình bày chi tiết trong phụ lục II.
3.1.4. Kết quả thực hiện
Lặp lại các bước kiểm tra bảng định tuyến và bảng chuyển mạch nhãn để đảm bảo việc cấu hình SR đã thành cơng. Hình 3.2 là kết quả kiểm tra ban đầu bảng chuyển mạch nhãn và các câu lệnh ping, traceroute để chắc chắn rằng các node đã thông suốt với nhau.
Nguyễn Đình Trung-D17CQVT06-B 50
Hình 3.2: Kiểm tra sau khai báo SR
Tiếp tục kiểm tra cấu hình VRF đã khai báo và ping địa chỉ đấu nối với CE1 (hình 3.2). Lưu ý trên PE2, khi khai báo VRF RED cần cấu hình các tham số RD, RT giống trên PE1 thì kênh truyền mới có thể thiết lập.
Hình 3.3: Kết quả cấu hình VRF
Tuy nhiên để báo hiệu cho kênh L3VPN, phiên BGP VNPv4 phải được thiết lập thành cơng. Hình 3.4 chỉ ra trạng thái thiết lập hàng xóm (neighbors) giữa hai PE đã được “Established”.
Nguyễn Đình Trung-D17CQVT06-B 51
Hình 3.4: Trạng thái neighbors BGP VPNv4
Bước cuối cùng cần thực hiện đó là định tuyến IP loopback của các CE từ các PE, sau đó quảng bá vào miền BGP VPNv4. Trong hình 3.5 và 3.6, hai IP loopback của hai CE đã có thể giao tiếp được với nhau, kênh truyền L3VPN hoàn toàn được thiết lập.
Nguyễn Đình Trung-D17CQVT06-B 52
Hình 3.6: Ping và traceroute giữa hai CE
Hình 3.6, ta thấy chồng nhãn gồm hai nhãn. Nhãn đầu tiên là nhãn SR 16004 với