MỤC LỤC
MỞ ĐẦU 11
I. Lý do chọn đề tài 11
II. Mục đích và ý nghĩa của đề tài 11
III. Nhiệm vụ thực hiện. 12
IV. Hướng giải quyết 12
V. Nội dung luận văn. 12
CƠ SỞ LÝ THUYẾT 13
I. Tổng quan về MPLS. 13
I.1. Định tuyến và chuyển mạch gói truyền thống. 13
I.1.1. Định tuyến IP 13
I.1.2. Chuyển mạch ATM 14
I.1.3. Mô hình IP over ATM 15
I.2. Các khái niệm cơ bản trong MPLS. 16
I.2.1. Miền MPLS (MPLS Domain) 16
I.2.2. Lớp chuyển tiếp tương đương FEC 17
I.2.3. Nhãn và ngăn xếp nhãn. 17
I.2.4. Đường chuyển mạch nhãn LSP 18
I.3. Mã hóa nhãn và các chế độ đóng gói nhãn. 18
I.3.1. Mã hóa ngăn xếp nhãn. 18
I.3.2. Chế độ khung (frame mode) 19
I.3.3. Chế độ tế bào (cell mode) 20
I.4. Kiến trúc một nút MPLS. 21
I.5. Giao thức phân phối nhãn LDP. 22
I.5.1. Hoạt động của LDP 22
I.5.2. Cấu trúc thông điệp LDP 23
I.5.3. Chế độ phân phối nhãn. 26
I.5.4. Chế độ duy trì nhãn. 26
I.5.5. Chế độ điều khiển. 28
I.5.6. Quá trình phân phối nhãn. 28
I.6. Phương thức hoạt động của MPLS. 31
I.7. Ưu điểm và các ứng dụng của MPLS. 31
I.7.1. Ưu điểm 31
I.7.2. Nhược điểm 32
I.7.3. Các ứng dụng. 32
TỔNG QUAN CÔNG NGHỆ MPLS VPN VÀ QoS TRONG MẠNG MPLS 33
I. Công nghệ MPLS VPN 33
I.1. Khái niệm VPN 33
I.2. Mô hình VPN 33
I.3. So sánh VPN truyền thống và MPLS VPN 34
I.3.1. VPN truyền thống. 34
I.3.2. MPLS VPN 35
I.4. Mô hình MPLS VPN 36
I.5. Kiến trúc và quá trình vận hành của VPN trong MPLS. 38
I.5.1. Quá trình chuyển tiếp định tuyến ảo VRF 38
I.5.2. Route Distinguisher (RD) 39
I.5.3. Route Target (RT) 40
I.6. Phân tán tuyến trong mạng MPLS VPN 41
I.7. Chuyển tiếp gói tin trong mạng MPLS VPN 42
II. QoS trong mạng MPLS. 43
II.1. Mở đầu. 43
II.2. Định nghĩa QoS. 44
II.3. Một số khái niệm trong QoS. 44
II.3.1. Các tham số cơ bản. 44
II.3.2. Cấp độ dịch vụ GoS. 44
II.3.3. Thỏa thuận mức độ dịch vụ SLA 45
II.4. Các mô hình QoS. 45
II.5. Mô hình dịch vụ phân biệt DiffServ. 46
II.5.1. Kiến trúc DiffServ. 46
II.5.2. Điểm mã dịch vụ phân biệt DSCP 47
II.5.3. Đối xử từng chặng PHB 49
II.5.4. Phân loại và quy định lưu lượng. 51
II.5.5. MPLS hỗ trợ DiffServ. 55
II.5.6. Các mô hình DiffServ Tunnel trong MPLS. 58
II.5.7. Thực hiện QoS trong miền MPLS. 60
PHÂN TÍCH THIẾT KẾ HỆ THỐNG 62
I. Phân tích trang web mô phỏng chia sẻ dữ liệu trực tuyến. 62
I.1. Thu thập yêu cầu. 62
I.2. Đặc tả yêu cầu. 62
I.2.1. Các thuật ngữ. 62
I.2.2. Yêu cầu chức năng. 62
I.2.3. Yêu cầu phi chức năng. 63
I.3. Xây dựng biểu đồ Use – Case. 64
I.3.1. Nhận dạng tác nhân. 64
I.3.2. Nhận dạng các Use – Case. 64
I.3.3. Xây dựng biểu đồ Use – Case. 65
I.4. Mô hình hóa sự tương tác giữa các đối tượng. 65
I.4.1. Biểu đồ hoạt động. 65
I.4.2. Biểu đồ tuần tự. 68
I.5. Thiết kế cơ sở dữ liệu. 69
II. Phân tích bài mô phỏng chia sẻ dữ liệu qua mạng MPLS. 69
II.1. Phân tích yêu cầu. 69
II.2. Thiết kế mô phỏng. 70
II.3. Các giao thức sử dụng trong bài lab. 70
II.4. Các phần mềm sử dụng trong bài lab. 71
KẾT QUẢ THỬ NGHIỆM . 72
I. Kết quả trang web mô phỏng chia sẻ dữ liệu trực tuyến. 72
I.1. Trang chủ. 72
I.2. Chức năng upload. 72
I.3. Chức năng delete. 73
II. Kết quả bài mô phỏng việc triển khai QoS trong mạng MPLS. 74
II.1. Quy hoạch địa chỉ IP cho các thiết bị 74
II.2. Kết quả. 75
KẾT LUẬN 78
I. Kết quả đạt được. 78
I.1. Lý thuyết 78
I.2. Mô phỏng. 78
II. Hạn chế. 78
III. Hướng phát triển. 78
MỞ ĐẦUI.Lý do chọn đề tàiSự phát triển nhanh chóng của các dịch vụ IP và sự bùng nổ thông tin trên mạng Internet đã dẫn đến sự nhận thức mới trong vấn đề kinh doanh của các nhà cung cấp dịch vụ. Lưu lượng lớn nhất hiện nay trên mạng trục chính là lưu lượng IP. Giao thức IP giữ vai trò chủ đạo trong toàn bộ các giao thức lớp mạng, hệ quả là tất cả các xu hướng phát triển công nghệ lớp dưới đều hỗ trợ cho IP. Nhu cầu cấp bách của thị trường cho một kết nối tốc độ cao với chi phí thấp là cơ sở cho một loạt các công nghệ mới ra đời, trong đó có MPLS.
Trong khoảng 5 năm gần đây là khoảng thời gian mà công nghệ MPLS đã chứng minh được tính ứng dụng thực tiễn các tính năng vượt trội của nó so với các công nghệ chuyển mạch truyền thống khác như ATM. Tập đoàn Viễn thông Quân đội Viettel, trong đó có Công ty Mạng lưới Viettel, một thành viên của Tập đoàn, nơi chúng tôi đang thực tập, đã lựa chọn MPLS làm công nghệ cho lớp truyền tải của mạng NGN đang triển khai trên phạm vi toàn quốc.
Chính vì tầm quan trọng của công nghệ MPLS trong mạng của các ISP hiện nay, cũng như thực tế công việc mà chúng tôi đang thực hiện tại Trung tâm Khu vực II – Công ty Mạng Lưới Viettel, chúng tôi đã quyết định chọn đề tài “Tìm hiểu công nghệ MPLS, triển khai chất lượng dịch vụ và.mạng riêng ảo trong mạng MPLS”. Chất lượng dịch vụ và mạng riêng ảo VPN chính là hai dịch vụ chủ yếu trong số các dịch vụ mà công nghệ MPLS hỗ trợ. Hai dịch vụ này chính là đối tượng nghiên cứu của chúng tôi xuyên suốt đề tài tốt nghiệp này.
II.Mục đích và ý nghĩa của đề tàiMột trong những ứng dụng phổ biến nhất trên Internet hiện nay chính là việc chia sẻ dữ liệu. Dữ liệu được tải lên và tải xuống trên mạng Internet với dung lượng ngày càng lớn đã làm tăng độ trễ, giảm tốc độ mà người sử dụng mong muốn khi đăng ký với nhà cung cấp dịch vụ. Chính vì vậy, mục đích của đề tài là xây dựng một mô hình mạng chạy trên nền công nghệ MPLS và thực hiện chất lượng dịch vụ trong mạng này để cải thiện chất lượng việc chia sẻ dữ liệu trên mạng. Đồng thời vấn đề bảo mật cũng vô cùng trong hệ thống mạng ngày nay, việc triển khai VPN trên nền công nghệ MPLS sẽ là một giải pháp bảo mật rất tiện lợi và tối ưu cho người dùng.
Việc xây dựng một mô hình mạng chạy MPLS để mô phỏng công nghệ mà các ISP đang triển khai trên thực tế (cụ thể là tại Công ty Mạng lưới Viettel) và hiểu được cách họ cung cấp cho người sử dụng đường truyền tốc độ cao với chi phí hợp lý.
III.Nhiệm vụ thực hiệnTìm hiểu tổng quan về công nghệ MPLS, các thành phần trong một hệ thống mạng chạy MPLS, kiến trúc của MPLS.Tìm hiểu về công nghệ MPLS VPN, mô hình VPN áp dụng trong mạng MPLS.Tìm hiểu về QoS trong mạng MPLS, mô hình QoS áp dụng trong mạng MPLS.Tiến hành xây dựng hệ thống mạng mô phỏng cách truyển gói tin bằng công nghệ MPLS.Tiến hành xây dựng trang Web phục vụ kiểm tra QoS trong mạng MPLS.
IV.Hướng giải quyếtĐể xây dựng một hệ thống mạng triển khai công nghệ MPLS cần phải nghiên cứu các nội dung chủ yếu sau đây:
Cơ sở lý thuyết về công nghệ MPLS, công nghệ MPLS VPN và QoS trong mạng MPLS.Các thành phần cần có trong một mạng chạy MPLS.
V.Nội dung luận vănLuận văn tốt nghiệp được tổ chức thành 4 chương với các nội dung chính sau đây:
Chương 1 – Cơ sở lý thuyết: Giới thiệu tổng quan công nghệ MPLS, các khái niệm cơ bản, kiến trúc chức năng và cơ chế hoạt động của MPLS.
Chương 2 – Công nghệ MPLS VPN và QoS trong mạng MPLS: Trình bày khái niệm về QoS, các mô hình QoS, QoS trong mạng MPLS; trình bày các mô hình VPN và công nghệ MPLS VPN.
Chương 3 – Phân tích thiết kế hệ thống
Chương 4 – Kết quả và đánh giá
95 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 4499 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Luận văn Tìm hiểu công nghệ MPLS – VPN – QoS, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
n đến chính xác router ePE. Router ePE sử dụng nhãn VPN để chuyển tiếp gói IP đến chính xác router CE.
Hình 41. Quá trình chuyển tiếp gói tin trong mạng MPLS VPN
QoS trong mạng MPLS
Mở đầu
Trước đây, khi mà internet chủ yếu là truyền data thì người ta không cần quan tâm đến việc phân biệt và ưu tiên cho các gói tin bởi vì lúc này băng thông mạng và các tài nguyên khác đủ để cung cấp cho các ứng dụng trong mạng, vì vậy các ISPs sẽ cung cấp cho khách hàng của họ dịch vụ Best – Effort (BE) khi đó tất cả các khách hàng sẽ được đối sử như nhau họ chỉ khác nhau ở loại kết nối. Đây là dịch vụ phố biến trên mạng Internet hay mạng IP nói chung. Các gói thông tin được truyền đi theo nguyên tắc “đến trước được phục vụ trước” mà không quan tâm đến đặc tính lưu lượng của dịch vụ là gì. Điều này dẫn đến rất khó hỗ trợ các dịch vụ đòi hỏi độ trễ thấp như các dịch vụ thời gian thực hay video. Cho đến thời điểm này, đa phần các dịch vụ được cung cấp bởi mạng Internet vẫn sử dụng nguyên tắc BE này.
Nhưng khi internet càng ngày càng phát triển và phát triển thêm các dịch vụ HTTP, Voice, Video… thì điều này sẽ làm cho chất lượng của các dịch vụ này giảm đi rõ rệt vì delay lớn, độ jitter lớn và không đủ băng thông để truyền, phương án tăng băng thông của mạng cũng không giải quyết được vấn đề này mà lại còn rất tốn kém.
Chính vì những lý do trên mà các ISP đã tập trung triển khai việc quản lý lưu lượng và các quá trình QoS.
Định nghĩa QoS
Chất lượng dịch vụ QoS là một tập hợp các tiêu chuẩn công nghiệp và các cơ chế để đảm bảo hiệu suất chất lượng cao cho các ứng dụng quan trọng. Bằng cách sử dụng các cơ chế QoS, các nhà quản trị mạng có thể sử dụng tài nguyên một cách hiệu quả và đảm bảo cấp độ dịch vụ đã yêu cầu mà không cần mở rộng hoặc cung cấp quá năng lực mạng của họ. Qos giúp xác định các vấn đề và sai sót trong các dịch vụ, cho phép các nhà cung cấp dịch vụ cải thiện các dịch vụ của họ.
Một số khái niệm trong QoS
Các tham số cơ bản
Độ trễ
Trễ là khoảng thời gian một bản tin chiếm khi truyền từ điểm này sang điểm khác trên mạng. Trễ bao gồm một số thành phần như thời gian tiêu tốn trong hàng đợi của bộ định tuyến-trễ xếp hàng, thời gian cần thiết để thực hiện quyết định trong bộ định tuyến-trễ chuyển tiếp, thời gian cần thiết để tuyến vật lý truyền dữ liệu-trễ lan truyền và thời gian sử dụng để đặt gói tin lên mạng-trễ nối tiếp hoá. Thành phần có thể được quản lý với QoS là trễ xếp hàng. Gói có ưu tiên cao hơn sẽ được đưa ra để truyền trước các gói có ưu tiên thấp hơn và các kĩ thuật quản lý hàng đợi như RED có thể được sử dụng.
Biến thiên độ trễ
Biến thiên độ trễ được định nghĩa như sự biến đổi trong các trễ chuyển tiếp đầu cuối- đầu cuối. Trong một số ứng dụng, như các ứng dụng thời gian thực không thể chấp nhận biến thiên độ trễ. Giao thức TCP cũng thực hiện rất kém dưới tác dụng của biến thiên độ trễ, vì nó cố gắng điều chỉnh tốc độ truyền dẫn của nó tương ứng.
Băng thông
Băng thông biểu thị tốc độ tryền dữ liệu cực đại có thể đạt được giữa hai điểm đầu cuối.
Độ mất gói
Độ mất gói là trường hợp khi gói tin không tới được đích của nó trước thời gian timeout của bộ thu. Trong mạng TCP/IP thì độ mất gói chủ yếu là do nghẽn, đây là nguyên nhân tạo ra sự tràn bộ nhớ hoặc loại bỏ gói tin bởi các phương tiện quản lý lưu lượng.
Cấp độ dịch vụ GoS
Khái niệm cấp độ dịch vụ GoS có nghĩa hẹp hơn QoS và chỉ ra một cách đơn giản rằng các dịch vụ có thể phân loại được trong các cấp độ khác nhau, có thể được cung cấp cho người sử dụng và được quản lý độc lập.
Thỏa thuận mức độ dịch vụ SLA
Thỏa thuận mức dịch vụ SLA là hợp đồng giữa khách hàng và nhà cung cấp dịch vụ SP, SLA định mức dịch vụ nào SP định cung cấp. Ý tưởng rất đơn giản: khách hàng nào báo cáo bao nhiêu lưu lượng họ sẽ gửi và trả tiền cho mức độ tối thiểu được đảm bảo trong lưu lượng đó.
Các mô hình QoS
Hai mô hình cung cấp chất lượng dịch vụ được sử dụng phổ biến ngày nay là:
Dịch vụ tích hợp IntServ
Dịch vụ phân biệt DiffServ
Mô hình IntServ sử dụng khái niệm luồng cùng với giao thức báo hiệu dọc theo đường dẫn của gói tin. Giao thức báo hiệu đảm bảo các nguồn tài nguyên thỏa mãn yêu cầu dịch vụ được cung cấp tại mỗi nút cho các luồng lưu lượng trước khi nó được truyền trên mạng. Điều này gặp trở ngại lớn khi hoạt động trong môi trường không gian lớn như Internet, vì số lượng các router, switch, máy chủ rất lớn và đa dạng. Chính sự hạn chế bởi vấn đề mở rộng vì rất nhiều luồng lưu lượng cần phải quản lý, một tập tiêu chuẩn của mô hình phân biệt dịch vụ DiffServ được đưa ra như là một mô hình QoS thứ hai.
Hình 42. Mô hình dịch vụ tích hợp IntServ
Trong khi đó, ý tưởng của mô hình dịch vụ phân biệt DiffServ khá đơn giản: nó cung cấp các mức độ dịch vụ mạng khác nhau cho một gói tin, từ đó cho phép phân biệt các dịch vụ có khả năng mở rộng khác nhau mà không cần trạng thái mỗi luồng và báo hiệu tại mỗi hop. Các gói tin của một dịch vụ cụ thể thuộc về một lớp. Các lớp được phân loại nhờ việc đánh dấu gói tin và việc đối xử với mỗi gói tin là hoàn toàn độc lập. Điều này cho phép khả năng mở rộng tốt hơn mô hình IntServ, nhưng lại không cung cấp việc bảo đảm băng thông đối với các gói tin thuộc về một luồng, do đó không thể cung cấp việc kiểm soát truy nhập với các luồng mới.
Hình 43. So sánh IntServ với DiffServ
Mô hình dịch vụ phân biệt DiffServ
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 , 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
Kiến trúc mô hình DiffServ bao gồm các thành phần chính được sử d ụng cùng nhau để cho phép độ trễ, biến thiên độ trễ, độ mất gói phân biệt từ đầu đến cuối có thể được hỗ trợ trong cùng một mạng hỗ trợ DiffServ. Các thành phần ấy gồm:
Hình 44. Các thành phần trong kiến trúc DiffServ
Phân loại và quy định lưu lượng: Tại lối vào miền DiffServ, lưu lượng của khách hàng được phân loại vào các lớp khác nhau, còn gọi là các tập hợp hành vi BA. Những tập hợp này được đối chiếu với bản thỏa thuận quy định lưu lượng TCA. Sau đó, các cơ chế QoS, chẳng hạn như policing hoặc shaping, được sử dụng để đảm bảo rằng lưu lượng vào miền DiffServ phù hợp với TCA. Những lưu lượng nào không phù hợp sẽ bị trì hoãn, hủy bỏ hoặc đánh dấu lại là vượt khỏi quy định của TCA.
Đánh dấu DSCP: các gói tin được đánh dấu trước bằng cách thay đổi giá trị DSCP thuộc trường DS trong phần IP header, hoặc được đánh dấu tại ngõ vào miền DiffServ để xác định gói tin thuộc về lớp hoặc BA nào. Vì vậy, các nút mạng tiếp theo trong miền DiffServ chỉ cần thực hiện việc phân loại đơn giản để xác định lớp của gói tin.
Đối xử từng chặng PHB: sau khi áp dụng các quy định lưu lượng tại biên của miền DiffServ, bên trong miền DiffServ, mục tiêu là phải đảm bảo rằng SLA mỗi class phải được đáp ứng. PHB đại diện cho các mô tả về các đặc tính độ trễ, biến thiên độ trễ và tỷ lệ mất gói mà mỗi BA phải chịu khi đi qua một nút DiffServ. Một nhóm PHB có thể chứa một hoặc nhiều PHB liên quan được thực hiện đồng thời.
Điểm mã dịch vụ phân biệt DSCP
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).
Hình 45. Trường ToS trong IP header trước và sau khi có DiffServ
Trong mô hình DiffServ, trường ToS trong IPv4 Header được định nghĩa lại, gọi là trường DS (Differentiated Service). Trường DS có cấu trúc như sau:
Hình 46. Cấu trúc trường DS
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.
Đối xử từng chặng PHB
Kiến trúc DiffServ định nghĩa một PHB như là hành vi chuyển tiếp mà một nút áp dụng đối với một BA. PHB liên quan đến các đặc điểm về độ trễ, biến thiên độ trễ hay tỷ lệ mất gói mà một BA sẽ gặp khi đi qua một miền DiffServ. Một nhóm PHB chứa một hoặc nhiều PHB liên quan được thực thi đồng thời.
Có các PHB được định nghĩa trong tài liệu đặc tả DiffServ như sau:
PHB mặc định (Default PHB)
Chuyển tiếp nhanh EF (Expetided Forwarding)
Chuyển tiếp đảm bảo AF (Assured Forwarding)
Bộ lựa chọn lớp CS (Class Selector)
Ta có bảng ánh xạ các giá trị DSCP với hành vi PHB như sau:
PHB
DSCP (Decimal)
DSCP (Binary)
EF
46
101110
AF43
38
100110
AF42
36
100100
AF41
34
100010
AF33
30
111100
AF32
28
111000
AF31
26
110100
AF23
22
101100
AF22
20
101000
AF21
18
100100
AF13
14
111000
AF12
12
110000
AF11
10
101000
CS7
56
111000
CS6
48
110000
CS5
40
101000
CS4
32
100000
CS3
24
011000
CS2
16
010000
CS1
8
001000
Default
0
000000
Bảng 2. Bảng ánh xạ giá trị DSCP và PHB
PHB mặc định
PHB mặc định là một dịch vụ Best – Effort mà một miền DiffServ cung cấp. Miền DiffServ sẽ chuyển tiếp càng nhiều gói tin càng tốt, càng sớm càng tốt. Không có các đặc tính về độ trễ, biến thiên độ trễ và tỷ lệ mất gói. Việc thực hiện các hành vi PHB khác sẽ ngăn cản hoạt động của các ứng dụng của PHB mặc định.
Chuyển tiếp nhanh EF
Chuyển tiếp nhanh EF định nghĩa một hành vi có độ trễ thấp, biến thiên độ trễ thấp và tỷ lệ mất gói thấp mà một nút DiffServ phải thực hiện. PHB này thường dùng cho các lưu lượng thời gian thực đi qua miền DiffServ. Để hỗ trợ hành vi này, nút DiffServ phải phục vụ EF với một tốc độ cao hơn tốc độ đến của nó, đảm bảo rằng lưu lượng EF chỉ phải gặp một hàng đợi rỗng hoặc gần rỗng, giúp tối thiểu hóa độ trễ xếp hàng. Việc tối thiểu hóa độ trễ xếp hàng dẫn tới không chỉ độ trễ và biến thiên độ trế thấp mà còn làm cho tỷ lệ mất gói thấp, bởi vì nó ngăn chặn bộ đệm gói tin bị cạn kiệt.
Chuyển tiếp bảo đảm AF
Các nhóm AF PHB định nghĩa một nút DiffServ hỗ trợ việc bảo đảm tỷ lệ mất gói như thế nào. Có 4 nhóm AF có dạng AFij, trong đó i = 1…4 mô tả các lớp, j = 1..3 mô tả độ ưu tiên hủy gói. Độ ưu tiên càng cao thì các gói tin bị hủy càng nhiều.
Độ ưu tiên hủy gói
AF1
AF2
AF3
AF4
Thấp
AF11
AF21
AF31
AF41
Trung bình
AF12
AF22
AF32
AF42
Cao
AF13
AF23
AF33
AF43
Bảng 3. Các PHB AF với độ ưu tiên hủy gói tương ứng
Các nhóm AF thực thi độc lập với nhau, không có một bộ mô tả độ trễ, hoặc biến thiên độ trễ không tường minh. Việc bảo đảm thực sự cung cấp bởi mỗi nhóm phụ thuộc vào tài nguyên chuyển tiếp mà các nút DiffServ đã cấp phát, số lưu lượng của nhóm đó đến một nút và độ ưu tiên hủy gói của gói tin.
Bộ lựa chọn lớp CS
DiffServ định nghĩa các CS PHB để cung cấp cơ chế tương thích ngược với các bit IP Predence trong trường ToS (Type of Service) của IPv4 header. Các CS có giá trị cao hơn sẽ có xác suất chuyển tiếp lớn hơn.
PHB
DSCP (Thập phân)
DSCP
(Nhị phân)
Tên bit IP Predence
IP Predence (Nhị phân)
IP Predence (Thập phân)
CS7
56
111000
Network Control
111
7
CS6
48
110000
Internetwork Control
110
6
CS5
40
101000
Critic/ECP
101
5
CS4
32
100000
Flash Override
100
4
CS3
24
011000
Flash
011
3
CS2
16
010000
Immidiate
010
2
CS1
8
001000
Priority
001
1
CS0
0
000000
Routine
000
0
Bảng 4. Quan hệ giữa giá trị IP Predence và bộ lựa chọn lớp CS
Phân loại và quy định lưu lượng
Việc quy định lưu lượng được thực hiện dựa trên thỏa thuận cấp độ dịch vụ SLA giữa các khách hàng với nhà cung cấp dịch vụ. Tài liệu đặc tả quy định lưu lượng mô tả các tham số của mỗi cấp độ dịch vụ.
Quy định lưu lượng sẽ thực hiện các công việc phân loại, đánh dấu, policing và shaping.
Phân loại lưu lượng
Phân loại đươc thực hiện để nhận dạng lưu lượng và phân chia lưu lương thành các lớp khác nhau. Để phân loại gói, ta dùng bộ mô tả lưu lượng để phân chia các gói trong phạm vi các nhóm riêng biệt để định nghĩa các gói đó. Một số bộ mô tả đặc trưng dùng để phân loại gói bao gồm: bộ giao tiếp ngõ vào, độ ưu tiên IP (IP Precedence), DSCP, địa chỉ nguồn hay địa chỉ đích và các ứng dụng. Sau khi gói đã được định danh, chúng có khả năng được tiến hành các chức năng QoS trên mạng.
Với việc sử dụng phân loại gói, nhà quản trị mạng có thể phân vùng lưu lượng mạng thành nhiều mức ưu tiên hay nhiều lớp dịch vụ. Khi bộ đặc tả lưu lượng được sử dụng để phân loại, lưu lượng nguồn đồng ý tham gia để thoả thuận các giới hạn và mạng sẽ thực hiện các giới hạn đó với việc đảm bảo vế chất lượng dịch vụ. Các kỹ thuật chất lượng dịch vụ khác như giám sát lưu lượng, nắn dạng lưu lượng và kỹ thuật hàng đợi sử dụng bộ mô tả lưu lượng để đảm bảo giữ đúng thoả thuận. Việc phân loại nên được đặt ở biên mạng.
Đánh dấu lưu lượng
Hoạt động đánh dấu cho phép các thiết bị mạng phân loại gói hay khung (frame) dựa vào bộ mô tả lưu lượng đặc trưng. Một số bộ mô tả lưu lượng được sử dụng để đánh dấu gói như: lớp dịch vụ (CoS), DSCP, độ ưu tiên IP, nhóm QoS, chuyển mạch nhãn đa giao thức (MPLS). Việc đánh dấu được sử dụng để thiết lập thông tin trong tiêu đề gói lớp 2 hay lớp 3.
Việc đánh dấu gói hay khung cùng với việc phân loại cho phép thiết bị mạng dễ dàng phân biệt các gói hay khung đã được đánh dấu. Đánh dấu là yếu tố hữu dụng vì nó cho phép thiết bị mạng dễ dàng nhận dạng các gói hay khung theo các lớp đặc trưng. Khi đó kỹ thuật QoS có thể ứng dụng tương thích để đảm bảo sự đúng đắn với các chính sách quản trị QoS.
Policing
Tính năng policing thực hiện các chức năng sau:
Giới hạn tốc độ vận chuyển của một lớp lưu lượng đi vào và đi ra một interface dựa trên một số tiêu chí do người quản trị định nghĩa.
Đánh dấu gói tin bằng cách thiết lập các bit ATM CLP (Cell Loss Priority), Frame Relay DE (Discard Eligible), các giá trị IP Predence, DSCP, EXP và qos – group.
Policing cho phép chúng ta kiểm soát tốc độ truyền và nhận tối đa của dòng lưu lượng trên một interface. Tính năng này được áp dụng khi áp dụng một chính sách lưu lượng vào một interface.
Việc thực hiện tính năng policing dựa trên thuật toán thùng token. Có 2 kiểu thuật toán thùng token là: thuật toán một thùng token và thuật toán hai thùng token. Hai thuật toán này được mô tả như sau:
Thuật toán một thùng token
Hình 47. Thuật toán một thùng token
Thuật toán này sử dụng một thùng token gọi là thùng Conform. Thùng Conform ban đầu được làm đầy bằng số bytes token đã xác định như là kích thước burst bình thường.
Khi một gói tin kích thước B bytes đến tại thời điểm t thì xảy ra các hành động sau:
Kích thước thùng Conform được cập nhật: nếu gọi thời điểm gói tin đến trước là t1 và thời điểm hiện tại là t, thì kích thước thùng được cập nhật dựa trên tốc độ token đến (hay CIR – Committed Information Rate ) như sau:
(Thời gian giữa các gói tin * tốc độ cho phép CIR)/8 bytes
Nếu kích thước thùng Conform lớn hơn hoặc bằng kích thước gói tin, thì gói tin là phù hợp và xảy ra hành động Conform đối với gói tin. Đồng thời, kích thước thùng Conform sẽ giảm đi B bytes token.
Nếu số lượng bytes trong thùng trừ đi B bytes nhỏ hơn 0, thì hành động Exceed xảy ra.
Ví dụ, cấu hình policing sử dụng thuật toán 1 thùng token như sau:
Router(config)# class-map access-match
Router(config-cmap)# match access-group 1
Router(config-cmap)# exit
Router(config)# policy-map police-setting
Router(config-pmap)# class access-match
Router(config-pmap-c)# police 8000 1000 conform-action transmit exceed-action drop
Router(config-pmap-c)# exit
Router(config-pmap)# exit
Router(config)# interface fastethernet 0/0
Router(config-if)# service-policy output police-setting
Tốc độ CIR là 8000bps và kích thước burst bình thường là 1000 bytes cho tất cả các gói tin ra khỏi interface FastEthernet 0/0.
Ban đầu thùng token làm đầy bởi 1000 bytes. Khi một gói tin 450 bytes đến, nó phù hợp vì có đủ token trong thùng. Hành động Conform lúc này là gói tin được chuyển đi (transmit) và trong thùng còn lại là 550 bytes.
Sau đó 0.25s thì gói tin tiếp theo đến, thùng được thêm vào 250 bytes ((0.25 * 8000)/8). Lúc này trong thùng có 800 bytes. Giả sử, gói tin tiếp theo có kích thước 900 bytes, thì gói tin đã vượt quá kích thước thùng token và hành động Exceed lúc này là gói tin bị hủy (drop). Và trong thùng lúc này vẫn còn 800 bytes.
Thuật toán hai thùng token
Hình 48. Thuật toán hai thùng token
Thuật toán này sử dụng hai thùng token gồm thùng Conform và thùng Exceed. Cả 2 thùng ban đầu đều được làm đầy bằng số bytes token, trong đó kích thước thùng Conform được xem như là kích thước burst bình thường, còn kích thước thùng Exceed được xem là kích thước burst tối đa. Kích thước hai thùng được cập nhật dựa trên tốc độ CIR.
Khi một gói tin kích thước B bytes đến tại thời điểm t thì diễn ra các hành động sau:
Kích thước thùng Conform được cập nhật: nếu gói tin trước đến tại thời điểm t1 và gói tin tiếp theo đến tại thời điểm t, thì kích thước thùng được tính dựa trên tốc độ CIR như sau:
(Thời gian giữa các gói tin * tốc độ cho phép CIR)/8 bytes
Nếu số token trong thùng Conform lớn hơn hoặc bằng kích thước gói tin thì gói tin phù hợp và hành động Conform diễn ra. Đồng thời, thùng Conform sẽ giảm đi B bytes token.
Ngược lại, nếu số token trong thùng Conform nhỏ hơn kích thước gói tin thì sẽ kiểm tra số bytes token trong thùng Exceed. Nếu số token trong thùng Exceed lớn hơn hoặc bằng kích thước gói tin thì hành động Conform diễn ra. Đồng thời, thùng Exceed sẽ giảm đi B bytes token. Kích thước thùng Conform vẫn như cũ.
Ngược lại, nếu kích thước thùng Exceed nhỏ hơn kích thước gói tin thì hành động Violate xảy ra.
Ví dụ , ta có cấu hình policing sử dụng thuật toán 2 thùng token như sau:
Router(config)# class-map access-match
Router(config-cmap)# match access-group 1
Router(config-cmap)# exit
Router(config)# policy-map police-setting
Router(config-pmap)# class access-match
Router(config-pmap-c)# police 8000 1000 1000 conform-action transmit exceed-action set-qos-transmit 1 violate-action drop
Router(config-pmap-c)# exit
Router(config-pmap)# exit
Router(config)# interface fastethernet 0/0
Router(config-if)# service-policy output police-setting
Tốc độ CIR là 8000bps, kích thước burst bình thường và kích thước burst tối đa đều là 1000 bytes cho tất cả các gói tin ra khỏi interface FastEthernet 0/0.
Ban đầu, 2 thùng Conform và Exceed đều chứa 1000 bytes token. Khi một gói tin kích thước 450 bytes đến, có đủ token trong thùng Conform nên gói tin phù hợp và hành động Conform được thực hiện lúc này là chuyển gói tin đi (transmit). Trong thùng Conform còn lại 550 bytes.
Sau đó 0.25s, gói tin tiếp theo đến. Thùng Conform lúc này được bổ sung thêm 250 bytes token ((0.25+8000)/8) và có tổng cộng là 800 bytes. Nếu kích thước gói tin là 900 bytes, thì gói tin không phù hợp vì chỉ có 800 bytes trong thùng Conform.
Do đó, thùng Exceed được kiểm tra và có đủ số token cho gói tin này nên hành động Exceed xảy ra (thiết lập giá trị QoS – transmit bằng 1), đồng thời thùng Exceed giảm đi 900 bytes token và còn lại 100 bytes.
Sau đó 0.4s, các thùng được bổ sung thêm 400 bytes ((0.4*8000)/8). Do thùng Conform đã có 800 bytes nên chỉ nhận thêm 200 bytes. Phần còn lại được bổ sung cho thùng Exceed và thùng Exceed lúc này có 300 bytes.
Nếu gói tin tiếp theo đến có kích thước 1000 bytes thì xảy ra hành động Conform và thùng Conform lúc này rỗng.
Sau đó 0.2s, có 200 bytes được bổ sung vào các thùng ((0.2*8000)/8). Thùng Conform lúc này sẽ có 200 bytes và thùng Exceed vẫn là 300 bytes. Giả sử gói tin tiếp theo đến có kích thước 400 bytes, thì đều không có đủ số bytes token trong cả 2 thùng. Do đó, hành động Violate được thực hiện bằng cách hủy (drop) gói tin.
Shaping
Tính năng shaping được thực hiện tương tự như tính năng policing khi sử dụng thuật toán thùng token để đưa ra quyết định xử lý đối với dòng lưu lượng. Khi một gói tin trong một dòng lưu lượng đến, gói tin với kích thước B bytes được so sánh với số lượng token hiện có trong thùng. Nếu kích thước thùng không nhỏ hơn kích thước gói tin thì gói tin được chuyển đi không cần trì hoãn. Nếu kích thước thùng nhỏ hơn kích thước gói tin, tức có ít bytes token hơn B bytes của gói tin, thì gói tin sẽ bị trì hoãn (bằng bộ đệm hoặc hàng đợi) cho đến khi có đủ số bytes token trong thùng, chứ không hủy gói như policing. Khi có đủ số bytes token trong thùng, gói tin sẽ được gửi đi và thùng token sẽ giảm đi B bytes.
Hình 49. Tính năng shaping
MPLS hỗ trợ DiffServ
Về cơ bản mạng MPLS – DiffServ không thay đổi kiến trúc QoS của mạng IP. Các thành phần chức năng như bảng thỏa thuận điều hòa lưu lượng TCA, PHB vẫn không thay đổi. Các router tại biên vẫn thực hiện các chức năng phân loại (classification), đánh dấu (marking), policing và shaping. Đồng thời các chức năng quản lý bộ đệm cũng như lập lịch gói tin đi trong mạng theo thực thi PHB vẫn giữ nguyên. Điểm khác ở đây chính là cấu trúc của node MPLS và việc chuyển tiếp gói tin , do đó nó kéo theo một số thực thi DiffServ khác so với mạng IP.
Các router LSR chuyển tiếp chỉ dựa vào header MPLS và trường mở rộng EXP, do đó LSR không nhìn thấy trực tiếp trường Prec/DSCP trên header IP. Vấn đề đặt ra ở đây là trường DSCP là trường 6bit trong khi trường EXP của nhãn chèn MPLS lại chỉ có 3 bit. Làm thế nào để ánh xạ từ DSCP sang EXP?
MPLS hỗ trợ cho DiffServ (RFC 3270) giới thiệu 2 kiểu LSP với các đặc tính dịch vụ khác nhau và quá trình hoạt động. Kiểu đầu tiên, E – LSP (EXP – inferred – PSC LSP) có thể vận chuyển nhiều lớp lưu lượng đồng thời. Kiểu thứ hai, L – LSP (Label – inferred – PSC LSP) chỉ vận chuyển một lớp lưu lượng.
E – LSP (EXP – inferred – PSC LSP)
E – LSP là kiểu LSP có thể mang nhiều lớp lưu lượng đồng thời. Các LSR sử dụng trường EXP trong nhãn để suy ra hành vi PHB mà một gói tin yêu cầu. Trường EXP có 3 bit nên một E – LSP có thể chứa tới 8 lớp dịch vụ. Các LSR có thể thiết lập các E – LSP với việc dành trước băng thông.
Hình 50. Miền MPLS sử dụng E – LSP
E – LSP định nghĩa các cơ chế ánh xạ giữa giá trị EXP và các hành vi PHB. Một LSR sẽ ánh xạ EXP sang PHB đối với các nhãn vào, và ánh xạ PHB sang giá trị EXP đối với các nhãn ra.
Hình 50 biểu diễn một mạng sử dụng các đường E – LSP. Trong trường hợp này có 2 đường E – LSP giữa 2 node A và D. Mạng hỗ trợ 3 lớp dịch vụ : EF, AF1 và AF2. Đường E – LSP đầu tiên mang lưu lượng EF, đường LSP thứ 2 mang tổng hợp cả 3 lớp dịch vụ. Theo các nguyên tắc của E – LSP, tất cả các node thực thi PHB đều dựa trên giá trị trường EXP của gói tin. Chú ý rằng, một số lưu lượng EF đi theo một đường E – LSP, trong khi một số lại đi theo đường khác. Node A có thể chia nhỏ lưu lượng EF và node C chỉ việc phục vụ lưu lượng EF đó mà không cần phải quan tâm Đến việc LSP nào mang lưu lượng EF.
L – LSP (Label – inferred – PSC LSP)
L – LSP là kiểu LSP chỉ vận chuyển duy nhất một lớp lưu lượng đơn. Các LSR suy ra các hành vi PHB từ giá trị nhãn, giá trị EXP lúc này chỉ mang ý nghĩa là độ ưu tiên hủy gói. Các LSR học sự kết hợp giữa giá trị nhãn với các lớp trong quá trình thiết lập LSP. L – LSP yêu cầu phải sử dụng các cơ chế báo hiệu mở rộng của DiffServ.
Hình 51. Miền MPLS sử dụng L – LSP
Việc sử dụng E – LSP và L – LSP trong cùng mạng MPLS sẽ không loại trừ lẫn nhau. Các LSR sẽ đảm bảo nội dung của nhãn DiffServ. Nội dung này chính là kiểu đường dẫn LSP (E – LSP hay L – LSP), các hành vi PHB mà LSP hỗ trợ và ánh xạ giữa việc đóng gói tin với một PHB. Đối với các nhãn đầu vào, việc ánh xạ sẽ chỉ ra các LSR có suy ra PHB như thế nào. Đối với các nhãn đầu ra, việc ánh xạ sẽ chỉ ra làm thế nào LSR mã hóa PHB.
Hình 51 minh họa một mạng MPLS sử dụng các đường L – LSP. Trong trường hợp này sẽ có 4 đường L – LSP giữa node A và D. Mạng sử dụng 3 lớp dịch vụ EF, AF1 và AF2. Đường L – LSP đầu tiên sẽ mang lưu lượng AF2, đường 2 và 3 mang lưu lượng EF và đường cuối cùng mang lưu lượng AF1. Chú ý rằng node A đã chia nhỏ lưu lượng EF trên 2 đường L – LSP. Node C sẽ nhận ra dạng lưu lượng EF bằng cách sử dụng các nhãn và phục vụ lưu lượng này mà không cần phải xem xét LSP nào đã mang nó (có nghĩa là node sẽ không cung cấp PHB trên mỗi L – LSP mà trên mỗi lớp dịch vụ).
Ta có bảng so sánh sau đây:
E – LSP
L –LSP
Một hoặc nhiểu lớp mỗi LSP
Một lớp mỗi LSP
PHB suy ra từ trường EXP
PHB suy ra từ giá trị nhãn và EXP
Không cần báo hiệu (tùy chọn)
Yêu cầu có báo hiệu
Bảng 5. So sánh E – LSP với L – LSP
Các mô hình DiffServ Tunnel trong MPLS
Các LSP hỗ trợ DiffServ định nghĩa 3 mô hình tương tác giữa các hành vi PHB trong các lớp đóng gói khác nhau. Các mô hình này gồm có: Uniform, Pipe, Short Pipe, sẽ định nghĩa các thủ tục mà một LSR có thể áp dụng khi một gói tin (IP hoặc MPLS) với một PHB đã có đi vào và ra khỏi một LSP. Ba mô hình này áp dụng chung cho cả E – LSP và L – LSP.
Mô hình Uniform
Mô hình Uniform chỉ có duy nhất một lớp QoS được thực hiện từ đầu đến cuối. Khi giá trị EXP của nhãn trên cùng thay đổi, nó sẽ được sao chép vào trường EXP của nhãn mới được gắn vào cũng như trường EXP của nhãn mới được gỡ ra.
Hình 52. Mô hình Uniform trong MPLS DiffServ tunnel
Ví dụ đối với hình trên, gói tin IP đi vào miền MPLS có giá trị DSCP là 34. Tại PE ngõ vào, một nhãn được gắn vào và giá trị DSCP sao chép sang trường EXP. Tuy nhiên, trường EXP chỉ có 3 bit nên chỉ có 3 bit CSCP trong trường DSCP được sao chép. Vì vậy giá trị EXP ở đây bằng 4. Các router P trung gian chuyển tiếp gói tin dựa trên giá trị EXP của nhãn trên cùng trong ngăn xếp nhãn. Giả sử tại router D đánh dấu lại giá trị EXP bằng 3. Khi tới router PE ngõ vào, ở đây là router E, giả sử không có hành động PHP, giá trị EXP sẽ được sao chép ngược trở lại trường DSCP. Lúc này, giá trị DSCP sẽ là 26 (tương ứng với PHB AF 31).
Mô hình Pipe
Mô hình Pipe đối xử với giá trị trường DSCP trong gói tin IP với giá trị EXP trong nhãn MPLS độc lập với nhau. Tại điểm đầu của một LSP, trường EXP được thiết lập; việc thiết lập này có thể dẫn xuất từ giá trị DSCP trong trường hợp chuyển tiếp gói tin IP vào mạng MPLS, hoặc có thể dựa vào giá trị EXP trong trường hợp chuyển tiếp gói tin trong mạng MPLS. Trên một LSP, việc phân loại, đánh dấu và đánh dấu lại được thực hiện chỉ dựa trên giá trị EXP của nhãn ngoài cùng. Khi nhãn ngoài cùng được gỡ ra, tại điểm cuối của LSP (hoặc tại router áp chót, noi thực hiện hành động PHP), giá trị EXP của nhãn gỡ ra không được sao chép vào trường DSCP của gói tin IP hoặc trường EXP của nhãn bên dưới. Tuy nhiên, LER ngõ ra vẫn giữ giá trị của trường EXP trong gói tin đã nhận, vì thế nó có thể được sử dụng để phân loại gói tin tại interface đầu ra.
Hình 53. Mô hình Pipe trong MPLS DiffServ tunnel
Mô hình Short Pipe
Mô hình Short Pipe gần giống như mô hình Pipe, chỉ có một điểm khác đó là: tại LER ngõ ra, việc phân loại gói tin không dựa vào giá trị EXP mà dựa vào giá trị DSCP trong gói tin IP.
Hình 54. Mô hình Short Pipe trong MPLS DiffServ tunnel
Thực hiện QoS trong miền MPLS
Miền MPLS xử lý lưu lượng QoS theo ba giai đoạn khi các gói tin IP đi vào miền MPLS.
Xử lý tại LER ngõ vào
LER ngõ vào trong miền MPLS giới hạn dòng dữ liệu của người dùng để đảm bảo rằng dòng dữ liệu phù hợp với băng thông đã quy định trong miền MPLS.
LER ngõ vào đánh dấu các gói tin IP với độ ưu tiên khác nhau tùy thuộc vào chính sách và ánh xạ trường DSCP trong gói tin IP vào trường EXP của nhãn MPLS.
Hình 55. Ánh xạ giá trị DSCP vào các bit EXP
Trong miền IntServ, trường ToS (Type of Service) của gói tin IP và trường EXP có thể ánh xạ một – một vì hai trường đều chứa 3 bit.
Trong khi đó, trong miền DiffServ, việc ánh xạ một – nhiều có thể xảy ra vì trường DSCP chứa 6 bit và trường EXP chỉ chứa 3 bit. Đối với việc thẹc hiện QoS cơ bản, 3 bit đầu tiên của trường DSCP, còn gọi là CSCP, được ánh xạ tới trường EXP và 3 bit cuối được bỏ qua.
Xử lý tại các LSR
Khi thực hiện chuyển mạch MPLS, LSR thực hiện việc lập lịch hàng đợi dựa theo thông tin mang trong trường EXP của nhãn thuộc gói tin đến. Điều này cho phép các LSR cung cấp các dịch vụ tốt hơn cho các gói tin với độ ưu tiên cao hơn.
Xử lý tại LER ngõ ra
LER ngõ ra ánh xạ trường EXP vào trường DSCP của gói tin. Trong việc ánh xạ chuẩn, giá trị EXP được ánh xạ vào 3 bit CSCP và 3 bit cuối được thiết lập là 0.
CHƯƠNG III
PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Phân tích trang web mô phỏng chia sẻ dữ liệu trực tuyến
Thu thập yêu cầu
Hiện nay, với xu hướng điện toán đám mây, người dùng có nhu cầu lưu trữ dữ liệu của mình trên mạng Internet rất cao. Không những vậy, người dùng Internet còn muốn chia sẻ dữ liệu của mình cho người khác ngay trên mạng thông qua các liên kết mà không cần tới các thiết bị lưu trữ dữ liệu di động như USB, ổ cứng di động. Hơn nữa, việc lưu trữ dữ liệu trên mạng cũng mang lại nhiều lợi ích. Chẳng hạn, một nhân viên sau khi thao tác với một file Word tại công ty, hết giờ làm việc, nhân viên này upload file này với trang lưu trữ trực tuyến. Sau đó, khi về nhà, nếu muốn chỉnh sửa trên file này, nhân viên này chỉ việc download file này xuống máy tính cá nhân, rồi upload lên lại sau khi chỉnh sửa. Như vây, có thể thấy người dùng có thể đảm bảo dữ liệu của mình được an toàn nhờ việc lưu trữ dữ liệu trực tuyến. Đồng thời, việc lưu trữ này cũng mang tính tương tác rất cao khi người dùng có thể chia sẻ dữ liệu của họ qua các liên kết.
Từ nhu cầu trên, ta phân tích yêu cầu như sau:
Yêu cầu chức năng: đầu tiên, người dùng vào trang web chia sẻ dữ liệu. Sau đó, họ có thể thực hiện các thao tác upload, download, và xóa dữ liệu của mình.
Yêu cầu phi chức năng: trang web chia sẻ dữ liệu phải bảo đảm tính đơn giản, dễ sử dụng, không phát sinh lỗi.
Đặc tả yêu cầu
Các thuật ngữ
Thuật ngữ
Kiểu
Ý nghĩa
FEAT
Technical
Mô tả chức năng
REQ
Technical
Mô tả yêu cầu
Yêu cầu chức năng
FEAT – 001 Upload file
Thuộc tính
Mô tả
Tổng quát
Trạng thái : Proposed
Ưu tiên :High
Stereotype : «Functional»
Độ khó : Medium
Loại : Requirement
Phạm vi: Private
Mới : True
Nội dung
Cho phép người dùng upload dữ liệu từ máy tính cá nhân lên server của trang web
FEAT – 002 Download file
Thuộc tính
Mô tả
Tổng quát
Trạng thái : Proposed
Ưu tiên :High
Stereotype : «Functional»
Độ khó : Medium
Loại : Requirement
Phạm vi: Private
Mới : True
Nội dung
Cho phép người dùng download dữ liệu đã upload lên server của trang web về máy tính cá nhân
FEAT – 003 Xóa file
Thuộc tính
Mô tả
Tổng quát
Trạng thái : Proposed
Ưu tiên :High
Stereotype : «Functional»
Độ khó : Medium
Loại : Requirement
Phạm vi: Private
Mới : True
Nội dung
Cho phép người dùng xóa dữ liệu đã upload lên server của trang web
Yêu cầu phi chức năng
Giao diện người dùng
Giao diện người dùng: đơn giản, thân thiện, dễ sử dụng.
Tốc độ: tốc độ load trang web, upload và download file nhanh.
Yêu cầu phần mềm
Chạy trên mọi hệ điều hành, từ Linux đến Windows có cài sẵn một trình duyệt web.
Trình hỗ trợ tăng tốc download (tùy chọn).
Công cụ thực hiện
Ngôn ngữ UML để phân tích.
Ngôn ngữ PHP để cài đặt.
Bộ công cụ XAMPP để cài đặt chương trình.
Xây dựng biểu đồ Use – Case
Nhận dạng tác nhân
Tác nhân (actor) là thực thể bên ngoài hệ thống, giao tiếp với hệ thống thông qua giao diện để ra lệnh và nhận kết quả từ hệ thống.
Hệ thống chỉ có một tác nhân duy nhất là người dùng.
Mô tả tác nhân:
Tác nhân Nguoi dung quản lý toàn bộ dữ liệu của hệ thống có các chức năng upload, download, delete.
Nhận dạng các Use – Case
Chức năng upload
Dùng cho Nguoi dung tải các file từ máy tính cá nhân lên trang web.
Các sự kiện bao gồm:
Hệ thống hiển thị toàn bộ màn hình quản lý của chương trình.
Người dùng nhấn nút Upload, sau đó chọn File cần Upload, Nhấn OK, hệ thống sẽ hiển thị giao diện thông báo Upload thành công.
Người dùng nhấn nút Upload, sau đó chọn File cần Upload, Nhấn OK, Nếu file không hợp lệ, chương trình sẽ xuất ra thông báo lỗi file, Người dùng nhấn Cancel để đóng thồng báo, chương trình quay về giao diện ban đầu.
Chức năng download
Dùng cho Nguoi dung tải các file hiện có trên trang web về máy tính cá nhân.
Các sự kiện bao gồm:
Hệ thống hiển thị toàn bộ các file đang có trên trang web.
Người dùng nhấn nút Download, hiển thị pop – up xác nhận tải file về, chọn thư mục lưu file và nhấn OK.
Chức năng xóa file
Dùng cho Nguoi dung xóa những file không muốn chia sẻ hiện có trên trang web.
Các sự kiện bao gồm:
Hệ thống hiển thị toàn bộ các file đang có trên trang web.
Người dùng nhấn nút Delete, Hiển thị Form có chắc chắn xoa khỏi chương trình không?, Click Ok, File dữ liệu sẽ bị xóa khỏi màn hình hiển thị.
Người dùng nhấn nút Delete, Hiển thị Form có chắc chắn xoa khỏi chương trình không?, Click Cancel, Chương trình sẽ trở về màn hình hiển thị.
Xây dựng biểu đồ Use – Case
Hình 56. Biểu đồ Use – Case chức năng của Người dùng
Mô hình hóa sự tương tác giữa các đối tượng
Biểu đồ hoạt động
Upload file
Hình 57. Biểu đồ hoạt động chức năng “Upload file”
Download file
Hình 58. Biểu đồ hoạt động chức năng “Download file”
Delete file
Hình 59. Biểu đồ hoạt động chức năng “Delete file”
Biểu đồ tuần tự
Upload file
Hình 60. Biểu đồ tuần tự chức năng “Upload file”
Download file
Hình 61. Biểu đồ tuần tự chức năng“Download file”
Delete file
Hình 62. Biểu đồ tuần tự chức năng “Delete file”
Thiết kế cơ sở dữ liệu
Chương trình quản lý dữ liệu nhằm mục đích mô phỏng QoS trên mạng MPLS nên rất đơn giản chỉ bao gồm 1 bảng.
Tbl_files
ID
File_name
File_type
Orig_name
File_ext
File_size
Dowloaded
Bảng 6. Bảng cơ sở dữ liệu của trang web
Phân tích bài mô phỏng chia sẻ dữ liệu qua mạng MPLS
Phân tích yêu cầu
Dựng sơ đồ mô phỏng như là một mạng ISP thu nhỏ có kết nối với mạng khách hàng.
Mô phỏng đúng cách truyền gói tin có nhãn.
Cấu hình thiết bị giống với một mạng ISP nhưng với quy mô nhỏ hơn.
Thiết kế mô phỏng
Do hạn chế về cấu hình phần cứng và thiết bị, bài lab được xây dựng với quy mô nhỏ nhưng vẫn đảm bảo tính đúng đắn của một mạng ISP có các khách hàng kết nối tới.
Mô hình triển khai
Hình 63. Mô hình mạng thực tế
Các giao thức sử dụng trong bài lab
Giao thức LDP: dùng thiết lập mối quan hệ láng giềng giữa các LSR để thực hiện việc gán nhãn và phân phối nhãn.
Giao thức EIGRP: giao thức định tuyến nội dùng trong mạng của ISP sử dụng thuật toán distance vector và link – state.
Giao thức RIP: giao thức định tuyến nội dùng trong mạng của khách hàng sử dụng thuật toán distance vector.
Giao thức BGP: giao thức dạng path – vector dùng để định tuyến giữa mạng khách hàng và mạng của ISP nằm trong hai vùng tự trị khác nhau.
Các phần mềm sử dụng trong bài lab
GNS3 0.7.4: phần mềm giả lập các thiết bị mạng như router, switch sử dụng các IOS thật.
VMWare Workstation 7.0: phần mềm tạo ra các máy tính ảo chạy trên máy thật dùng để giả lập các máy FTP Server, Web Server và máy client.
Internet Download Manager 6.05: phần mềm hỗ trợ tăng tốc download.
DU Meter: phần mềm dùng để đo dung lượng dữ liệu đã gửi/nhận và đo băng thông.
CH Ư ƠNG IV
KẾT QUẢ THỬ NGHIỆM
Kết quả trang web mô phỏng chia sẻ dữ liệu trực tuyến
Trang chủ
Sau khi gõ vào địa chỉ trang web, người dùng sẽ được chuyển tới trang chủ.
Hình 64. Giao diện chính của trang web
Chức năng upload
Sau khi người dùng nhấn vào nút upload sẽ hiển thị cửa sổ upload dữ liệu từ máy tính.
Hình 65. Giao diện chức năng upload
Chức năng delete
Khi người dùng nhấn vào nút delete sẽ hiển thị cửa sổ để xác nhận việc xóa file.
Hình 66. Chức năng delete
Kết quả bài mô phỏng việc triển khai QoS trong mạng MPLS
Quy hoạch địa chỉ IP cho các thiết bị
Hình 67. Mô hình mạng bài lab
Quy hoạch cho máy Server và máy Client
IP Address
Default Gateway
Server
192.168.3.2/30
192.168.3.1
Client
192.168.3.14/30
192.168.3.13
Bảng 7. Bảng quy hoạch địa chỉ IP cho máy Server và máy Client
Quy hoạch cho các router mạng khách hàng
Fa1/0
Fa1/1
Loopback 0
CE1
192.168.3.5/30
192.168.3.1/30
192.168.1.1/32
CE2
192.168.3.10/30
192.168.3.13/30
192.168.2.1/32
Bảng 8. Bảng quy hoạch địa chỉ IP cho các router CE
Quy hoạch cho các router của nhà cung cấp dịch vụ ISP
Fa1/0
Fa1/1
Loopback 0
PE1
204.134.83.1/30
192.168.3.6/30
204.134.84.1/32
P1
204.134.83.5/30
204.134.83.2/30
204.134.84.2/32
P2
204.134.83.6/30
204.134.83.9/30
204.134.84.3/32
PE2
204.134.83.10/30
192.168.3.9/30
204.134.84.4/32
Bảng 9. Bảng quy hoạch địa chỉ IP cho các LSR
Kết quả
Trước tiên, kiểm tra kết nối giữa Server và Client xem đã thông hay chưa bằng cách thực hiện việc ping giữa 2 máy.
Ping từ Server đến Client
Hình 68. Kết quả ping từ Server đến Client
Ping từ Client đến Server
Hình 69. Kết quả ping từ Client đến Server
Khi kết nối giữa Server và Client đã thông suốt, tại Server, ta sẽ chạy chương trình XAMPP để kích hoạt các dịch vụ FTP và Web. Tại Client, ta sẽ thực hiện việc download các file hiện có trên FTP Server và Web Server. Việc download sẽ thực hiện trong hai trường hợp: mạng chưa áp các chính sách QoS và mạng đã áp các chính sách QoS.
Download file khi mạng chưa áp các chính sách QoS
Hình 70. Tốc độ tải file khi chưa áp dụng QoS
Download file khi mạng đã áp các chính sách QoS
Hình 71. Tốc độ tải file khi áp dụng QoS
KẾT LUẬN
Kết quả đạt được
Lý thuyết
Qua đề tài nghiên cứu này, chúng em đã hiểu rõ kiến trúc cơ bản của công nghệ MPLS, cách thức phân phối nhãn và cách truyền gói tin trong mạng MPLS.
Hiểu thêm về một số mô hình VPN, những ưu điểm cũng như hạn chế của công nghệ MPLS VPN so với mô hình VPN truyền thống.
Hiểu thêm về các kiến trúc QoS, sự kết hợp giữa mô hình DiffServ và MPLS.
Mô phỏng
Thực hiện thành công việc mô phỏng trang web chia sẻ dữ liệu ở mức độ tương đối đơn giản nhưng vẫn đảm bảo một số chức năng chính của một trang web chia sẻ dữ liệu.
Mô phỏng chính xác mô hình mạng thu nhỏ của một ISP sử dụng công nghệ MPLS trong mạng lõi và áp dụng các chính sách QoS một cách đúng đắn.
Hạn chế
Trang web chia sẻ dữ liệu chưa thực hiện được việc phân quyền cho người dùng, chưa có các tính năng nâng cao như tìm kiếm file, liệt kê danh sách các file được tải nhiều nhất, liệt kê các từ khóa được tìm kiếm nhiều nhất…
Do công nghệ MPLS có nền kiến thức trải rộng trên nhiều mảng nên còn một số mảng chúng em chưa nghiên cứu hết như TE, AtoM, MPLS trong môi trường IPv6…
Hướng phát triển
Nghiên cứu các mảng kiến thức rộng hơn trong vấn đề thực hiện QoS như TE, DS – TE… và triển khai trên thực tế.
Phát triển hệ thống Mạng đồng bộ các phòng ban từ cấp huyện đến cấp vùng cho toàn khu vực Miền Trung - Tây Nguyên dựa trên nền tảng công nghệ MPLS
Bổ sung các chức năng nâng cao cho trang web như phân quyền người dùng, tìm kiếm…
PHỤ LỤC
PHỤ LỤC A
Các hàm chính của website
function uploadify() {
$file = $this->input->post('filearray');
$data['json'] = $file = json_decode($file);
$newname = $this->_rename(BASEPATH . '../assets/upload/', $file->file_name);
if (!$newname) {
$newname = $file->file_name;
}
rename(BASEPATH . '../assets/upload/' . $file->file_name, BASEPATH . '../assets/upload/' . $newname);
$this->file_model->save(
array(
'file_name' => $newname,
'orig_name' => $file->file_name,
'file_ext' => $file->file_ext,
'file_size' => $file->file_size
)
);
$result = $this->load->view('file/uploadify', $data);
echo $result;
}
protected function _rename($path, $filename) {
$file_ext = substr($filename, strrpos($filename, ".")); // file extension .mp3
mt_srand();
$filename = md5(uniqid(mt_rand())) . $file_ext;
// check if file exist
if (!file_exists($path . $filename)) {
return $filename;
}
$filename = str_replace($file_ext, '', $filename);
$new_filename = '';
for ($i = 1; $i < 100; $i++) {
if (!file_exists($path . $filename . $i . $file_ext)) {
$new_filename = $filename . $i . $file_ext;
break;
}
}
if ($new_filename == '') {
return FALSE;
} else {
return $new_filename;
}
}
// basic upload
public function upload() {
$this->template->write_view('content', 'file/upload', array('error' => ''));
// render template
$this->template->add_js('assets/js/jquery-1.2.6.js');
$this->template->add_js('assets/js/jquery.MultiFile.min.js');
$this->template->write('title', 'Upload file');
$this->template->render();
}
public function do_upload() {
$config['upload_path'] = './assets/upload/';
$config['allowed_types'] = 'avi|mp3|doc|docx|rar|zip|pdf|txt';
$config['encrypt_name'] = TRUE;
$this->load->library('upload', $config);
$this->load->library('Multi_upload');
$files = $this->multi_upload->go_upload();
if (!$files) {
$error = array('error' => $this->upload->display_errors());
$this->template->add_js('assets/js/jquery-1.2.6.js');
$this->template->add_js('assets/js/jquery.MultiFile.min.js');
$this->template->write('title', 'Upload file fail, try again');
$this->template->write_view('content', 'file/upload', $error);
} else {
$data = array('upload_data' => $files);
// save db
foreach ($files as $file) {
$this->file_model->save($file);
}
$this->template->write_view('content', 'file/success', $data);
$this->template->write('title', 'Upload successful');
}
$this->template->render();
}
// download filew
public function download($id) {
// download + 1
$file = $this->file_model->get_by_id($id)->result_array();
$file[0]['downloaded'] = $file[0]['downloaded'] + 1;
$this->file_model->update($id, $file[0]);
redirect(base_url() . 'assets/upload/' . $file[0]['file_name'], 'refresh');
}
public function delete($id) {
$this->file_model->delete($id);
redirect('file', 'refresh');
}
}
PHỤC LỤC B
File cấu hình CE1
class-map match-all ftp-out
match ip dscp af31
class-map match-all http-in
match protocol http
class-map match-all ftp-in
match protocol ftp
class-map match-all http-out
match ip dscp af11
!
!
policy-map ip2mpls-in
description *** Policy to set DSCP value for IP packets ***
class http-in
set ip dscp af11
class ftp-in
set ip dscp af31
policy-map ip2mpls-out
description *** Policy to shape traffic before coming into MPLS domain ***
class http-out
bandwidth percent 20
shape average 1000000
class ftp-out
bandwidth percent 5
shape average 600000
class class-default
bandwidth percent 50
!
interface Loopback0
ip address 192.168.1.1 255.255.255.255
!
interface FastEthernet0/0
no ip address
shutdown
duplex half
!
interface FastEthernet1/0
description *** Connect to PE1 ***
ip address 192.168.3.5 255.255.255.252
duplex auto
speed auto
service-policy output ip2mpls-out
!
interface FastEthernet1/1
description *** Default Gateway ***
ip address 192.168.3.1 255.255.255.252
duplex auto
speed auto
service-policy input ip2mpls-in
!
router rip
version 2
network 192.168.3.0
no auto-summary
!
router bgp 65001
no synchronization
bgp log-neighbor-changes
redistribute connected
neighbor 192.168.3.6 remote-as 65000
no auto-summary
!
File cấu hình CE2
!
class-map match-all ftp-out
match ip dscp af31
class-map match-all http-out
match ip dscp af11
!
policy-map mpls2ip-out
description *** Policy to forward packets base on DSCP value ***
class http-out
bandwidth percent 20
random-detect
class ftp-out
bandwidth percent 5
random-detect
class class-default
bandwidth percent 50
random-detect
!
interface Loopback0
ip address 192.168.2.1 255.255.255.255
!
interface FastEthernet0/0
no ip address
shutdown
duplex half
!
interface FastEthernet1/0
description *** Connect to PE2 ***
ip address 192.168.3.10 255.255.255.252
duplex auto
speed auto
!
interface FastEthernet1/1
description *** Default Gateway ***
ip address 192.168.3.13 255.255.255.252
duplex auto
speed auto
service-policy output mpls2ip-out
!
router rip
version 2
network 192.168.3.0
no auto-summary
!
router bgp 65002
no synchronization
bgp log-neighbor-changes
redistribute connected
neighbor 192.168.3.9 remote-as 65000
no auto-summary
!
File cấu hình PE1
!
ip cef
no ip domain lookup
!
no mpls ip propagate-ttl
mpls ldp explicit-null
!
class-map match-all ftp-out
match mpls experimental topmost 3
class-map match-all http-in
match ip dscp af11
class-map match-all ftp-in
match ip dscp af31
class-map match-all http-out
match mpls experimental topmost 1
class-map match-all mpls2mpls-out
!
policy-map ip2mpls-in
description *** Policy to police traffic coming into MPLS domain ***
class http-in
police cir 1000000 bc 100000 be 100000
conform-action set-mpls-exp-topmost-transmit 1
exceed-action drop
violate-action drop
class ftp-in
police cir 600000 bc 100000 be 100000
conform-action set-mpls-exp-topmost-transmit 3
exceed-action drop
policy-map mpls2mpls-out
description *** Policy to forward packets base on EXP value ***
class http-out
set mpls experimental topmost 1
bandwidth percent 20
random-detect
class ftp-out
set mpls experimental topmost 3
bandwidth percent 5
class class-default
bandwidth percent 50
random-detect
!
interface Loopback0
ip address 204.134.84.1 255.255.255.255
!
interface FastEthernet0/0
no ip address
shutdown
duplex half
!
interface FastEthernet1/0
description *** Connect to P1 Router ***
ip address 204.134.83.1 255.255.255.252
duplex auto
speed auto
mpls label protocol ldp
mpls ip
service-policy output mpls2mpls-out
!
interface FastEthernet1/1
description *** Link to CE1 ***
ip address 192.168.3.6 255.255.255.252
duplex auto
speed auto
service-policy input ip2mpls-in
!
router eigrp 2011
network 204.134.83.0
network 204.134.84.0
no auto-summary
!
router bgp 65000
no synchronization
bgp log-neighbor-changes
neighbor 192.168.3.5 remote-as 65001
neighbor 204.134.84.4 remote-as 65000
neighbor 204.134.84.4 update-source Loopback0
neighbor 204.134.84.4 next-hop-self
no auto-summary
!
File cấu hình PE2
!
ip cef
no ip domain lookup
!
no mpls ip propagate-ttl
mpls ldp explicit-null
!
class-map match-all ftp-out
match qos-group 3
class-map match-all http-in
match mpls experimental topmost 1
class-map match-all ftp-in
match mpls experimental topmost 3
class-map match-all http-out
match qos-group 1
!
policy-map mpls2ip-in
description *** Policy to map EXP value to DSCP value ***
class http-in
set qos-group mpls experimental topmost
class ftp-in
set qos-group mpls experimental topmost
policy-map mpls2ip-out
description *** Policy to forward packets base on DSCP value ***
class http-out
set ip dscp af11
bandwidth percent 20
random-detect
class ftp-out
set ip dscp af31
bandwidth percent 5
random-detect
class class-default
bandwidth percent 50
random-detect
!
interface Loopback0
ip address 204.134.84.4 255.255.255.255
!
interface FastEthernet0/0
no ip address
shutdown
duplex half
!
interface FastEthernet1/0
description *** Connect to P2 Router ***
ip address 204.134.83.10 255.255.255.252
duplex auto
speed auto
mpls label protocol ldp
mpls ip
service-policy input mpls2ip-in
!
interface FastEthernet1/1
description *** Link to CE2 ***
ip address 192.168.3.9 255.255.255.252
duplex auto
speed auto
service-policy output mpls2ip-out
!
router eigrp 2011
network 204.134.83.0
network 204.134.84.0
no auto-summary
!
router bgp 65000
no synchronization
bgp log-neighbor-changes
neighbor 192.168.3.10 remote-as 65002
neighbor 204.134.84.1 remote-as 65000
neighbor 204.134.84.1 update-source Loopback0
neighbor 204.134.84.1 next-hop-self
no auto-summary
!
File cấu hình P1
!
ip cef
no ip domain lookup
!
no mpls ip propagate-ttl
!
class-map match-all ftp-out
match mpls experimental topmost 3
class-map match-all http-out
match mpls experimental topmost 1
!
policy-map mpls2mpls-out
description *** Policy to forward packets base on EXP value ***
class http-out
set mpls experimental topmost 1
bandwidth percent 20
random-detect
class ftp-out
set mpls experimental topmost 3
bandwidth percent 5
random-detect
class class-default
set mpls experimental topmost 0
bandwidth percent 50
random-detect
!
interface Loopback0
ip address 204.134.84.2 255.255.255.255
!
interface FastEthernet0/0
no ip address
shutdown
duplex half
!
interface FastEthernet1/0
description *** Link to P2 Router ***
ip address 204.134.83.5 255.255.255.252
duplex auto
speed auto
mpls label protocol ldp
mpls ip
service-policy output mpls2mpls-out
!
interface FastEthernet1/1
description *** Link to PE1 ***
ip address 204.134.83.2 255.255.255.252
duplex auto
speed auto
mpls label protocol ldp
mpls ip
!
router eigrp 2011
network 204.134.83.0
network 204.134.84.0
no auto-summary
!
TÀI LIỆU THAM KHẢO
James Reagan. CCIP MPLS Study Guide. Sybex, 2002, 456 tr.
Eric Osborne, Ajay Simha. Traffic Engineering with MPLS. Cisco Press, 2002, 608 tr.
Santiago Alvarez. QoS for IP/MPLS Networks. Cisco Press, 2006, 336 tr.
John Evans, Clarence Filsfils. Deploying IP and MPLS QoS for Multiservice Networks: Theory and Practice. Morgan Kaufmann, 2007, 419 tr.
Luc De Ghein. MPLS Fundamentals. Cisco Press, 2007, 608 tr.
Tim Szigeti. End – To – End QoS Network Design. Cisco Press, 2004, 768 tr.
Jim Guichard, Ivan Pepelnjak. MPLS and VPN Architectures. Cisco Press, 2000, 448 tr.
Các file đính kèm theo tài liệu này:
- Tìm hiểu công nghệ MPLS – VPN – QoS.doc