PDA

View Full Version : Nén trong giao thức PPP



dangquangminh
24-08-2006, 03:09 PM
Nén trong giao thức PPP

PPP có thể bắt tay để dùng giao thức nén mức 2, nén TCP header và RTP header. Mỗi kiểu kết nối có các điểm thuận lợi và bất lợi, trong đó rõ ràng nhất sẽ là ảnh hưởng đến những lưu lượng nào nén và không nén.

Nếu so sánh nén tải và nén phần header, nén tải sẽ làm việc tốt nhất với các gói tin có chiều dài dài hơn, và nén header với các gói tin ngắn hơn. Nén header có thuận lợi là dự đoán trước được các header, đạt được tỉ lệ nén cho các trường theo tỉ lệ 10:1 đến 20:1. Tuy nhiên, khi dữ liệu bên trong một gói tin là lớn hơn nhiều lần header, việc tiết kiệm vài bytes với phần nén header sẽ chỉ có thể giảm một phần nhỏ trong phần băng thông yêu cầu, lúc này thì nén tải sẽ tốt hơn.

Nén tải mức 2 của giao thức PPP

Phần mềm Cisco IOS cung cấp ba tùy chọn nén tải cho PPP, có tên là Lempel-Ziv Stacker (LZS), Microsoft Point-to-Point Compression (MPPC), và Predictor.

Hai thuật toán nén Stacker và MPPC đều dùng cùng thuật toán nén Lempel-Ziv bên dưới, trong đó Predictor dùng thuật toán gọi là Predictor. LZ dùng nhiều CPU và ít bộ nhớ nếu so sánh với Predictor và nó thường tạo ra hiệu suất nén lớn hơn.

Bảng dưới đây tóm tắt một vài điểm chủ chốt liên quan đến việc nén tải. Lưu ý rằng trong ba cơ chế nén, chỉ có LZS là hỗ trợ trên FR và HDLC. Cũng lưu ý rằng đối với phần nén tải khi dùng dịch vụ liên mạng giữa ATM và Frame relay, MLP phải được dùng. Kết quả là, tất cả các kiểu nén tải được hỗ trợ bởi PPP cũng được hỗ trợ cho liên mạng giữa ATM-Frame Relay.

dangquangminh
25-08-2006, 08:21 AM
Nén Header

PPP hỗ trợ hai kiểu nén của IP header: nén TCP header và RTP header. Các dữ liệu voice và video dùng giao thức RTP. Các dòng lưu lượng voice, đặc biệt là các dòng có mức mã hóa tốc độ bit thấp chỉ có một phần rất nhỏ dữ liệu. Ví dụ, nếu dùng G.729, các gói tin thông thường là 60 bytes trong đó 40 bytes là IP/UDP/RTP. Nén RTP header sẽ nén các header của IP/UDP/RTP thành 2 bytes hay 4 bytes.

Nếu dùng G.729, RTP sẽ giảm băng thông yêu cầu xuống còn 50 phần trăm. Nén TCP header sẽ nén cả IP và TCP header, từ 40 bytes xuống còn 3 bytes hay 5 bytes. Đối với các gói tin TCP có phần tải là nhỏ, hiệu suất có thể là đáng kể. Cách tính hiệu suất thì cũng tương tự như trong đoạn trước.

Tuy nhiên, nén TCP header có thể không hiệu quả khi gói tin là lớn, ví dụ cho gói tin có kích thước 1500 byte. Trong trường hợp này, nén 40 bytes header thành 3 bytes làm giảm kích thước gói tin chỉ khoảng 2 phần trăm. Nén header có thể được cấu hình dùng một cặp lệnh như trước đây hoặc có thể dùng các lệnh của MQC.

Các lệnh kiểu cũ là ip tcp header-compression [passive] và ip rtp header-compression [passive], được dùng trong các cổng serial (chạy PPP) hoặc cồng multilink (MLP) ở mỗi đầu của đường truyền. Giao thức PPP phản ứng với lệnh này bằng cách dùng giao thức IPCP để bắt tay kiểu nén. Nếu bạn dùng từ khóa passive, router sẽ chờ cho router kia khởi sự quá trình IPCP. Với kiểu cấu hình này, tất cả các dòng TCP hoặc RTP truyền trên đường truyền sẽ bị nén.

Ví dụ dưới đây mô tả các phương thức khác dùng MQC để tạo ra cách nén header cho từng lớp lưu lượng. Trong ví dụ này, phần nén TCP được áp dụng chỉ đến những lớp có lưu lượng telnet. Kết quả là, nén TCP header được áp dụng đến các gói tin được lợi nhiều nhất khi nén TCP. Điều này giúp cho CPU và bộ nhớ không bị lãng phí để nén các gói tin lớn.

Hãy nhớ rằng telnet chỉ gửi một chuỗi phím trong từng phân đoạn TCP, trừ phi lệnh service nagle được cấu hình, làm cho telnet trở nên không hiệu quả. RTP được bật trong lớp lưu lượng của voice, TCP header trong lớp dữ liệu quan trọng và không có nén trong lớp mặc định.

policy-map cb-compression
class voice
bandwidth 8
compress header ip rtp
class critical
bandwidth 110
compress header ip tcp
!
interface Multilink1
bandwidth 256
service-policy output cb-compression