Luận văn Mạng mpls và ứng dụng trong ngành thuế

Với việc áp dụng mô hình DiffServ trên hạ tầng truyền thông ngành Tài chính, Bộ tài chính có khả năng phân luồng lưu lượng trên hệ thống mạng trục chính của ngành cho những ứng dụng quan trọng của ngành tài chính như ứng dụng TABMIS, ITAIS, có thể hoạt động thông suốt và hiệu quả từ cấp Trung ương xuống tới địa phương.

pdf78 trang | Chia sẻ: lylyngoc | Lượt xem: 2359 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Luận văn Mạng mpls và ứng dụng trong ngành thuế, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
n lớp hoặc CAR. Bảng chính sách có thể đƣợc tạo thông qua việc sử dụng bảng lớp dịch vụ xác định. Cuối cùng chính sách đƣợc áp dụng cho các giao diện cho cả chiều đến và chiều đi. Cơ chế dựa trên chính sách thì đơn giản, rõ ràng và có khả năng mở rộng để thực hiện DiffServ. 34 2.4 Triển khai dịch vụ DiffServ trên mạng MPLS 2.4.1 MPLS hỗ trợ DiffServ MPLS LSR không kiểm tra nội dung của tiêu đề gói tin IP và giá trị của trƣờng DSCP theo yêu cầu của dịch vụ DiffServ. Điều này có nghĩa rằng PHB cần xác định từ giá trị nhãn. Các tiêu đề của MPLS shim có một trƣờng 3 bit gọi là Exp. Ban đầu nó đƣợc định nghĩa cho mục đích thử nghiệm. Trƣờng này hỗ trợ 8 giá trị khác nhau và đƣợc dùng để MPLS hỗ trợ cho 8 lớp dịch vụ trên DiffServ. Nhƣ Hình 2-6, các bit ƣu tiên IP hoặc 3 bit đầu tiên của trƣờng DSCP đƣợc sao chép vào trong trƣờng EXP của MPLS tại biên của mạng. Mỗi LSR thông qua đƣờng LSP sẽ ánh xạ bit Exp đến một PHB. Dịch vụ của nhà cung cấp có thể đặt một gói tin phân lớp dịch vụ MPLS theo những giá trị khác nhau đƣợc xác định bởi dịch vụ cung cấp. Điều này cho phép nhà cung cấp dịch vụ thiết lập trƣờng MPLS EXP thay vì ghi đè giá trị trong trƣờng ƣu tiên IP của khách hàng. Các khách hàng cấu hình CoS không thay đổi khi các gói tin chuyển qua các đƣờng trục chính. Các LSP tạo bằng cách này đƣợc gọi là E-LSPs hoặc Exp-LSPs. E-LSPs có thể hỗ trợ lên đến 8 PHB cho mỗi LSP. Hình 2-6 MPLS E-LSP Nhƣ trong Hình 2-7 dƣới, nếu có nhiều hơn 8 PHB cần thiết cho mạng MPLS, L-LSPs (Label LSPs) đƣợc sử dụng trong trƣờng hợp này PHB của LSR đƣợc suy ra từ nhãn. 35 Hình 2-7 MPLS L-LSP 2.4.2 Mô hình đƣờng hầm DiffServ qua mạng MPLS MPLS LSP hỗ trợ DiffServ định nghĩa ba mô hình tƣơng tác đánh dấu DiffServ trong việc đóng gói dữ liệu ở các tầng mạng khác nhau. Một ví dụ đơn giản là một gói tin IP nhận đƣợc đóng gói MPLS. Có một PHB đánh dấu trong gói MPLS và một PHB đánh dấu trong trƣờng DiffServ của gói tin IP. Có ba mô hình xử lý tƣơng tác trong việc lựa chọn đánh dấu: mô hình ống, mô hình ống ngắn và mô hình thống nhất [9]. Các mô hình xác định thủ tục mà một LSR có thể áp dụng khi một gói tin (có thể là IP hoặc MPLS) với việc PHB hiện tại đánh dấu khi gói tin đi vào hoặc thoát ra khỏi một đƣờng LSP. Ba mô hình không làm thay đổi hành vi trao đổi nhãn thông thƣờng của một LSR hoặc bất kỳ yêu cầu báo hiệu nào. Những mô hình này áp dụng chung cho E- LSP và L-LSP.  Mô hình ống Mô hình ống che dấu đƣờng hầm mà PHB đánh dấu giữa các nút mạng LSP lối vào và LSP lối ra. Mô hình này đảm bảo không có sự thay đổi đối với đƣờng hầm PHB đánh dấu thông qua LSP, thậm chí nếu có một LSR chuyển qua đƣờng hầm đƣợc điều chỉnh lƣu lƣợng và đánh dấu lại lƣu lƣợng. Tất cả LSR đi qua LSP sử dụng LSP mà PHB đánh dấu và bỏ qua đƣờng hầm PHB đánh dấu. Mô hình này chứng tỏ hữu ích khi mạng MPLS kết nối với những vùng mạng áp dụng DiffServ khác nhau. Mạng MPLS có thể thực hiện DiffServ mà không ảnh hƣởng đến việc kết nối giữa các vùng. Hình 2-8 minh họa hoạt động của mô hình ống. Các LSP vào xác định LSP mà PHB đánh dấu và nó sẽ đƣợc mã hoá trong gói tin chuyển đi. Nó cũng có thể xác định 36 PHB hiện thời đánh dấu trong gói tin cho mục đích này. Nó giữ nguyên đƣờng hầm PHB đánh dấu khi chuyển đóng gói một nhãn mới. Các gói tin chuyển qua LSP có thể là một gói tin IP hoặc MPLS. Các LSP lối ra phục vụ gói tin theo LSP mà PHB đánh dấu. Hình 2-8 Mô hình đường ống  Mô hình ống ngắn Mô hình ống ngắn đại diện cho một biến thể của mô hình ống. Nó đảm bảo rằng không có thay đổi trong đƣờng hầm PHB đánh dấu, ngay cả khi LSR đánh dấu lại LSP PHB đánh dấu. Mô hình đƣờng ống ngắn giống khả năng của mô hình ống cho phép một mạng MPLS là trong suốt khi áp dụng mô hình DiffServ. LSP lối ra sử dụng đƣờng hầm PHB đánh dấu để chỉ ra gói tin PHB và đáp ứng cho gói tin đó. Do khác biệt với mô hình ống, một mạng MPLS có thể thực hiện LSP bằng cách sử dụng mô hình ống ngắn bất kể LSR có thể thực hiện PHP. Hình 2-9 cho thấy chi tiết các hoạt động của mô hình ống ngắn với PHP. LSP lối vào cần xác định LSP mà PHB đánh dấu nó sẽ mã hóa trong gói tin chuyển đi. Nó có thể xác định PHB hiện thời đánh dấu trong gói tin. LSP lối vào cũng duy trì đƣờng hầm PHB đánh dấu khi chuyển đóng gói nhãn mới. Mô hình ống và mô hình ống ngắn sử dụng một thủ tục giống nhau cho LSP lối vào. Nó suy ra gói tin PHB từ LSP mà PHB đánh dấu trƣớc khi thực hiện các hoạt động loại bỏ. Chặn áp chót không sửa đổi 37 đƣờng hầm PHB đánh dấu để cho thấy hoạt động loại bỏ. LSP lối ra chỉ ra gói tin PHB từ đƣờng hầm PHB đánh dấu trong tiêu đề của gói tin chuyển đi. Hình 2-9 Mô hình đường ống ngắn với PHP Hình 2-10 dƣới cho thấy chi tiết mô hình ống ngắn cho LSP không sử dụng PHP. Các hoạt động của LSP lối vào vẫn giữ nguyên nhƣ trƣớc. Tại các chặn cuối thực hiện việc trao đổi nhãn và đáp ứng cho gói tin tƣơng ứng E-LSP hoặc L-LSP. LSP lối ra chỉ ra gói tin PHB từ đƣờng hầm PHB đánh dấu trong tiêu đề sử dụng để chuyển tiếp gói tin. Hành động này chỉ ra LSP lối ra với gói tin PHB sau khi nhãn đƣợc loại bỏ. Nút mạng chuyển tiếp trên đƣờng hầm đánh dấu PHB chƣa sửa đổi. Mô hình ống ngắn thƣờng cung cấp các hành vi bên ngoài cho dù PHP sẽ xẩy ra. 38 Hình 2-10 Mô hình đường ống ngắn không có PHP  “Uniform Model” [10] Mô hình thống nhất thực hiện cho một LSP mở rộng của miền DiffServ trong việc đóng gói tin. Trong mô hình này, một gói tin có ý nghĩa duy nhất do PHB đánh dấu (nằm bên trong đóng gói hiện thời). LSR quảng bá gói tin PHB đến khi thực hiện hành động loại bỏ. Quảng bá này có nghĩa rằng bất kỳ gói tin nào đƣợc đánh dấu lại đƣợc mô tả trên gói tin khi rời khỏi LSP. LSP sẽ trở thành một phần của vùng DiffServ trái ngƣợc với mô hình ống hoặc ống ngắn đƣợc cung cấp. Mô hình này hữu ích khi kết nối một mạng MPLS với vùng DiffServ khác hoặc với toàn mạng (bao gồm mạng MPLS). Hình 2-11 dƣới minh họa hoạt động của mô hình thống nhất với PHP. LSP lối vào mã hoá gói tin hiện tại PHB đánh dấu trong đóng gói tin chuyển đi. Khi gói tin đƣợc đóng gói mới, PHB đánh dấu đƣợc đóng gói trở nên không thích hợp. Các chặn áp cuối chỉ ra gói tin PHB trƣớc khi thực hiện hành động loại bỏ và mã hóa nó trong đóng gói tin hiện thời. 39 Hình 2-11 Mô hình đường hầm thống nhất với PHP Hình 2-12 dƣới cho thấy chi tiết mô hình đƣờng hầm thống nhất cho LSP không có PHP. Hoạt động của LSP lối vào vẫn giữ nguyên. Các chặn cuối thực hiện một hoạt động trao đổi nhãn thƣờng xuyên. Các LSP lối ra thƣờng chỉ ra PHB trƣớc khi hoạt động loại bỏ nhãn và truyền đánh đấu PHB cho đóng gói hiện thời. Mô hình thống nhất thƣờng cung cấp hành vi bên ngoài giống nhau bất kể LSP sử dụng PHP. 40 Hình 2-12 Mô hình đường hầm thống nhất không có PHP 41 CHƢƠNG 3 ỨNG DỤNG MÔ HÌNH DIFFSERV TRONG VIỆC ĐẢM BẢO CHẤT LƢỢNG DỊCH VỤ MẠNG MPLS Trong chƣơng này sẽ trình bày khái quát về hệ thống mạng MPLS ngành Tài chính. Đề suất việc sử dụng mô hình DiffServ trong việc đảm bảo chất lƣợng dịch vụ đƣờng truyền trên hệ thống mạng MPLS ngành Tài chính. Mô tả các kết quả đo đạc trên đƣờng truyền MPLS ngành thuế, các thực nghiệm kiểm chứng hiệu quả của việc áp dụng mô hình DiffServ trên công cụ mô phỏng NS2. 3.1 Hạ tầng truyền thông ngành Tài chính 3.1.1 Giới thiệu Hạ tầng truyền thông ngành Tài chính đƣợc tổ chức theo mô hình sau [1]: Hình 3-1 Mô hình hạ tầng truyền thông ngành Tài chính  Kết nối logic Hạ tầng truyền thông ngành Tài chính bao gồm các kết nối:  Kết nối dọc ngành Tài chính các cấp Trung ƣơng, Tỉnh, Huyện. 42  Kết nối ngang với các ngành trực thuộc nhƣ Thuế, Kho bạc nhà nƣớc, Hải quan, Chứng khoán, Dự trữ quốc gia, Ban vật giá Chính phủ, Học viện tài chính.  Kết nối mạng Tài chính với các đơn vị khác: Văn phòng chính phủ, UBND các địa phƣơng.  Kết nối Internet cho Bộ tài chính , Website nội bộ, email Hệ thống mạng của BTC đƣợc thiết kế theo cấu trúc phân cấp với 3 lớp chính: miền, tỉnh, lớp truy cập vào tỉnh. Các đơn vị kết nối vào hệ thống mạng BTC đều tuân theo quy định:  Trung ƣơng sẽ kết nối vào TTM.  Các đơn vị trực thuộc tỉnh sẽ kết nối tới TTT của tỉnh đó. Mỗi miền có một TTM đƣợc đặt tại 2 đầu là Hà Nội và thành phố HCM. TTM Bắc sẽ đặt ngay tại Trụ sở BTC ở Hà Nội, TTM Nam sẽ đặt tại Văn phòng BTC khu vực phía Nam ở thành phố HCM. Các trụ sở của các đơn vị khác nhƣ: Tổng Cục Thuế, Tổng Cục Hải Quan, Kho bạc Nhà Nƣớc, Dự trữ quốc gia, Ủy ban chứng khoán, Ban Vật giá chính phủ, Học viện Tài chính sẽ kết nối vào TTM tức BTC ở Hà Nội, các văn phòng của các đơn vị này phía Nam sẽ kết nối vào TTM phía Nam. Tại mỗi tỉnh có một TTT, TTT này sẽ kết nối về TTM và kết nối xuống các TTH trực thuộc tỉnh đó. Các đơn vị cấp tỉnh thuộc các ngành nhƣ Cục thuế tỉnh, Cục Hải Quan, Kho bạc tỉnh, Sở Tài chính, Chi nhánh Dự trữ quốc gia, Chi nhánh học viện tài chính, … trực thuộc tỉnh nào sẽ kết nối vào TTT của tỉnh đó. Ngoài kết nối bên trong các đơn vị trực thuộc Bộ Tài Chính, HTTT BTC còn kết nối tới các cơ quan khác của chính phủ, quốc hội, UBND các cấp và các tổ chức khác nhƣ các Ngân hàng, công ty Xổ số, công ty Bảo hiểm, …  Kết nối vật lý Hạ tầng truyền thông BTC có kiến trúc 3 cấp mạng: Lớp lõi, Lớp tập trung và lớp Truy cập biên [2].  Lớp lõi đảm nhiệm chức năng chuyển tiếp gói đến từ một giao tiếp này đến giao tiếp khác một cách càng nhanh càng tốt. Do đó, thiết kế lớp lõi càng đơn giản thì càng hiệu quả nhất là trong việc nâng cấp thiết bị trong tƣơng lai để tránh việc ảnh hƣởng đến toàn bộ kiến trúc mạng. 43  Lớp tập trung có chức năng giống nhƣ tên gọi của nó đó là tập trung các luồng lƣu lƣợng từ các lớp truy cập khác nhau, sau đó sẽ chuyển tiếp đến lớp lõi để xử lý tiếp. Việc tách biệt giữa lớp tập trung và lớp lõi sẽ giúp ích cho việc vận hành mạng một cách hiệu quả và đơn giản hơn. Thực tế, lớp lõi sẽ chỉ tập trung vào công việc chuyển tiếp gói càng nhanh càng tốt để tăng thông lƣợng của mạng.  Lớp truy cập biên là lớp cung cấp kết nối trực tiếp tới các thiết bị và ngƣời dùng cuối. Lớp truy cập biên là lớp tập trung rất nhiều đến xứ lý an ninh, chính sách ngƣời sử dụng, phân lọai lƣu lƣợng và phục vụ kết nối tốc độ thấp. 3.1.2 Thiết Kế Truy Cập Cho Tổng Cục Thuế Hệ thống mạng của BTC đƣợc thiết kế theo cấu trúc phân cấp với 3 lớp chính: miền, tỉnh, lớp truy cập vào tỉnh. Các đơn vị kết nối vào hệ thống mạng BTC đều tuân theo quy định:  Kết nối vật lý Các router CCT tại các quận huyện sẽ có 2 kết nối, 1 kết nối chính chạy ADSL về router CT và một kết nối dự phòng chạy ADSL về thẳng router TTT-2. Tại router CT và router TTT-2, đƣờng kết nối vật lý sẽ là G.SHDSL có băng thông bằng tổng băng thông của tất cả các kênh truyền CCT công lại, đảm bảo không nghẽn trong thời gian cao điểm. Các kết nối này thực hiện qua kênh MPLS VPN của VNPT. Các kết nối từ router CT về router TTT, cũng nhƣ từ các router CCT về router CT & TTT đều thực hiện qua kênh GRE tunnel. Điều này nhằm 2 mục đích:  Chủ động việc định tuyến cho mạng của TCT khi sử dụng kênh truyền MPLS L3 của nhà cung cấp dịch vụ công cộng.  Tăng cƣờng khả năng bảo mật cho mạng của TCT khi dữ liệu cũng đã đƣợc mã hóa bằng các tunnel GRE khi đi qua mạng của nhà cung cấp dịch vụ. 44 Hình 3-2 Mô hình kết nối cho Cục thuế mỗi tỉnh Hình 3-3 Mô hình kết nối tổng quát GRE Tunnel OSPF là giao thức định tuyến đƣợc sử dụng trong mô hình này. Tuy nhiên, chỉ có default gateway 0/0 là đƣợc quảng bá xuống cho các CCT router, CC router để đơn giản hóa việc định tuyến và giảm tải tính toán, tăng sự ổn định trên toàn mạng. Tính năng cân bằng tải cũng đƣợc thiết lập trên các kết nối để tăng khả năng tận dụng đƣờng truyền.Với mô hình này, các kết nối truy xuất cơ sở dữ liệu trực tuyến tại Cục thuế sẽ đi đƣờng ngắn nhất sử dụng giao thức OSPF. Trong trƣờng hợp mạng bị ngắt, thì hệ thống sẽ tự động hội tụ sau thời gian time-out của giao thức. 45  Các dịch vụ trên mạng Trên đƣờng truyền kết nối của ngành Thuế đang sử dụng các dịch vụ sau:  Trao đổi mã số thuế.  Quản lý thuế.  Trao đổi thông tin hệ thống: email, ftp, update virus, hỗ trợ từ xa về ứng dụng, xử lý sự cố, chỉnh sửa web.  Portal tại tổng cục.  Quản lý hóa đơn trên mạng.  Hệ thống Active Directory, chat room, communication. 3.2 Đề suất cải tiến về chất lượng dịch vụ trên đường truyền ngành Tài chính Hiện nay Hạ tầng truyền thông ngành Tài chính chƣa có hệ thống tính cƣớc sử dụng kết nối WAN đối với các ngành có sử dụng cơ sở hạ tầng truyền thông BTC, điều này dẫn tới sự bất bình đẳng giữa các ngành trong việc sử dụng một cơ sở hạ tầng chung, không có thống kê tổng thể về lƣu lƣợng sử dụng hệ thống để qua đó có các dự báo chính xác về nhu cầu sử dụng dịch vụ trong tƣơng lai. Kết quả dẫn đến chất lƣợng dịch vụ kết nối bị giảm. Vì đây là một hệ thống lớn, nhiều thiết bị phân phối trên cả nƣớc, do đó các chính sách QoS đƣa ra cần có tính tổng thể, khả năng mở rộng cao. Do đó sử dụng mô hình DiffServ với nguyên tắc sau:  Với việc đánh dấu độ ƣu tiên các gói tin tại các thiết bị biên, gần nơi phát, cụ thể tại các PE Router thuộc TTT, TTM.  Áp dụng các chính sách QoS nhƣ Queuing, giới hạn băng thông, chống nghẽn mạch, ... trên tất cả các kết nối WAN và có thể trên cả các kết nối LAN khi cần thiết. 46 Hình 3-4 Mô hình kết hợp DiffServ vào trong mạng MPLS 3.2.1 Xác định mức độ ƣu tiên gói tin IP Precedence, MPLS exp  Giá trị IP Precedence đƣợc xác định trên các Router tại biên (đồng thời la PE router trên hệ thống mạng trục MPLS của Bộ tài chính), tại PE router, độ ƣu tiên gói tin IP precedence sẽ đƣợc sao chép sang trƣờng MPLS Exp trên MPLS header, và trên lớp lõi các thiết bị sẽ dựa vào 3 bit của trƣờng MPLS Exp này để thực hiện các chính sách về QoS.  Trong một số trƣờng hợp, tùy thuộc vào thỏa thuận dịch vụ, Bộ Tài chính có thể chọn cách cho phép router CE của các ngành đƣợc quyền thiết lập IP Precedence. Nhờ kiểm soát các thiết lập IP Precedence, khi CE Router đƣợc quản lý bởi Bộ tài chính, việc thiết lập IP Precedence và phân loại lƣu lƣợng có thể đƣợc thực hiện tại biên để nâng cao hiệu xuất hoạt động xử lý ở các PE. 3.2.2 Các lớp dịch vụ tƣơng ứng với IP Precedence: Bộ Tài chính có thể định nghĩa các lớp dịch vụ khác nhau là bạch kim, vàng, bạc và đồng. Bảng sau định nghĩa từng loại dịch vụ và ánh xạ tƣơng ứng với các bit IP Precedence. Cấp chất lƣợng Đặc tính Các bit IP Precedence tƣơng ứng Đồng Nỗ lực tốt nhất (truy cập Web) 0,1 Bạc Đảm bảo chuyển giao (Guaranteed Delivery) (ứng dụng Client/Server) 2,3 Vàng Các ứng dụng rất quan trọng. Đảm bảo độ trể thấp 4 Bạch kim Cấp chất lƣợng “Vàng” kèm với việc đảm bảo băng thông. (Voice) 5 47  Các lớp dịch vụ và IP Precedence trong Bộ TC.  Sử dụng cơ chế loại bỏ các gói tin theo độ ƣu tiên để tránh bị nghẽn mạch. Chẳng hạn, lớp dịch vụ bạc đảm bảo 30% băng thông tối thiểu trên một mạch OC-3. Nhƣng đến lúc sự nghẽn mạch chuẩn bị xảy ra, các gói tin lớp bạc với IP Precedence 2 sẽ bị loại bỏ trƣớc các gói tin lớp bạc có IP Precedence 3. Cũng cần lƣu ý rằng, trong thời điểm đó, các gói tin với IP Precedence 0 và 1 đã bắt đầu bị loại bỏ từ trƣớc.  Dịch vụ bạch kim có quyền ƣu tiên cao nhất, và sẽ ít có khả năng bị loại bỏ nhất trong các trƣờng hợp nghẽn mạch. Dịch vụ này thông thƣờng sẽ đƣợc dùng để chuyển tải lƣu lƣợng thoại trên hệ thống mạng trục. Khách hàng có thể không thuê bao dịch vụ Bạch kim, nhƣng họ sẽ nhận đƣợc lớp dịch vụ này khi lƣu lƣợng thoại của họ đi qua lớp mạng lõi IP. 3.2.3 Giới hạn băng thông  Cho phép router lớp biên xác định và phân loại các gói tin khách hàng, và theo tuỳ chọn, có thể giới hạn định mức lƣu lƣợng đầu vào. Các lƣu lƣợng trên đƣờng truyền kể cả các lƣu lƣợng quá tải của giao thức cũng đƣợc tính vào giới hạn định mức đầu vào.  Khả năng giới hạn băng thông cho phép thiết lập các chính sách về lƣu lƣợng cho các đơn vị kết nối. Thiết bị tại biên có thể phân loại và áp đặt chính sách lƣu lƣợng trên một giao diện ngõ vào, và thiết lập các chính sách khác để xử lý lƣu lƣợng vƣợt quá mức độ băng thông định trƣớc. Việc giới hạn băng thông này cũng cần có thêm khả năng thiết lập IP Precedence dựa theo phân loại danh sách truy cập mở rộng và phần lƣu lƣợng vƣợt quá ngƣỡng cho phép. Điều này khiến việc gán các IP Precedence trở nên linh hoạt hơn, chẳng hạn phân bố theo ứng dụng, theo cổng, hoặc theo các địa chỉ nguồn/đích, theo lƣu lƣợng, v.v…. Việc giới hạn băng thông định mức đã đƣợc thiết lập trƣớc trên các PE router này nhằm giảm nhẹ tình trạng nghẽn mạch ở trên lớp lõi MPLS.  Việc giới hạn băng thông đòi hỏi nhiều xử lý ở CPU trên router, do đó, một cách lý tƣởng nhƣng không phải bắt buộc là thực hiện chức năng này trên các CE router đƣợc Bộ Tài chính quản lý tập trung. 48 3.2.4 Loại bỏ có chọn lọc các gói tin  Việc loại bỏ này giúp tránh đƣợc nghẽn mạch. Kỹ thuật này giám sát lƣu lƣợng tải của mạng nhằm tính trƣớc và tránh nghẽn mạch ở các nút cổ chai mạng, điều này ngƣợc hẳn với kỹ thuật quản lý nghẽn mạch dùng để xử lý tình trạng nghẽn mạch khi nó xảy ra.  Đƣợc thiết kế để tránh nguy cơ nghẽn mạch trong mạng trƣớc khi nó hình thành. Tận dụng khả năng giám sát luồng của lƣu lƣợng TCP. Loại bỏ có chọn lọc các gói tin sẽ giám sát lƣu lƣợng ở các điểm trên mạng và loại bỏ các gói tin nếu sự nghẽn mạng bắt đầu tăng lên. Kết quả là thiết bị nguồn sẽ phát hiện lƣu lƣợng bị loại bỏ, và giảm tốc độ truyền lại. Việc loại bỏ có chọn lọc các gói tin cần đƣợc thực hiện theo thứ tự từ các loại lƣu lƣợng có độ ƣu tiên thấp, nhằm bảo đảm rằng các lƣu lƣợng có độ ƣu tiên cao sẽ đƣợc cho qua. 3.2.5 Các cơ chế xếp hàng gói tin (Queueing):  Có khả năng gán các lớp Queue khác nhau cho các loại hình dịch vụ khác nhau.  Qua việc gán các lớp Queue khác nhau, những tài nguyên ít đƣợc sử dụng sẽ đƣợc chia sẻ giữa các lớp dịch vụ nhằm tối ƣu hoá hiệu quả của băng thông.  Có khả năng cho phép các lớp dịch vụ ứng dụng đƣợc ánh xạ đến một phần dải thông trên hệ thống. Ví dụ, một Queue có thể đƣợc cấu hình để chiếm gần 35% đƣờng truyền OC3.  Hình dƣới thể hiện ba lớp dịch vụ khác nhau:  “Vàng ”, đảm bảo về chuyển giao và thời gian truyền  “Bạc ”, đảm bảo chuyển giao  “Đồng ”, nỗ lực dịch vụ tốt nhất Hình 3-5 Các lớp dịch vụ khác nhau cùng chia sẻ băng thông 49  Bằng cách phân bố băng thông và lập bộ đệm tách biệt, Bộ tài chính có thể thiết kế các lớp dịch vụ riêng cho các loại hình ứng dụng của các đơn vị. Ví dụ nhƣ BTC có thể qui định dịch vụ vàng cho lƣu lƣợng video. Các chia sẻ trên phân bố một lƣợng lớn cho lớp dịch vụ vàng đồng nghĩa với việc đảm bảo dịch vụ tối thiểu. Nếu lớp dịch vụ vàng ít đƣợc sử dụng, băng thông này sẽ đƣợc chia sẻ cho các lớp còn lại theo tỷ lệ của chúng. Điều này sẽ đảm bảo hiệu quả tối đa và lƣu lƣợng khác sẽ đƣợc gửi đi nếu băng thông có sẵn.  Có thể sử dụng nhiều dịch vụ tuỳ theo yêu cầu của mình. Chẳng hạn, có thể dùng dịch vụ có độ trễ thấp cho các ứng dụng hội nghị video và các dịch vụ có độ trễ cao hơn cho thông lƣợng e-mail.  Tính mở rộng là điều rất quan trọng đối với một kế hoạch đảm bảo dịch vụ mạng hiệu quả. Việc áp dụng QoS trên cơ sở flow-by-flow là không thực tế, vì số lƣợng luồng lƣu lƣợng IP trong mạng của Bộ Tài Chính là rất lớn. Do vậy, trong các mạng có nhiều dịch vụ, băng thông đƣợc cấu hình theo lớp dịch vụ, chứ không theo kết nối.  Tất cả các gói tin phải đƣợc xử lý đồng đều dựa trên gia trọng, không có lớp dịch vụ của gói tin nào có thể có đƣợc quyền ƣu tiên tuyệt đối. Điều này gây khó khăn cho lƣu lƣợng thoại, vốn không chấp nhận độ trễ lớn, đặc biệt là độ trễ không ổn định. Sự biến thiên độ trễ ở lƣu lƣợng thoại sẽ làm cho quá trình truyền dẫn không đều, gây ra hiệu ứng âm thanh bị ngắt quãng cho cuộc thoại.  Có cơ chế cho phép tạo các hàng đợi có độ ƣu tiên tuyệt đối, cho phép một hàng đợi ƣu tiên tuyệt đối đƣợc ƣu tiên truyền tải trƣớc các hàng đợi khác. 3.3 Kết quả đo đạc thông lượng trên đường truyền MPLS ngành Thuế Thời điểm tiến hành đo thông lƣợng trên đƣờng truyền ngành Thuế khi chƣa tiến hành cấu hình QoS trên các Router trong mạng Hạ tầng truyền thông BTC. Để tiến hành đo đạc thông lƣợng trên mạng MPLS ngành thuế sử dụng thiết bị Packetshaper. 50 Đường quang từ 123 Lò Đúc đến DC Cầu Giấy Hào Nam Hạ Tầng Truyền Thông Bộ KHDT 2950G-48 Switch 10.64.16.105 (TCT_SW05) Cisco 4912 (TCT_SW11) TCT_SW03 zz TCT_SW02 10.64.16.5 TCT_SW01 10.64.16.1 Cisco 4503 (TCT_SW20) Internet VDC 100Mbps v SW Access SW Access SW Access SW Access Access Layer SW_Area9 Server Vùng 9 SW_Area0 Server Vùng 0 Cisco Cisco Cisco HITC Cisco Datacenter FPT Cầu Giấy 123 Lò Đúc SW_Area8 Server Vùng 8 MGT 10 Vùng quản trị & ilo PIX 525 – FW02 (TCT_FW_PIX-02) 10.64.10.1 Netscreen FW-02 (TCT-FW-NS02) 10.64.10.12 Internet mớiv SW_Area PIT Server Vùng 12 PIT TCT_SW04 Netscreen FW-01 (TCT-FW-NS01) 10.64.10.6 Packetshaper OutsideInside IPS/IDP Proventia G400 (Proventia G400) 10.64.254.206/26 Left G0/0 Hình 3-6 Vị trí lắp đặt Packetshaper tại Data Center 51 F0/21 Switch Trung Tâm F0/23 MPLS Chi Cục Thuế Router CCT F0/24 Modem CCT Cisco 2960 10.x.64.240/24 Internet Internet 17 2. 16 .2 54 .2 /2 4 2 5 6 Vlan4 TTT-KBNN Juniper 6300 Lea sed lin e 7 8 9 10 11 12 24 23 24 Cisco 2960 172.16.3.1/22 Cisco 2960 172.16.3.2/22 SW04 SW05 eth1/6-7 b0 172.16.0.1/22 eth1/2 eth1/5 17 2. 16 .2 53 .1 /2 4 17 2. 16 .2 52 .1 /2 4 eth1/4 17 2. 16 .2 54 .1 /2 4 SW03 eth1/0 10.x.64.241/24 eth1/1 eth1/1.16 172.1.16.1/24 eth1/1.17 172.1.17.1/24 G0/24 G0/19G0/23 Cisco 3560 10.x.64.239/24 24 G0/20 G0/21 G0/22 Po1 WLAN Controller 17 13 24 G0/1 G0/1.4 172.19.y.74/29 G0/1.5 172.19.y.66/29 G0/1.6 172.19.y.82/29 G0/1.7 172.n.m.18/29 Cisco 2821 R01 G0/0 10.x.65.241/24 Cisco 3600 14 V la n3 10.x.65.1/24 eth1/3 KBNN Cisco 3600 JUNIPER 6300 MPLS TTM MPLS TTM Inside OutsideMgt Packetshaper Hình 3-7 Vị trí lắp đặt Packetshaper tại Cục thuế Phú Thọ 1824 UPS Server 12 Internet Internet Vlan5 C2950 10.xx.yy.243/28 11 F0/0 F0/0.1 10.xx.yy.241/28 F0/0.2 172.19.x.y/29 F0/0.3 172.19.x.t/29 MPLS TTM MPLS Cục Thuế Modem CT Modem CCT CT KBNN MPLS TTM Inside OutsidePacketshaper Mgt 13 SW01 SW02 10.26.66.231/24 Hình 3-8 Vị trí lắp đặt Packetshaper tại Chi cục Thuế Việt Trì 52 3.3.1 Thông lƣợng truy cập vào TTDL Hình 3-9 thông lƣợng truy cập vào TTDL. Ta nhận thấy thông lƣợng trong thời gian này đỉnh cao nhất là 44 Mbps còn tỷ lệ sử dụng trung bình là khoảng 11Mbps. Hình 3-9 Thông lượng truy cập vào TTDL Mƣời ứng dụng truy cập vào trong hệ thống mạng đó là: Hình 3-10 Mười ứng dụng đứng đầu truy cập vào TTDL 53 3.3.2 Thông lƣợng vào ra Cục thuế Phú Thọ Hình 3-11 thông lƣợng truy cập vào, ra từ Cục Thuế Phú Thọ trong thời gian một tuần. Trong khoảng thời gian này thông lƣợng truy cập ra cao nhất là 11.5M còn trung bình cao nhất là 4.8M. Hình 3-11 Thông lượng ra vào Cục thuế Phú Thọ Mƣời ứng dụng đứng đầu truy cập ra là: Hình 3-12 Mười ứng dụng đứng đầu truy cập ra CT Phú Thọ 54 3.3.3 Thông lƣợng xuất phát từ chi cục thuế Việt Trì Thông lƣợng vào, ra của chi cục thuế Việt Trì trong khoảng thời gian một tuần là: Hình 3-13 Thông lượng ra vào Chi cục Thuế Việt Trì Trong khoảng thời gian này thông lƣợng cao nhất là 7.2M thông lƣợng trung bình cao nhất là 4.2M. Hình 3-14 Mười ứng dụng truy cập ra CCT Việt Trì 55 3.3.4 Nhận xét về thông lƣợng trên đƣờng truyền MPLS ngành Thuế: Từ thực tế đo đạc thông lƣợng trên đƣờng truyền MPLS ngành Thuế nhận thấy rằng mặc dù BTC liên tục nâng cấp tốc độ đƣờng truyền cho kết nối từ TTT xuống các CT & CCT (hiện tại tốc độ 2 đƣờng MPLS là 2Mbps) nhƣng đƣờng truyền bƣớc đầu đã có hiện tƣợng nghẽn trên mạng do các ứng dụng ngành Thuế triển khai ngày càng tăng lên để đáp ứng cho công tác quản lý thuế mới. Các ứng dụng không đƣợc phân bố tỷ lệ đƣờng truyền theo mức độ quan trọng của ứng dụng nhƣ các ứng dụng phục vụ cho quản lý thuế (sử dụng dịch vụ Oracle) chiếm tỷ lệ nhỏ so với với các ứng dụng giải trí (FlashVideo, MPEG-Audio). 3.4 Thực nghiệm kiểm chứng hiệu quả của việc áp dụng mô hình DiffServ trên công cụ mô phỏng NS2 Việc kết hợp giữa MPLS và DiffServ đã khai thác các điểm mạnh của mỗi công nghệ và ngày càng nâng cao chất lƣợng dịch vụ QoS, đặc biệt là việc sử dụng phân bố băng thông khi trong mạng xảy ra tắc nghẽn. Trong phần thực nghiệm với việc sử dụng chƣơng trình mô phỏng Ns2 sẽ mô phỏng một số kịch bản để dẫn chứng cho việc kết hợp DiffServ và MPLS trong việc đảm bảo chất lƣợng dịch vụ. 3.4.1 Khái quát chung về NS-2 “NS (Network Simulator) là gói phần mềm mô phỏng mạng theo mô hình hƣớng sự kiện đa dụng chạy trên nền của UNIX, đƣợc phát triển bởi UC Berkeley”[3] .Nó mô phỏng mạng IP, các giao thức mạng nhƣ UDP và TCP, các nguồn ứng dụng nhƣ FTP, Telnet, Web, CBR và VBR, các cơ chế quản lý hàng đợi router nhƣ Drop Tail, RED, CBQ, các giao thức định tuyến nhƣ Dijkstra … Hình sau biểu diễn kiến trúc thƣ mục NS-2 và NAM trong môi trƣờng Linux. NS-2 và NAM đều là các thƣ mục con của ns-allinone-2.28. NS-2 bao gồm các thực thi mô phỏng (bằng mã C++ và mã OTcl), các kịch bản Otcl kiểm tra tính hiệu lực và các kịch bản OTcl minh họa. 56 Hình 3-15 Cấu trúc thư mục của NS-allinone Một nút bao gồm các ngõ vào nút và các bộ phân loại. Có hai loại nút là unicast và multicast Hình 3-16 Cấu trúc node Unicast và node Multicast  DiffServ DiffServ đƣợc hỗ trợ trong NS2 bao gồm các đặc tính nhƣ gán DSCP cho các IP header, điều hòa các đối ứng với các hiện trạng, và lập lịch các đối xử đó. Các hiện trạng có thể đƣợc định nghĩa ứng với các dạng lƣu lƣợng nhƣ EF hay AF. Các hiện trạng này sẽ đƣợc thêm vào trong bộ điều hòa. Khi một gói tin đi qua bộ điều hòa, các hiện trạng sẽ ứng với các DSCP đã chọn. Các gói tin sẽ đƣợc kiểm tra khi chúng phù hợp với các đặc tính tốc độ lƣu lƣợng đã đƣợc chọn trong hiện trạng. Nếu gói tin ko phù hợp, tùy theo dạng lƣu lƣợng mà nó xử lý, ví dụ nhƣ đối với dạng lƣu lƣợng EF, nếu ko phù hợp chúng sẽ bị loại bỏ, còn đối với AF chúng sẽ đƣợc đánh dấu lại với độ ƣu tiên loại bỏ gói cao hơn. Bộ lập lịch trong trƣờng hợp này sẽ nhiều lớp lƣu lƣợng EF, AF và BE xen kẽ nhau. 57  MNS MNS là chƣơng trình mô phỏng mạng MPLS đƣợc mở rộng từ NS, MNS-2.0 chạy trên nền của NS phiên bản ns-2.1b6a trở lên. MNS hỗ trợ các chức năng sau cho MPLS [4]:  Chuyển mạch nhãn – gồm chuyển đổi /xếp chồng nhãn, giảm TTL, bỏ nhãn tại chặng áp cuối (penultimate hop poping), kết hợp các luồng nhỏ thành một luồng lớn, phát sinh và xử lý các thông điệp LDP (yêu cầu nhãn, ánh xạ nhãn, rút lại nhãn, giải phóng nhãn và thông báo).  Giao thức CR-LDP xử lý các thông điệp CR-LDP, thiết lập ER-LSP bằng CR- LDP dựa vào thông tin của các con đƣờng đã đƣợc định nghĩa trƣớc bởi các thông số ngƣời dùng nhƣ tốc độ luồng, kích thƣớc bộ đệm…  MNS còn hỗ trợ việc tái định tuyến (path restoration) theo mô hình thƣơng lƣợng trƣớc (nhƣ Haskin, Makam) hoặc mô hình động (dạng đơn giản và dạng dựa trên đƣờng đi ngắn nhất). MNS cũng hỗ trợ việc chiếm giữ tài nguyên, một con đƣờng mới đƣợc yêu cầu có thể chiếm giữ tài nguyên của một con đƣờng đang tồn tại dựa vào mức yêu tiên thiết lập và mức yêu tiên nắm giữ. Hình 3-17 Mô hình của MNS trên NS2 MNS gồm các thành phần sau:  Packet Scheduler: thực thi các hoạt động push, pop và chuyển đổi nhãn. 58  Service Classifier: phân loại dịch vụ bằng nhãn hoặc trƣờng CoS trong tiêu đề MPLS chèn thêm và liên hệ gói tin với dịch vụ thích hợp.  Admission Control: xem xét thông số lƣu lƣợng của CR-LDP để xác định xem nút MPLS có đủ tài nguyên đáp ứng cho chất lƣợng dịch vụ không.  CR-LDP: phát sinh và xử lý các thông điệp CR-LDP.  Resource Manager: quản lý thông tin tài nguyên, tạo và xóa các hàng đợi theo yêu cầu. Hình 3-18 Cấu trúc node MPLS Cấu trúc node MPLS dựa trên node IP và thêm vào “MPLS Classifier” và “LDP Agent”. Trong mô hình này bộ phân loại MPLS xác định gói tin nhận đƣợc là có nhãn hay không. Nếu có nhãn nó sẽ thực hiện chuyển mạch nhãn ở L2 và gửi gói tin trực tiếp đến node tiếp theo. Nếu không có nhãn nhƣng tồn tại LSP, bộ phân loại MPLS sẽ xử lý nhƣ một gói tin có nhãn. Nếu không, bộ phân loại MPLS sẽ gửi gói tin đến bộ phân loại địa chỉ sẽ thực hiện chuyển tiếp L3 cho gói tin. 3.4.2 Mô hình và kết quả mô phỏng Dƣới đây là topo mạng đƣợc sử dụng trong suốt quá trình mô phỏng với các nguồn phát lƣu lƣợng UDP, TCP tƣơng ứng với các nút gửi 0,1 và nguồn thu lƣu lƣợng nút 9. 59 Hình 3-19 Topo mạng sử dụng trong quá trình mô phỏng Các node mạng 0, 1, 9, 10 là các node mạng thông thƣờng, node mạng 2 (ingress), 3, 4, 5, 6, 7 (egress), 8 (egress) là các mpls node. Tốc độ kết nối giữa các node mạng là 1Mb, thời gian trễ là 10ms.  Kết quả mô phỏng khi mạng không sử dụng DiffServ Trong thực nghiệm mô phỏng với mạng có cấu trúc theo Hình 3-19 [7], MPLS đƣợc sử dụng xác định một đƣờng ER-LSP đơn mang cả hai lƣu lƣợng UDP và TCP. Đƣờng ER-LSP đƣợc xây dựng từ node 2 đến node 7 thông qua các node 5, 6 trong việc liên kết truyền dữ liệu bằng cách sử dụng giao thức báo hiệu CR-LDP. Hình 3-20 Mạng MPLS không DiffServ với luồng UDP có lưu lượng thấp 1 1 11 0 1 11 2 1 11 3 1 11 5 1 11 6 1 11 4 1 11 8 1 11 7 1 11 10 1 11 9 1 11 60 Hình 3-21 Mạng MPLS không DiffServ với luồng UDP có lưu lượng cao Nhƣ trên Hình 3-20 và Hình 3-21 không có sự khác biệt về thông lƣợng các luồng TCP đối với việc sử dụng luồng UDP có lƣu lƣợng thấp hoặc cao do đƣờng ER- LSP mang cả hai loại lƣu lƣợng TCP và UDP. Trong trƣờng hợp này mạng MPLS không cung cấp lợi ích về lƣu lƣợng cho các luồng TCP do mạng MPLS chƣa thiết lập các dịch vụ QoS. Bảng 3.1 tóm tắt kết quả mô phỏng trên mạng MPLS không sử dụng DiffServ. MPLS không có DiffServ Thông lƣợng trung bình (Kbps) Độ trễ trung bình (s) Độ lệch chuẩn (s) Luồng UDP lƣu lƣợng thấp UDP 9.84091 0.27776 0.06162 TCP0 484.19251 0.28427 0.00769 TCP1 478.32948 0.28807 0.00748 Luồng UDP lƣu lƣợng cao UPD 49.04680 0.29128 0.03488 TCP0 464.64483 0.29765 0.09862 TCP1 459.86757 0.30161 0.10136 Bảng 3.1 Thống kê thông lượng mạng MPLS (không có DiffServ) 61  Kết quả mô phỏng khi mạng sử dụng DiffServ Với mạng có cấu trúc theo Hình 3-19 [6][8], áp dụng các chính sách về lƣu lƣợng của mô hình DiffServ từ các nút mạng 2 (ingress) và 7 (egress) đến các nút mạng 5, 6 là các nút mạng lõi trong mạng MPLS có biểu đồ và kết quả mô phỏng sau. Hình 3-22 Mạng MPLS có DiffServ với luồng UDP có lưu lượng thấp 62 Hình 3-23 Mạng MPLS có DiffServ với luồng UDP có lưu lượng cao Nhƣ trên Hình 3-22 và Hình 3-23 có sự khác biệt về thông lƣợng các luồng TCP đối với việc sử dụng luồng UDP có lƣu lƣợng thấp hoặc cao do các luồng TCP0 và TCP1 áp dụng các chính sách khác nhau về hàng đợi, thông lƣợng, mức độ ƣu tiên gửi gói tin trên đƣờng truyền. Bảng 3.2 tóm tắt kết quả mô phỏng trên mạng MPLS có sử dụng DiffServ. MPLS có DiffServ Thông lƣợng trung bình (kbps) Độ trễ trung bình (s) Độ lệch chuẩn (s) Luồng UDP lƣu lƣợng thấp UDP 9.86206 0.26455 0.06379 TCP0 416.29462 0.27741 0.00764 TCP1 547.50034 0.24583 0.01542 Luồng UDP lƣu lƣợng cao UPD 46.10445 0.27205 0.18292 TCP0 195.58893 0.31349 0.01926 TCP1 735.20819 0.16990 0.05869 Bảng 3.2 Thống kê thông lượng mạng MPLS (có DiffServ) 63 KẾT LUẬN Trong nội dung luận văn đã trình bày những khái niệm về công nghệ chuyển mạch nhãn MPLS, các khái niệm về chất lƣợng đƣờng truyền (QoS) và đề suất việc áp dụng mô hình DiffServ trên hệ thống mạng MPLS ngành Tài chính. Thông qua các kết quả đo đạc về thông lƣợng trên đƣờng truyền MPLS ngành Thuế và các kết quả thực nghiệm chạy trên NS2 đã chứng minh đƣợc việc sử dụng mô hình DiffServ trên hệ thống mạng MPLS sẽ tăng đƣợc chất lƣợng dịch vụ cho các ứng dụng đòi hỏi có độ ƣu tiên cao hơn. Với việc áp dụng mô hình DiffServ trên hạ tầng truyền thông ngành Tài chính, Bộ tài chính có khả năng phân luồng lƣu lƣợng trên hệ thống mạng trục chính của ngành cho những ứng dụng quan trọng của ngành tài chính nhƣ ứng dụng TABMIS, ITAIS,… có thể hoạt động thông suốt và hiệu quả từ cấp Trung ƣơng xuống tới địa phƣơng. Hƣớng phát triển của đề tài: Luận văn có một số hƣớng phát triển trong thời gian tới nhƣ:  Thực thi các chính sách QoS của mô hình DiffServ trên mạng MPLS ngành Tài chính trên các thiết bị mạng đang sử dụng của ngành Tài chính tại các TTT và TTM.  Nghiên cứu và xem xét việc xây dựng các giao thức mới để đƣa ra các giải pháp cung cấp QoS cho lớp mạng lõi của mạng MPLS ngành Tài chính. 64 TÀI LIỆU THAM KHẢO Tiếng Việt 1. Juniper Networks (Jun, 2007), "Thiết kế mạng MPLS cho Bộ tài chính", Bộ tài chính, tr. 30. 2. Juniper Networks (Jun, 2007), "Thiết kế mạng MPLS cho Bộ tài chính", Bộ tài chính, tr. 31. 3. Trần Công Hùng (2009), Chuyển mạch nhãn đa giao thức, Nhà xuất bản Thông tin và Truyền thông, tr. 222-223. 4. Trần Công Hùng (2009), Chuyển mạch nhãn đa giao thức, Nhà xuất bản Thông tin và Truyền thông, tr. 230-232. Tiếng Anh 5. Cisco Systems (Aug, 2005), "DiffServ-The scalable end-to-end quality of service model”, White Paper, pp. 7-10. 6. Eric Horlait and Nicolas Rouhana (2000), “Differentiated Services and Intergrated Services Use of MPLS”, University Pierre et Marie Curie – France, University Saint Joseph – Lebanon. 7. Gaei Ahn and Woojik Chum (2001), “Overview of MPLS Network Simulator: Design and Implementation”, Chungnam National University Korea. 8. Raymond Law and Srihari Raghavan (2001), “DiffServ and MPLS – Concepts and Simulation”, Virginia Polytechnic Institude and State University. 9. Santiago Alvarez (June, 02, 2006), QoS for IP/MPLS Networks, Cisco Press, USA, pp. 15-19. 10. Santiago Alvarez (June, 02, 2006), QoS for IP/MPLS Networks, Cisco Press, USA, pp. 18. 11. Vivek Alwayn (2002), Advanced MPLS Design and Implementation, Cisco Press, USA, pp. 14. 12. Vivek Alwayn (2002), Advanced MPLS Design and Implementation, Cisco Press, USA, pp. 48-50. 13. Vivek Alwayn (2002), Advanced MPLS Design and Implementation, Cisco Press, USA, pp. 59-62. 65 14. Vivek Alwayn (2002), Advanced MPLS Design and Implementation, Cisco Press, USA, pp. 63. 15. Vivek Alwayn (2002), Advanced MPLS Design and Implementation, Cisco Press, USA, pp. 277-279. 66 PHỤ LỤC  # ---------------------------------------------------------- # mpls.tcl # ---------------------------------------------------------- # Network simulation topology: # # Node0 # \ # \1Mb Node9 # \ 1Mb 1Mb / # LSR2 ----------------- LSR5 ---------------------- LSR6 /1Mb # /|(ingress) | | \ / # / | | | \ / # / |1Mb |1Mb 1Mb| LSR7 # 1Mb/ | | | / (engress) # / | 1Mb | 1Mb | / # / LSR3 ----------------- LSR4 ---------------------- LSR8 # Node1 (engress)\ # \1Mb # \ # Node10 #--------------------------------------------------------------- set ns [new Simulator] #Open the NAM trace file -------------------------------------- set nf [open mpls.nam w] set tf [open mpls.tr w] $ns namtrace-all $nf $ns trace-all $tf #Define a 'finish' procedure ---------------------------------- proc finish {} { global ns nf tf $ns flush-trace #Close the NAM trace file close $nf #Close the Trace file close $tf #Execute NAM on the trace file exec nam mpls.nam & exit 0 } # Define a procedure attach traffic node with sink proc attach-expoo-traffic { node sink size burst idle rate } { global ns set source [new Agent/CBR/UDP] $ns attach-agent $node $source set traffic [new Traffic/Expoo] $traffic set packet-size $size $traffic set burst-time $burst 67 $traffic set idle-time $idle $traffic set rate $rate $source attach-traffic $traffic $ns connect $source $sink return $source } # make nodes & MPLSnodes set Node0 [$ns node] set Node1 [$ns node] set LSR2 [$ns mpls-node] set LSR3 [$ns mpls-node] set LSR4 [$ns mpls-node] set LSR5 [$ns mpls-node] set LSR6 [$ns mpls-node] set LSR7 [$ns mpls-node] set LSR8 [$ns mpls-node] set Node9 [$ns node] set Node10 [$ns node] # make links $ns duplex-link $Node0 $LSR2 1Mb 10ms DropTail $ns duplex-link $Node1 $LSR2 1Mb 10ms DropTail $ns duplex-link $LSR2 $LSR3 1Mb 10ms DropTail $ns duplex-link $LSR3 $LSR4 1Mb 10ms DropTail $ns duplex-link $LSR4 $LSR8 1Mb 10ms DropTail $ns duplex-link $LSR2 $LSR5 1Mb 10ms DropTail $ns duplex-link $LSR5 $LSR6 1Mb 10ms DropTail $ns duplex-link $LSR5 $LSR4 1Mb 10ms DropTail $ns duplex-link $LSR6 $LSR7 1Mb 10ms DropTail $ns duplex-link $LSR6 $LSR8 1Mb 10ms DropTail $ns duplex-link $LSR7 $LSR8 1Mb 10ms DropTail $ns duplex-link $LSR7 $Node9 1Mb 10ms DropTail $ns duplex-link $LSR8 $Node10 1Mb 10ms DropTail # Orient links to make topology clear ------------------------- $ns duplex-link-op $Node0 $LSR2 orient 1.667 $ns duplex-link-op $Node1 $LSR2 orient 0.333 $ns duplex-link-op $LSR2 $LSR3 orient down $ns duplex-link-op $LSR3 $LSR4 orient right $ns duplex-link-op $LSR4 $LSR8 orient right $ns duplex-link-op $LSR2 $LSR5 orient right $ns duplex-link-op $LSR5 $LSR6 orient right $ns duplex-link-op $LSR5 $LSR4 orient down $ns duplex-link-op $LSR6 $LSR7 orient 1.667 $ns duplex-link-op $LSR6 $LSR8 orient down $ns duplex-link-op $LSR8 $LSR7 orient 0.333 $ns duplex-link-op $LSR7 $Node9 orient 0.333 68 $ns duplex-link-op $LSR8 $Node10 orient 1.667 # configure ldp agents on all mpls nodes $ns configure-ldp-on-all-mpls-nodes # set ldp-message colors $ns ldp-request-color blue $ns ldp-mapping-color red $ns ldp-withdraw-color magenta $ns ldp-release-color orange $ns ldp-notification-color yellow # set ldp events $ns enable-control-driven #Create a traffic sink0 and attach it to the node node9 set sink0 [new Agent/LossMonitor] $ns attach-agent $Node9 $sink0 $sink0 clear #Create a traffic source set src0 [attach-expoo-traffic $Node0 $sink0 100 0 0 50k] $src0 set fid_ 0 $ns color 0 orange # create TCP agents set tcp0 [new Agent/TCP] $ns attach-agent $Node0 $tcp0 set ftp0 [new Application/FTP] $tcp0 set packetSize_ 1024 $ftp0 attach-agent $tcp0 set sink1 [new Agent/TCPSink] $ns attach-agent $Node9 $sink1 $ns connect $tcp0 $sink1 $tcp0 set fid_ 1 $ns color 1 blue set tcp1 [new Agent/TCP] $ns attach-agent $Node1 $tcp1 set ftp1 [new Application/FTP] $tcp1 set packetSize_ 1024 $ftp1 attach-agent $tcp1 set sink2 [new Agent/TCPSink] $ns attach-agent $Node9 $sink2 69 $ns connect $tcp1 $sink2 $tcp1 set fid_ 2 $ns color 2 magenta # set MPLS modules # for {set i 2} {$i < 9} {incr i} { set a LSR$i set m [eval $$a get-module "MPLS"] eval set LSRmpls$i $m } # Schedule starting & stoping of traffic resources $ns at 1.1 "$ftp0 start" $ns at 1.5 "$ftp1 start" $ns at 1.9 "$src0 start" $ns at 25.9 "$src0 stop" $ns at 25.1 "$ftp0 stop" $ns at 25.5 "$ftp1 stop" $ns at 26.0 "finish" $ns run ### End: # ------------------------------------------------------------- # mplsdiff.tcl # ------------------------------------------------------------- # Network simulation topology: # # Node0 # \ # \1Mb Node9 # \ 1Mb 1Mb / # LSR2 ----------------- LSR5 ---------------------- LSR6 /1Mb # /|(ingress) | | \ / # / | | | \ / # / |1Mb |1Mb 1Mb| LSR7 # 1Mb/ | | | / (engress) # / | 1Mb | 1Mb | / # / LSR3 ----------------- LSR4 ---------------------- LSR8 # Node1 (engress)\ # \1Mb # \ # Node10 #--------------------------------------------------------------- set ns [new Simulator] #Open the NAM trace file -------------------------------------- set nf [open mplsdiff.nam w] set tf [open mplsdiff.tr w] 70 $ns namtrace-all $nf $ns trace-all $tf #Set variable: cir traffic rate, pir max traffic rate --- set cir0 100000 set pir0 500000 set rate0 4000000 set cir1 400000 set pir1 1000000 set rate1 2000000 set packetSize 1000 #Define a 'finish' procedure ---------------------------------- proc finish {} { global ns nf tf $ns flush-trace #Close the NAM trace file close $nf #Close the Trace file close $tf #Execute NAM on the trace file exec nam mplsdiff.nam & exit 0 } # Define a procedure attach traffic node with sink proc attach-expoo-traffic { node sink size burst idle rate } { global ns set source [new Agent/CBR/UDP] $ns attach-agent $node $source set traffic [new Traffic/Expoo] $traffic set packet-size $size $traffic set burst-time $burst $traffic set idle-time $idle $traffic set rate $rate $source attach-traffic $traffic $ns connect $source $sink return $source } # make nodes & MPLSnodes set Node0 [$ns node] set Node1 [$ns node] set LSR2 [$ns mpls-node] set LSR3 [$ns mpls-node] set LSR4 [$ns mpls-node] set LSR5 [$ns mpls-node] set LSR6 [$ns mpls-node] set LSR7 [$ns mpls-node] set LSR8 [$ns mpls-node] 71 set Node9 [$ns node] set Node10 [$ns node] # make links $ns duplex-link $Node0 $LSR2 1Mb 10ms DropTail $ns duplex-link $Node1 $LSR2 1Mb 10ms DropTail $ns duplex-link $LSR2 $LSR3 1Mb 10ms DropTail $ns duplex-link $LSR3 $LSR4 1Mb 10ms DropTail $ns duplex-link $LSR4 $LSR8 1Mb 10ms DropTail $ns simplex-link $LSR2 $LSR5 1Mb 10ms dsRED/edge $ns simplex-link $LSR5 $LSR2 1Mb 10ms dsRED/core $ns duplex-link $LSR5 $LSR6 1Mb 10ms DropTail $ns duplex-link $LSR5 $LSR4 1Mb 10ms DropTail $ns duplex-link $LSR7 $LSR6 1Mb 10ms dsRED/edge $ns simplex-link $LSR6 $LSR7 1Mb 10ms dsRED/core $ns duplex-link $LSR6 $LSR8 1Mb 10ms DropTail $ns duplex-link $LSR7 $LSR8 1Mb 10ms DropTail $ns duplex-link $LSR7 $Node9 1Mb 10ms DropTail $ns duplex-link $LSR8 $Node10 1Mb 10ms DropTail set qE1C [[$ns link $LSR2 $LSR5] queue] set qE2C [[$ns link $LSR7 $LSR6] queue] set qCE1 [[$ns link $LSR5 $LSR2] queue] set qCE2 [[$ns link $LSR6 $LSR7] queue] # Orient links to make topology clear ------------------------- $ns duplex-link-op $Node0 $LSR2 orient 1.667 $ns duplex-link-op $Node1 $LSR2 orient 0.333 $ns duplex-link-op $LSR2 $LSR3 orient down $ns duplex-link-op $LSR3 $LSR4 orient right $ns duplex-link-op $LSR4 $LSR8 orient right $ns duplex-link-op $LSR2 $LSR5 orient right $ns duplex-link-op $LSR5 $LSR6 orient right $ns duplex-link-op $LSR5 $LSR4 orient down $ns duplex-link-op $LSR6 $LSR7 orient 1.667 $ns duplex-link-op $LSR6 $LSR8 orient down $ns duplex-link-op $LSR8 $LSR7 orient 0.333 $ns duplex-link-op $LSR7 $Node9 orient 0.333 $ns duplex-link-op $LSR8 $Node10 orient 1.667 # configure ldp agents on all mpls nodes $ns configure-ldp-on-all-mpls-nodes # set ldp-message colors $ns ldp-request-color blue $ns ldp-mapping-color red 72 $ns ldp-withdraw-color magenta $ns ldp-release-color orange $ns ldp-notification-color yellow # set ldp events $ns enable-control-driven # Set DS RED parameters from LSR2 to LSR5: $qE1C meanPktSize $packetSize $qE1C set numQueues_ 2 $qE1C setNumPrec 3 $qE1C addPolicyEntry [$Node0 id] [$Node9 id] TSW3CM 10 $cir0 $pir0 $qE1C addPolicyEntry [$Node1 id] [$Node9 id] TSW3CM 20 $cir1 $pir1 $qE1C addPolicyEntry -1 -1 TSW3CM 10 $cir1 $pir1 $qE1C addPolicerEntry TSW3CM 10 11 12 $qE1C addPolicerEntry TSW3CM 20 21 22 $qE1C addPHBEntry 10 0 0 $qE1C addPHBEntry 11 0 1 $qE1C addPHBEntry 12 0 2 $qE1C addPHBEntry 20 1 0^M $qE1C addPHBEntry 21 1 1^M $qE1C addPHBEntry 22 1 2^M $qE1C addPHBEntry 0 0 2 $qE1C configQ 0 0 20 40 0.02 $qE1C configQ 0 1 10 20 0.10 $qE1C configQ 0 2 5 10 0.20 $qE1C configQ 1 0 20 40 0.02^M $qE1C configQ 1 1 10 20 0.10^M $qE1C configQ 1 2 5 10 0.20^M # Set DS RED parameters from LSR7 to LSR6: $qE2C meanPktSize $packetSize $qE2C set numQueues_ 2 $qE2C setNumPrec 3 $qE2C addPolicyEntry [$Node9 id] [$Node0 id] TSW3CM 10 $cir0 $pir0 $qE2C addPolicyEntry [$Node9 id] [$Node1 id] TSW3CM 20 $cir1 $pir1 $qE2C addPolicyEntry -1 -1 TSW3CM 10 $cir1 $pir1 $qE2C addPolicerEntry TSW3CM 10 11 12 $qE2C addPolicerEntry TSW3CM 20 21 22 $qE2C addPHBEntry 10 0 0 $qE2C addPHBEntry 11 0 1 $qE2C addPHBEntry 12 0 2 $qE2C addPHBEntry 20 0 0^M $qE2C addPHBEntry 21 0 1^M $qE2C addPHBEntry 22 0 2^M 73 $qE2C addPHBEntry 0 0 2 $qE2C configQ 0 0 20 40 0.02 $qE2C configQ 0 1 20 20 0.10 $qE2C configQ 0 2 5 10 0.20 $qE2C configQ 1 0 20 40 0.02^M $qE2C configQ 1 1 20 20 0.10^M $qE2C configQ 1 2 5 10 0.20^M # Set DS RED parameters from LSR5 to LSR2: $qCE1 meanPktSize $packetSize $qCE1 set numQueues_ 2 $qCE1 setNumPrec 3 $qCE1 addPHBEntry 10 0 0 $qCE1 addPHBEntry 11 0 1 $qCE1 addPHBEntry 12 0 2 $qCE1 addPHBEntry 20 0 0^M $qCE1 addPHBEntry 21 0 1^M $qCE1 addPHBEntry 22 0 2^M $qCE1 addPHBEntry 0 0 2^M $qCE1 configQ 0 0 20 40 0.02 $qCE1 configQ 0 1 10 20 0.10 $qCE1 configQ 0 2 5 10 0.20 $qCE1 configQ 1 0 20 40 0.02^M $qCE1 configQ 1 1 10 20 0.10^M $qCE1 configQ 1 2 5 10 0.20^M # Set DS RED parameters from LSR6 to LSR7: $qCE2 meanPktSize $packetSize $qCE2 set numQueues_ 2 $qCE2 setNumPrec 3 $qCE2 addPHBEntry 10 0 0 $qCE2 addPHBEntry 11 0 1 $qCE2 addPHBEntry 12 0 2 $qCE2 addPHBEntry 20 0 0^M $qCE2 addPHBEntry 21 0 1^M $qCE2 addPHBEntry 22 0 2^M $qCE2 addPHBEntry 0 0 2^M $qCE2 configQ 0 0 20 40 0.02 $qCE2 configQ 0 1 10 20 0.10 $qCE2 configQ 0 2 5 10 0.20 $qCE2 configQ 1 0 20 40 0.02^M $qCE2 configQ 1 1 10 20 0.10^M $qCE2 configQ 1 2 5 10 0.20^M #Create a traffic sink0 and attach it to the node node9 set sink0 [new Agent/LossMonitor] 74 $ns attach-agent $Node9 $sink0 $sink0 clear #Create a traffic source set src0 [attach-expoo-traffic $Node0 $sink0 100 0 0 90k] $src0 set fid_ 0 $ns color 0 orange # create TCP agents set tcp0 [new Agent/TCP] $ns attach-agent $Node0 $tcp0 set ftp0 [new Application/FTP] $tcp0 set packetSize_ 1024 $ftp0 attach-agent $tcp0 set sink1 [new Agent/TCPSink] $ns attach-agent $Node9 $sink1 $ns connect $tcp0 $sink1 $tcp0 set fid_ 1 $ns color 1 blue set tcp1 [new Agent/TCP] $ns attach-agent $Node1 $tcp1 set ftp1 [new Application/FTP] $tcp1 set packetSize_ 1024 $ftp1 attach-agent $tcp1 set sink2 [new Agent/TCPSink] $ns attach-agent $Node9 $sink2 $ns connect $tcp1 $sink2 $tcp1 set fid_ 2 $ns color 2 magenta # set MPLS modules # for {set i 2} {$i < 9} {incr i} { set a LSR$i set m [eval $$a get-module "MPLS"] eval set LSRmpls$i $m } $qE1C printPolicyTable $qE1C printPolicerTable # Schedule starting & stoping of traffic resources $ns at 1.1 "$ftp0 start" $ns at 1.5 "$ftp1 start" $ns at 1.9 "$src0 start" 75 $ns at 25.9 "$src0 stop" $ns at 25.1 "$ftp0 stop" $ns at 25.5 "$ftp1 stop" $ns at 26.0 "finish" $ns run ### End: # Type: perl Scripts_1.pl # To compute average throughput during simulation time # of the flow "flow id" at the node "required node" # ------------------------------------------------------------ $infile=$ARGV[0]; $flow_id=$ARGV[1]; $tonode=$ARGV[2]; $start_time=0; $end_time=0; # To compute how many bytes of "flow id" were received at the "required node" # during simulation time # --------------------------------------------------------- $sum=0; open (DATA,"<$infile") || die "Can't open $infile $!"; while () { @x = split(' '); #checking if the event corresponds to a reception if ($x[0] eq 'r' && $x[7] == $flow_id && $x[3] eq $tonode) { if ($start_time == 0) { $start_time=$x[1]; } $sum=$sum+$x[5]; $end_time=$x[1]; } if($x[4] eq "cbr"){ $end_time=$x[1]; last; } } # ------------------------------------------------------------ $throughput_byte=$sum/($end_time - $start_time); $throughput_kbit=$throughput_byte*8/1024; print STDOUT "start_time = $start_time\t"; print STDOUT "end_time = $end_time\n"; print STDOUT "Avg throughtput(flow id = $flow_id; dst node = $tonode) = $throughput_kbit(Kbps)\n\n"; close DATA; exit(0); 76 # type: perl Scripts_3.pl $infile=$ARGV[0]; $flow=$ARGV[1]; $src=$ARGV[2]; $dst=$ARGV[3]; # $granularity=$ARGV[2]; #we compute how many bytes were transmitted during time interval specified #by granularity parameter in seconds @send = (0..0); @recv = (0..0); $max_pktid = 0; $num = 0; open (DATA,"<$infile") || die "Can't open $infile $!"; while () { @x = split(' '); $event_ = $x[0]; $time_ = $x[1]; $flow_ = $x[7]; $pkt_ = $x[11]; $node_ = $x[2] if (($event_ eq "+") || ($event_ eq "s")); $node_ = $x[3] if ($event_ eq "r"); if ((($event_ eq "+") || ($event_ eq "s")) && ($flow_ == $flow) && ($node_ == $src) && (!$send[$pkt_])) { # Kiem tra (!$send[$pkt_]) dam bao luon tinh goi tin duoc gui lan dau, k tinh goi tin gui lai $send[$pkt_] = $time_; $max_pktid = $pkt_ if ($max_pktid < $pkt_); } if (($event_ eq "r") && ($flow_ == $flow) && ($node_ == $dst)) { $recv[$pkt_] = $time_; $num++; } } close DATA; $delay = 0; for ($count = 0; $count <= $max_pktid; $count ++) { if ($send[$count] && $recv[$count]) { $send_ = $send[$count]; $recv_ = $recv[$count]; $delay = $delay + ($recv_ - $send_); # $delay = ($recv_ - $send_); # print STDOUT "$count $send_ $recv_ $delay\n"; } } $avg_delay = $delay / $num; print STDOUT "Avg delay(flow id = $flow; src node = $src; dst node = $dst) = $avg_delay(s)\n"; exit(0);

Các file đính kèm theo tài liệu này:

  • pdfLUẬN VĂN-MẠNG MPLS VÀ ỨNG DỤNG TRONG NGÀNH THUẾ.pdf
Luận văn liên quan