Tài liệu Đề tài Kết hợp DiffServ và MPLS trong việc đảm bảo chất lượng dịch vụ: Chương 1
Chất lượng dịch vụ trong mạng IP
{
Giới thiệu chương
Ngày nay, Internet đã trở thành phần không thể thiếu trong cuộc sống của chúng ta. Internet đã mở ra một chân trời mới đối với nhân loại. Khi mạng Internet phát triển và mở rộng, lưu lượng Internet bùng nổ thì việc đáp ứng nhu cầu cho người sử dụng về chất lượng dịch vụ ngày càng cao, đòi hỏi các nhà cung cấp dịch vụ ISP luôn đứng trước thử thách làm sao luôn làm hài lòng các “thượng đế” của mình. Do đó việc cung cấp chất lượng dịch vụ QoS là cần thiết cho phép đảm bảo chất lượng của các ứng dụng thời gian thực như VoIP, Video Streaming và hạn chế nghẽn mạng.
Trong chương này sẽ trình bày khái quát các khái niệm cơ bản trong chất lượng dịch vụ QoS, những thông số đặc trưng cho chất lượng dịch vụ, sự cần thiết của lĩnh vực này trong mạng IP. Đồng thời sẽ đi vào tổng quan về kiến trúc của QoS với các dịch vụ tích hợp (Intserv) và phân tích rõ các khái niệm, hoạt động cũng như ưu và nhược điểm của dịch vụ phân biệt (Di...
25 trang |
Chia sẻ: haohao | Lượt xem: 1544 | Lượt tải: 1
Bạn đang xem trước 20 trang mẫu tài liệu Đề tài Kết hợp DiffServ và MPLS trong việc đảm bảo chất lượng dịch vụ, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Chương 1
Chất lượng dịch vụ trong mạng IP
{
Giới thiệu chương
Ngày nay, Internet đã trở thành phần không thể thiếu trong cuộc sống của chúng ta. Internet đã mở ra một chân trời mới đối với nhân loại. Khi mạng Internet phát triển và mở rộng, lưu lượng Internet bùng nổ thì việc đáp ứng nhu cầu cho người sử dụng về chất lượng dịch vụ ngày càng cao, đòi hỏi các nhà cung cấp dịch vụ ISP luôn đứng trước thử thách làm sao luôn làm hài lòng các “thượng đế” của mình. Do đó việc cung cấp chất lượng dịch vụ QoS là cần thiết cho phép đảm bảo chất lượng của các ứng dụng thời gian thực như VoIP, Video Streaming và hạn chế nghẽn mạng.
Trong chương này sẽ trình bày khái quát các khái niệm cơ bản trong chất lượng dịch vụ QoS, những thông số đặc trưng cho chất lượng dịch vụ, sự cần thiết của lĩnh vực này trong mạng IP. Đồng thời sẽ đi vào tổng quan về kiến trúc của QoS với các dịch vụ tích hợp (Intserv) và phân tích rõ các khái niệm, hoạt động cũng như ưu và nhược điểm của dịch vụ phân biệt (DiffServ) trong mạng IP.
Ưu và nhược điểm của mạng IP
Ưu điểm
Trong định tuyến các router IP sẽ dùng thuật tóan SPF (Shortest Path First- vào băng thông và hop count của đường đi) để tính toán đường đi ngắn nhất cho lưu lượng, giảm độ trễ của lưu lượng khi mạng hoạt động bình thường
Nhược điểm
Do cơ chế định tuyến đường ngắn nhất (shortest path routing), khi lưu lượng trên mạng quá tải, các luồng lưu lượng vẫn được tính toán đi trên đường ngắn nhất. Do đó tắt nghẽn là không tránh khỏi trong khi một số đường vẫn không được sử dụng. việc sử dụng băng thông trong mạng không hiệu quả
Để có thể chuyển tiếp gói tin đi trên mạng, các router phải kiểm tra địa chỉ đích và so sánh trong bảng định tuyến và xác định chặn tiếp theo của lưu lượng.họat động này làm tăng thời gian trễ của gói tin
IP chỉ cung cấp dịch vụ Best effort, có nghĩa là khi hàng đợi cho chặn tiếp theo quá dài, gói tin sẽ bị trễ hay khi hàng đợi quá đầy, IP router cho phép hủy gói. Việc tăng thời gian trễ và mất dữ liệu là không thể dự đoán được.
Với nhược điểm này yêu cầu cung cấp QoS trong mạng là vấn đề cần thiết.
Chất lượng dịch vụ QoS
Định nghĩa QoS
Chất lượng dịch vụ là khả năng của một yếu tố mạng (ví dụ như một ứng dụng, máy chủ hay router) để có một vài mức đảm bảo cho lưu lượng và các yêu cầu dịch vụ cần được thỏa mãn. Nó ngày càng trở nên cần thiết trong việc quản lý mạng và sử dụng tài nguyên mạng hiệu quả để đáp ứng nhu cầu dịch vụ Internet ngày càng tăng nhanh.
1.3.2 Tầm quan trọng
Khi lưu lượng được chuyển tiếp với tốc độ nhanh nhưng không có bất kỳ sự đảm bảo nào về thời gian xử lý cũng như độ tin cậy của việc vận chuyển lưu lượng đến đích, kiểu dịch vụ này đòi hỏi các giao thức ở lớp cao hơn, ví dụ như TCP để cung cấp tính tin cậy và điều khiển lỗi. Bảng trạng thái dưới đây thể hiện một số vấn đề thường gặp đối với mạng không hỗ trợ QoS.
Bảng 1-1 Các vấn đề khi mạng không hỗ trợ QoS
Dạng lưu lượng
Vấn đề khi mạng không hỗ trợ Qos
Thoại (voice)
Tiếng nói truyền trên mạng thường khó hiểu
Bị ngắt quảng, âm thanh không trong suốt
Trễ truyền làm các cuộc đối thoại khó khăn hơn, khi đầu dây bên này đã kết thúc nhưng đầu bên kia vẫn không hay biết
Hoặc các cuộc gọi sẽ không kết nối được
Video
Hình ảnh không ổn định
Âm thanh không đồng bộ với hình ảnh
Các hình động luôn bị “đóng băng”
Dữ liệu (data)
Tốc độ truyền dữ liệu chậm
Mất dữ liệu khi đang truyền
Với các xu hướng phát triển ồ ạt các dịch vụ thương mại điện tử (e-commerce), vấn đề đảm bảo chất lượng dịch vụ cho các ứng dụng trên mạng Internet trở nên cần thiết hơn bao giờ hết.
Nhìn chung có 2 nhân tố cơ bản dẫn đến yêu cầu về chất lượng dịch vụ.
Thứ nhất, với các công ty kinh doanh trên web, họ cần chất lượng dịch vụ để cải thiện và nâng cao chất lượng vận chuyển các thông tin và dịch vụ của họ đến khách hàng như một yếu tố để thu hút ngày càng nhiều khách hàng.
Thứ 2, các nhà cung cấp dịch vụ Internet IPSs cần thêm nhiều các dịch vụ giá trị gia tăng trên mạng của họ để tăng lợi nhuận.
Việc các nhà cung cấp không ngừng phát triển các dịch vụ, số lượng khách hàng ngày càng nhiều. Theo truyền thống nếu một mạng làm việc không có QoS thì giải pháp để giải quyết các tắc nghẽn trong mạng đòi hỏi một lượng băng thông lớn. Điều này là không khả thi đối với các nhà cung cấp dịch vụ (IPS) và các nhà kinh doanh mạng khác về giá thành cũng như tính hiệu quả của nó. Vì thế yêu cầu phải cung cấp chất lượng dịch vụ QoS là rất cần thiết.
Các đặc tính QoS
Mặc dù chất lượng dịch vụ QoS chưa phải là giải pháp hoàn toàn nhưng nó ra đời nhằm giải quyết các vấn đề về lưu lượng trên mạng. Chất lượng dịch vụ thường được đánh giá bằng các thông số sau:
Băng thông
Độ trễ
Độ rung pha
Khả năng mất gói
Băng thông (bandwidth)
Băng thông là tỉ lệ bit trên mỗi giây để phân phối dữ liệu đi trong mạng. Trong một số trường hợp, băng thông còn được hiểu là tốc độ đường kết nối vật lý hay là xung đồng hồ (clock rate) của mỗi interface. Ví dụ như các kết nối điểm- điểm trong mạng WAN thì băng thông 64kbps chính là tốc độ của đường kết nối vật lý. Nhưng đối với các kết nối trong mạng Frame relay hay ATM thì băng thông là tốc độ cam kết (CIR) giữa nhà cung cấp dịch vụ với khách hàng, băng thông này có thể lớn hơn tốc độ cam kết khi lưu lượng trong mạng cho phép.
Độ trễ (delay)
Các mạng hiện nay thường tồn tại các loại trễ sau đây:
Trễ môi trường truyền (propagation): là thời gian để chuyển gói đi, thời gian này thường phụ thuộc vào băng thông của giao tiếp
Trễ xử lý và xếp hàng: đây là hai loại trễ tồn tại trong mỗi router
Trễ xử lý: là thời gian để một router lấy gói tin từ interface vào và đặt nó vào hàng đợi của interface. Độ trễ sẽ phụ thuộc vào các yếu tố sau:
+ Tốc độ xử lý của CPU.
+ Khả năng xử dụng của CPU.
+ Mode chuyển mạch IP được sử dụng.
+ Cấu trúc của router.
+ Các đặc tính cấu hình trên các giao tiếp vào/ra.
Trễ xếp hàng: khoảng thời gian gói nằm trên hàng đợi của router. Thời gian này phụ thuộc vào số lượng cũng như kích thước của các gói đang có trên hàng đợi và trên băng thông của interface. Đồng thời thông số này cũng phụ thuộc vào cơ chế xếp hàng gói tin.
Độ trượt (Jitter)
Khái niệm độ trượt và độ trễ thường liên quan đến nhau. Một gói tin trong mạng với các thành phần độ trễ thay đổi thì luôn tồn tại độ trượt. Vậy khi độ trượt xảy ra thì có làm giảm đến chất lượng dịch vụ hay không? Đối với các ứng dụng dữ liệu thì độ trượt không làm giảm chất lượng là bao nhưng một số dạng lưu lượng khác như thoại được số hóa đòi hỏi các gói tin phải được truyền nhất quán tức là khoảng cách giữa các gói tin là đồng bộ. Dạng lưu lượng này còn gọi là lưu lượng đẳng thời (isochronous traffic). Dưới đây là một ví dụ để thấy rõ hơn về độ trượt.
Hình 1.1 Ví dụ về độ trượt
Xét 3 gói tin thoại đi từ máy 201 đến 301, thời gian truyền của mỗi gói tin là 20ms. Nhưng khi đi đến máy 301 thì gói tin thứ 3 thời gian truyền đã tăng lên 30ms, vậy 10ms chính là độ trượt của gói.
Mất gói (loss)
Mất gói là một thông số quan trọng trong chất lượng dịch vụ, khi tỉ lệ mất gói xảy ra trong mạng quá lớn thì cần phải có biện pháp để khắc phục. Ví dụ như trường sửa lỗi FCS (Frame Check Sequence) sẽ kiểm tra các khung bị lỗi khi truyền trong mạng. Các công cụ của QoS có thể làm giảm mất gói tin khi các hàng đợi quá đầy.
Ở các mạng hiện nay, số các gói tin bị mất do tỉ lệ lỗi bit là rất ít (tỉ lệ bit lỗi BER 10-9 là có thể chấp nhận) [2], đa số các gói tin bị mất là do bộ đệm và các hàng đợi quá tải. Do đó việc khắc phục tình trạng mất gói trong mạng là cần thiết.
IP
Forwarding
IP
IP
Tail-drop
IP
IP
Hình 1.2 Mất gói trong mạng
1.3.4 Các giải pháp tăng QoS
1.3.4.1 Tăng băng thông
Hiện nay, một vài giải pháp để giải quyết vấn đề thiếu băng thông đã được đề ra:
Tăng dung lượng liên kết nhằm tạo ra một lượng băng thông thừa để đảm bảo cho những người sử dụng hoặc các ứng dụng có yêu cầu băng thông lớn. Vấn đề này xem có vẻ đơn giản, tuy nhiên sẽ tốn rất nhiều thời gian cũng như tiền của để thực thi đề án này do những hạn chế trong thiết bị sẽ gây khó khăn trong công việc nâng cao khả năng băng thông lên quá lớn.
Phân loại những lưu lượng thông tin thành các lớp và trao quyền ưu tiên chiếm giữ băng thông tùy theo tầm quan trọng của từng loại hình thông tin.
Nén tải nhằm tăng dung lượng băng thông liên kết. Tuy nhiên, việc nén tải sẽ làm tăng độ trễ trong việc truyền dẫn do phải cần khoảng thời gian dài để thực hiện những thuật toán nhằm giải quyết việc nén dữ liệu.
Một cơ chế nén hiệu quả hơn đó là nén phần header. Cơ chế nén này đặc biệt hiệu quả đối với những mạng có gói chứa dữ liệu nhỏ ( tỉ số tải trên header là nhỏ).
Giảm trễ
Để giảm trễ trong mạng, dưới đây là một số giải pháp:
Tăng dung lượng liên kết, với một dung lượng băng thông vừa đủ trên liên kết sẽ giúp rút ngắn chiều dài hàng đợi và như vậy gói sẽ không phải đợi lâu để được truyền đi. Mặt khác, thời gian phát định kỳ sẽ được giảm xuống. Tuy nhiên giải pháp sẽ không được khả thi do cùng việc tăng dung lượng thì giá thành cũng sẽ tăng theo.
Một giải pháp có tính hiệu quả hơn đó là tạo ra một cơ cấu hàng đợi có hỗ trợ quyền ưu tiên đối với những gói có yêu cầu độ trễ nhỏ bằng cách đưa các gói tin này lên hàng đầu.
Nén tải sẽ giảm được kích thước của gói và từ đó sẽ tăng được băng thông liên kết. Thêm vào đó, kích thước gói sẽ nhỏ hơn sau khi nén tải và gói sẽ yêu cầu thời gian truyền ngắn hơn. Tuy nhiên, để thực hiện nén tải cần được thực hiện thông qua các thuật toán phức tạp. Giải pháp này thường không được sử dụng đối với những gói truyền trong môi trường có độ trễ nhỏ.
Việc nén header không là công việc tập trung xử lý chính mà nó sẽ được kết hợp với các kỹ thuật khác để giảm độ trễ. Phương thức này đặc biệt phù hợp với gói là voice.
Bằng cách giảm độ trễ truyền dẫn thì độ trượt cũng được giảm đáng kể.
Ngăn mất gói
Mất gói thông thường xảy ra khi router không còn thời gian bộ đệm phục vụ cho việc xếp hàng đợi. Router sẽ thực hiện loại bỏ gói trong những trường hợp sau:
CPU bị nghẽn và không thể xử lý gói.
Router không còn không gian bộ đệm
CPU bị nghẽn và không thể ấn định một không gian bộ đệm nào cho các gói mới
Lỗi khung (ví dụ CRC).
Sau đây là một số giải pháp giúp tăng ngăn chặn mất gói đối với các ứng dụng:
Tăng dung lượng liên kết để tránh nghẽn.
Đảm bảo đủ lượng băng thông và tăng không gian bộ đệm nhằm đáp ứng được khi xảy ra bùng nổ thông tin.
Tránh nghẽn bằng cách loại bỏ gói trước khi nghẽn xảy ra. WRED sẽ được sử dụng để thực hiện loại bỏ gói trước khi xảy ra nghẽn.
IP
Data
FIFO queuing
Custom Queuing (CQ)
Modified Deficit Round Robin (MDRR)
Class-Based Weighted Fair Queuing (CBWFQ)
Weighted Random Early Detection (WRED)
{{{
Hình 1.3 Tránh nghẽn ngăn mất gói
Các kiểu dịch vụ QoS trong mạng
Định nghĩa kiến trúc QoS ra đời vào giữa năm 1990, và cho đến nay nhóm nghiên cứu IETF (Internet Engineering Task Force) đã định nghĩa hai dạng kiến trúc QoS cho mạng IP đó là các dịch vụ tích hợp (IntServ) và các dịch vụ phân biệt (DiffServ).
Dịch vụ tích hợp Intserv
Các dịch vụ tích hợp (Intserv) được nhóm nghiên cứu IETF đưa ra nhằm cung cấp các dịch vụ end-to-end giữa các máy chủ cho các ứng dụng point-to-point và point-to multipoint . Nó định nghĩa quá trình xử lý báo hiệu cho các luồng riêng biệt và yêu cầu phải dự trữ một lượng băng thông và độ trễ nhất định. Để đảm bảo cho mỗi dòng, IntServ mô tả hai thành phần: dự trữ tài nguyên và điều khiển lưu lượng. Dự trữ tài nguyên cho phép luồng dữ liệu riêng biệt yêu cầu một lượng băng thông và độ trễ thích hợp. Nếu việc báo hiệu thành công, thì các thành phần mạng sẽ phải dự trữ lượng băng thông cần thiết. Còn điều khiển lưu lượng Intserv sẽ quyết định yêu cầu dự trữ nào sẽ bị từ chối. Nếu tất cả các yêu cầu được chấp nhận thì sẽ có quá nhiều luồng lưu lượng đi trong mạng và kết quả sẽ không có luồng nào được nhận dịch vụ yêu cầu cả.
Hình 1.4 Kiến trúc dịch vụ Intserv
Giao thức dự trữ tài nguyên RSVP (Resource Reservation Protocol)
RSVP là một giao thức cho việc thiết lập các dự trữ tài nguyên. Giao thức RSVP được các máy chủ sử dụng để yêu cầu các chất lượng dịch vụ đặc biệt từ mạng cho các ứng dụng riêng biệt như các dòng dữ liệu hay các luồng thông tin. Các router cũng có thể sử dụng giao thức này để thiết lập, duy trì và phân phối các yêu cầu QoS cho các node hoạt động dọc theo đường dẫn. Kết quả là các tài nguyên sẽ được dự trữ cho mỗi node theo đường dữ liệu.
RSVP phải mang các thông tin sau:
Thông tin phân loại, nhờ nó mà các luồng lưu lượng với các yêu cầu QoS cụ thể có thể được nhận biết trong mạng. Thông tin này bao gồm địa chỉ IP phía gửi và phía nhận, số cổng UPD.
Chỉ tiêu kỹ thuật của luồng lưu lượng và các yêu cầu QoS
Rõ ràng là RSVP phải mang những thông tin này từ các máy chủ tới tất cả các tổng đài chuyển mạch và các router dọc theo đường truyền từ bộ gửi đến bộ nhận, vì vậy tất cả các thành phần mạng này phải tham gia vào việc đảm bảo các yêu cầu QoS của ứng dụng.
Cách thức hoạt động của RSVP
Cách thức hoạt động của RSVP dựa trên việc giành dự trữ tài nguyên trước khi truyền dữ liệu. Có hai loại bản tin RSVP chính được sử dụng để báo hiệu. Bên gởi sẽ gởi bản tin đường dẫn PATH và các thông tin phân loại đến bên nhận để xác định các thuộc tính của lưu lượng sẽ gởi. Mỗi node trung gian sẽ chuyển tiếp bộ bản tin PATH tới các node kế tiếp. Khi nhận được bản tin PATH, bên nhận được sẽ đáp ứng lại bằng một bản tin RESV. Bản tin RESV xác nhận phiên có chứa thông tin về số cổng dành riêng và mức QoS mà bên nhận yêu cầu. Các node trung gian trên đường đi có thể chấp nhận hay từ chối các yêu cầu trong bản tin RESV. Nếu yêu cầu bị từ chối, router sẽ gởi bản tin Error cho bên nhận và quá trình báo hiệu sẽ kết thúc. Nếu yêu cầu được chấp nhận tài nguyên sẽ được dự trữ cho luồng và các thông tin trạng thái liên quan của luồng sẽ được cài đặt vào router.
Một đặc điểm quan trọng của RSVP là việc dự trữ tài nguyên được thực hiện bởi “trạng thái mềm”. Có nghĩa là trạng thái dự trữ tài nguyên có liên quan tới một bộ định thời, và khi bộ định thời hết hạn, việc dự trữ trước tài nguyên được loại bỏ. Nếu bên nhận muốn lưu lại trạng thái dự trữ tài nguyên nào, nó phải đều đặn gửi các bản tin dự trữ tài nguyên. Bên gởi cũng phải thường xuyên gửi các bản tin này. RSVP được thiết kế dành cho kiến trúc Intserv nhưng vai trò của nó cũng được mở rộng cho giao thức báo hiệu trong MPLS.
Hình 1.5 Giao thức RSVP
Dịch vụ phân biệt Diffserv
Việc thực hiện kiến trúc IntServ gặp nhiều khó khăn, nó gây ra mức giá yêu cầu cao cho nguồn xử lý (processing power) và báo hiệu. Đối với mạng đường trục lớn, nhiều phiên kết nối, RSVP truyền thống yêu cầu các bộ định thời cho mỗi phiên và sự phân loại trong mỗi router làm cho bộ xử lý và bộ nhớ trở nên khó đáp ứng. Do đó chỉ áp dụng được cho những mạng có số các luồng dữ liệu là nhỏ.
Mục đích của việc đưa ra dịch vụ Diffserv để nhằm đạt được tính linh động. Diffserv trái ngược với Intserv là dựa trên từng luồng dữ liệu, nó phân loại các gói thành một số lượng không lớn các tập (gọi là các lớp) và do đó đạt được hiệu quả cho các mạng lớn. Các chức năng đơn giản được thực hiện tại router lõi, trong khi các chức năng phức tạp được triển khai tại các router biên. Tính linh động rất là cần thiết vì dịch vụ mới có thể xuất hiện và một số dịch vụ trở lên lỗi thời. Do đó Diffserv không cần thiết phải xác định dịch vụ như là Inserv, thay vào đó nó cung cấp các thành phần chức năng mà trên đó dịch vụ có thể được xây dựng. Việc thông tin giữa người dùng và dịch vụ sẽ nằm trong Bản Thỏa Thuận mức dịch vụ SLA (Service Level Agreement), việc đối xử luồng lưu lượng tương ứng với bản SLA. Việc xác định SLA sẽ được cung cấp bao nhiêu tài nguyên sẽ được cấu hình tay. Kiến trúc Diffserv bao gồm hai tập các thành phần chức năng:
Tại biên của mạng, việc phân loại và điều khiển lưu lượng được thực hiện và các gói được phân vào các lớp.
Tại lõi, một cơ chế phân loại đơn giản được thực hiện. Cơ chế hàng đợi dựa trên lớp được áp dụng.
Hình 1.6 Kiến trúc dịch vụ Diffserv
Các thuật ngữ sử dụng trong Diffserv
Kiến trúc dịch vụ phân biệt DiffServ định nghĩa một số thuật ngữ thường sử dụng sau đây:
Miền (Domain): là mạng có chung các thực thi ( thường thì chung sự điều khiển của quản trị)
Vùng (Region): là nhóm các miền DiffServ kế cận
Node vào (Ingress node): là node đầu tiên mà gói tin đi vào miền Diffserv
Node ra (Egress node): là node cuối cùng mà gói tin đi ra khỏi miền Diffserv
Trường DS (DiffServ field): octet TOS của mào đầu IPv4 hoặc octet lớp lưu lượng của mào đầu IPv6 và được đổi tên là DS bởi DiffServ. Nó là trường nơi các lớp dịch vụ được gửi kèm.
Điểm mã dịch vụ phân biệt (Differantiated Service Code Point_DSCP): là các giá trị đặc biệt được chỉ định cho trường DiffServ.
Tập hợp đối xử (Behavior Aggretate-BA): Là tập hợp các gói tin của node dịch vụ phân biệt có cùng mã DSCP.
Phân lớp BA (BA classifier): Phân lớp các gói dựa trên mã DSCP (Differential Service Code Point).
Bộ phân lớp (Classifier) : Quá trình sắp xếp các gói dựa trên nội dung của header của gói theo quy luật xác định.
Thỏa thuận mức dịch vụ (Service level Agreement_SLA): là dịch vụ liên hệ giữa khách hàng và nhà cung cấp dịch vụ chỉ rõ xu hướng yêu cầu của khách hàng. Khách hàng có thể là một tổ chức người dùng hoặc phạm vi nhà cung cấp ( phạm vi đi ngược dòng).
Sự phân lớp đa môi trường (Multifield Classifier) là sự phân lớp của gói dựa trên nội dung của các trường như địa chỉ nguồn, địa chỉ đích, byte ToS, giao thức ID, số cổng nguồn và số cổng đích.
Đối xử từng chặn (Per-Hop Behavior_PHB): là tại mỗi node các gói BA sẽ được chuyển tiếp hay được phục vụ.
Đánh dấu (Marking) là quá trình thiết lập các trường DS của các gói.
Chính sách (policing) là quá trình xử lý các dạng lưu lượng, ví dụ như loại bỏ (drop) các gói vượt quá.
Định dạng (Shaping): là quá trình đệm các gói tin trong luồng lưu lượng tạo cho nó tương thích với hiện trạng lưu lượng đã định nghĩa.
Hàng đợi (Queuing): điều khiển chiều dài của gói hàng đợi bằng cách loại bỏ các gói khi cần thiết hoặc cho phù hợp.
Điểm mã dịch vụ phân biệt DSCP (DiffServ code point)
Các đặc tính kỹ thuật trước đây, IP đã dự trữ một số bit trong header cho việc hỗ trợ các chất lượng dịch vụ QoS. Đối với IPv4 octet thứ hai của header là octet ToS (Type of Service) còn đối với IPv6 thì đó là octet lớp lưu lượng (Traffic Class). Các giá trị của trường DS đó chính là điểm mã dịch vụ phân biệt DSCP. Các node dịch vụ DiffServ sẽ phục vụ các gói tin tương ứng với điểm mã này.
Hình 1.7 Byte ToS trước và sau DiffServ
IP Precedence
ToS FieldA
ToS byte
DS Field
DSCP
ECN
unused
0-2
3-5
6-7
0-5
6-7
Mào đầu IP trước khi DiffServ
Sau khi DiffServ
Trường ToS chứa 8 bit, 6 trong số chúng được sử dụng để biểu thị cho DSCP. Với 6 bit trường DS sẽ có 64 giá trị nhị phân tương ứng với 64 trạng thái chất lượng dịch vụ chứa trong 3 “bộ trữ” (pool). Trong đó sẽ có 2 bộ trữ với 32 giá trị được dự trữ cho thực nghiệm hay sử dụng cục bộ. Các đặc tính DiffServ hiện nay khuyến cáo sử dụng 21 giá trị trong bộ trữ thứ 3 (21 giá trị này sẽ được mô tả trong Bảng 1.2).
Trường DSCP : 6 bits
Chưa sử dụng
2 bits
Hình 1.8 Khung DSCP
Xử lý từng chặn PHB (Per-hop Behavior)
Kiến trúc DiffServ định nghĩa đối xử từng chặn PHB cho việc xử lý chuyển tiếp gói tin tại mỗi node mạng áp dụng một tập hợp đối xử BA. Nó mô tả các đặc tính về chất lượng dịch vụ như độ trễ, độ trượt hay mất gói của gói tin khi đi qua node dịch vụ DiffServ.
Các node dịch vụ DiffServ sẽ ánh xạ các gói tin đến các chặn PHB tương ứng với các giá trị DSCP của nó. Bảng 1.2 biểu diễn việc ánh xạ giữa PHB và DSCP. DiffServ không hoàn toàn có chức năng ánh xạ PHB đến DSCP mà nó chỉ thực hiện công việc này khi được yêu cầu. Các nhóm PHB là thành phần của các đặc tính DiffServ đó là: xúc tiến đẩy gói (Expecdited Forwarding), đảm bảo đẩy gói (Assured Forwarding), chọn lớp (Class Selector) và mặc định (Default). Một node chuyển mạch có thể được hỗ trợ nhiều nhóm PHB tương tự nhau. Các node thực thi các nhóm PHB này sẽ sử dụng cơ chế đệm và lập lịch gói tin.
Bảng 1.2 Ánh xạ giữa PHB và DSCP
PHB
DSCP (Thập phân)
DSCP (nhị phân)
EF
46
101110
AF43
38
100110
AF42
36
100100
AF41
34
100010
AF33
30
011110
AF32
28
011100
AF31
26
011010
AF23
22
010110
AF22
20
010100
AF21
18
010010
AF13
14
001110
AF12
12
001100
AF11
10
001010
CS7
56
111000
CS6
48
110000
CS5
40
101000
CS4
32
100000
CS3
24
011000
CS2
16
010000
CS1
8
001000
Mặc định
0
000000
Xúc tiến đẩy gói (Expedited Forwarding)
Đối xử từng chặn EF PHB là đối xử có độ trễ , độ trượt và tỉ lệ mất gói thấp mà một node DiffServ có thể thực thi. Vì vậy EF PHB được sử dụng cho những luồng có độ ưu tiên rất cao. Nó có thể được thực hiện bằng việc sử dụng các thuật toán như CBQ (Class Based Queue) hoặc sử dụng hàng đợi ưu tiên đơn lẽ. Những thuật toán khác nhau nhằm thỏa mãn yêu cầu EF sẽ tạo ra những độ trượt khác nhau đối với từng gói dữ liệu.
Đảm bảo đẩy gói (Assured Forwarding)
AF là một nhóm PHB với 4 lớp đảm bảo đẩy gói khác nhau với 3 mức độ ưu tiên loại bỏ gói xác định khác nhau mà một node DiffServ có thể hỗ trợ. Bảng 1.3 liệt kê các lớp AF với mức độ ưu tiên loại bỏ gói.
Bảng 1.3
Ưu tiên loại bỏ gói
AF1
AF2
AF3
AF4
Thấp
AF11
AF21
AF31
AF41
Trung bình
AF12
AF22
AF32
AF42
Cao
AF13
AF23
AF33
AF43
Các nhóm AF PHB hoạt động phụ thuộc lẫn nhau và không chứa các đặc tính như độ trễ hay độ trượt. Việc mỗi nhóm cung cấp các đảm bảo dich vụ phụ thuộc vào các tài nguyên của các node, số lượng các luồng đến tại node và các ưu tiên mức loại bỏ gói. Các tài nguyên tại các node chính là băng thông và không gian bộ đệm.
Các lựa chọn lớp (Class Selectors)
Diffserv định các lựa chọn lớp CS PHBs để đưa ra tính tương thích ngược với việc sử dụng mức ưu tiên IP trong octet ToS của IPv4. Các lựa chọn lớp đảm bảo thứ tự ưu tiên tương đối (ví dụ như giá trị cao sẽ tương ứng với thứ tự tương đối cao). Các đặc tính của CS PHBs là không trễ, không trượt và không mất gói.
PHB mặc định (Default PHB)
Miền Diffserv cần phải cung cấp một PHB mặc định để đưa ra dịch vụ best-effort. Với các đặc tính không trễ, không trượt và mất gói, miền DS phải đẩy càng nhiều gói tin đi càng sớm càng tốt.
1.4.2.4 Phân lớp lưu lượng và điều hòa
Các dịch vụ phân biệt được mở rộng ra biên giới miền DS bằng cách thiết lập một bản thỏa thuận mức dịch vụ SLA giữa các mạng [15]. Bảng SLA có thể chỉ rõ sự phân lớp với tin và các luật đánh dấu lại và cũng có thể chỉ định các hiện trạng của lưu lượng và cách hoạt động đến các dòng lưu lượng nằm trong hoặc ngoài hiện trạng. Bản thỏa thuận điều hòa lưu lượng TCA (Traffic Control Agreement) giữa các miền được rút ra từ bảng SLA. Chính sách phân lớp gói tin định nghĩa tập hợp lưu lượng nhỏ mà có thể nhận một dịch vụ phân biệt bằng cách được đánh dấu đến một hay nhiều tập hợp đối xử ( hay bằng cách đánh dấu lại điểm mã DS) trong miền DS.
Sự điều tiết lưu lượng thực hiện bằng cách đo, định dạng, chính sách hay đánh dấu lại để đảm bảo lưu lượng đi vào miền DS tương ứng với các quy tắc được định nghĩa trong TCA, phù hợp với chính sách cung cấp dịch vụ của miền. Phạm vi yêu cầu điều tiết lưu lượng phù thuộc vào loại hình dịch vụ, việc đánh dấu lại điểm mã đơn giản đến chính sách phức tạp và các hoạt động định dạng. Các chính sách điều tiết lưu lượng được kí kết giữa các mạng sẽ được mô tả chi tiết sau đây:
1.4.2.4.1 Các bộ phân lớp (classiffier)
Các bộ phân lớp gói tin chọn các gói tin đi vào một luồng lưu lượng dựa trên header của gói tin. Ta định nghĩa 2 kiểu bộ phân lớp: bộ phân lớp BA (behavior aggregate) phân lớp các gói tin chỉ dựa trên mã DS. Bộ phân lớp MF (Multi-Field) chọn các gói tin trên cơ sở giá trị của sự kết hợp 1 hay nhiều trường header ví dụ như địa chỉ nguồn, địa chỉ đích, trường DS, giao thức ID, số cổng nguồn và đích, và một số thông tin khác nữa.
Các bộ phân lớp được sử dụng để “hướng” các gói tin phù hợp với một số nguyên tắc đến bộ điều tiết lưu lượng và sau đó sẽ được xử lý. Các bộ phân lớp cần phải được cấu hình bằng một số thủ tục quản lý phù hợp với bảng TCA. Bộ phân lớp cần phải chứng thực thông tin được dùng để phân các gói tin.
1.4.2.4.2 Các hiện trạng lưu lượng
Một hiện trạng lưu lượng biểu thị các đặc tính thời gian của một luồng lưu lượng được chọn bởi bộ phân lớp. Nó cung cấp các quy tắc cho việc xác định cho dù gói tin đó nằm trong hay nằm ngoài hiện trạng. Ví dụ như một hiện trạng dựa trên cơ sở giải thuật thùng token như sau: điểm mã (codepoint) là X và sử dụng thùng token có kích thước B và tốc độ token là r .Hiện trạng trên cho biết tất cả các gói tin được đánh dấu với mã DS là X sẽ được ước lượng cho phù hợp các thông số của thùng token. Trong ví dụ này, các gói tin nằm ngoài hiện trạng của luồng lưu lượng đến vẫn được xếp vào thùng nếu token vẫn chưa đủ .
Các hoạt động điều hòa khác nhau có thể được gán vào trong các gói tin nằm trong hiện trạng và ngoài hiện trạng, hay các hoạt động tính toán có thể được kích hoạt. Các gói tin trong hiện trạng có thể được phép đi vào miền DS mà không cần thêm điều kiện hay thay đổi mã DS
Sau đó khi các gói tin đi vào miền DS và sử dụng một nhóm các PHB khác nhau hay ánh xạ từ điểm mã đến PHB cho luồng lưu lượng này. Các gói tin nằm ngoài hiện trạng sẽ được xếp hàng cho đến khi chúng là nằm trong hiện trạng (định dạng) hoặc sẽ bị loại bỏ (policed), và được đánh dấu lại với mã DS mới hay được chuyển tiếp cho đến khi khởi động một vài thủ tục tính toán. Các gói tin ngoài hiện trạng có thể được ánh xạ đến một hay nhiều tập hợp BA thấp hơn để có thể thực thi. Chú ý rắng hiện trạng lưu lượng là thành phần tùy chọn của TCA và việc sử dụng nó lại phụ thuộc vào các đặc tính riêng của yêu cầu dịch vụ và chính sách cung cấp dịch vụ của miền DS
1.4.2.4.3 Các bộ điều hòa lưu lượng
Bộ điều hòa lưu lượng bao gồm các thành phần sau: đo (meter), đánh dấu (marker), định dạng (shaper) và loại bỏ gói (dropper). Một luồng lưu lượng được chọn bởi bộ phân lớp sẽ hướng các gói tin đến bộ điều hòa. Một bộ đo được sử dụng để đo luồng lưu lượng dựa vào hiện trạng lưu lượng. Trạng thái của bộ đo đối với một gói tin cụ thể có thể được sử dụng để tác động đến việc đánh dấu, loại bỏ gói hay định dạng.
Khi các gói ra khỏi bộ điều hòa lưu lượng của một node biên DS, mã DS của mỗi gói tin cần phải được thiết lập với giá trị tương ứng.
Hình 1.9 biểu diễn sơ đồ khối của bộ phân lớp và điều hòa lưu lượng. Chú ý rằng một bộ điều hòa lưu lượng không cần thiết bao gồm 4 thành phần. Ví dụ như trong trường hợp này, không có hiện trạng lưu lượng, thì các gói tin chỉ đi qua bộ phân lớp và đánh dấu
Inbound
traffic
stream
Classifier
Marker
Conditioner
Meter
Queuing
Scheduling
Dropping
Shaping
Dropping
Hình 1.9 Cấu trúc của router DiffServ
Bộ đo (Meters)
Các bộ đo lưu lượng sẽ đo các đặc tính thời gian của luồng các gói tin được chọn từ bộ phân lớp dựa vào hiện trạng lưu lượng được định nghĩa trong TCA. Bộ đo sẽ chuyển tiếp các thông tin trạng thái đến các hàm điều hòa để kích khởi mỗi hoạt động riêng biệt cho mỗi gói tin nằm trong hoặc ngoài hiện trạng
Bộ đánh dấu (Markers)
Các bộ đánh dấu sẽ thiết lập trường DS với mã riêng biệt, sau đó gói tin được đánh dấu theo tập hợp đối xử BA riêng. Bộ đánh dấu có thể được cấu hình để đánh dấu tất cả các gói tin với chỉ một mã, hay có thể được cấu hình để đánh dấu 1 gói tin 1 mã được chọn trong PHB sao cho phù hợp với trạng thái trong bộ đo. Khi thay đổi mã của gói tin có nghĩa gói tin được đánh dấu lại.
Bộ định dạng (Shapers)
Bộ định dạng sẽ làm trễ một vài hoặc tất cả các gói tin trong luồng lưu lượng theo thứ tự để luồng lưu lượng phù hợp với hiện trạng lưu lượng. Bộ định dạng thường có bộ đệm không giới hạn và các gói tin có thể bị loại bỏ nếu bộ đệm không đủ không gian để chứa các gói tin.
Bộ loại bỏ gói (Droppers)
Bộ loại bỏ gói sẽ loại bỏ 1 số hay tất cả các gói tin theo thứ tự để phù hợp với hiện trạng lưu lượng. Xử lý này thường gọi là “ khống chế” luồng.
Ví dụ
Giả sử trong miền DS có 2 phiên kết nối giữa S1R1 và S2R2. Quá trình hoạt động của dịch vụ phân biệt DiffServ sẽ được biểu diễn như sau:
Ban đầu khi các gói tin đi vào các router biên ER1 và ER2 sẽ được phân lớp phù hợp với các trường trong header. Ví dụ như các gói tin đi từ S1 đến R1 mang thông tin địa chỉ của R2 và cổng đích là 80 sẽ được xếp lớp BA1 đầu tiên, nhưng do tại ER1 chỉ có 1 phiên kết nối đến nên việc phân lớp dễ dàng hơn.
Hình 1.10 Hoạt động DiffServ
Bộ đánh dấu DS sẽ thiết lập các 6 bit trong trường DSCP lên tương ứng với lớp BA của gói tin (6 bit này ban đầu được mặc định là 000000). Giả sử gói tin từ S1 trong BA1 tương ứng với PHB là AF11 khi đó 6 bit này sẽ được thiết lập là 001010. Tương tự cho gói tin từ S2, giả sử PHB là EF, khi đó DSCP sẽ là 101110.
Sau khi được đánh dấu, các gói tin sẽ được bộ lập lịch trong router biên xếp hàng và gởi đi trong mạng. Tại đây các gói tin cũng có thể bị loại bỏ nếu như thông tin của chúng không phù hợp với luồng do cấu trúc của các router
Khi các gói tin đi đến các router lõi CR5 và CR7, việc xử lý là đơn giản do chỉ có 1 phiên kết nối cho mỗi router. Nhưng đến router CR6, router này có nhiệm vụ phân loại các gói tin và thực hiện các cơ chế hàng đợi như hình 1.11 dưới đây. Sau đó sẽ đẩy các gói tin đến đúng địa chỉ trong header.
Hình 1.11 Nhiệm vụ của router lõi
Ưu điểm và hạn chế của DiffServ
Ưu điểm
Khả năng mở rộng
Khả năng mở rộng là mối quan tâm hàng đầu của các nhà cung cấp dịch vụ, khi số kết nối ngày càng tăng. Do đó trong mạng lõi cũng tăng số luồng lưu lượng với nhiều giao thức khác nhau, nó yêu cầu đảm bảo các điều kiện trên mỗi luồng hay độ phức tạp tính toán khó có khả năng mở rộng DiffServ, tập hợp các luồng lưu lượng sau đó điều khiển với số lượng lớn. Cũng từ khi các PHB được thiết lập dễ dàng, DiffServ sử dụng các tốc độ cao để nâng cao các thỏa thuận về tốc độ [4].
Quản lý dễ dàng
Trong khuôn khổ các dịch vụ phân biệt, các miền DiffServ khác nhau có thể thực thi các PHBs cho đến khi nào chúng thấy thỏa thuận giữa các miền thích hợp. Điều này sẽ giúp các nhà cung cấp dịch vụ tự do lựa chọn các thực thi của họ và có thể cung ứng được các dịch vụ phân biệt với sự thay đổi tối thiểu về kiến trúc hạ tầng.
Đơn giản
Thực thi DiffServ không khác gì so với mạng IP cơ sở. Do đó nó đảm bảo tính đơn giản và dễ dàng thực thi hay nâng cấp với các mức giá thỏa thuận khác nhau.
Khả năng đo đạt
Tại mỗi chặn trong miền DiffServ, các bộ điều hòa và các bộ định dạng lưu lượng liên tục đo các dòng dữ liệu đi vào và bộ lập lịch đường liên kết sẽ điều khiển các gói tin được gởi đi, không quá khó để yêu cầu cung cấp các thông tin về đối xử của mạng. Các nhà cung cấp dịch vụ có thể sử dụng thông tin để cấp phát tốt nhất các băng thông và cung cấp các thỏa thuận mức độ dịch vụ cho khách hàng.
Hạn chế
Hai hạn chế lớn nhất của kiến trúc DiffServ là [4]:
Kiến trúc DiffServ chỉ đề xuất các cơ chế đối xử chuyển tiếp gói tin với các luồng hợp nhất, quản lý lưu lượng và điều hòa. Tuy nhiên nó không cung cấp một kiến trúc dịch vụ điểm- điểm.
Mặt khác, trong khuôn khổ DiffServ không có khả năng điều khiển các lỗi đường kết nối. Ví như trong miền DiffServ, một đường kết nối mang lưu lượng EF bị đứt kết nối, thì sẽ không có cách nào cung cấp đường kết nối thay thế để đảm bảo mất gói tối thiểu nhất. Hơn thế nữa, trong Diffserv không cung cấp bất kỳ kỹ thuật lưu lượng nào, điều đó có nghĩa là sẽ có những đường kết nối thì quá tải, trong lúc các đường khác có thể không được sử dụng.
Điều này đặt ra thử thách cho các nhà cung cấp dịch vụ làm sao khai thác được các ưu điểm của DiffServ mà vẫn khắc phục được những hạn chế của nó.
Những tồn tại của mạng IP trong việc phát hiện lỗi và tái định tuyến lưu lượng
Lưu lượng đi trong mạng không phải lúc nào cũng suôn sẻ, việc kết nối bị lỗi có thể xảy ra tại bất cứ thời điểm nào. Mạng IP có thể cung cấp cơ chế phát hiện lỗi và tái định tuyến lưu lượng bên trong mạng như sau:
Node sẽ phát hiện đường kết nối hỏng
Sau đó sẽ tính toán và tìm đường dẫn thay thế
Node trước đường liên kết hỏng sẽ phát (flood) các thông báo lỗi đường truyền đến các node còn lại
Tất các cả node sẽ tính lại đường đi và cập nhật bảng thông tin định tuyến FIB (Forwarding Information Base).
Vấn đề tồn tại ở đây chính là thời gian cập nhật bảng FIB: thời gian hội tụ (convegence) và thời gian truyền tại mỗi node là khác nhau dẫn đến thông tin trên bảng FIB sai lệch. Kết quả sẽ xảy ra hiện tượng vòng lặp trong mạng. Cụ thể như sau:
Hình 1.12 Tái định tuyến trong mạng IP
IP sử dụng thuật toán SPF (shortest Path First) để tính đường ngắn nhất cho lưu lượng ( từ A-B-C –E-F). Khi có sự cố link xảy ra giữa C và E, C sẽ định tuyến lưu lượng quay trở lại B, trong khi B chưa hội tụ đầy đủ , bảng FIB của B chưa cập nhật hoàn toàn nên vẫn cứ đẩy gói đến C. Do đó sẽ xảy ra vòng lặp giữa B và C. Khi link khôi phục lại, có thể lúc đó B vẫn chưa hội tụ kịp thời, bảng FIB cập nhật thông tin trạng thái lúc đường liên kết lúc lỗi. Do đó khi lưu lượng đến B sẽ được định tuyến quay trở lại A trong khi lưu lượng từ A vẫn gởi đến B. Vòng lặp lại xảy ra tại A và B.
Một vấn đề khác, khi C tính toán lại đường thay thế tức là lưu lượng sẽ đi từ A-B-C-D-E-F. Lúc này để tránh xảy ra hiện tượng vòng lặp tại các router A, B, C sẽ được thiết lập thời gian giữ (hold down) để đảm bảo mạng hội tụ đầy đủ. Nếu không thiết lập thời gian này, hiện tượng vòng lặp có thể xảy ra
Đây chính là nhược điểm lớn nhất của IP, khi sử dụng DiffServ trong mạng IP sẽ không đảm bảo được chất lượng dịch vụ đã ký kết với khách hàng..
Kết luận
Việc cung cấp và đảm bảo chất lượng dịch vụ là một trong những mối quan tâm hàng đầu của các nhà cung cấp. Do đó khi thực thi DiffServ trong mạng IP, với những ưu điểm của nó có thể mang lại chất lượng dịch vụ tốt nhất cho khách hàng theo đúng hợp đồng thỏa thuận, nhưng với khả năng tái định tuyến của IP không thể đáp ứng được nhu cầu của khách hàng. Để khắc phục nhược điểm này, việc tìm ra công nghệ mới với cơ chế khôi phục nhanh là mục tiêu đặt lên hàng đầu của các nhà cung cấp dịch vụ. Chương 2 sẽ đi vào tìm hiểu mạng MPLS, kỹ thuật lưu lượng và một số mô hình khôi phục đường dẫn.