I s s É nhà xuất bản t h ỏn g tin và truyền thông chuyển mạch nhãN



tải về 7.1 Mb.
Chế độ xem pdf
trang111/121
Chuyển đổi dữ liệu23.04.2024
Kích7.1 Mb.
#57338
1   ...   107   108   109   110   111   112   113   114   ...   121
Chuyển mạch nhãn đa giao thức MPLS
RSP1Adatasheetv1.9
PH Ụ LỤC D: 
mỆN 
THựC MPLS TBÊM 
m viix
Giới thiệu
Linux được coi là một trong nhừng hệ điều hành tốt nhất cho môi trường mạng và ta 
hoàn toàn có ^hể sừ dụng một server Linux như một router. Giải pháp mà nguồn mờ này 
không những giúp giảm chi phí đầu tư về phần cứng, phần mềm cho router mà còn tăng tốc 
độ của mạng cục bộ và bảo đảm một môi trường mạng chạy ổn định.
Router Linux cũng ánh xạ các địa chi mạng đích đến các giao tiếp bàng cách xây 
dựng, cập nhật và tìm kiếm trong bảng định tuyến. Có sằn rất nhiều phần mềm mã nguồn 
mở để định tuyến trên Linux như Zebra, Linux router project... hồ trợ nhiều giao thức phổ 
biến như RIP, OSPF, BGP...
Một router muốn hồ trợ MPLS phải là các router chuyên dụng cho mạng trục, từ 
platform 3500 trở lên và cài hệ điều hành IOS 12.3 trở lên, đây thật sự là một yêu cầu đáng 
kể khi xây dựng một mạng MPLS. Với router Linux, ta chi cần biên dịch và cài đặt các 
chương trình mã nguồn mở hỗ trợ như MPLS Linux Project hay RSVP-TE... hồ trợ các tính 
năng MPLS mà vần tương thích hoàn toàn với các chương trình định tuyến nổi tiếng đã có 
như Zebra, Ipsuite... Nó thật sự là một công cụ hữu ích để giúp sinh viên tiếp cận và nghicn 
cứu về MPLS ừong hoàn cảnh thiết bị và hệ thống mạng còn nhiều hạn chế.
MPLS trên Linux
Đây là các ứng dụng mã nguồn mở, miền phí, cũng nhự có thể được sừa đổi lại theo 
nhu cầu người dùng bằng cách thay đổi mã nguồn, chạy trên nền hệ điều hành Linux, được 
sử dụng và hỗ trợ bởi một cộng đồng rộng lớn người sử dụng, được phân phối rộng rãi tại 
site http://mpls-linux.sourceforge.net/. Nó hiện thực MPLS bằng cách tạo một tập các giao 
thức báo hiệu và mặt phẳng chuyển tiếp MPLS cho hệ điều hành Linux kernel 2.4.X theo 
RFC 3036. MPLS trên Linux gồm hai gói chính 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 ưên MPLS.
• ldp-portable - hiện thực LDP theo RFC3036, tích hợp với cấu trúc định tuyến của
Zebra.
Ý tưởng cơ bản của MPLS Linux Projcct
Chương trình định nghĩa cấu trúc dừ liệu dùng để diễn dịch các nhãn MPLS đến là 
ILM (Incoming Lable Map). Bảng ILM chứa tất cà các nhãn đến mà LSR ngõ vào và ngõ ra 
sẽ nhận ra, bao gồm nội dung nhãn, mã hoạt động (opcode), FEC... Thứ tự xừ lí các nhàn


Phụ lục D: Hiện thực MPLS trên Linux
271
đến như sau: đầu tiên, nó trích nhãn từ tiêu đề chèn thêm trên cùng, tìm nhãn trong bảng 
ILM, dựa vào opcode trong nhãn mà thực hiện các xử lí khác nhau.
struct mpls label { 
u32 label res:1, 
label value:28, 
label type:3:
#define MPLS_LABEL_VPI 
#define MPLS_LABEL_VCI 
fdefine MPLS_LABEL_GEN 
tdefine MPLS_LABEL_DLCI 10 
♦define MPLS_LABEL_DLCI 17 
#define MPLS_LABEL_DLCI 23 
};
Idefine MPLS_GEN_LABEL 
#define MPLS_VPIVCI_LABEL 
Idefine MPLS_VPI_LABEL 
Idefine MPLS_VCI_LABEL 
#define MPLS_FR10_LABEL 
idefine MPLS_FR17_LABEL 
Refine MPLS_FR23_LABEL
Cấu trúc ILM, với opcode là các hành vi tương ứng: POP_AND_LOOKUP, 
PO PA NDFORW ARD, NO _POP_AND_FORWARD, SEND TO RP 
struct ilm ent {
struct mpls_label label; 
struct route_ent* outgoing_rt; 
ul6 protocol; 
u8 opcode;
};
CÀI ĐẶT
Download các gói kemel2.4.x.tar.gz, mpls-linux-l.lyy.tgz, giải nén và cập nhật bản 
MPLS patch cho kernel để hồ trợ tính năng MPLS, biên dịch lại kernel mới với các tùy chọn 
như bên dưới, cuối cùng là cài đặt kernel mới có hỗ ứợ 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: Netfliter Configuration — ->
<*> IP tables support (required for filtering/masq/NAT)
<*> Packet mangling
( (label_value»16) &0xFFF)
(label_value&OxFFFF)
(label_value&OxFFFfF)
(label_value&0x3FF)
(label_value&OxlFFFF)
(label_value&0x7FFFFF)
0x01
0x02
0x03
0x04
0x05
0x06
0x07


272
Chuyển mạch nhãn đa giao thức MPLS
<*> MPLS target support
/usr/src/linux-2.4.19>make dep && make clean && make bzlmage && make 
modules && make modules install
Chuyển bzlmage and System.map trong thư mục /boot và tạo một symbolic link mới 
đến System.map (tùy chọn).
Thay đổi file /etc/lilo.conf để bổ sung Image mới. Nạp lilo và khởi động lại.
VÍ DỤ
Sau đây là một ví dụ đơn giản về thiết lập một LSP và ánh xạ lưu lượng đến nó, sau 
đó kiểm tra lại lưu lượng đã được gán nhãn.

tải về 7.1 Mb.

Chia sẻ với bạn bè của bạn:
1   ...   107   108   109   110   111   112   113   114   ...   121




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương