Giáo trình Mạng máy tính nâng cao: Phần 2 cung cấp cho người học những kiến thức như: Lý thuyết cơ bản của chuyển mạch nhãn; định tuyến; xây dựng mạng đường trục MPLS. Mời các bạn cùng tham khảo!
PHẦN II MẠNG CHUYỂN MẠCH NHÃN ĐA GIAO THỨC CHƯƠNG LÝ THUYẾT CƠ BẢN CỦA CHUYỂN MẠCH NHÃN 8.1 Tổng quan Khi mạng Internet ngày mở rộng với phát triển dịch vụ gia tăng yêu cầu chất lượng dịch vụ tính bảo mật, MPLS giải pháp tối ưu Nó kết hợp ưu điểm IP ATM mà chi phí triển khai khơng q đắt, phối hợp nâng cấp từ mạng ATM Frame Relay có sẵn Ngồi ra, MPLS giải pháp tối ưu cho dịch vụ VPN ứng dụng đòi hỏi chất lượng dịch vụ kỹ thuật lưu lượng Hầu hết mạng diện rộng Việt Nam tổ chức với kết nối sử dụng dịch vụ thuê kênh riêng, X25 Frame Relay thông qua nhà cung cấp dịch vụ viễn thông Hầu hết chúng hoạt động dựa định tuyến IP truyền thống với khơng nhược điểm, đáp ứng chậm có yêu cầu xử lý luồng lưu lượng lớn mạng, làm cho việc xử lý router bị tải Hậu lưu lượng, kết nối làm giảm đặc tính mạng Ngồi ra, nút mạng phải thực hai chức định tuyến chuyển tiếp Quá trình chuyển tiếp dựa địa đích gói mà khơng dựa tham số chất lượng dịch vụ MPLS xem giải pháp cho vấn đề Điểm bật công nghệ MPLS khả chuyển tiếp lưu lượng nhanh, đơn giản, điều khiển phân luồng, định tuyến linh hoạt tận dụng tài nguyên mạng Nó kết hợp 84 đặc điểm tốt chuyển mạch kênh ATM chuyển mạch gói IP, có khả chuyển tiếp gói nhanh mạng lõi định tuyến bình thường mạng biên Khi gói vào miền MPLS, thường mạng trục nhà cung cấp dịch vụ, chúng chuyển mạch đơn giản chuyển mạch nhãn Các nhãn giúp xác định chất lượng dịch vụ mà gói nhận Khi chúng khỏi mạng nhãn cắt bỏ router biên mạng định tuyến thơng thường MPLS có số ưu điểm định tuyến IP chuyển gói qua mạng nhanh router IP Trong IP, việc định tuyến dựa vào tiêu đề gói cịn MPLS phân biệt giao diện khác nhau, thông tin khác để xác định sách xử lý thích hợp, đơi gói định tuyến theo đường biết trước gói vào mạng Ta xét qua hoạt động router hỗ trợ MPLS, gọi định tuyến chuyển mạch nhãn LSR (Label Switching Router): Ở chặng mạng MPLS, router chuyển tiếp gói dựa vào địa đích (hoặc thơng tin phần tiêu đề theo sách cục bộ); sau xác định nhãn thích hợp – giá trị xác định cho lớp chuyển tiếp tương đương FEC – gán nhãn cho gói chuyển tới nút Ở chặng tiếp theo, router dùng giá trị nhãn mục bảng để xác định nhãn LSR gán nhãn chuyển gói đến nút Tuyến đường mà gói gán nhãn qua gọi đường chuyển mạch nhãn LSP (Label Switched Path) Do MPLS sử dụng nhãn để định chặng nên router phải làm việc hoạt động gần giống với switch Vì nhãn thể tuyến đường mạng nên nhà quản trị mạng điều khiển xác trình xử lý lưu lượng mạng cách dùng sách nhãn Khác với trình định tuyến chuyển mạch thơng thường mạng IP dựa tiêu đề gói tin IP, mạng MPLS, trình chuyển mạch dựa nhãn gắn thêm vào gói tin Cịn q trình định tuyến khơng khác biệt nhiều lắm, tức dựa vào địa IP giao thức định tuyến để định tuyến Tuy nhiên router phải nắm giữ thay đổi nhãn gói tin gói chuyển tiếp qua router Như vậy, khác với router thông thường, router mạng MPLS phải hiểu giao thức phân phối nhãn (Tuy nhiên, với định tuyến ràng buộc, ta định đường độc lập với giao thức định tuyến) Để minh hoạ hoạt động MPLS, ta xét đường gói tin theo bước mạng sau 85 Hình 8.1: Sơ đồ mạng IP IP 27 S0/0 S0/1 S0/0 IP 24 S0/1 S0/0 S0/1 S0/1 S0 28 S0/0 PE1 P1 P2 PE2 CE1 S0 CE2 Thiết bị Serial 0/0 Serial 0/1 Loopback PE1 192.168.1.10 192.168.1.1 P1 192.168.1.9 192.168.1.14 192.168.1.2 P2 192.168.1.13 192.168.1.18 192.168.1.3 PE2 192.168.1.17 192.168.1.4 Bảng 8.1: Địa IP thiết bị Trước hết, giao thức định tuyến OSPF, IS-IS hoạt động để xây dựng router kế cận bảng định tuyến router (Router kế cận router mà gói tin cần truyền đến để đến đích đó) Ta dùng lệnh: PE1#show ip route Kế đến, giao thức phân phối nhãn hoạt động để gán nhãn ta có tương ứng nhãn router kế cận với cổng ngõ tương ứng Trong mạng MPLS, định tuyến ngồi rìa có ngõ ingress (ngõ vào) egress (ngõ ra) Bộ định tuyến ngõ vào nhận vào gói IP thực so sánh bảng định tuyến, sau gán dịch vụ tương ứng lên gói tin đó, cuối gán nhãn thích hợp dựa dịch vụ Những nhãn khác biểu thị mức dịch vụ khác mạng Và gói tin có nhãn, chuyển đến thiết bị router xem bảng chuyển tiếp để xác định cổng nhãn cần dùng cho gói tin Ta dùng lệnh: PE1#show mpls forwarding-table 86 Sau qua chuyển mạch nhãn nhãn gói tin thay đổi Mỗi chuyển mạch nhãn hoạt động đơn giản chuyển đổi (swapping) nhãn Và hoạt động tương tự xảy thiết bị gói tin đến thiết bị cuối định tuyến chuyển mạch nhãn ngõ Bộ định tuyến biết thiết bị cuối mạng MPLS Nó tách nhãn gửi gói tin IP đến chặng tức vào mạng IP khách hàng Quá trình di chuyển gói hồn tồn tương tự trường hợp mạng IP thông thường Như đây, ta thực chuyển gói tin mạng dựa vào nhãn gói tin thay địa Và qua ta thấy số ưu điểm tuyệt vời chuyển mạch nhãn Đầu tiên tốc độ nhanh độ trễ độ trễ rung pha (jitter) thấp Do nhãn dùng để tham chiếu (index) trực tiếp đến bảng chuyển tiếp router nên yêu cầu truy cập bảng lần, định tuyến truyền thống phải yêu cầu truy cập bảng định tuyến hàng ngàn lần để tìm địa IP phù hợp Do chuyển mạch nhãn giảm độ trễ thời gian chờ đáp ứng nút kéo theo làm giảm độ biến động trễ rung pha cộng dồn gói tin qua nhiều nút, điều có ý nghĩa ứng dụng thời gian thực Tuy nhiên, lí để sử dụng chuyển mạch nhãn không dừng mà cịn tính đơn giản dễ mở rộng Chuyển mạch nhãn cho phép ghép nhiều địa IP với nhãn mà thơi nên làm giảm kích thước bảng địa chỉ, cho phép router hỗ trợ nhiều người dùng Và sở hạ tầng mạng vốn có sẵn chức chuyển mạch, chuyển tiếp phần cứng router hay chuyển mạch ATM, Frame Relay, ta cần phủ lên thêm phần mềm tương ứng để điều khiển việc chuyển mạch nhãn mà 8.2 Khái niệm hoạt động MPLS 8.2.1 Mặt phẳng liệu mặt phẳng điều khiển Một mặt phẳng điều khiển (control plane) tập hợp phần mềm và/hoặc phần cứng thiết bị, chẳng hạn router, dùng để điều khiển nhiều hoạt động thiết yếu mạng, phân phối nhãn, tìm tuyến mới, khắc phục lỗi Nhiệm vụ mặt phẳng điều khiển cung cấp dịch vụ cho mặt phẳng liệu Mặt phẳng liệu chịu trách nhiệm chuyển tiếp lưu lượng người dùng qua router Các thuật ngữ mặt phẳng người dùng (user plane) mặt phẳng truyền dẫn (transport plane) dùng để mô tả mặt phẳng liệu 87 8.2.2 Mặt phẳng liệu mặt phẳng điều khiển IP Router OSPF, IS-IS, BGP Mặt phẳng điều khiển Lớp định tuyến OSPF, IS-IS, BGP Bảng định tuyến Gói liệu IP Mặt phẳng điều khiển Lớp chuyển tiếp Gói liệu IP Hình 8.2: Mặt phẳng điều khiển liệu IP Hình 8.2 mơ tả mối quan hệ mặt phẳng điều khiển IP mặt phẳng liệu IP Đối với giao thức Internet, ví dụ mặt phẳng điều khiển giao thức định tuyến OSPF, IS-IS, BGP Nó cho phép IP chuyển tiếp lưu lượng cách xác Các tin điều khiển trao đổi router để thực nhiều hoạt động khác nhau, bao gồm: • Trao đổi tin nút để thiết lập tuyến liên kết • Trao đổi tin theo chu kì (gọi tin hello) để nút gần kề hoạt động tốt • Trao đổi tin quảng cáo (advertisement) địa tuyến để xây dựng bảng định tuyến sử dụng IP để chuyển tiếp lưu lượng 88 8.2.3 Mặt phẳng liệu mặt phẳng điều khiển MPLS LSR LDP, RSVP-TE, OSPF-E, BGP-E Mặt phẳng điều khiển Lớp định tuyến LDP, RSVP-TE, OSPF-E, BGP-E LFIB Gói tin MPLS Mặt phẳng điều khiển Lớp chuyển tiếp Gói tin MPLS Hình 8.3: Mặt phẳng điều khiển liệu MPLS hoạt động với mặt phẳng điều khiển liệu, mơ tả hình 8.3 Nhiệm vụ mặt phẳng điều khiển quảng cáo nhãn, địa liên kết chúng Bộ định tuyến chuyển mạch nhãn router cấu hình để hỗ trợ MPLS Nó dùng sở thơng tin chuyển tiếp nhãn (Label Forwarding Information Base_LFIB) để xác định cách xử lý gói MPLS đến, chẳng hạn xét xem nút nhận gói nút Các tin điều khiển trao đổi LSR để thực nhiều hoạt động khác nhau, bao gồm thiết lập liên kết Sau hoạt động hoàn thành, nút gọi LSR ngang hàng (peer), trao đổi tin chu kì (bản tin hello) để nút gần kề hoạt động tốt, trao đổi tin địa nhãn để liên kết địa với nhãn xây dựng bảng chuyển tiếp cho mặt phẳng liệu MPLS Mặt phẳng liệu MPLS chuyển tiếp lưu lượng cách kiểm tra nhãn tiêu đề gói MPLS, địa IP không cần kiểm tra Tiêu đề nhãn sau bị bỏ đi, địa IP lại dùng để phân phối lưu lượng đến người dùng cuối 8.2.4 Những lớp chuyển tiếp tương đương FEC * Lớp chuyển tiếp tương đương FEC Thuật ngữ lớp chuyển tiếp tương đương FEC (Forwarding Equivalence Classes) sử dụng hoạt động chuyển mạch nhãn FEC mô tả liên hệ gói với địa đích người nhận cuối, FEC liên kết với địa đích loại lưu lượng liên quan đến cổng đích 89 Tại lại sử dụng FEC? Trước tiên, cho phép nhóm gói vào lớp khác nhau, sử dụng để hỗ trợ chất lượng dịch vụ hiệu Ví dụ, FEC liên kết với độ ưu tiên cao, lưu lượng thực … FEC xác định việc sử dụng nhãn Đối với lớp dịch vụ khác nhau, người ta sử dụng FEC nhãn liên kết khác Với Internet, giá trị sau sử dụng để thành lập FEC: địa IP nguồn và/hoặc đích, số cổng nguồn và/hoặc đích, nhận diện giao thức (PID), điểm mã (codepoint) dịch vụ khác biệt IPv4, dòng nhãn IPv6 Chúng ta nghĩ thủ tục sử dụng thành phần định tuyến cách chia thành tập tất gói mà router định tuyến vào số hữu hạn subnet rời Từ quan điểm định tuyến, gói subnet router đối xử (nghĩa chúng gửi đến trạm kế tiếp) gói subnet khác thơng tin cịn lại tiêu đề (header) lớp mạng Chúng ta xem subnet lớp chuyển tiếp tương đương (FEC) Nguyên nhân mà router định tuyến tất gói FEC giống ánh xạ thơng tin mang tiêu đề lớp mạng mục bảng định tuyến nhiều – (mà - trường hợp đặc biệt) Nghĩa gói khác nội dung tiêu đề lớp mạng ánh xạ vào mục bảng định tuyến mục gắn với FEC xác định Một ví dụ FEC tập gói unicast mà địa đích lớp mạng có tiền tố địa IP xác định Một ví dụ khác FEC tập gói multicast có địa nguồn đích lớp mạng Một phần quan trọng mục định tuyến trì router địa router Một gói rơi vào FEC mà liên kết với mục định tuyến xác định định tuyến đến router rõ mục Do việc xây dựng bảng định tuyến thành phần điều khiển xem việc xây dựng tập FEC trạm cho FEC Một tính chất quan trọng FEC tính định tuyến phân cấp Ví dụ FEC bao gồm gói mà có địa đích lớp mạng gắn với tiền tố địa xác định Kiểu FEC cung cấp định tuyến thô Mặc khác, FEC bao gồm gói thuộc vào ứng dụng xác định chạy hai máy tính, nghĩa bao gồm gói có địa nguồn đích lớp mạng (địa hai máy tính) 90 số port lớp vận chuyển (những port xác định ứng dụng máy tính) Kiểu FEC cung cấp định tuyến tinh Có thể thấy rõ ràng định tuyến thơ cần thiết cho việc mở rộng toàn mạng Nhưng mặc khác hỗ trợ định tuyến thô làm mạng hoạt động khơng uyển chuyển, khơng cho phép có nhiều kiểu lưu lượng khác Những nhận định cho thấy muốn xây dựng hệ thống lớn có nhiều chức u cầu hệ thống phải hỗ trợ nhiều kiểu định tuyến khả trộn lẫn kết hợp nhiều kiểu định tuyến khác 8.2.5 Định tuyến quán Một hệ thống định tuyến xác u cầu có quán qua nhiều router Sự quán thiết lập kết hợp nhiều chế Thành phần điều khiển chịu trách nhiệm phân bố quán thông tin định tuyến sử dụng router cho việc xây dựng bảng định tuyến Thành phần điều khiển chịu trách nhiệm việc quán thủ tục mà router dùng để xây dựng bảng định tuyến Kết hợp hai yếu tố cho phép có quán bảng định tuyến Thành phần định tuyến chịu trách nhiệm quán thủ tục việc lấy thông tin từ gói việc sử dụng thơng tin để tìm mục thích hợp bảng định tuyến, kết có quán ánh xạ gói vào FEC qua nhiều router Và quán cho phép hệ thống có chức định tuyến xác 8.3 Thành phần định tuyến Sự phân tích việc định tuyến lớp mạng làm hai phần: điều khiển định tuyến không áp dụng vào kiểu định tuyến truyền thống mà cịn áp dụng cho kỹ thuật chuyển mạch nhãn Trong phần mô tả vài lý thuyết tảng liên quan đến thành phần định tuyến chuyển mạch nhãn Thuật toán mà thành phần định tuyến chuyển mạch nhãn sử dụng để đưa định định tuyến cho gói tin sử dụng hai nguồn thông tin: thông tin thứ bảng định tuyến trì router chuyển mạch nhãn LSR (Label Switching Router) thứ hai nhãn chứa gói 91 8.3.1 Nhãn gì? Nhãn khung nhận dạng ngắn, có chiều dài cố định khơng có cấu trúc Một nhãn khơng thực trực tiếp thông tin từ tiêu đề lớp mạng Dạng nhãn xét phần sau 8.3.2 Bảng chuyển mạch nhãn LIB LFIB 192.168.20.9 192.168.20.1 192.168.20.7 I A 30 192.168.20.3 40 48 192.168.20.4 38 D LIB B 192.168.20.2 67 192.168.20.6 E 47 192.168.20.5 87 35 C G 53 89 J 192.168.20.10 F 192.168.20.0/24 Nút cuối 77 H 192.168.20.8 Với địa 192.168.20.0/24 Địa 192.168.20.3 192.168.20.9 192.168.20.10 192.168.20.5 Nhãn 40 48 87 38 Hình 8.4: LIB cho nút D Hình 8.4 sở liệu thông tin nhãn LIB nút D cho liên kết nhãn mà tạo nhận từ hàng xóm MPLS cho tiền tố địa 192.168.20.0/24 Các thực thể LIB LSR kế cận khơng cần lưu LIB khơng cần thiết cho việc chuyển tiếp gói Theo hoạt động giao thức định tuyến, nút D đến 192.168.20.0/24 thông qua nút I, E J Một câu hỏi hợp lí đặt phải chứa tất liên kết nhãn tất hàng xóm số chúng khơng phải xi dịng theo địa đích chí số khơng LSP Câu trả lời giải thích phần sau Hình 8.5 bảng LFIB nút D cho tiền tố địa 192.168.20.4/24 Lưu ý bảng chứa thông tin cần thiết để chuyển tiếp gói đến chặng kế LSP, tập LIB Nhãn 40 dùng cho LSP nút C D, nhãn 38 D E, nhãn 47 E F Nhãn 40 nhãn nội (local label) nút D tạo D phân phối đến tất “ngang cấp” 92 D Cịn nhãn 38 cấp nút E Do hai nhãn nhãn gán nút xuôi dòng đến nút ngược dòng tương ứng với tiền tố 192.168.20.0/24 Trong bảng LFIB D ta thấy (a) nhãn nội cho tiền tố địa 192.168.20.0/24 40, (b) nhãn 38 vốn gán trước nút E, (c) giao tiếp vật lý để đến chặng kế tức hop E giao tiếp n Hai điều quan trọng cần nhớ LSR không nhận thông điệp liên kết nhãn từ LSR kế, gói tin chuyển bình thường mà khơng gán nhãn Cịn LSR nhận thông điệp liên kết nhãn từ LSR kế nhãn nhãn nội thêm vào LFIB Khi liên kết hay nút bị phát hư giao thức phân phối nhãn hay giao thức định tuyến lớp 3, kiện sau xảy ra: ví dụ nút D phát liên kết đến E bị hư LFIB cập nhận để phản ánh hư hỏng cách xóa liên kết từ D đến E Giao tiếp liên kết bị hư xóa khỏi bảng định tuyến Việc xóa kích hoạt OSPF chọn liên kết thay khác đưa vào bảng định tuyến, ví dụ liên kết D J Việc thêm FEC vào bảng định tuyến lớp kích hoạt nút D cập nhật LFIB mà không cần triệu gọi giao thức phân phối nhãn trước nút D thiết lập mối quan hệ MPLS ngang hàng với tất nút lân cận cài đặt liên kết nhãn cho nút bảng LIB Do nút D gắn nhãn 87 cho gói đến 192.168.20.0/24 gửi chúng đến nút J J lúc thành viên đường chuyển mạch nhãn đến 192.168.20.0/24 192.168.20.9 192.168.20.1 192.168.20.7 I A 30 192.168.20.3 C 40 38 D LIB 35 192.168.20.2 67 192.168.20.6 E 47 192.168.20.5 87 B G 53 48 192.168.20.4 89 J 192.168.20.10 F 192.168.20.0/24 Nút cuối 77 H 192.168.20.8 Với địa 192.168.20.0/24 Nhãn nội 40 Nhãn 38 Giao diện n Hình 8.5: LFIB cho nút D Một bảng định tuyến bao gồm chuỗi mục, mục bao gồm nhãn vào hay nhiều mục con, mục bao gồm nhãn ra, 93 PHỤ LỤC D HIỆN THỰC MPLS TRÊN LINUX Giới thiệu Linux coi hệ điều hành tốt cho mơi trường mạng ta hồn tồn sử dụng server Linux router Giải pháp mã nguồn mở khơng giúp giảm chi phí đầu tư phần cứng, phần mềm cho router mà tăng tốc độ mạng cục bảo đảm môi trường mạng chạy ổn định Router Linux ánh xạ địa mạng đích đến giao tiếp cách xây dựng, cập nhật tìm kiếm bảng định tuyến Có sẵn nhiều phần mềm mã nguồn mở để định tuyến Linux Zebra, Linux router project … hỗ trợ nhiều giao thức phổ biến RIP, OSPF, BGP … Một router muốn hỗ trợ MPLS phải router chuyên dụng cho mạng trục, từ platform 3500 trở lên cài hệ điều hành IOS 12.3 trở lên, thật yêu cầu đáng kể xây dựng mạng MPLS Với router Linux, ta cần biên dịch cài đặt chương trình mã nguồn mở hỗ trợ MPLS Linux Project hay RSVP-TE … hỗ trợ tính MPLS mà tương thích hồn tồn với chương trình định tuyến tiếng có Zebra, Ipsuite … Nó thật cơng cụ hữu ích để giúp sinh viên tiếp cận nghiên cứu MPLS hoàn cảnh thiết bị hệ thống mạng nhiều hạn chế MPLS Linux Đây ứng dụng mã nguồn mở, miễn phí, sửa đổi lại theo nhu cầu người dùng cách thay đổi mã nguồn, chạy hệ điều hành Linux, sử dụng hỗ trợ cộng đồng rộng lớn người sử dụng, phân phối rộng rãi site http://mplslinux.sourceforge.net/ Nó thực MPLS cách tạo tập giao thức báo hiệu mặt phẳng chuyển tiếp MPLS cho hệ điều hành Linux kernel 2.4.x theo RFC 3036 MPLS Linux gồm hai gói là: • mpls-linux – chuyển tiếp MPLS cho nhân Linux, gồm giao tiếp Ethernet, PPP, đường hẩm MPLS ảo, ngăn xếp nhãn, tìm nhãn đệ quy, tích hợp với mơ hình Linux QoS, hỗ trợ DiffServ, Ethernet MPLS • ldp-portable – thực LDP theo RFC3036, tích hợp với cấu trúc định tuyến Zebra Ý tưởng MPLS Linux Project Chương trình định nghĩa cấu trúc liệu dùng để diễn dịch nhãn MPLS đến ILM (Incoming Lable Map) Bảng ILM chứa tất nhãn đến mà LSR ngõ vào ngõ nhận ra, bao gồm nội dung nhãn, mã hoạt động (opcode), FEC … Thứ tự xử lí nhãn đến sau: đầu tiên, trích nhãn từ tiêu đề chèn thêm cùng, tìm nhãn bảng ILM, dựa vào opcode nhãn mà thực xử lí khác struct mpls label { u32 label res:1, label value:28, label type:3: #define MPLS_LABEL_VPI ((label_value>>16)&0xFFF) #define MPLS_LABEL_VCI (label_value&0xFFFF) #define MPLS_LABEL_GEN (label_value&0xFFFFF) #define MPLS_LABEL_DLCI 10 (label_value&0x3FF) #define MPLS_LABEL_DLCI 17 (label_value&0x1FFFF) #define MPLS_LABEL_DLCI 23 (label_value&0x7FFFFF) }; #define MPLS_GEN_LABEL 0x01 #define MPLS_VPIVCI_LABEL 0x02 #define MPLS_VPI_LABEL 0x03 #define MPLS_VCI_LABEL 0x04 #define MPLS_FR10_LABEL 0x05 #define MPLS_FR17_LABEL 0x06 #define MPLS_FR23_LABEL 0x07 Cấu trúc ILM, với opcode hành vi tương ứng: POP_AND_LOOKUP, POP_AND_FORWARD, NO_POP_AND_FORWARD, SEND_TO_RP struct ilm ent { struct mpls_label label; struct route_ent* outgoing_rt; 273 u16 protocol; u8 opcode; }; CÀI ĐẶT Download gói kernel2.4.x.tar.gz, mpls-linux-1.1yy.tgz, giải nén cập nhật MPLS patch cho kernel để hỗ trợ tính MPLS, biên dịch lại kernel với tuỳ chọn bên dưới, cuối cài đặt kernel có hỗ trợ MPLS Code maturity level options –> [*] Prompt for development and/or incomplete code/drivers Networking options –> [*] Multi Protocol Label Switching - MPLS [*] Network packet filtering (replaces ipchains) IP: Netfilter Configuration –> IP tables support (required for filtering/masq/NAT) Packet mangling MPLS target support /usr/src/linux-2.4.19>make dep modules && make modules install && make clean && make bzImage && make Chuyển bzImage and System.map thư mục /boot tạo symbolic link đến System.map (tuỳ chọn) lại Thay đổi file /etc/lilo.conf để bổ sung Image Nạp lilo khởi động VÍ DỤ Sau ví dụ đơn giản thiết lập LSP ánh xạ lưu lượng đến nó, sau kiểm tra lại lưu lượng gán nhãn Hình C.1: Sơ đồ uml1 eth1 11.0.1.0/24 eth1 uml2 Tại uml1: [root@uml1 root]# cat /proc/net/mpls version 01010702 [root@uml1 root]# mplsadm2 -A -O Key: 0x00000002 274 Out Segment add: Success [root@uml1 root]# mplsadm2 -O 0x2 -o push:gen:10000:set:eth1:ipv4:11.0.1.2Out +Instr: Success [root@uml1 root]# ip route add 11.0.1.2/32 via 11.0.1.2 lsp 0x2 [root@uml1 root]# cat /proc/net/mpls out 0x00000002 0/0/0 PUSH (gen 10000) SET (eth1,11.0.1.2) [root@uml1 root]# ip route show 11.0.1.2 via 11.0.1.2 dev eth1 lsp 0x2 192.168.2.0/24 dev eth0 scope link 11.0.1.0/24 dev eth1 proto kernel scope link src 11.0.1.1 127.0.0.0/8 dev lo scope link [root@uml1 root]# Tại uml2 [root@uml2 root]# cat /proc/net/mpls version 01010702 [root@uml2 root]# mplsadm2 -L eth1:0 Label Space: Success [root@uml2 root]# mplsadm2 -A -I gen:10000:0 In Label add: Success [root@uml2 root]# cat /proc/net/mpls in 0x02710001 0/0/0 gen 10000 POP PEEK [root@uml2 root]# cat /proc/net/mpls labelspace eth1 Ta kiểm tra cách ping thử uml1 [root@uml1 root]# ping 11.0.1.2 PING 11.0.1.2 (11.0.1.2) from 11.0.1.1: 56 (84) bytes of data 64 bytes from 11.0.1.2: icmp seq=1 ttl=64 time=1.12 ms 64 bytes from 11.0.1.2: icmp seq=2 ttl=64 time=0.420 ms Kiểm tra tiến trình MPLS uml2 có nhận gói tin không: [root@uml2 root]# cat /proc/net/mpls in 0x02710001 55/4840/0 gen 10000 POP PEEK [root@uml2 root]# Hoặc dùng tcpdump để kiểm tra [root@uml2 root]# tcpdump -xvp -i eth1 tcpdump: listening on eth1 07:23:40.325485 fe:fd:11:0:1:1 fe:fd:11:0:2:1 8847 102: 0271 0140 4500 0054 0000 4000 4001 22a7 275 0b00 0101 0b00 0102 0800 9154 3202 8400 cc70 e83e 0cf6 0400 0809 0a0b 0c0d 0e0f 1011 1213 1415 1617 1819 1a1b 1c1d 1e1f 2021 2223 2425 2627 2829 2a2b 2c2d 2e2f 3031 07:23:40.325614 11.0.1.2 > 11.0.1.1: icmp: echo reply (ttl 64, id 3923, len 84) 4500 0054 0f53 0000 4001 5354 0b00 0102 0b00 0101 0000 9954 3202 8400 cc70 e83e 0cf6 0400 0809 0a0b 0c0d 0e0f 1011 1213 1415 1617 1819 1a1b 1c1d 1e1f 2021 2223 2425 2627 2829 2a2b 2c2d 2e2f 3031 3233 3435 Gói tin gói ping đến 8847 cho biết gói MPLS Bốn byte đầu tiêu đề shim (0271 0140), theo sau tiêu đề IP (4500 0054 0000 4000 4001 22a7 0b00 0101 0b00 0102) Gói thứ hai gói ping hồi đáp gói IP bình thường ta khơng thiết lập LSP theo hướng ngược lại RSVP-TE Daemon RSVP-TE cho DiffServ MPLS hỗ trợ đặc tính thiết lập LSP định tuyến ràng buộc, E-LSP L-LSP, LSP dự phòng kiểu IntServ, ánh xạ lưu lượng sang LSP dựa vào giao thức, cổng, tiền tố đích đến, DSCP Các thành phần RSVP-TE download site http://ds mpls.atlantis.rug.ac.be, bao gồm KERNEL2.4.19-MPLS172.patch, iptables1.2.4-0.2-dscp.tgz, DSMPLS+IP.patch, iproute2-current.tar.gz and rsvpd.0.70-rc2.tgz Để Linux hỗ trợ DS/MPLS, ta phải cài đặt nhiều vá cho: iptables (phù hợp với DSCP), ip (giao thức MPLS), mplsadm (multiple table, hỗ trợ EXP and mặt nạ EXP), Linux kernel (hỗ trợ lọc DSCP, MPLS patch) biên dịch lại nhân, cần chọn đặc tính sau [*] Network packet filtering [*] TCP/IP networking 1.advanced router 1.IP: policy routing 1.IP: use netfilter MARK value as routing key [*] MPLS support [*] IP: Netfilter Configuration 1.IP tables support (enable all suboptions unless you know what you are doing, make sure "DSCP match" and "MPLS target" support is available 276 [*] QoS and/or fair queuing (enable all suboptions unless you know what you are doing) [*] Network device options Biên dịch cài đặt nhân hỗ trợ RSVP-TE Thay đổi file /etc/lilo.conf để bổ sung Image Nạp lại lilo khởi động lại Daemon RSVP-TE chứa thư mục /home/rsvp/rsvpd/rsvpd Các công cụ khác chứa thư mục /home/rsvp/rsvpd/labeltest Ta cần phải cấu hình lại file label.conf trước chạy để cấu hình lại tập nhãn, giao tiếp tương ứng với thiết bị thay đổi cần thiết Ta thiết lập LSP ánh xạ gói ICMP cho LSP Ta kiểm tra xem gói có gửi qua LSP không cách kiểm các biến đến LSP Xét mạng hình C.2 Hình C.2: Sơ đồ 1.1 Ngõ vào 1.2 eth1 eth1 2.1 Lõi eth2 2.2 eth1 Ngõ Khởi động daemons tất máy từ ngõ vào đến ngõ ra: /rsvpd -D Cho router ngõ vào gửi thơng điệp đến đích Ingress (trong rsvpd console): T1> dest lsp tcp 10.0.2.2/12 T1> sender 10.0.1.1/12 Router ngõ hồi đáp thông điệp Egress reply with RESV messages (type on rsvpd console): T1> dest lsp tcp 10.0.2.2/12 T1> reserve 10.0.2.2 ff 10.0.1.1/12 Ở router ngõ vào, kiểm tra: /tunnel -L –c LSPID Destination (type label/exp/iface) viface Packets Bytes 12 10.0.2.2 (gen 21650/ 0/ eth1) T21650 0 /tunnel -m -p icmp -d 10.0.2.2/32 -l 12 Ánh xạ gói ICPM đến 10.0.2.2 vào LSP có LSPID 12 ping 10.0.2.2 PING 10.0.2.2 (10.0.2.2): 56 data bytes 64 bytes from 10.0.2.2: icmp seq=0 ttl=254 time=0.3 ms 277 64 bytes from 10.0.2.2: icmp seq=1 ttl=254 time=0.2 ms 64 bytes from 10.0.2.2: icmp seq=2 ttl=254 time=0.2 ms 64 bytes from 10.0.2.2: icmp seq=3 ttl=254 time=0.2 ms /tunnel -L –c LSPID Destination (type label/exp/iface) viface Packets Bytes 12 10.0.2.2 (gen 21650/ 0/ eth1) T21650 336 | Destination DSCP Proto Packets Bytes Packets Bytes \ –> 10.0.0.0/12 BE icmp 336 336 Ta thấy có bốn gói gửi qua LSP ./tunnel -u -p icmp -l 12 Lệnh khơng ánh xạ gói ICMP ./tunnel -m -a -d 10.0.2.2/32 -l12/3 Lệnh ánh xạ tất gói đến địa 10.0.2.2 LSP có LSP 12 có trường EXP tiêu đề chèn Với thông số –a, thông điệp báo hiệu RSVP không gửi đường hầm LSP ./tunnel -u -a -d 10.0.2.2/32 -l12/3 Lệnh thơi khơng ánh xạ gói đến địa 10.0.2.2 ./tunnel -m -x 0x2 -d 10.0.2.2/32 -l12/1 Ánh xạ lưu lượng đến 10.0.2.2 đánh dấu DSCP 0x2 vào LSP có LSPID 12 Những gói có bit EXP Ta theo dõi gỡ rối lệnh sau, dùng chương trình bắt gói Ethereal hay tcpdump (đều có hỗ trợ MPLS) để theo dõi gói thơng điệp phân tích hoạt động mạng MPLS #less /var/log/rsvpd.log #tunnel -L -c #tunnel -t -l lspid #cat /proc/net/mpls* #iptables -L -t mangle #ip rule show #ip route show table tableid (tableid value obtained from ip rule show) #tc -s qdisc ls devx 278 THUẬT NGỮ VIẾT TẮT ABR Area Border Router – Bộ định tuyến biên ADM Add Drop Mutiplexer – Bộ ghép xen rẽ AF Assured forwarding – Chuyển tiếp đảm bảo AN Assigment Number – Số ấn định ARIS Aggregate Route-based IP Switching – Chuyển mạch IP dựa định tuyến tổng hợp AS Autonomous System – Hệ tự trị ASBR Autonomous System Boundary Router – Bộ định tuyến biên hệ thống tự trị ASN Autonomous System Number – Số hệ thống tự trị ATMARP Asynchronuous Transfer Mode Address Resolution Protocol – Giao thức phân giải địa kiểu truyền bất đồng BA Behavior Aggregate – Kết tập hành vi BDB Bind DataBase – Cơ sở liệu kết hợp BGP Border Gateway Protocol – Giao thức cổng biên CBR Constrained Based Routing – Định tuyến ràng buộc CBS Committed Burst Size – Kích thước chùm thỏa thuận CDR Committed Data Rate – Tốc độ liệu thỏa thuận CE router Customer Edge router – Bộ định tuyến khách hàng rìa CIDR Classless Interdomain Routing – Định tuyến liên miền không phân lớp CIR Committed Information Rate – Tốc độ cam kết COS Class of Service – Lớp dịch vụ CR_LDP Constrained Label Distribution Protocol – Giao thức phân bố nhãn ràng buộc CSR Cell Switching Router – Bộ định tuyến chuyển mạch tế bào D Destination – Đích DBR Designated backup router – Bộ định tuyến định dự phòng Diff_Serv Differentiated Services – Dịch vụ phân biệt DR Designated Router – Bộ định tuyến định DRR Deficit Round-Robin – Vòng thiếu DSCP Differentiated Service Code Point – Điểm mã dịch vụ phân biệt DUAL Diffusing Update Algorithm – Giải thuật cập nhật khuếch tán EBS Excess Burst Size – Kích thước chùm vượt ngưỡng Edge LSR Edge Label Switching Router – Bộ định tuyến chuyển mạch nhãn rìa EF Expedited Forwarding – Chuyển tiếp xúc tiến EGP Exterior Gateway Protocol – Giao thức định tuyến ngoại EIGRP Enhanced Interior Gateway Routing Protocol – Giao thức định tuyến nội cao cấp EPD Early Packet Discard – Hũy gói sớm ER Explicit Route – Định tuyến xác định ERO Explicit –Route object – Đối tượng định tuyến xác định FE Fast Ethernet – Ethernet nhanh FECs Forwarding Equivalence Classes – Những lớp chuyển tiếp tương đương FQ Fair Queueing – Hàng đợi công FSC Fiber Switch Capable – Khả chuyển mạch theo sợi quang GBLSP Guaranteed Bandwith LSPs – Các LSP băng thông đảm bảo GE Gigabit Ethernet – Mạng gigabit GS Guardrantee Service – Dịch vụ đảm bảo GSMP General Switch Management Protocol – Giao thức quản lý chuyển mạch chung IETF Internet Engineering Task Force – Khuyến nghị Internet IFMP Ipsilon Flow Management Protocol – Giao thức quản lý luồng Ipsilon IGP Interior Gateway Protocol – Giao thức cổng nội IGRP Interior Gateway Routing Protocol – Giao thức định tuyến cổng nội Int_Serv Intergrated Services – Dịch vụ tích hợp IPATM The IP over ATM – Giao thức internet ATM IPLPDN IP over Large Public Data Networks – IP mạng liệu công cộng lớn IS Intergrated Service – Dịch vụ tích hợp 280 ISP Internet Service Provider – Nhà cung cấp dịch vụ Internet ISR Integrated Switch Router – Bộ định tuyến chuyển mạch tích hợp L3PID Layer Protocol Identifier – Nhận dạng giao thức lớp LANE The LAN Emulation – Mô LAN LDP Label Distribution Protocol – Giao thức phân bố nhãn LFIB Label Forwarding Information Base – Cơ sở thông tin chuyển tiếp nhãn LIB Label Information Based – Cơ sở thông tin nhãn LLQ Low-Latency Queuing – Hàng đợi trễ thấp L-LSP Label LSP – LSP nhãn LRO Label Request Object – Đối tượng yêu cầu nhãn LSA Link State Advertise – Quảng cáo trạng thái liên kết LSAck Link State Advertise Acknowledge – Chấp nhận quảng cáo trạng thái liên kết LSC Label Switch Controller – Phần điều khiển chuyển mạch nhãn LSC Lambda Switch Capable – Khả chuyển mạch theo bước sóng LSDB Link State Database – Cơ sở liệu trạng thái liên kết LSP Label Switching Path – Đường chuyển mạch nhãn LSR Label Switching Router – Bộ định tuyến chuyển mạch nhãn LSR Link State Router – Bộ định tuyến trạng thái liên kết LSU Link State Unit – Khối trạng thái liên kết MDRR Modified Deficit Round Robin – Vịng thiếu bổ MED attribute MULTI_EXIT_DISC attribute – Thuộc tính MED MNS MPLS Network Simulation – Mô mạng MPLS MPLS MultiProtocol Label Switching – Chuyển mạch nhãn đa giao thức MPOA Multiprotocol over ATM – Đa giao thức ATM MTU Maximum Transmission Unit – Đơn vị truyền cực đại NAP Internet Network Access Point – Điểm truy cập mạng Internet NBMA NonBroadcast MultiAccess – Đa truy cập băng rộng phủ định NHRP Next Hop Revolution Protocol – Giao thức phân giải hop NTC Network Control Traffic – Điều khiển lưu lượng mạng O/O/O Optical / Optical / Optical – Chuyển mạch Quang / Quang / Quang 281 OA Order Aggregate – Kết tập thứ tự O/E/O Optical / Electrical / Optical – Quang / Điện / Quang Opaque LSA Opaque Link_State Advertisement – Quảng cáo trạng thái liên kết không suốt OSPF Open Shortest Path First – Mở đường ngắn OSP Optical Switch Path – Đường chuyển mạch quang OT Optical Trail – Vết quang P router Provider router – Bộ định tuyến nhà cung cấp PBS Peak burst size – Kích thước chùm đỉnh PDR Peak Data Rate – Tốc độ liệu đỉnh PE router Provider Edge router – Bộ định tuyến nhà cung cấp rìa PHB PerHop Behavior – Hành vi chặng PIM Protocol Independent Multicast – Giao thức độc lập đa điểm PIR Peak Information Rate – Tốc độ đỉnh PoP Point of Presence – Điểm truy cập PPD Partial Packet Discard – Hủy gói phần PPP Point to Point Protocol – Giao thức điểm – điểm PSC Packet Switch Capable – Khả chuyển mạch gói PVP Permanent Virtual Path – Đường ảo cố định PVX Permanent Virtual Chanel – Kênh ảo cố định PXC Packet eXchange Capable – Khả chuyển mạch gói Receiver_Tspec Receiver Traffic Specification – Đặc tả lưu lượng nhận RIP Routing Information Protocol – Giao thức thông tin định tuyến ROLC Routing Over Large Clouds – Định tuyến đám mây lớn RRO Record_Route Object – Đối tượng định tuyến mẫu tin RSpec Request Specification – Đặc tả yêu cầu RSVP Resource Reservation Protocol – Giao thức dành trước tài nguyên S Sender – Bộ phát Sender_Tspec Sender Traffic Specification – Đặc tả lưu lượng phát SFQ Stochastic Fair Queueing – Hàng đợi công xác suất SONET Synchronous Optical Network – Mạng quang đồng 282 SPF Shortest Path First – Đường ngắn TDM Time Division Multiplexer – Ghép kênh phân thời gian TDP Tag Distribution Protocol – Giao thức phân phối thẻ TE/RRR Traffic Engineering/Routing with Resource Reservation – Kỹ thuật lưu lượng/ Định tuyến dành trước tài nguyên TER Tag Edge Routers – Các định tuyến thẻ rìa TFIB Tag Forwarding Information Based – Cơ sở thông tin chuyển tiếp thẻ TLV Type Label Value – Kiểu - nhãn - giá trị TP Traffic Profile – Thuộc tính lưu lượng TSpec Traffic Specification – Đặc tả lưu lượng TSR Tag Switching Router – Bộ định tuyến chuyển mạch thẻ TTL Time to Live – Thời gian sống VC Virtual Circuit – Kênh ảo VCC Virtual Channel Connection – Cuộc kết nối kênh ảo VLL Virtual Lease-Line – Kênh thuê riêng ảo VLSM Variable Length Subnet Mask – Mặt nạ mạng có chiều dài thay đổi VPC Virtual Path Connection – Cuộc kết nối đường ảo VPN Virtual Private Networks – Các mạng riêng ảo VPN_IP VPN_IP addresses – Địa VPN IP WFQ Weight Fair Queue – Hàng đợi cân trọng số WRED Weighted Random Early Detection – Phát sớm ngẫu nhiên trọng số 283 TÀI LIỆU THAM KHẢO [1] TS.Trần Công Hùng, “Chất lượng mạng tốc độ cao”, Nhà xuất bưu điện, 2005 [2] PGS.TS.Trần Công Hùng, “Chuyển mạch nhãn đa giao thức MPLS”, Nhà xuất thông tin truyền thông, tái lần 2, 2015 [3] David E.McDySan and Darren L.Spohn , “ATM theory and Application”, McGraw-Hill International Editions, Printed in the Taiwan, 1995 [4] Martin De Prycker , “Asynchronous Transfer mode Solution for Broadband ISDN”, Prentice Hall International (UK) Limited, Third Edition, 1995 [5] Othmar Kyas , “ATM Networks”, International Thomson Computer Press, Printed in the UK, 1995 [6] LGIC_LG Information & Communications,Ltd, ”The ATM & CDMA Technology”, 1996 [7] Mohammad Makarechian and Nicholas J.Malcolm, “ Testing policing in ATM Networks”, August, Hewlett-packard journal, 1997 [8] Uyless Black, “MPLS Label Switching Network”, Prentice Hall, 2002 [9] Vivek Alwayn, “Advanced MPLS Design and Implementation”, Cisco Press, 2002 [10] Sean Harnedy, “MPLS Primer”, Prentice Hall, 2002 [11] Bruce Davie, Yakov Rekhter, “MPLS Technology and Application”, Academic Press, 2000 [12] Peter Tomsu, “MPLS-based VPN”, Prentice Hall, 2002 [13] James Reagan, "CCIP MPLS Study Guide", CIBEX, 2002 [14] Các chuẩn RFC 2702, 3031, 3035, 3036, 3209 [15] Stephen Thomas, "IP Routing Essential and Architecture", Wiley, 2002 [16] Bassam Halabi, "Internet Routing Architecture", Cisco Press, 1997 [17] Robert N Myhre, "CCNP 2.0 routing", Prentice Hall, 2001 [18] Jeff Doyle, "TCP/IP Routing Vol I", Cisco Press, 1998 [19] "Cisco Network Acedemy Program", Cisco Press, 2001 [20] Christopher Y.Metz, "IP Switching", McGraw-Hill, 1999 [21] Andrew S Tanenmaum, "Computer Networks", Prentice Hall, 1996 284 [22] Douglas E Comer, "Internetworking with TCP/IP: Principles, Protocols and Architecture", Prentice Hall, 2000 [23] Thomas M Thomas II, "Cisco Internetwork Design", MacGraw-Hill, Technical Expert, 2001 [24] KS Nguyễn Trọng Hiệp, KS Lâm Văn Đà, ThS Nguyễn Hoàng Hải, "Bảo mật cấu trúc MPLS", Tạp chí Bưu Viễn thông, tháng năm 2003 [25] Phạm Anh Tuấn, "Công nghệ MPLS dịch vụ MPLS VPN đầy tiềm năng", Tạp chí Thế giới Vi tính, tháng năm 2003 [26] TS Vũ Tuấn Lâm, "Xu hướng tích hợp IP/Quang mạng hệ sau", Tạp chí Bưu Viễn thông, tháng năm 2003 [27] "Multiprotocol Label Switching Architecture", RFC 3031 [28] “Requirements for Traffic Engineering Over MPLS”, RFC 2702 [29] ”Constraint-based LSP setup using LDP”, RFC 3212 [30] “MPLS Label Stack Encoding”, RFC 3032 [31] “MPLS Loop Prevention Mechanism”, RFC 3063 [32] “Carrying Label Information in BGP-4”, RFC 3107 [33] “RSVP-TE: Extensions to RSVP for LSP Tunnels”, RFC 3209 [34] "A Framework for QoS-based Routing in the Internet", RFC 2386 [35] "Integrated Services in the Internet Architecture: an Overview", RFC 1633 [36] “An Architecture for Differentiated Services”, RFC 2475 [37] “MPLS Support of Differentiated Services”, RFC 3270 [38] “A Provider Architecture for Differentiated Services and Traffic Engineering”, RFC2430 [39] http://www.isi.edu/nsnam/ns/ [40] http://perform.wpi.edu/NS/ [41] http://flower.ce.cnu.ac.kr/~fog1/mns/mns2.0/source/mns_v2.0.tar [42] http://www.deriveit.com [43] http://mpls-linux.sourceforge.net/ [44] http://www.lathspell.de/linux/uml/ [45] http://user-mode-linux.sourceforge.net/networking.html 285 [46] http://www.omnetpp.org/external/doc/html/usman.php [47] http://charlie.it.uts.edu.au/~tkaphan/xtn/capstone/ [48] http://www.mplsrc.com [49] http://www.cisco.com/warp/public/104/ [50] http://www.convergedigest.com/tutorials/ [51] http://cell-relay.indiana.edu/mhonarc/mpls/ [52] http://ants.mju.ac.kr/talks/ [53] http://www.juniper.net/techpubs/ [54] http://ww.ietf.org 286 ... mạng Dạng nhãn xét phần sau 8.3 .2 Bảng chuyển mạch nhãn LIB LFIB 1 92. 168 .20 .9 1 92. 168 .20 .1 1 92. 168 .20 .7 I A 30 1 92. 168 .20 .3 40 48 1 92. 168 .20 .4 38 D LIB B 1 92. 168 .20 .2 67 1 92. 168 .20 .6 E 47 1 92. 168 .20 .5... 1 92. 168 .20 .6 E 47 1 92. 168 .20 .5 87 35 C G 53 89 J 1 92. 168 .20 .10 F 1 92. 168 .20 .0 /24 Nút cuối 77 H 1 92. 168 .20 .8 Với địa 1 92. 168 .20 .0 /24 Địa 1 92. 168 .20 .3 1 92. 168 .20 .9 1 92. 168 .20 .10 1 92. 168 .20 .5 Nhãn 40 48 87... 1 92. 168 .20 .0 /24 gửi chúng đến nút J J lúc thành viên đường chuyển mạch nhãn đến 1 92. 168 .20 .0 /24 1 92. 168 .20 .9 1 92. 168 .20 .1 1 92. 168 .20 .7 I A 30 1 92. 168 .20 .3 C 40 38 D LIB 35 1 92. 168 .20 .2 67 1 92. 168 .20 .6