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.
78 trang |
Chia sẻ: lylyngoc | Lượt xem: 2458 | Lượt tải: 2
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:
- LUẬN VĂN-MẠNG MPLS VÀ ỨNG DỤNG TRONG NGÀNH THUẾ.pdf