
CÔNG TY CỔ PHẦN DỊCH VỤ CÔNG NGHỆ DATECH
Danh sách nội dung [Ẩn]
Hướng dẫn cấu hình MLPPP trên Router ACX Series của Juniper
Giao thức Multilink Point-to-Point Protocol (MLPPP) cho phép gộp nhiều liên kết PPP thành một gói multilink bundle. Các gói multilink cung cấp băng thông bổ sung, cân bằng tải và dự phòng bằng cách tổng hợp các liên kết tốc độ thấp như T1 và E1.
Bạn cấu hình các gói multilink như các đơn vị logic (logical units) hoặc các kênh trên giao diện dịch vụ liên kết (link services interface). Với MLPPP, các gói multilink được cấu hình dưới dạng các đơn vị logic trên giao diện dịch vụ liên kết, ví dụ: lsq-0/0/0.0, lsq-0/0/0.1. Sau khi tạo các gói multilink, bạn thêm các liên kết thành phần (constituent links) vào gói. Các liên kết thành phần là các liên kết vật lý tốc độ thấp sẽ được tổng hợp lại.
Quy tắc khi thêm liên kết vào một gói multilink
Bảo mật trên MLPPP, MLPPP hỗ trợ CHAP (Challenge Handshake Authentication Protocol) và PAP (Password Authentication Protocol) để đảm bảo truyền dữ liệu an toàn qua các giao diện PPP.
Hỗ trợ MLPPP trên Router ACX Series
Các router thuộc dòng ACX Series hỗ trợ encapsulation MLPPP. Cụ thể MLPPP được hỗ trợ trên các model như ACX1000, ACX2000, ACX2100, ACX4000 với Channelized OC3/STM1 (Multi-Rate) MICs với SFP, 16-port Channelized E1/T1 Circuit Emulation MIC trên ACX4000.
Số lượng gói multilink tối đa trên router ACX Series theo bảng sau.
ACX Platform | Maximum Bundles | Maximum Links | Maximum Links Per Bundle |
ACX2000 ACX2100 | 16 | 16 | 16 |
ACX4000ACX-MIC-16CHE1-T1-CE | 16 | 16 | 16 |
ACX4000ACX-MIC-4COC3-1COC12CE | 50 | 336 | 16 |
ACX1000 | 8 | 8 | 8 |
Bạn có thể cấu hình các giao diện MLPPP bundle với các liên kết thành viên T1/E1. Lưu lượng truyền qua giao diện MLPPP bundle sẽ được phân bổ theo cơ chế round-robin trên các liên kết thành viên. Nếu kích thước gói tin lớn hơn kích thước phân mảnh được cấu hình trên giao diện MLPPP, gói tin sẽ bị phân mảnh. Các mảnh này cũng được gửi qua các liên kết thành viên theo mô hình round-robin. Các gói tin điều khiển PPP nhận được trên giao diện sẽ được xử lý trực tiếp trên router. Kích thước phân mảnh được cấu hình ở cấp độ MLPPP bundle và sẽ áp dụng cho tất cả các gói tin trên bundle, không phụ thuộc vào lớp multilink.
Multiclass MLPPP phân loại các gói tin giao thức multilink thành nhiều lớp khác nhau. Router ACX hỗ trợ tối đa bốn lớp. Mỗi lớp trong Multiclass MLPPP có một hàng đợi riêng biệt, các gói tin có thể được phân loại vào một trong bốn lớp này. Các gói tin bên trong một hàng đợi sẽ được xử lý theo cơ chế FIFO (First-In First-Out).
Multiclass MLPPP được sử dụng để cung cấp ưu tiên cho lưu lượng có độ trễ thấp, yêu cầu thời gian thực cao. Các gói tin nhỏ có độ trễ thấp sẽ được phân loại vào hàng đợi ưu tiên cao hơn. Trong quá trình phân mảnh, nếu có một gói tin ưu tiên cao hơn xuất hiện, quá trình phân mảnh của gói tin có ưu tiên thấp hơn sẽ tạm dừng, gói tin ưu tiên cao sẽ được phân mảnh và xếp hàng để truyền trước, sau đó quá trình phân mảnh của gói tin ưu tiên thấp sẽ tiếp tục. Hỗ trợ LSQ truyền thống trên ACX Series.
Các giao diện LSQ truyền thống (dựa trên PICs) được hỗ trợ để kết hợp các giao diện T1/E1 vào một MLPPP bundle. Giao diện dịch vụ nội tuyến (si-) và giao diện LSQ nội tuyến không được hỗ trợ trong các gói MLPPP. Trên router ACX, quá trình MLPPP bundling được thực hiện trên các TDM MICs và mô hình LSQ truyền thống là cơ chế hiệu quả nhất. Bạn có thể cấu hình các giao diện OC phân kênh (channelized OC) như t1-x/y/z:n:m, e1-x/y/z:n làm thành viên của một MLPPP bundle. Tối đa 16 liên kết thành viên được hỗ trợ cho mỗi bundle. Các family địa chỉ được hỗ trợ bao gồm MPLS, ISO và inet. Family ISO chỉ được hỗ trợ với IS-IS. Bạn có thể cấu hình MLPPP bundles trên giao diện mạng-đến-mạng (NNI) của Ethernet pseudowire. Interleaving sử dụng Multiclass MLPPP cũng được hỗ trợ.
Các lưu ý khi cấu hình MLPPP trên router ACX:
- Các liên kết vật lý phải cùng loại và có cùng băng thông.
- Phân phối gói tin theo round-robin giữa các liên kết thành viên.
- Để thêm một liên kết thành viên T1 hoặc E1 vào MLPPP bundle dưới dạng giao diện link services LSQ, hãy sử dụng câu lệnh bundle tại cấp cấu hình: [edit interfaces t1-fpc/pic/port unit logical-unit-number family mlppp]
[edit interfaces t1-fpc/pic/port unit logical-unit-number family mlppp] bundle lsq-fpc/pic/port.logical-unit-number; |
- Để cấu hình các thuộc tính của giao diện link services LSQ, hãy thêm các lệnh sau vào cấp cấu hình: [edit interfaces lsq-fpc/pic/port unit logical-unit-number]
[edit interfaces lsq-fpc/pic/port unit logical-unit-number] encapsulation multilink-ppp; fragment-threshold bytes; minimum-links number; mrru bytes; short-sequence; family inet { address address;} |
Bạn có thể cấu hình family địa chỉ là MPLS cho các giao diện LSQ trong một MLPPP bundle.
- Việc hỗ trợ giao thức điều khiển PPP phụ thuộc vào quá trình xử lý ứng dụng PPP cho các giao diện MLPPP bundle. Các ứng dụng được hỗ trợ bao gồm: IPv4, Internet Protocol Control Protocol (IPCP), PPP Challenge Handshake Authentication Protocol (CHAP), Password Authentication Protocol (PAP).
- Cấu hình drop timeout không áp dụng cho router ACX.
- Không thể gộp các liên kết thành viên từ nhiều MICs vào cùng một bundle. Chỉ có thể gộp các giao diện vật lý trên cùng một MIC.
- Các giao diện Fractional T1 và E1 không được hỗ trợ. Class of Service (CoS) chỉ được hỗ trợ cho các giao diện T1 và E1 đầy đủ. Không thể sử dụng các khe thời gian chọn lọc của T1/E1, bắt buộc phải sử dụng toàn bộ giao diện T1/E1.
- Các thống kê chi tiết được hiển thị phụ thuộc vào các tham số được hỗ trợ bởi phần cứng. Các bộ đếm (counters) được phần cứng hỗ trợ sẽ hiển thị các giá trị tương ứng trong đầu ra của lệnh: show interfaces lsq-fpc/pic/port detail.
Trong kết quả đầu ra, các trường có giá trị bằng 0 biểu thị các thông số không được router ACX hỗ trợ tính toán. Trong thống kê giao diện LSQ, các thống kê về gói tin không bị phân mảnh không được tính. Các gói không phân mảnh thường được xử lý như các khung một phân mảnh và được tính vào thống kê phân mảnh.
user@host# show interfaces lsq-1/1/0 detail Physical interface: lsq-1/1/0, Enabled, Physical link is Up Interface index: 162, SNMP ifIndex: 550, Generation: 165 Description: LSQ-interface Link-level type: LinkService, MTU: 1504 Device flags : Present Running Interface flags: Point-To-Point SNMP-Traps Internal: 0x0 Last flapped : 2015-06-22 19:01:47 PDT (2d 04:56 ago) Statistics last cleared: 2015-06-23 05:01:49 PDT (1d 18:56 ago) Traffic statistics: Input bytes : 108824 208896 bps Output bytes : 90185 174080 bps Input packets: 1075 256 pps Output packets: 1061 256 pps IPv6 transit statistics: Input bytes : 0 Output bytes : 0 Input packets: 0 Output packets: 0 Frame exceptions: Oversized frames 0 Errored input frames 0 Input on disabled link/bundle 0 Output for disabled link/bundle 0 Queuing drops 0 Buffering exceptions: Packet data buffer overflow 0 Fragment data buffer overflow 0 Assembly exceptions: Fragment timeout 0 Missing sequence number 0 Out-of-order sequence number 0 Out-of-range sequence number 0 Hardware errors (sticky): Data memory error 0 Control memory error 0 Logical interface lsq-1/1/0.0 (Index 326) (SNMP ifIndex 599) (Generation 177) Flags: Up Point-To-Point SNMP-Traps 0x0 Encapsulation: Multilink-PPP Last flapped: 2015-06-24 23:57:34 PDT (00:00:51 ago) Bandwidth: 6144kbps Bundle links information: Active bundle links 4 Removed bundle links 0 Disabled bundle links 0 Bundle options: MRRU 2000 Remote MRRU 2000 Drop timer period 0 Inner PPP Protocol field compression enabled Sequence number format short (12 bits) Fragmentation threshold 450 Links needed to sustain bundle 3 Multilink classes 4 Link layer overhead 4.0 % Bundle status: Received sequence number 0x0 Transmit sequence number 0x0 Packet drops 0 (0 bytes) Fragment drops 0 (0 bytes) MRRU exceeded 0 Fragment timeout 0 Missing sequence number 0 Out-of-order sequence number 0 Out-of-range sequence number 0 Packet data buffer overflow 0 Fragment data buffer overflow 0 Statistics Frames fps Bytes bps Bundle: Multilink: Input : 1076 256 484200 921600 Output: 1061 256 477450 921600 Network: Input : 2182 256 201812 208896 Output: 2168 256 192029 174080 IPV6 Transit Statistics Packets Bytes Network: Input : 0 0 Output: 0 0 Multilink class 0: Multilink: Input : 1075 256 483750 921600 Output: 1061 256 477450 921600 Network: Input : 1061 256 477450 921600 Output: 1075 256 483750 921600 Multilink class 1: Multilink: Input : 0 0 0 0 Output: 0 0 0 0 Network: Input : 0 0 0 0 Output: 0 0 0 0 Multilink class 2: Multilink: Input : 0 0 0 0 Output: 0 0 0 0 Network: Input : 0 0 0 0 Output: 0 0 0 0 Multilink class 3: Multilink: Input : 0 0 0 0 Output: 0 0 0 0 Network: Input : 0 0 0 0 Output: 0 0 0 0 Link: t1-1/1/1.0 Up time: 00:00:51 Input : 280 64 126000 230400 Output: 266 64 119700 230400 t1-1/1/2.0 Up time: 00:00:51 Input : 266 64 119700 230400 Output: 265 64 119250 230400 t1-1/1/3.0 Up time: 00:00:51 Input : 265 64 119250 230400 Output: 265 64 119250 230400 t1-1/1/4.0 Up time: 00:00:51 Input : 265 64 119250 230400 Output: 265 64 119250 230400 Multilink detail statistics: Bundle: Fragments: Input : 1076 256 484200 921600 Output: 1061 256 477450 921600 Non-fragments: Input : 0 0 0 0 Output: 0 0 0 0 LFI: Input : 0 0 0 0 Output: 0 0 0 0 Multilink class 0: Fragments: Input : 1076 256 484200 921600 Output: 1061 256 477450 921600 Non-fragments: Input : 0 0 0 0 Output: 0 0 0 0 Multilink class 1: Fragments: Input : 0 0 0 0 Output: 0 0 0 0 Non-fragments: Input : 0 0 0 0 Output: 0 0 0 0 Multilink class 2: Fragments: Input : 0 0 0 0 Output: 0 0 0 0 Non-fragments: Input : 0 0 0 0 Output: 0 0 0 0 Multilink class 3: Fragments: Input : 0 0 0 0 Output: 0 0 0 0 Non-fragments: Input : 0 0 0 0 Output: 0 0 0 0 NCP state: inet: Opened, inet6: Not-configured, iso: Opened, mpls: Opened Protocol inet, MTU: 1500, Generation: 232, Route table: 0 Flags: Sendbcast-pkt-to-re Addresses, Flags: Is-Preferred Is-Primary Destination: 9.1.9/24, Local: 9.1.9.18, Broadcast: Unspecified, Generation: 212 Protocol iso, MTU: 1500, Generation: 233, Route table: 0 Flags: Is-Primary Protocol mpls, MTU: 1488, Maximum labels: 3, Generation: 234, Route table: 0 Flags: Is-Primary |
Chỉnh sửa FCS trên liên kết thành viên của MLPPP bundle, để sửa đổi Frame Checksum (FCS) trong các tùy chọn T1 hoặc E1 trên một liên kết thành viên của MLPPP bundle, bạn phải loại bỏ liên kết thành viên ra khỏi bundle bằng cách hủy kích hoạt liên kết hoặc xóa cấu hình liên kết như một thành viên bundle. Sau đó, bạn thêm lại liên kết vào bundle sau khi đã sửa đổi FCS. Nếu bạn đang cấu hình FCS lần đầu tiên trên liên kết thành viên, hãy chỉ định giá trị FCS trước khi thêm liên kết vào bundle.
Các tính năng MLPPP không được hỗ trợ trên router ACX Series:
- Gộp liên kết thành viên từ nhiều MICs.
- Phân mảnh theo lớp (chỉ có thể cấu hình phân mảnh ở cấp độ bundle).
- Nén tiêu đề family địa chỉ IPv6 (không hỗ trợ ACFC – Address and Control Field Compression và PFC – Protocol Field Compression).
- Prefix elision theo định nghĩa trong RFC 2686 – Multi-Class Extension to Multi-Link PPP.
- Tính năng tương tự Link Fragmentation and Interleaving (LFI) trên ACX. Một tính năng tương tự Link Fragmentation and Interleaving (LFI) có thể được thực hiện bằng cách sử dụng Multiclass MLPPP (RFC 2686). Multiclass MLPPP cho phép gói tin ưu tiên cao được đan xen giữa các gói tin có độ ưu tiên thấp hơn. Gói tin có độ trễ nhạy cảm sẽ được gửi đi ngay khi chúng đến. Trong khi các gói LFI-classified được gửi đến một liên kết thành viên cụ thể dưới dạng gói PPP, thì
cách triển khai của ACX sẽ đính kèm tiêu đề Multilink PPP (MLP) và phân mảnh các gói tin để gửi theo cơ chế round-robin trên tất cả các liên kết thành viên.
- Không hỗ trợ PPP trên giao diện MLPPP bundle.
Yêu cầu
Bạn cần có router ACX Series để thực hiện cấu hình trong ví dụ sau.
Tổng quan
Dưới đây là một ví dụ mẫu về cấu hình MLPPP bundle trên router ACX Series.
Quy trình thực hiện
Cấu hình nhanh bằng CLI
[edit] user@host# show interfaces lsq-1/1/0 { description LSQ-interface; per-unit-scheduler; unit 0 { encapsulation multilink-ppp; mrru 2000; short-sequence; fragment-threshold 450; minimum-links 3; multilink-max-classes 4; family inet { address 9.1.9.18/24} family iso; family mpls;}} ct1-1/1/1 { enable; no-partition interface-type t1;} t1-1/1/1 { encapsulation ppp; unit 0 { family mlppp { bundle lsq-1/1/0.0;}}} ct1-1/1/2 { enable; no-partition interface-type t1;} t1-1/1/2 { encapsulation ppp; unit 0 { family mlppp { bundle lsq-1/1/0.0;}}} ct1-1/1/3 { enable; no-partition interface-type t1;} t1-1/1/3 { encapsulation ppp; unit 0 { family mlppp { bundle lsq-1/1/0.0;}}} ct1-1/1/4 { enable; no-partition interface-type t1;} t1-1/1/4 { encapsulation ppp; unit 0 { family mlppp { bundle lsq-1/1/0.0;}}} |
Giao diện LSQ hỗ trợ cả hai loại giao diện vật lý T1 và E1. Các hướng dẫn sau áp dụng cho T1 interfaces, nhưng cấu hình đối với E1 interfaces cũng tương tự.
Để cấu hình một bundle NxT1 bằng MLPPP, bạn cần gộp N đường T1 khác nhau vào một bundle. Bundle NxT1 được gọi là giao diện logic, vì nó có thể đại diện, ví dụ, cho một kết nối định tuyến (routing adjacency). Để gộp các liên kết T1 vào một MLPPP bundle, hãy thêm câu lệnh bundle tại cấp cấu hình: [edit interfaces t1-fpc/pic/port unit logical-unit-number family mlppp]
[edit interfaces t1-fpc/pic/port unit logical-unit-number family mlppp] bundle lsq-fpc/pic/port.logical-unit-number; |
Để cấu hình các thuộc tính của giao diện LSQ, hãy thêm các câu lệnh sau tại cấp cấu hình: [edit interfaces lsq-fpc/pic/port unit logical-unit-number]
[edit interfaces lsq-fpc/pic/port unit logical-unit-number] drop-timeout milliseconds; encapsulation multilink-ppp; fragment-threshold bytes; link-layer-overhead percent; minimum-links number; mrru bytes; short-sequence; family inet { address address;} |
**Lưu ý: Router ACX Series không hỗ trợ các thuộc tính drop-timeout và link-layer-overhead.
Giao diện dịch vụ liên kết logic IQ (IQ link services interface) đại diện cho MLPPP bundle. Đối với MLPPP bundle, có 4 hàng đợi trên router M Series và 8 hàng đợi trên router M320 và T Series. Bộ lập lịch (scheduler) sẽ lấy gói tin từ các hàng đợi theo chính sách lập lịch. Thông thường, bạn sẽ thiết lập một hàng đợi có mức ưu tiên nghiêm ngặt, trong khi các hàng đợi còn lại sẽ được phục vụ theo tỷ lệ trọng số mà bạn cấu hình.
Với MLPPP, bạn cần gán một bản đồ bộ lập lịch (scheduler map) duy nhất cho giao diện dịch vụ liên kết IQ (lsq) và từng liên kết thành viên.
Các bộ lập lịch mặc định trên router M Series và T Series phân bổ băng thông và kích thước bộ đệm cho các hàng đợi 0, 1, 2 và 3 lần lượt là 95%, 0%, 0% và 5%. Tuy nhiên, cấu hình mặc định này không phù hợp khi bạn bật LFI hoặc xử lý lưu lượng đa lớp (multiclass traffic). Vì vậy, đối với MLPPP, bạn nên cấu hình một bộ lập lịch duy nhất với tỷ lệ truyền tải và kích thước bộ đệm khác 0% cho hàng đợi 0 đến 3, sau đó gán bộ lập lịch này cho giao diện dịch vụ liên kết IQ (lsq) và từng liên kết thành viên.
**Lưu ý: Đối với router M320 và T Series, các tỷ lệ truyền tải và kích thước bộ đệm mặc định cho hàng đợi 0 đến 7 lần lượt là 95%, 0%, 0%, 5%, 0%, 0%, 0%, và 0%.
Nếu bundle có nhiều hơn một liên kết, bạn phải thêm câu lệnh per-unit-scheduler tại cấp cấu hình: [edit interfaces lsq-fpc/pic/port]
[edit interfaces lsq-fpc/pic/port] per-unit-scheduler; |
Để cấu hình và áp dụng chính sách lập lịch (scheduling policy), hãy thêm các câu lệnh sau tại cấp cấu hình: [edit class-of-service]
[edit class-of-service] interfaces { t1-fpc/pic/port unit logical-unit-number { scheduler-map map-name;}} forwarding-classes { queue queue-number class-name;} scheduler-maps { map-name { forwarding-class class-name scheduler scheduler-name;}} schedulers { scheduler-name { buffer-size (percent percentage | remainder | temporal microseconds); priority priority-level; transmit-rate (rate | remainder) ;}} |
Đối với giao diện dịch vụ liên kết IQ (IQ link services interfaces), một hàng đợi ưu tiên cao tuyệt đối (strict-high-priority queue) có thể chiếm hết tài nguyên, khiến ba hàng đợi còn lại bị đói băng thông. Điều này xảy ra vì lưu lượng trong hàng đợi ưu tiên cao tuyệt đối sẽ được truyền trước tất cả các hàng đợi khác. Cách triển khai này khác với cơ chế Class of Service (CoS) tiêu chuẩn của Junos OS, trong đó hàng đợi ưu tiên cao tuyệt đối sẽ luân phiên (round-robin) với các hàng đợi ưu tiên cao khác (như được mô tả trong Junos OS Class of Service User Guide for Routing Devices).
Sau khi bộ lập lịch (scheduler) lấy một gói tin từ hàng đợi, một hành động cụ thể sẽ được thực hiện. Hành động này phụ thuộc vào loại hàng đợi mà gói tin đến, nếu gói tin đến từ hàng đợi được đóng gói theo cơ chế multilink (đã bị phân mảnh và được đánh số thứ tự), nó sẽ được xử lý theo quy tắc multilink. Nếu gói tin đến từ hàng đợi không đóng gói (nonencapsulated) (được phân bổ theo cơ chế băm mà không có phân mảnh), nó sẽ được xử lý như một gói tin độc lập. Mỗi hàng đợi có thể được cấu hình độc lập để hoạt động theo cơ chế multilink encapsulated hoặc nonencapsulated. Mặc định, tất cả lưu lượng trong các forwarding class đều sử dụng multilink encapsulation.
Để cấu hình xử lý phân mảnh gói tin trên một hàng đợi, hãy thêm câu lệnh fragmentation-maps tại cấp cấu hình: [edit class-of-service]
fragmentation-maps { map-name { forwarding-class class-name { multilink-class number;}}} |
Đối với các bó NxT1 sử dụng MLPPP, cơ chế cân bằng tải theo byte (byte-wise load balancing) được sử dụng trong hàng đợi đóng gói multilink sẽ hiệu quả hơn so với cân bằng tải theo luồng (flow-wise load balancing) được sử dụng trong hàng đợi không đóng gói. Khi các yếu tố khác là như nhau, chúng tôi khuyến nghị rằng bạn nên cấu hình tất cả các hàng đợi để sử dụng multilink encapsulation. Bạn có thể làm điều này bằng cách thêm câu lệnh fragment-threshold vào cấu hình. Ngoài ra, bạn sử dụng câu lệnh multilink-class để ánh xạ một forwarding class vào multiclass MLPPP. Để biết thêm chi tiết về bản đồ phân mảnh (fragmentation maps), hãy tham khảo hướng dẫn Cấu hình phân mảnh CoS theo forwarding class trên giao diện LSQ (Configuring CoS Fragmentation by Forwarding Class on LSQ Interfaces).
Khi một gói tin được rút ra từ hàng đợi đóng gói multilink, phần mềm sẽ thêm tiêu đề MLPPP vào gói tin. Tiêu đề này chứa trường số thứ tự (sequence number), được điền bằng số thứ tự tiếp theo từ bộ đếm. Sau đó, phần mềm đặt gói tin lên một trong N liên kết T1 khác nhau. Việc chọn liên kết được thực hiện từng gói một nhằm cân bằng tải giữa các liên kết T1.
Nếu gói tin vượt quá MTU nhỏ nhất trong bó liên kết, hoặc nếu một hàng đợi có ngưỡng phân mảnh (fragment threshold) được cấu hình tại cấp: [edit class-of-service fragmentation-maps map-name forwarding-class class-name], phần mềm sẽ tách gói tin thành hai hoặc nhiều mảnh, mỗi mảnh được gán số thứ tự multilink liên tiếp. Liên kết đầu ra của từng mảnh được chọn độc lập với các mảnh còn lại.
Nếu bạn không thêm câu lệnh fragment-threshold vào bản đồ phân mảnh (fragmentation map), thì ngưỡng phân mảnh mặc định sẽ là giá trị MTU nhỏ nhất của tất cả các liên kết trong bó. Ngay cả khi bạn không đặt kích thước phân mảnh tối đa, bạn vẫn có thể cấu hình kích thước MRRU (Maximum Received Reconstructed Unit) bằng cách sử dụng câu lệnh mrru tại cấp: [edit interfaces lsq-fpc/pic/port unit logical-unit-number]. MRRU tương tự MTU, nhưng được áp dụng riêng cho giao diện link services. Mặc định, kích thước MRRU là 1500 byte và có thể được cấu hình trong khoảng 1500 đến 4500 byte. Để biết thêm chi tiết, hãy tham khảo hướng dẫn Configuring MRRU on Multilink and Link Services Logical Interfaces.
Khi một gói tin được rút ra từ hàng đợi không đóng gói (nonencapsulated queue), nó sẽ được truyền đi với một tiêu đề PPP thông thường (plain PPP header), vì không có tiêu đề MLPPP, không có số thứ tự để sắp xếp lại gói tin. Để tránh mất trật tự gói tin, phần mềm chọn một trong N liên kết T1 và đặt gói tin lên liên kết đó. Liên kết được chọn bằng hàm băm (hashing) dựa trên các giá trị trong tiêu đề gói tin: Đối với IP, phần mềm băm theo địa chỉ nguồn, địa chỉ đích và giao thức IP. Đối với MPLS, phần mềm băm theo tối đa năm nhãn MPLS, hoặc bốn nhãn MPLS và tiêu đề IP.
Đối với UDP/TCP, phần mềm băm theo cổng nguồn, cổng đích, địa chỉ nguồn và địa chỉ đích. Việc này đảm bảo rằng tất cả các gói tin thuộc cùng một luồng TCP/UDP luôn đi qua cùng một liên kết T1, tránh bị mất trật tự. Tuy nhiên, điều này không đảm bảo rằng tải sẽ được cân bằng đều trên tất cả các liên kết. Nếu có nhiều luồng truyền tải, tải thường sẽ được cân bằng một cách tự nhiên.
Các N liên kết T1 này kết nối đến một router khác, có thể là router của Juniper Networks hoặc của hãng khác. Router ở đầu xa (far-end router) sẽ thu thập các gói tin từ tất cả các liên kết T1. Nếu gói tin có tiêu đề MLPPP, router sẽ dùng trường số thứ tự để đặt lại gói tin theo đúng thứ tự ban đầu. Nếu gói tin chỉ có tiêu đề PPP thông thường, phần mềm chấp nhận gói tin theo thứ tự nhận được, không cố gắng sắp xếp lại hoặc lắp ráp lại gói tin.
[edit interfaces] lsq-1/1/0 { per-unit-scheduler; unit 0 { encapsulation multilink-ppp; mrru 2000; multilink-max-classes 4; family inet { address 20.1.1.1/24;} family mpls;}} ct1-1/1/4 { enable; no-partition interface-type t1;} t1-1/1/4 { encapsulation ppp; unit 0 { family mlppp { bundle lsq-1/1/0.0;}}} ct1-1/1/5 { enable; no-partition interface-type t1;} t1-1/1/5 { encapsulation ppp; unit 0 { family mlppp { bundle lsq-1/1/0.0;}}}} class-of-service { classifiers { inet-precedence myIPv4 { forwarding-class best-effort { loss-priority low code-points 000;} forwarding-class expedited-forwarding { loss-priority low code-points 001;} forwarding-class assured-forwarding { loss-priority low code-points 011;} forwarding-class network-control { loss-priority low code-points 111;}}} drop-profiles { dp1 { fill-level 50 drop-probability 0; fill-level 100 drop-probability 100;} dp2 { fill-level 50 drop-probability 0; fill-level 100 drop-probability 100;}} interfaces { lsq-1/1/0 { unit 0 { scheduler-map sm; fragmentation-map frag; rewrite-rules { inet-precedence myRRIPv4;}}}} rewrite-rules { inet-precedence myRRIPv4 { forwarding-class best-effort { loss-priority low code-point 111;} forwarding-class expedited-forwarding { loss-priority low code-point 011;} forwarding-class assured-forwarding { loss-priority low code-point 001;} forwarding-class network-control { loss-priority low code-point 000;}}} scheduler-maps { sm { forwarding-class best-effort scheduler new; forwarding-class network-control scheduler new_nc; forwarding-class assured-forwarding scheduler new_af; forwarding-class expedited-forwarding scheduler new_ef;}} fragmentation-maps { frag { forwarding-class { best-effort { multilink-class 3;} network-control { multilink-class 0;} assured-forwarding { multilink-class 2;} expedited-forwarding { multilink-class 1;}}}} schedulers { new { transmit-rate 32k; shaping-rate 3m; priority low; drop-profile-map loss-priority low protocol any drop-profile dp1; drop-profile-map loss-priority high protocol any drop-profile dp2;} new_nc { transmit-rate 32k; shaping-rate 3m; priority strict-high;} new_af { transmit-rate 32k; shaping-rate 3m; priority medium-low;} new_ef { transmit-rate 32k; shaping-rate 3m; priority medium-high;}}} |
Multiclass MLPPP cho phép nhiều lớp lưu lượng nhạy cảm với độ trễ được truyền qua một bó multilink duy nhất cùng với lưu lượng dữ liệu lớn. Điều này giúp đảm bảo các lớp lưu lượng khác nhau có các cam kết độ trễ riêng biệt. Với Multiclass MLPPP, bạn có thể ánh xạ mỗi lớp chuyển tiếp (forwarding class) vào một lớp multilink riêng biệt, giúp duy trì thứ tự ưu tiên và đảm bảo độ trễ. Multiclass MLPPP được định nghĩa trong RFC 2686 - The Multi-Class Extension to Multi-Link PPP. Bạn chỉ có thể cấu hình Multiclass MLPPP trên các giao diện link services intelligent queuing (LSQ) với MLPPP encapsulation.
Multiclass MLPPP giúp đơn giản hóa các vấn đề về thứ tự gói tin khi sử dụng nhiều liên kết. Nếu không có Multiclass MLPPP, tất cả lưu lượng thoại thuộc về một luồng sẽ được ánh xạ đến một liên kết duy nhất để tránh vấn đề thứ tự gói tin. Với Multiclass MLPPP, bạn có thể gán lưu lượng thoại vào một lớp ưu tiên cao và sử dụng nhiều liên kết cùng lúc. Để biết thêm thông tin về hỗ trợ dịch vụ thoại trên LSQ, hãy xem phần Configuring Services Interfaces for Voice Services.
Nếu bạn không cấu hình Multiclass MLPPP, các đoạn dữ liệu (fragments) thuộc các lớp khác nhau sẽ không thể được đan xen. Tất cả các đoạn của một gói phải được gửi hết trước khi gói khác được gửi đi. Tuy nhiên, các gói không bị chia nhỏ có thể được chèn giữa các đoạn của một gói khác để giảm độ trễ. Kết quả là, lưu lượng nhạy cảm với độ trễ sẽ được đóng gói như lưu lượng PPP thông thường, trong khi lưu lượng lớn sẽ được đóng gói dưới dạng multilink. Mô hình này hoạt động hiệu quả khi chỉ có một lớp lưu lượng nhạy cảm với độ trễ, và không có lớp lưu lượng ưu tiên cao nào vượt lên trên.
Cách tiếp cận link fragmentation interleaving (LFI) trên Link Services PIC chỉ hỗ trợ hai mức ưu tiên, không đủ để xử lý bốn đến tám lớp chuyển tiếp trên các router dòng M Series và T Series. Để biết thêm chi tiết về hỗ trợ LFI trên Link Services PIC, hãy xem phần Configuring Delay-Sensitive Packet Interleaving on Link Services Logical Interfaces.
**Lưu ý: Router dòng ACX Series không hỗ trợ LFI.
Bạn không cần phải cấu hình cả LFI và Multiclass MLPPP trên cùng một bó liên kết, vì Multiclass MLPPP đã bao gồm toàn bộ chức năng của LFI. Khi cấu hình Multiclass MLPPP, LFI sẽ tự động được bật.
**Lưu ý: Phiên bản Junos OS của Multiclass MLPPP không hỗ trợ nén byte tiêu đề chung (prefix elision), như được mô tả trong RFC 2686.
Để cấu hình Multiclass MLPPP trên giao diện LSQ, bạn cần xác định số lớp multilink sẽ được đàm phán khi một liên kết tham gia bó và xác định ánh xạ giữa lớp chuyển tiếp và lớp Multiclass MLPPP.
- Để xác định số lớp multilink sẽ được đàm phán khi một liên kết tham gia bó, hãy sử dụng câu lệnh: multilink-max-classes.
multilink-max-classes number; |
Bạn có thể bao gồm câu lệnh này tại các cấp cấu trúc sau:
[edit interfaces interface-name unit logical-unit-number]
[edit logical-systems logical-system-name interfaces interface-name unit logical-unit-number]
Số lượng lớp multilink có thể nằm trong khoảng từ 1 đến 8. Tuy nhiên, số lớp multilink cho mỗi lớp chuyển tiếp không được vượt quá số lớp multilink đã đàm phán.
**Lưu ý: Trên router ACX Series, số lớp multilink có thể nằm trong khoảng 1 đến 4.
- Để xác định ánh xạ giữa lớp chuyển tiếp (forwarding class) và lớp Multiclass MLPPP, hãy sử dụng câu lệnh multilink-class
tại cấp cấu trúc sau: [edit class-of-service fragmentation-maps map-name forwarding-class class-name].
[edit class-of-service fragmentation-maps map-name forwarding-class class-name] multilink-class number; |
Số thứ tự của lớp multilink có thể nằm trong khoảng 0 đến 7. Tuy nhiên, các câu lệnh multilink-class và no-fragmentation không thể sử dụng đồng thời.
**Lưu ý: Trên router ACX Series, số thứ tự của lớp multilink có thể nằm trong khoảng 0 đến 3. Router ACX Series không hỗ trợ câu lệnh no-fragmentation trong bản đồ phân mảnh (fragmentation map).
- Để xem số lớp multilink đã đàm phán, sử dụng lệnh: show interfaces lsq-fpc/pic/port.logical-unit-number detail
Một số lưu ý đối với giao diện link services IQ (lsq) trên router ACX Series:
Chúc các bạn thực hiện thành công. Hi vọng bài viết này sẽ giúp ích cho các bạn trong công việc. Nếu bạn có vấn đề gì thắc mắc đừng ngần ngại liên hệ với chúng tôi theo thông tin dưới đây để được hỗ trợ thêm.
Hẹn gặp lại các bạn trong các bài viết tiếp theo !
CÔNG TY CỔ PHẦN DỊCH VỤ CÔNG NGHỆ DATECH
• Địa chỉ: Số 23E4 KĐT Cầu Diễn, Tổ 7, Phú Diễn, Bắc Từ Liêm, Hà Nội
• Điện thoại: 02432012368
• Hotline: 098 115 6699
• Email: info@datech.vn
• Website: https://datech.vn