Tài liệu tham khảo công nghệ thông tin ngành viễn thông Kết hợp DiffServ và MPLS trong việc đảm bảo chất lượng dịch vụ
Trang 1Chương 1
Chất lượng dịch vụ trong mạng IP
1.1 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ủachúng ta Internet đã mở ra một chân trời mới đối với nhân loại Khi mạng Internetphát triển và mở rộng, lưu lượng Internet bùng nổ thì việc đáp ứng nhu cầu chongườ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ịchvụ 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ủamì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ảochấ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ấtlượ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ếtcủ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ủaQoS 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 độngcũng như ưu và nhược điểm của dịch vụ phân biệt (DiffServ) trong mạng IP
1.2 Ưu và nhược điểm của mạng IP
1.2.1Ưu điểm
Trong định tuyến các router IP sẽ dùng thuật tóan SPF (Shortest Path vào băng thông và hop count của đường đi) để tính toán đường đi ngắn nhấtcho lưu lượng, giảm độ trễ của lưu lượng khi mạng hoạt động bình thường
First-1.2.2 Nhược điểm
Do cơ chế định tuyến đường ngắn nhất (shortest path routing), khi lưu lượngtrên mạng quá tải, các luồng lưu lượng vẫn được tính toán đi trên đườngngắn nhất Do đó tắt nghẽn là không tránh khỏi trong khi một số đường vẫnkhông được sử dụng việc sử dụng băng thông trong mạng không hiệu quả
Trang 2 Để 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ưulượ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ếptheo quá dài, gói tin sẽ bị trễ hay khi hàng đợi quá đầy, IP router cho phéphủ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.
1.3 Chất lượng dịch vụ QoS1.3.1 Đị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 ứngdụ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êucầ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ụ Internetngà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.
Trang 3Bả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ểuBị ngắt quảng, âm thanh không trong suốtTrễ truyền làm các cuộc đối thoại khó khănhơ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
(e-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áchhà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.
Trang 4doanh 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ảicung cấp chất lượng dịch vụ QoS là rất cần thiết
1.3.3 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
1.3.3.1Bă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ậtlý 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.
1.3.3.2 Độ 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 giannà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à đặtnó 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.
Trang 5+ 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ácgói đang có trên hàng đợi và trên băng thông của interface Đồng thờithông số này cũng phụ thuộc vào cơ chế xếp hàng gói tin
1.3.3.3 Độ trượt (Jitter)
Khái niệm độ trượt và độ trễ thường liên quan đến nhau Một gói tin trongmạ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ượtxả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ượngkhá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ậy10ms chính là độ trượt của gói.
1.3.3.4 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ấtgó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
Trang 6trong 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ỗiBER 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.
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 để đảmbả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ũngnhư 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ênchiế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ệthiệ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ỏ)
IPIP
Trang 71.3.4.2 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ênkế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óitin 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ôngliê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 đượcthự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ợpvớ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ể
Trang 8Sau đâ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ẽ đượcsử dụng để thực hiện loại bỏ gói trước khi xảy ra nghẽn.
Hình 1.3 Tránh nghẽn ngăn mất gói
1.4 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ómnghiên cứu IETF (Internet Engineering Task Force) đã định nghĩa hai dạng kiếntrú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)
1.4.1 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ằmcung 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-pointvà point-to multipoint Nó định nghĩa quá trình xử lý báo hiệu cho các luồng riêngbiệ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ảocho mỗi dòng, IntServ mô tả hai thành phần: dự trữ tài nguyên và điều khiển lưulượ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ăngthô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ạngsẽ 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ẽ
FIFO queuing
Custom Queuing (CQ)Modified Deficit Round
Robin (MDRR)
Class-Based Weighted Fair Queuing (CBWFQ)
Weighted Random Early Detection (WRED)
Trang 9quyế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ậnthì 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
1.4.1.1 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ứcRSVP đượ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ácyê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ênsẽ đượ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íagử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ộ
Trang 10nhậ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ácyêu cầu QoS của ứng dụng
1.4.1.2 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ướckhi truyền dữ liệu Có hai loại bản tin RSVP chính được sử dụng để báo hiệu Bêngở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ảntin 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ácthô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ệnbở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ộtbộ đị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ácbả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
Trang 111.4.2 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êucầu cao cho nguồn xử lý (processing power) và báo hiệu Đối với mạng đường trụclớ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ỗiphiê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óithà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 khicá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ầnthiế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ó cungcấ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ôngtin 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ựatrên lớp được ápdụng.
Trang 12Hình 1.6 Kiến trúc dịch vụ Diffserv1.4.2.1 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ềukhiể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ườngnơ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.