Nghiên cứu khả năng tương tác với mạng thực của bộ mô phỏng ns-2

  • Số trang: 110 |
  • Loại file: PDF |
  • Lượt xem: 14 |
  • Lượt tải: 0
nhattuvisu

Đã đăng 26946 tài liệu

Mô tả:

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN NGỌC DŨNG NGHIÊN CỨU KHẢ NĂNG TƯƠNG TÁC VỚI MẠNG THỰC CỦA BỘ MÔ PHỎNG NS-2 LUẬN VĂN THẠC SỸ Hà Nội – 2008 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN NGỌC DŨNG NGHIÊN CỨU KHẢ NĂNG TƯƠNG TÁC VỚI MẠNG THỰC CỦA BỘ MÔ PHỎNG NS-2 Ngành : Công nghệ thông tin Chuyên ngành : Truyền dữ liệu và Mạng máy tính Mã số : 60 48 15 LUẬN VĂN THẠC SỸ NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS NGUYỄN ĐÌNH VIỆT Hà Nội – 2008 1 MỤC LỤC MỞ ĐẦU .....................................................................................................................3 CHƢƠNG 1: GIỚI THIỆU CHUNG..........................................................................5 1.1 Lịch sử hình thành mạng máy tính và mạng Internet .................................................. 5 1.2 Giao thức và kiến trúc giao thức .................................................................................. 8 1.2.1 Khái niệm giao thức .............................................................................................. 8 1.2.2 Kiến trúc phân tầng và các mô hình tham chiếu ISO/OSI và TCP/IP .................. 8 1.2.2.1 Mô hình tham chiếu ISO OSI ........................................................................ 9 1.2.2.2 Mô hình tham chiếu TCP/IP ........................................................................ 11 1.2.3 Đặc tả và kiểm chứng giao thức ......................................................................... 13 1.3 Đánh giá hiệu suất giao thức ..................................................................................... 14 1.3.1 Khái niệm hiệu suất mạng và các độ đo hiệu suất .............................................. 14 1.3.2 Tầm quan trọng của việc đánh giá hiệu suất ....................................................... 15 1.4 Các phƣơng pháp đánh giá hiệu suất giao thức mạng ............................................... 16 1.4.1 Khái quát về các phƣơng pháp đánh giá hiệu suất.............................................. 16 1.4.2 Phƣơng pháp lập mô hình giải tích ..................................................................... 16 1.4.3 Phƣơng pháp lập mô hình mô phỏng .................................................................. 17 1.4.4 Phƣơng pháp Đo ................................................................................................. 18 1.4.5 So sánh các phƣơng pháp ................................................................................... 18 CHƢƠNG 2: MỘT SỐ GIAO THỨC LIÊN QUAN TRỰC TIẾP ĐẾN QUÁ TRÌNH TƢƠNG TÁC VỚI MẠNG THỰC .............................................................20 2.1 Mạng cục bộ và các giao thức tầng MAC ................................................................. 20 2.1.1 Mạng cục bộ (LAN – Local Area Network) ....................................................... 20 2.1.2 Một số phƣơng pháp điều khiển truy nhập mạng ............................................... 20 2.1.2.1 Điều khiển truy nhập ngẫu nhiên ................................................................. 21 2.1.2.2 Điều khiển truy nhập xác định ..................................................................... 26 2.2 Các giao thức tầng Giao vận ...................................................................................... 28 2.2.1 Giao thức TCP (Transmission Control Protocol) ............................................... 28 2.2.1.1 Cấu trúc gói số liệu TCP .............................................................................. 29 2.2.1.2 Thiết lập và kết thúc kết nối......................................................................... 31 2.2.1.3 Điều khiển lƣu lƣợng và điều khiển tắc nghẽn trong giao thức TCP .......... 33 2.2.2 Giao thức UDP (User Datagram Protocol) ......................................................... 39 CHƢƠNG 3: BỘ MÔ PHỎNG MẠNG NS-2 ..........................................................41 3.1 Giới thiệu ................................................................................................................... 41 3.2 Các đặc điểm nổi bật và các chức năng mô phỏng chính của NS-2 .......................... 42 3.3 Kiến trúc của NS-2 .................................................................................................... 44 3.3.1 Bộ lập lịch các sự kiện ........................................................................................ 47 3.3.2 Nút mạng (node) ................................................................................................. 48 3.3.3 Đƣờng truyền (link) ............................................................................................ 49 3.3.4 Gói tin (packet) ................................................................................................... 50 3.3.5 Tác tử (Agent) ..................................................................................................... 51 3.4 Tệp vết (trace file) chứa kết quả mô phỏng ............................................................... 54 3.4.1. Tệp vết có tên mở rộng .tr .................................................................................. 54 3.4.2. Tệp vết có tên mở rộng .nam ............................................................................. 56 3.5 Các mô hình sinh lỗi trong NS-2 ............................................................................... 56 3.6 Các nguồn sinh lƣu lƣợng trong NS-2 ....................................................................... 60 2 3.7 NAM (Network Animator) và một số công cụ hỗ trợ việc phân tích và hiển thị kết quả mô phỏng .................................................................................................................. 62 3.7.1 NAM ................................................................................................................... 62 3.7.2 Một số công cụ đƣợc tích hợp trong Linux ........................................................ 63 3.7.3 PERL................................................................................................................... 65 3.7.4 GNUPLOT .......................................................................................................... 67 3.7.5 Tracegraph .......................................................................................................... 69 CHƢƠNG 4: NGHIÊN CỨU CƠ CHẾ THỰC HIỆN MÔ PHỎNG TƢƠNG TÁC VỚI MẠNG THỰC CỦA NS-2 ...............................................................................70 4.1 Giới thiệu ................................................................................................................... 70 4.2 Bộ lập lịch sự kiện thời gian thực (RealTime Scheduler) ......................................... 73 4.3 Tap Agents ................................................................................................................. 75 4.4 Các đối tƣợng mạng ................................................................................................... 77 4.5 Tạo nguồn lƣu lƣợng đến từ mạng thực .................................................................... 78 CHƢƠNG 5: THỰC NGHIỆM MÔ PHỎNG TƢƠNG TÁC VỚI MẠNG THỰC 81 5.1 THỰC NGHIỆM 1: MINH HỌA CHẾ ĐỘ PROTOCOL ........................................ 81 5.1.1 Mục tiêu của thực nghiệm 1 ............................................................................... 81 5.1.2 Thiết lập cấu hình mạng mô phỏng 1 ................................................................. 82 5.1.3 Kịch bản mô phỏng:............................................................................................ 83 5.1.4 Cách thực hiện và kết quả mô phỏng .................................................................. 84 5.2 THỰC NGHIỆM 2: MINH HỌA CHẾ ĐỘ OPAQUE ............................................. 86 5.2.1 Mục tiêu của thực nghiệm 2 ............................................................................... 86 5.2.2 Thiết lập cấu hình mạng mô phỏng 2 ................................................................. 86 5.2.3 Kịch bản mô phỏng[18]: ..................................................................................... 87 5.2.4 Kết quả nhận đƣợc từ thực nghiệm 2:................................................................. 88 5.3 THỰC NGHIỆM 3: MÔ PHỎNG TRÊN MẠNG LAN: .......................................... 91 5.3.1 Mục tiêu của thực nghiệm 3 ............................................................................... 91 5.3.2 Thiết lập cấu hình mạng mô phỏng 3 ................................................................. 91 5.3.3 Kết quả nhận đƣợc từ thực nghiệm 3 .................................................................. 92 5.3.3.1 Quan sát các nguồn lƣu lƣơng thực bằng NAM .......................................... 92 5.3.3.2 Tranh chấp đƣờng truyền của giao thức UDP và TCP ................................ 93 5.4 THỰC NGHIỆM 4 – MÔ PHỎNG TRUYỀN THÔNG VỚI INTERNET .............. 95 5.4.1 Mục tiêu của thực nghiệm 4 ............................................................................... 95 5.4.2 Thiết lập cấu hình mạng mô phỏng 4 ................................................................. 96 5.4.3 Kết quả nhận đƣợc từ thực nghiệm 4 .................................................................. 97 5.5 THỰC NGHIỆM 5 – MÔ PHỎNG VỚI INTERNET CÓ NGUỒN PHÁT UDP .... 98 5.5.1 Mục tiêu của thực nghiệm 5 ............................................................................... 98 5.5.2 Thiết lập cấu hình mạng mô phỏng 5 ................................................................. 98 5.5.3 Kết quả nhận đƣợc từ thực nghiệm 5 .................................................................. 99 KẾT LUẬN .............................................................................................................104 CÁC HƢỚNG NGHIÊN CỨU TIẾP THEO ..........................................................105 DANH MỤC CÁC HÌNH VẼ ................................................................................106 CÁC THUẬT NGỮ TIẾNG ANH .........................................................................107 TÀI LIỆU THAM KHẢO .......................................................................................108 A. Tài liệu Tiếng Việt .................................................................................................... 108 B. Tài liệu Tiếng Anh .................................................................................................... 108 3 MỞ ĐẦU Cùng với sự phát triển công nghệ thông tin, đặc biệt là công nghệ mạng máy tính, các loại ứng dụng khác nhau trên mạng ngày càng phong phú và đa dạng. Mỗi loại ứng dụng có những đặc trưng riêng về yêu cầu được phục vụ, chính vì vậy, việc tìm ra những giải pháp mới cho các giao thức hoặc cải tiến các giao thức đã có luôn được các nhà nghiên cứu quan tâm, nhằm đạt hiệu quả cao nhất cho mỗi loại ứng dụng. Tuy nhiên, một giao thức mới ra đời cần có những kiểm định chất lượng truyền tải nghiêm ngặt, cần phải được đánh giá để chọn ra giao thức tốt nhất trong số các giao thức đã đề xuất. Công việc đánh giá này được gọi là đánh giá hiệu suất giao thức và cách thức thực hiện đánh giá được gọi là phương pháp đánh giá hiệu suất giao thức. Hiện nay, có nhiều cách để đánh giá hiệu suất giao thức, vấn đề là chọn phương pháp nào cho phù hợp với khả năng và điều kiện cụ thể. Lập mô hình mô phỏng là một phương pháp đánh giá hiệu suất mạng máy tính hiện đại, được sử dụng rộng rãi trên thế giới. So với hai phương pháp phổ biến khác là Lập mô hình giải tích và Đo (trên mạng thực), phương pháp này có nhiều ưu điểm vượt trội, đó là chi phí thấp, nhanh chóng và chính xác. Để tăng độ tin cậy của các kết quả nghiên cứu, người ta thường sử dụng cả ba phương pháp, hoặc ít nhất là hai trong ba phương pháp nêu trên. NS có khả năng tương tác với mạng thực, chính vì vậy nó có tất cả các ưu điểm chung của phương pháp mô phỏng cộng thêm nhiều ưu điểm của Phương pháp đo. Nội dung chính của luận văn là nghiên cứu khả năng tương tác với mạng thực của NS, thực hiện các mô phỏng trên các nguồn lưu lượng của hệ thống mạng thực, nhằm hiểu rõ hơn hành vi của một số giao thức đang được sử dụng. Luận văn gồm phần mở đầu, năm chương và kết luận. Nội dung chính của của các chương được trình bày tóm tắt như sau: Chương 1: Giới thiệu tổng quan về lịch sử hình thành và phát triển của mạng máy tính, nguyên tắc trao đổi số liệu trong mạng và các mô hình tham 4 chiếu. Chương này cũng trình bày cơ bản về đánh giá hiệu suất, tầm quan trọng của việc đánh giá hiệu suất đối với hệ thống mạng máy tính, một số phương pháp đánh giá hiệu suất phổ biến đang được sử dụng. Chương 2: Trình bày các phương pháp điều khiển truy nhập mạng và các giao thức tầng Giao vận. Các giao thức được trình bày trong chương này có liên quan trực tiếp đến phần thực nghiệm mô phỏng của luận văn. Chương 3: Trình bày các thành phần cơ bản của bộ mô phỏng mạng NS-2, một số đặc điểm và chức năng nổi bật của bộ mô phỏng NS-2. Giới thiệu một số công cụ cần thiết thường được sử dụng để phân tích và hiển thị kết quả mô phỏng. Chương 4: Trình bày khả năng tương tác với mạng thực của bộ mô phỏng NS-2, giới thiệu một số đối tượng cơ bản thực hiện tương tác với mạng thực. Chương 5: Trình bày các kết quả thực hiện mô phỏng, cụ thể là kiểm chứng các khả năng tương tác với mạng thực và quan sát thông lượng của các giao thức đang hoạt động trên mạng thực như: TCP, UDP. Một số kết luận, nhận xét về bộ mô phỏng NS-2 và các kết quả thực nghiệm. Tôi xin bày tỏ lòng biết ơn chân thành đối với PGS.TS Nguyễn Đình Việt, trường Đại học Công nghệ, Đại học Quốc gia Hà Nội đã tận tình hướng dẫn, chỉ bảo và cho tôi nhiều lời khuyên trong suốt thời gian học tập, thực hiện luận văn. Tôi xin chân thành cảm ơn các thầy cô, đồng nghiệp khoa Tin học, trường Đại học Quy Nhơn đã góp ý, tạo điều kiện giúp đỡ cho tôi trong thời gian thực hiện luận văn. 5 CHƢƠNG 1: GIỚI THIỆU CHUNG 1.1 Lịch sử hình thành mạng máy tính và mạng Internet Những tiến bộ nhanh chóng của công nghiệp điện tử và vi điện tử dẫn đến sự ra đời và phát triển của máy tính điện tử. Các thế hệ máy tính liên tục phát triển và khẳng định được vị trí của mình trong hầu hết các lĩnh vực kinh tế, văn hóa và xã hội. Máy tính xuất hiện đã giải quyết hầu hết các công việc tính toán phức tạp mà con người có thể tốn hàng nghìn năm, trong khi đó, máy tính chỉ thực hiện công việc tương ứng trong vài ngày, thậm chí là vài giờ. Tuy nhiên, lúc này các máy tính thực hiện công việc riêng rẽ, độc lập trên từng máy tính mà không giải quyết được nhu cầu chia sẻ tài nguyên hiệu quả. Các dịch vụ trên máy tính phát triển rất nhanh trên nhiều lĩnh vực, nên nhu cầu trao đổi thông tin, chia sẻ tài nguyên giữa các máy tính cũng trở nên hết sức cấp thiết. Chính nhu cầu này đã thúc đẩy các nhà nghiên cứu xây dựng nên một công cụ nhằm trợ giúp con người trao đổi, khai thác thông tin một cách nhanh chóng, chính xác và hiệu quả - đó là mạng máy tính. Vào khoảng những năm 50 khi những thế hệ máy tính đầu tiên được đưa vào hoạt động trong thực tế với những bóng đèn điện tử thì chúng có kích thước rất cồng kềnh và tốn nhiều năng lượng. Khi đó, việc nhập dữ liệu vào các máy tính được thực hiện thông qua các tấm bìa đục lỗ. Các thiết bị đọc bìa và máy in là các thiết bị vào ra (I/O) thông dụng đối với máy tính. Vào giữa những năm 60, máy tính trung tâm của thế hệ mới hơn có thể kết nối với nhiều trạm cuối (terminal) và thiết bị vào ra cùng lúc. Máy tính trung tâm làm tất cả mọi việc, từ quản lý các thủ tục truyền dữ liệu, quản lý sự đồng bộ của các trạm cuối, quản lý các hàng đợi,… cho đến xử lý các ngắt từ các trạm cuối. Để giảm nhẹ các nhiệm vụ trên cho Máy xử lý trung tâm, sử dụng nó một cách có hiệu quả hơn vào công việc tính toán và xử lý, người ta thêm vào hệ thống máy tính các bộ tiền xử lý, các thiết bị tập trung, các thiết bị dồn kênh dùng để tập trung các tín hiệu trên một đường truyền gửi đến từ 6 các trạm cuối. Máy tính xử lý trung tâm và các thiết bị trên tạo thành một mạng truyền tin. Vào những năm 1970, các máy tính đã được nối với nhau trực tiếp để tạo thành một mạng máy tính nhằm phân tán tải của hệ thống và tăng độ tin cậy. Cũng trong thời gian này bắt đầu xuất hiện khái niệm Mạng truyền thông (communication network). Trong đó, các thành phần chính là các nút mạng, thường được gọi là các bộ chuyển mạch (switching unit) dùng để hướng các đơn vị thông tin (gói tin) tới đích. Các nút mạng nối với nhau bằng đường truyền (transmission line), còn các trạm cuối được nối trực tiếp vào các nút mạng. Vào năm 1974, công ty IBM đã giới thiệu một loạt các thiết bị đầu cuối được chế tạo cho lĩnh vực ngân hàng và thương mại, thông qua các dây cáp mạng, các thiết bị đầu cuối có thể truy cập đồng thời vào một máy tính dùng chung. Năm 1977, công ty Datapoint Corporation đã bắt đầu bán hệ điều hành mạng của mình là "Attached Resource Computer Network" (hay gọi tắt là Arcnet) ra thị trường. Mạng Arcnet cho phép liên kết các máy tính và các trạm đầu cuối lại bằng dây cáp mạng, và Arcnet đã trở thành hệ điều hành mạng cục bộ đầu tiên. Vào những năm 1980 các nhà nghiên cứu cho ra đời hệ thống đường truyền tốc độ cao nhằm kết nối các mạng trong các khu vực và các thành phố lớn với nhau. Các đường truyền tốc độ cao có thể được dùng chung (chia sẻ) để kết nối nhiều mạng với nhau mà không cần phải xây dựng mới các hệ thống đường truyền. Năm 1983, mạng Internet chính thức ra đời, Internet là mạng truyền thông toàn cầu kết nối hàng trăm nghìn mạng máy tính lại với nhau. Các mạng máy tính bao gồm các mạng diện rộng (WAN) và các mạng cục bộ (LAN) của bất kỳ chủ sở hữu nào nằm ở khắp nơi trên toàn cầu. Mỗi mạng máy tính lại có thể có nhiều máy tính chủ (máy tính cung cấp dịch vụ) và hàng trăm ngàn máy tính riêng lẻ kết nối để sử dụng các dịch vụ Internet. Các 7 quốc gia có kết nối mạng Internet toàn cầu thường xây dựng mạng đường trục tốc độ cao, là một hệ thống mạng liên kết có tốc độ truyền cực cao so với tốc độ truyền của hệ thống mạng thông thường. Tiền thân của Internet là APARNET, là mạng diện rộng được xây dựng và phát triển dựa trên công nghệ chuyển mạch gói phục vụ nghiên cứu của Bộ Quốc phòng Mỹ giữa những năm 60 của thế kỷ 20. Mạng kết hợp nhiều loại máy tính khác nhau nằm cách xa nhau để trao đổi và chia sẻ các tài nguyên thông tin. Một trong những mục tiêu của APRANET là làm sao sự truyền thông trong mạng vẫn còn duy trì ngay cả khi có một số thành phần mạng bị hỏng. Ngày nay, Internet đã trở thành mạng của các mạng thông tin máy tính toàn cầu, được kết nối với nhau dựa trên bộ giao thức trao đổi số liệu TCP/IP (Transmission Control Protocol/Internet Protocol). Các dịch vụ trên Internet liên tục được phát triển, đáp ứng hầu hết các dịch vụ thông tin liên lạc của xã hội. Một số dịch vụ như: 1. E-mail: Cho phép soạn, gửi và nhận các thư điện tử trong mạng, nó xuất hiện trong những ngày đầu của ARPANET và được nhiều người quan tâm. 2. Tin tức: Các nhóm thiết kế diễn đàn đăng các thông tin công cộng và có thể trao đổi các thông điệp. 3. Đăng nhập từ xa: Sử dụng các chương trình telnet, rlogin, ssh, người sử dụng ở bất kỳ đâu trên Internet cũng có thể đăng nhập đến các máy tính khác khi có một tài khoản. 4. Truyền tệp: Sử dụng chương trình FTP, người dùng có thể sao chép các tệp tin từ một máy trên Internet đến máy khác. Năm 1990, Tim và Robert Cailliau đưa ra dự án thiết kế hệ thống thông tin toàn cầu World Wide Web (WWW) dựa trên ý tưởng siêu văn bản. Sự ra đời của WWW đã làm thay đổi nhiều khả năng ứng dụng Internet trong đời 8 sống xã hội, mặc dù không làm thay đổi gì về cơ bản của mạng nhưng làm cho người dùng dễ sử dụng hơn. Nó cho phép người sử dụng có thể khai thác thông tin trên Internet dưới dạng văn bản, hình ảnh, âm thanh và video dựa vào hệ thống văn bản siêu liên kết toàn cầu. 1.2 Giao thức và kiến trúc giao thức 1.2.1 Khái niệm giao thức Việc trao đổi thông tin, cho dù là đơn giản nhất, cũng đều phải tuân theo những quy tắc nhất định. Việc truyền tín hiệu trên mạng cần phải có những quy tắc, quy ước về nhiều mặt, từ khuôn dạng (cú pháp, ngữ nghĩa) dữ liệu cho tới các thủ tục gửi/nhận dữ liệu, kiểm soát chất lượng truyền tin và xử lý các lỗi. Yêu cầu về xử lý và trao đổi thông tin của người sử dụng càng cao thì các quy tắc càng nhiều và phức tạp hơn. Tập hợp tất cả những quy tắc, quy ước đó được gọi là giao thức (Protocol) của mạng. Rõ ràng, các mạng có thể sử dụng các giao thức khác nhau tùy sự lựa chọn của người thiết kế. Tuy nhiên, các tổ chức chuẩn quốc tế đã đưa ra một số giao thức chuẩn được dùng trong nhiều mạng khác nhau để thuận lợi cho việc kết nối chung. 1.2.2 Kiến trúc phân tầng và các mô hình tham chiếu ISO/OSI và TCP/IP Để giảm phức tạp của việc thiết kế và cài đặt mạng, hầu hết các mạng máy tính đều được phân tích, thiết kế theo quan điểm phân tầng (layering). Sự phân tầng giao thức rất quan trọng vì nó chia nhiệm vụ cho các tầng thực hiện các chức năng chuyên biệt. Mỗi tầng thực hiện một số chức năng xác định và cung cấp một số dịch vụ nhất định cho tầng cao hơn. Tầng cao hơn chỉ cần sử dụng các dịch vụ tầng bên dưới cung cấp mà không cần quan tâm chi tiết tầng bên dưới thực hiện dịch vụ như thế nào. Các hệ thống mạng khác nhau có thể có số lượng tầng khác nhau và chức năng mỗi tầng cũng khác nhau. Khi xây dựng một hệ thống mạng phân tầng, người ta cần xác định số lượng tầng, chức năng mỗi tầng, sau đó định nghĩa mối quan hệ giữa hai tầng đồng mức và mối quan hệ giữa hai tầng kề nhau. 9 Việc truyền thông trên mạng ngày càng phát triển mạnh, nhu cầu các mạng máy tính làm việc, trao đổi thông tin cho nhau tăng. Để các mạng máy tính trao đổi được với nhau thì cần tuân theo một chuẩn cho trước. Chính vì vậy, các chuẩn truyền thông mạng ra đời, chúng còn được gọi là mô hình tham chiếu, làm cơ sở chung cho các nhà thiết kế dựa vào khi thiết kế mạng. Hai mô hình tham chiếu quan trọng nhất là ISO OSI và TCP/IP sẽ được trình bày dưới đây. 1.2.2.1 Mô hình tham chiếu ISO OSI Mô hình mạng máy tính do Tổ chức Tiêu chuẩn Quốc tế ISO (International Standard Organization) đề nghị năm 1983 được gọi là mô hình tham chiếu ISO OSI (ISO Open Systems Interconection Reference Model), thường được gọi ngắn gọn là Mô hình OSI. Các điều khoản mô tả trong mô hình được sử dụng rộng rãi trong lý thuyết truyền thông. Mô hình tham chiếu OSI chứa 7 tầng Hình 1.1 Mô hình tham chiếu OSI 10 Mỗi tầng của mô hình OSI miêu tả một chức năng được thực hiện khi dữ liệu di chuyển giữa các ứng dụng trên mạng. Chức năng mỗi tầng được mô tả như sau: Tầng Vật lý (Physical Layer): Cung cấp phương tiện truyền tin, duy trì và kết thúc các liên kết vật lý giữa các bên truyền thông. Tầng vật lý liên quan tới việc truyền dòng bit giữa các máy bằng kênh truyền thông vật lý mà không cần biết đến cấu trúc, ý nghĩa của dòng bit. Tầng Liên kết dữ liệu (Data Link Layer): Nhiệm vụ chính là liên kết, thiết lập, duy trì, huỷ bỏ các liên kết dữ liệu, kiểm soát lỗi truyền, điều khiển lưu lượng, điều khiển truy cập môi trường truyền thông. Tầng Mạng (Network Layer): Tầng mạng giải quyết các vấn đề như định tuyến, giao tiếp giữa các mạng, điều khiển tắc nghẽn (congestion control) và đảm bảo chất lượng dịch vụ khi cần thiết. Ngoài ra, còn có các nhiệm vụ liên quan đến tường lửa (Firewall). Tầng Giao vận (Transport Layer): Tầng này thực hiện chức năng truyền tin, điều khiển lưu lượng và điều khiển tắc nghẽn kiểu đầu cuối – đầu cuối (end-to-end). Thực hiện việc ghép kênh và phân kênh, mỗi ứng dụng có thể gửi dữ liệu đi theo nhiều con đường, đồng thời mỗi đường truyền có thể được nhiều ứng dụng sử dụng. Phân kênh/hợp kênh giải quyết vấn đề phân chia dữ liệu cho các ứng dụng. Tầng Phiên (Session Layer): Tầng phiên tổ chức và đồng bộ việc trao đổi dữ liệu giữa các tiến trình ứng dụng, cho phép người sử dụng trên các máy khác nhau thiết lập, duy trì, hủy bỏ, đồng bộ phiên truyền thông giữa họ, đăng nhập từ xa vào những hệ thống chia sẻ thời gian. Tầng Trình diễn (Presentation Layer): là tầng có nhiệm vụ giải quyết các vấn đề liên quan đến cú pháp và ngữ nghĩa của thông tin được truyền, giúp các máy tính khác nhau sử dụng các biểu diễn dữ liệu khác nhau có thể truyền thông với nhau, thực hiện các dịch vụ như nén hoặc mã hoá dữ liệu. 11 Tầng Ứng dụng (Application Layer): là tầng cuối cùng trong mô hình bảy tầng OSI, có nhiệm vụ tạo ra giao diện thuận tiện giữa người sử dụng và môi trường truyền tin, cung cấp các dịch vụ hỗ trợ cho các ứng dụng không thuộc mô hình OSI như email, ftp, WWW... Truyền dữ liệu trong mô hình OSI: Khi máy A gửi tin đi, các đơn vị dữ liệu đi từ tầng trên xuống tầng dưới. Qua mỗi tầng nó được bổ sung thêm các thông tin điều khiển vào đầu của đơn vị dữ liệu, gọi là header. Khi máy B nhận tin từ tầng dưới lên. Qua mỗi tầng, thông tin điều khiển được khử bỏ dần. Khi lên tới tầng Ứng dụng thì còn lại thông tin mà máy A cần gửi cho máy B. 1.2.2.2 Mô hình tham chiếu TCP/IP Mô hình OSI là một mô hình tham chiếu mang tính lý thuyết, việc áp dụng mô hình OSI vào thực tế sẽ có hiệu suất kém do dữ liệu phải truyền qua quá nhiều tầng ở cả hai máy. Tuy nhiên, đây là một mô hình “đẹp” được sử dụng làm tiêu chuẩn để các nhà phát triển dựa vào đó mà phát triển các mô hình khác tối ưu hơn. Có rất nhiều mô hình khác nhau như NetBIOS, IPX/SPX, TCP/IP,... trong đó mô hình TCP/IP được sử dụng phổ biến nhất hiện nay. Hình 1.2 Mô hình tham chiếu TCP/IP và mô hình tham chiếu OSI Mô hình tham chiếu TCP/IP được chia làm bốn tầng: Tầng Internet: Tầng Internet có chức năng tương tự tầng mạng của mô hình OSI, đó là định tuyến, điều khiển lưu lượng và điều khiển tắc nghẽn. Dữ 12 liệu ở tầng trên gửi xuống sẽ được phân thành nhiều gói tin nhỏ hơn để gửi đến đích, có thể theo các đường đi khác nhau. Do đó, có thể các gói tin đến đích theo thứ tự khác nhau, nên tầng Giao vận trên nó phải giải quyết các vấn đề về thứ tự gói tin. Tầng Internet định nghĩa một khuôn dạng gói số liệu và giao thức chính là giao thức IP. Tầng Giao vận: Cung cấp phương tiện liên lạc kiểu đầu cuối - đầu cuối từ một chương trình ứng dụng trên máy này đến chương trình ứng dụng trên máy khác. Ở tầng này, người ta định nghĩa hai giao thức kiểu đầu cuối - đầu cuối là TCP (Transmission Control Protocol) và UDP (User Datagram Protocol) [4]. Giao thức TCP là giao thức hướng kết nối tin cậy, đảm bảo truyền dòng byte từ máy này đến máy khác trong liên mạng mà không có lỗi. Ngoài ra, TCP còn có các cơ chế điều khiển lưu lượng và điều khiển tắc nghẽn, giúp các nguồn phát TCP thích nghi với tình trạng đường truyền. Còn giao thức UDP là giao thức không hướng kết nối, không tin cậy, các gói tin được đưa lên đường truyền mà không cần biết có đến được đích như mong muốn hay không. Giao thức UDP thường thích hợp cho các ứng dụng thời gian thực với điều kiện không cần sự chính xác tuyệt đối của dữ liệu như: truyền audio, video,… Tầng Ứng dụng: Trên tầng Giao vận là tầng Ứng dụng. Nó chứa tất cả các giao thức bậc cao. Trong các mô hình đầu tiên, tầng này bao gồm các giao thức như: TELNET (TELecomunication NETwork), FTP (File Transfer Protocol) và SMTP (Simple Mail Transfer Protocol), DNS (Domain Name System). Hình 1.3 Các giao thức và các mạng trong mô hình TCP/IP 13 Tầng Host – to – Network: Là tầng nằm dưới tầng IP, mô hình TCP/IP không định nghĩa cụ thể tầng này cho các máy tính sử dụng TCP/IP mà chỉ nói rằng máy tính (host) phải nối với mạng bằng cách sử dụng một số giao thức để gửi gói tin IP đi trên mạng. Vì đặc điểm của các tầng vật lý khác nhau trên các mạng khác nhau nên phải có giao thức Host-to-Network riêng cho từng loại mạng cụ thể [4]. 1.2.3 Đặc tả và kiểm chứng giao thức Đặc tả giao thức (Protocol specification): là xác định tất cả các yêu cầu về khuôn dạng gói số liệu, bao gồm các số liệu điều khiển cần thiết và số liệu sử dụng, cũng như phương thức trao đổi số liệu, bao gồm trình tự và thời gian thực hiện từng bước, xử lý với các sự kiện trong và ngoài hệ thống (ví dụ: lỗi tràn bộ đệm, lỗi đồng bộ tiến trình, lỗi truyền số liệu,…) giữa các thực thể ở cùng một mức chức năng. Để đặc tả giao thức, ta có thể sử dụng một số phương pháp như sử dụng lưu đồ, sử dụng lưu đồ trạng thái, sử dụng ngôn ngữ lập trình… Kiểm chứng giao thức (Protocol verification) là hình thức minh chứng tính đúng đắn của giao thức được đặc tả [1], bao gồm: trình tự thực hiện, tập hợp đầy đủ trạng thái và lưu trình chuyển đổi trạng thái, không bị vòng quẩn, hoạt động ổn định,… Ngoài ra, kiểm chứng giao thức cần thiết chứng minh rằng các thực thể tham gia trao đổi số liệu đáp ứng đầy đủ các yêu cầu mà đặc tả giao thức nêu ra. Có hai loại kiểm chứng giao thức: – Kiểm chứng thiết kế giao thức (Protocol design verification): là kiểm chứng đặc tả giao thức một lần. – Kiểm chứng thực hiện giao thức (Protocol implementation verification) là kiểm chứng với mỗi phiên bản thực hiện giao thức. Một số phương pháp kiểm chứng giao thức thường được sử dụng: – Phương pháp "phân tích đạt tới" cho các đặc tả giao thức sử dụng lưu đồ thời gian và lưu đồ trạng thái. 14 – Phương pháp "chứng minh chương trình" cho các đặc tả giao thức sử dụng ngôn ngữ lập trình. – Phương pháp mô phỏng và thử nghiệm. Mục đích chính kiểm chứng giao thức là kiểm tra xem giao thức có đạt được các mục tiêu đưa ra lúc đặc tả giao thức hay không. Nếu không đạt được mục tiêu đưa ra thì việc đi tìm nguyên nhân làm cho giao thức không đạt được mục tiêu là quan trọng nhất. 1.3 Đánh giá hiệu suất giao thức 1.3.1 Khái niệm hiệu suất mạng và các độ đo hiệu suất Nói chung, hiệu suất là một trong hai nhân tố chính xác định năng suất tổng cộng của một hệ thống, phản ánh khả năng khai thác tài nguyên đối với năng lực của hệ thống. Đối với một hệ thống tính toán, đánh giá hiệu suất (performance evaluation) là xác định về mặt định tính và định lượng chất lượng phục vụ của hệ thống tính toán đó với một loại bài toán nhất định. Đối với giao thức, đánh giá hiệu suất là xác định về mặt định tính và định lượng chất lượng truyền tải đối với một lưu lượng số liệu nhất định. Hiệu suất mạng chủ yếu được xác định bởi các nhân tố: tính sẵn sàng để dùng (availability), thông lượng (throughput), thời gian đáp ứng (response time), thời gian trễ (delay), độ tin cậy (reliability), tỉ suất lỗi (error rate) và hiệu suất của ứng dụng... Tùy thuộc vào từng loại hệ thống và mục đích sử dụng mà người ta có thể sử dụng các độ đo trên hoặc là sự kết hợp của một vài trong số đó. Người ta thường phân chia độ đo hiệu suất làm hai loại, đó là: độ đo hướng đến người sử dụng và độ đo hướng tới hệ thống. Các độ đo hướng tới người sử dụng: – Response time: là khoảng thời gian từ khi có một yêu cầu (request) đến hệ thống cho đến khi nó được hệ thống thực hiện xong; thường được sử dụng trong các hệ thời gian thực hoặc các môi trường hệ thống tương tác. – System reaction time: là khoảng thời gian tính từ khi input đến hệ thống cho đến khi yêu cầu chứa trong input đó nhận được khe thời gian (slice 15 time) phục vụ đầu tiên; thường được sử dụng trong các hệ thống tương tác, thay cho response time. Độ đo này đo mức độ hiệu dụng của bộ lập lịch của hệ thống trong việc nhanh chóng cung cấp dịch vụ cho một yêu cầu mới đến. Trong mạng máy tính, các đại lượng trên đều được xem là các biến ngẫu nhiên, vì vậy người ta thường nói về phân bố, kỳ vọng, phương sai... của chúng. Các độ đo hướng tới hệ thống: – Throughput: là số đơn vị thông tin tính trung bình được vận chuyển qua mạng trong một đơn vị thời gian. Đơn vị thông tin ở đây có thể là bit, byte hay gói số liệu... Nếu các đơn vị thông tin đi vào mạng theo một cơ chế độc lập với trạng thái của mạng, thì thông lượng cũng chính bằng tốc độ đến trung bình nếu mạng vẫn còn có khả năng vận chuyển. Một số trường hợp người ta sử dụng đại lượng không thứ nguyên Hệ số sử dụng đường truyền (Line Utilization) hay còn gọi thông lượng chuẩn hoá, đó là tỉ số của thông lượng trên năng lực vận chuyển của đường truyền (line capacity). – Transfer delay: là thời gian trung bình để vận chuyển một gói số liệu qua mạng, từ nguồn tới đích. Người ta cũng có thể dùng thời gian trễ chuẩn hóa, là tỉ số của thời gian trễ trên một tham số thời gian nào đó, thí dụ như thời gian cần thiết để truyền một gói tin lên đường truyền (packet transmition time). – Tỉ lệ lỗi truyền số liệu: là số lượng số gói tin bị lỗi trên tổng số gói tin được đưa lên đường truyền. – Thời gian xử lý, khắc phục lỗi… 1.3.2 Tầm quan trọng của việc đánh giá hiệu suất Cùng với sự ra đời và phát triển của các giao thức truyền tải số liệu, vấn đề đánh giá và dự đoán hiệu suất luôn thu hút sự quan tâm của các nhà nghiên cứu và thiết kế giao thức với mục đích chính là cải thiện đặc trưng giá - hiệu suất của giao thức (cost - performance). Quá trình đánh giá hiệu suất là công việc không thể thiếu trong các giai đoạn thiết kế, cài đặt và vận hành hệ thống mạng. Trong giai đoạn đầu của thiết kế, đánh giá hiệu suất làm cơ sở cho việc 16 chọn thiết kế kiến trúc mạng. Sau khi lựa chọn kiến trúc và bắt đầu thiết kế, triển khai, việc đánh giá hiệu suất sẽ trở nên cụ thể hơn. Trong giai đoạn vận hành, việc so sánh hiệu suất dự đoán với hiệu suất thực tế đạt được thường giúp cho các nhà nghiên cứu thấy được các khuyết điểm trong thiết kế hoặc các lỗi trong việc lập trình. Các kỹ thuật được dùng để dự đoán và đánh giá hiệu suất mạng trong giai đoạn thiết kế và triển khai thực hiện có khi chỉ là các tính toán bằng tay, nhưng cũng có khi là các mô phỏng rất tinh vi. Đánh giá hiệu suất giao thức có ý nghĩa lý luận và thực tế quan trọng, xuyên suốt toàn bộ quá trình thiết kế, thực hiện và sử dụng giao thức. Mục tiêu cuối cùng của việc thiết kế, thực hiện và vận hành các giao thức trao đổi số liệu cần đạt được chính là tính hiệu quả và chất lượng cao trong hoạt động phục vụ của hệ thống đó. 1.4 Các phƣơng pháp đánh giá hiệu suất giao thức mạng 1.4.1 Khái quát về các phƣơng pháp đánh giá hiệu suất Có nhiều phương pháp đánh giá hiệu suất mạng máy tính, mỗi phương pháp có các thế mạnh riêng phụ thuộc vào mục tiêu nghiên cứu cụ thể, điều kiện và khả năng của người sử dụng. Người ta chia các phương pháp đánh giá hiệu suất mạng làm ba loại [3][1]: mô hình Giải tích (Analytic Models), mô hình Mô phỏng (Simulation Models) và Phương pháp Đo (Measurement). Trong đó, phương pháp mô hình Mô phỏng có nhiều ưu điểm vượt trội so với hai phương pháp còn lại, đó là chi phí thấp, nhanh chóng và chính xác. Phương pháp mô hình Giải tích bảo đảm hiệu quả, dễ thay đổi với chi phí thấp, tuy nhiên, đòi hỏi khả năng Toán học tốt. Phương pháp Đo cho kết quả chính xác nhưng thường có chi phí cao về thiết bị, thời gian và khó có khả năng thực hiện hơn vì vấn đề sở hữu đối với hệ thống mạng muốn đo. Các phương pháp trên sẽ được trình bày rõ hơn ở dưới đây. 1.4.2 Phƣơng pháp lập mô hình giải tích Trong mô hình Giải tích, Lý thuyết Hàng đợi đóng vai trò mấu chốt để giải bài toán đánh giá hiệu suất, bởi vì đó là công cụ Toán học thích hợp nhất 17 để phát biểu và giải các bài toán về hiệu suất. Theo phương pháp này, chúng ta sẽ xây dựng nên một quan hệ dạng hàm với các tham số sẽ là các đặc trưng riêng của hệ thống mạng cũng như các yêu cầu của ứng dụng (thí dụ như thời gian trễ, băng thông, thời gian đáp ứng,...). Thường thì các quan hệ thu được rất phức tạp và khó giải do có quá nhiều tham số, nên người ta phải đưa ra nhiều giả thiết để đơn giản hoá nhằm đưa về các phương trình có thể giải được bằng giải tích. Có những giả thuyết có vẻ như phi thực tế hoặc đơn giản hoá quá mức, tuy nhiên, kết quả thu được lại rất phù hợp với các kết quả của phương pháp mô phỏng hoặc phương pháp thực nghiệm. Điều quan trọng đối với nhà nghiên cứu là đưa ra được các giả thiết làm cho mô hình trở nên càng đơn giản càng tốt mà vẫn đạt được độ chính xác cần thiết của các kết quả dự đoán và đánh giá hiệu suất. 1.4.3 Phƣơng pháp lập mô hình mô phỏng Lập mô hình mô phỏng là phương pháp sử dụng các chương trình máy tính để mô phỏng kiến trúc và quá trình hoạt động của hệ thống, trên cơ sở đó xác định các thông số hiệu suất của hệ thống. Thông thường, công việc chính của mô phỏng là phân tích mạng và xây dựng chương trình mô phỏng dựa trên một công cụ mô phỏng nào đó, mà người ta hay gọi là bộ mô phỏng. Nó bao gồm các chức năng cho phép tạo ra các thành phần cơ bản của mạng mô phỏng như đường truyền, nút mạng, các nguồn lưu lượng, mô hình sinh lỗi,... đồng thời người dùng có thể cài đặt hay sửa đổi chi tiết các giao thức cần mô phỏng. Bộ mô phỏng thường được xây dựng theo kiểu có cấu trúc, cho phép mô-đun hoá chương trình mô phỏng thành tập các chương trình con, sao cho việc sửa đổi, bổ sung các chương trình con được dễ dàng. Hơn nữa, khi xây dựng bộ mô phỏng, tốc độ thực hiện là một trong những yếu tố rất được chú trọng nhằm giảm thời gian chạy mô phỏng càng nhiều càng tốt. Kết quả mô phỏng là vết của các sự kiện, chứa đựng rất nhiều thông số về độ đo hiệu suất mạng, nên thường được sử dụng để kiểm chứng kết quả của mô hình giải tích. 18 1.4.4 Phƣơng pháp Đo Phương pháp đo thực tế thường được áp dụng khi các các yếu tố đảm bảo về kỹ thuật cho phép, chi phí cho các thiết bị đo và các phép đo là có thể chấp nhận được. Đối với các hệ thống đang hoạt động, việc phân tích và đánh giá hiệu suất hoạt động của hệ thống dựa trên các số liệu thu thập được bởi các hệ thống giám sát, bằng phương pháp thử ngẫu nhiên hoặc được kích hoạt bởi các sự kiện qui định trong và ngoài hệ thống, tại các giao diện ngoài vào và giao diện ra của hệ thống. Phương pháp này thường được thực hiện trong giai đoạn triển khai và vận hành hệ thống. Kết quả đo có thể được sử dụng làm các giá trị đầu vào cho các mô hình giải tích, mô hình mô phỏng máy tính hoặc được sử dụng để kiểm chứng tính đúng đắn của các mô hình này. Trong giai đoạn triển khai hệ thống, kết quả đo là yếu tố rất quan trọng làm cơ sở để điều chỉnh các thành phần của hệ thống cho hiệu quả hơn. 1.4.5 So sánh các phƣơng pháp Phương pháp sử dụng mô hình giải tích là phương pháp tốt nhất vì nó cho phép thay đổi các tham số của hệ thống, cấu hình trong một miền rộng với chi phí thấp mà vẫn có thể đạt được các kết quả mong muốn. Phương pháp này thường chỉ được sử dụng trong giai đoạn đầu của quá trình thiết kế, các kết quả thu được cần phải được kiểm nghiệm bằng kết quả của các phương pháp khác. Nguyên nhân là các mô hình giải tích do chúng ta xây dựng thường là phức tạp, không thể giải được nếu không được đơn giản hoá nhờ các giả thiết hay được phân rã thành các mô hình nhiều cấp, nên có thể các mô hình này khác xa với thực tế. Phương pháp mô phỏng có thể được sử dụng ngay trong giai đoạn đầu của việc thiết kế cho đến giai đoạn triển khai thực hiện và tích hợp hệ thống. Nhưng phương pháp này đòi hỏi chi phí cao cho việc xây dựng bộ mô phỏng cũng như kiểm chứng tính đứng đắn của nó. Tuy nhiên, sau khi xây dựng xong bộ mô phỏng, có thể tiến hành chạy chương trình nhiều lần với độ chính xác theo yêu cầu và chi phí cho mỗi lần chạy là thấp. Các kết quả mô phỏng
- Xem thêm -