1. Trang chủ
  2. » Luận Văn - Báo Cáo

Ứng dụng IP multicast trong truyền file trên hệ điều hành win32s

56 190 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 56
Dung lượng 513,18 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứuTrong việc phát chuyển nhiều điểm bằng unicast unicasting thì bên gửi sẽ gửi nhiều bản sao dữ liệu riêng biệt đến nơi những

Trang 1

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu

MỤC LỤC

Lời cảm tạ 2

Giới thiệu đề tài 4

Phần lý thuyết 6

I Khái quát những kỹ thuật phát chuyển thông dụng 7

II IP MULTICAST – Đặc điểm và ứng dụng 15

Phần Ứng dụng 26

III Quá trình thuyết kế cài đặt ứng dụng 27

IV Giới thiệu và khai thác ứng dụng NETLOADING 41

V Kết luận và hướng phát triển 54

Tài liệu Tham Khảo 56

Trang 2

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu

LỜI CẢM ƠN

Sau hơn 3 tháng thực hiện, đến nay đề tài luận văn tốt

nghiệp IP Multicast đã hoàn thành Song song với yếu tố thời gian

và sự phấn đấu của bản thân, sự giúp đỡ của quýThầy Cô là một yếu tố quan trọng, mang tính chất quyết định Do đó, trước khi trình bày phần nội dung của đề tài, em xin được gửi lời cảm ơn chân thành đến quý Thầy Cô, những người đã trực tiếp, gián tiếp giúp đỡ em trong quá trình thực hiện đề tài:

s Thầy Đinh Khắc Quyền, Trưởng bộ môn HTTT & TƯD , đã

chấp nhận và có lời đề nghị đến BCN Khoa chấp nhận cho

em được làm luận văn

s Thầy Nguyễn Phú Trường, cán bộ giảng dạy Khoa, đã có

nhã ý chấp nhận ra đề tài nếu em chưa chọn được đề tài nào khác

s Thầy Hồ Chí Việt, Cán bộ Trung tâm Thông tin KH&CN và dự án Ford Foundation đã tạo điều kiện cho em trong việc

thực hiện, cài đặt chương trình ứng dụng

s Thầy Nguyễn Trung Nghĩa cán bộ phòng HTMT, giáo viên

hướng dẫn đề tài, đã giúp em tìm tài liệu và có những lời đóng góp bổ ích

s Đặc biệt em gửi lời cám ơn chân thành và sâu sắc đến Cô

Trần Thượng Thu Giang, cán bộ phòng quản trị mạng, giáo

viên ra đề tài và hướng dẫn, Cô đã giúp đỡ và tạo mọi điều

kiện để Đề tài được thực hiện và hoàn thành.Cụ thể:

Trang 3

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu

T Cô đã bỏ qua và thuyết phục Hội đồng Khoa học Khoa bỏ qua những khiếm khuyết về khả năng trình bày để

em được làm Luận văn

T Ở những bước đầu bỡ ngỡ, Cô đã không ngừng động viên, khích lệ tinh thần Đồng thời, cô cũng cung cấp

tài liệu và địa chỉ web cho em tham khảo

T Những lúc gặp phải khó khăn, Cô đã từng bước giải

thích, chỉ dẫn tháo gỡ thắc mắc

Nói chung, những gì mà đề tài Luận văn Tốt nghiệp này đạt được, phần lớn là nhờ vào sự gợi ý, chỉ dẫn, khuyến khích, động viên của Cô Một lần nữa, em xin chân thành cảm ơn Cô và chúc Cô luôn thành đạt

Cần Thơ, tháng 01 năm 2002 Sinh viên thực hiện

Trương Minh Sử Nhiên

Trang 4

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu

GIỚI THIỆU ĐỀ TÀI

Ngày nay, thông tin liên lạc qua internet đã trở nên một thành phần cơ bản

của cuộc sống World Wide Web (WWW)là một thư viện khổng lồ chứa đựng vô

số thông tin, tài liệu về rất nhiều chủ đề, lĩnh vực Mọi người từ khắp nơi có thể

tải (download) các file chứa dữ liệu cần thiết từ WWW về máy của mình để để sử

dụng với mục đích riêng

Việc download bùng nổ trong những giờ cao điểm làm cho lưu thông trên internet bị tắt nghẽn Vấn đề này suy cho cùng không phải ở chỗ dữ liệu được truyền tải là gì, mà chính là cơ chế truyền tải như thế nào

Tình trạng này được xuất phát từ kỹ thuật phát chuyển được dùng trên Web đó là unicast Một kết nối TCP được thiết lập cho một máy gửi và mỗi máy nhận, sau đó máy gửi sẽ chuyển một bản sao dữ liệu đến một máy nhận thông qua kết nối Mỗi bản sao như vậy phải đi qua rất nhiều thiết bị nối kết Mà những thiết bị

này vốn đầy dẫy xung quanh máy gửi Vì vậy, sự tắt nghẽn (bottleneck) có thể

xãy ra bất cứ nơi nào nếu có thể xãy ra sự quá tải Ngoài ra, sự tắt nghẽn còn có thể xuất phát từ việc vận chuyển dữ liệu bị kéo dài do file có dung lượng lớn hoặc các phương tiện nối kết trì hoãn

Vấn đề trên có thể ngăn chặn bởi việc ứng dụng kỹ thuật phát chuyển multicast trong truyền file mà nội dung của đề tài luận văn này sẽ đề cập

Với tên gọi “Ứng dụng IP multicast trong truyền file trên hệ điều hành

Win32s” Đề tài này sẽ:

• Đi vào giới thiệu IP multicast, so sánh với hai kỹ thuật phát chuyển thông dụng là unicast và broadcast

• Phân tích việc ứng dụng của IP Multicast trong truyền file

• Giới thiệu Fcast, một giao thức truyền file kết hợp giữa FEC (Forward Error Correction) và việc vận chuyển IP Multicast có độ tin cậy

• Giới thiệu chương trình demo NetLoading ứng dụng giao thức truyền file Fcast để chia sẻ dữ liệu chạy trên hệ điều hành Win32s

Trang 5

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu

Mặc dù đề tài này được hướng dẫn tận tình và kiểm thử chu đáo Song, sai sót là một điều không thể tránh khỏi Kính mong quý thầy cô và các bạn bỏ qua cho hoặc có những đóng góp tích cực Chân thành cám ơn

Trang 6

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu

PHAÀN LYÙ THUYEÁT

Trang 7

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu

I KHÁI QUÁT NHỮNG KỸ THUẬT PHÁT CHUYỂN THÔNG DỤNG

Phương thức nền tảng cho việc truyền thông trên mạng là sự giao tiếp giữa hai máy chủ với nhau Những phiên làm việc 1-1(one-to-one or point to point) như vậy có nhiều thuận lợi cho việc điều khiển lưu thông dữ liệu giữa bên gửi và bên nhận như: cho phép thông báo nhận, yêu cầu truyền lại dữ liệu, thay đỗi tốc độ truyền…Chính vì thế mà mức độ an toàn dữ liệu được nâng cao

Nhưng nhiều ứng dụng Internet ngày nay thường yêu cầu các mô hình giao tiếp 1-n (one-to-many) hoặc n-n (many-to-many) để có khả năng đáp ứng việc truyền dữ liệu từ một nguồn (1-n) hoặc nhiều nguồn (n-n) đến những đích khác nhau Điều này có thể thực hiện bằng việc áp dụng các kỹ thuật phát chuyển:

máy nhận

Mặc dù, chỉ có một vài nơi thực sự có yêu cầu

máy chủ có yêu cầu

Chúng ta sẽ đi vào tìm hiểu từng kỹ thuật một

I.1 Khái quát về kỹ thuật unicast(Đơn phát)

Unicast là một chuẩn truyền thống của mô hình giao tiếp Client/Server Chuẩn cá biệt này dựa trên cơ sở những sự kết nối điểm-điểm (point-to-point) trong mạng định tuyến IP Mỗi kết nối trong kỹ thuật này, bất chấp đến nội dung dữ liệu là như thế nào, chúng đều dành riêng một phần băng thông để truyền dữ liệu trực tiếp đến máy nhận Điều này có nghĩa sẽ có nhiều bản sao chép của

cùng một dữ liệu được phát chuyển cùng lúc

Trang 8

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu

Trong việc phát chuyển nhiều điểm bằng unicast (unicasting) thì bên gửi sẽ

gửi nhiều bản sao dữ liệu riêng biệt đến nơi những máy nhận khác nhau Trong những trường hợp như vậy, thì số lượng máy nhận sẽ bị giới hạn bởi độ rộng băng thông máy gửi

Ví du:ï một ứng dụng mạng được cài đặt trên Ethernet 10 –Mbps và luồng dữ liệu cần đến 500 Kbps thì số lượng giao tiếp đồng thời sẽ không vượt quá 20

Việc truyền file từ FTP(File Transfer Protocol ) Server đến máy chúng ta là một ví dụ về unicast Dữ liệu file sẽ được chuyển khắp trên mạng và chỉ đến mỗi máy chúng ta thôi Nếu có 5 người khác nhau cùng lúc yêu cầu chép file này đến máy của họ bằng FTP Thì FTP Server phải gửi file này một cách riêng biệt đến 5 người và dĩ nhiên thì băng thông cũng bị hao phí gấp 5 lần cho việc phát chuyển cho một người

Unicasting tương thích với nhiều chương trình ứng dụng trên Internet ngày nay Bởi vì những ứng dụng này bao hàm những mối giao tiếp 1-1, đặc trưng của unicast Những cơ chế thuận lợi cho việc phát chuyển bằng unicast đó là: Cho phép bên gửi và bên nhận điều khiển lưu lượng phát chuyển, cung cấp cơ chế để bên nhận có thể thông báo rằng đã nhận được dữ liệu, hoặc yêu cầu truyền lại khi dữ liệu bị thất lạc…

Trang 9

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu

Ngay cả khi cùng dữ liệu phải được chuyển đến nhiều máy nhận, cùng thời điểm, unicasting vẫn làm việc tốt nếu như số lượng máy nhận là nhỏ Nhưng khi những giao thức unicast được sử dụng cho việc phân phối và phản hồi dữ liệu thì có những sự giới hạn cho việc đáp ứng những phiên làm việc song song trên thực thể server Dữ liệu phản hồi theo cách unicasting song song đến nhiều client đòi yêu cầu một khoảng phí khá lớn cho việc xử lý ở server và bộ đệm để duy trì trạng thái của những phiên làm việc Đồng thời, nó cũng phí phạm một cách quá

mức băng thông trên mạng [1]

I.2 Khái quát về kỹ thuật broadcast(Tổng phát)

Broadcast là một kỹ thuật phát chuyển một phiên bản thông điệp đến tất cả các nút mạng và để cho những nút này có quyết định cần thiết thông điệp hay không Một thuận lợi rõ ràng cho bên gửi là tác vụ nhân bản thông điệp là công

việc chung cho tất cả các máy chủ trên mạng [1]

Nhiều kỹ thuật phần cứng có bao gồm những cơ chế gửi gói tin đến nhiều đích cùng một lúc (hay gần như cùng một lúc) Với các kỹ thuật bus như Ethernet, việc phát chuyển có thể được thực hiện bằng một lần truyền gói tin Trên một số mạng có bao gồm thiết bị chuyển mạch với các kết nối điểm-nối- điểm, thì phần mềm phải cài đặt việc broadcast bằng cách chuyển đi các phiên bản của gói tin này qua từng kết nối đến khi tất cả các thiết bị chuyển mạch nhận được phiên bản này

Việc broadcasting trên WAN(Wide Area Network) phải phụ thuộc và các thiết bị mạng ở đó như là bộ định tuyến (router) để nhân bản và phân phát chúng trong mạng con kể cả WAN hay Internetwork Còn trên mạng LAN (Local Area Network) những hệ thống này tuỳ thuộc vào kỹ thuật broadcast trên LAN để phát

chuyển gói tin đến mỗi máy( như kỹ thuật Ethernet).[2]

Trang 10

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu

Việc broadcasting trên mạng WAN thường được sử dụng cho việc bảo trì hoặc việc nhận biết trạng thái của mạng Có hai loại kỹ thuật broadcast chính được sử dụng cho những chức năng này:

• Một là gửi những yêu cầu hỏi về trạng thái hoặc khả năng đáp ứng của các thành phần trong mạng.Ví dụ IP ARP (Address Resolution Protocol packets)

• Hai là truyền bá thông tin trên mạng

Việc lưu thông broadcast có thể nhanh chóng bùng nổ từ việc điều khiển ở những vùng lớn hơn (ví dụ lớn hơn 300 thiết bị mạng) làm giảm khả năng đáp ứng băng thông để phục vụ cho những nhiệm vụ nguy kịch trong ứng dụng, ngay cả việc lưu thông cho mục đích chung Ở những trường hợp xấu nhất, những cơn bão broadcast sẽ làm cho việc lưu thông trên mạng bị tắt nghẽn, bởi vì broadcast có thể độc quyền chiếm lĩnh tất cả những khả năng đáp ứng của băng thông

Thường thì, việc hạn chế truyền broadcast đến một mạng con như thế là cần thiết để ngăn chặn việc bùng nổ vô số các lưu thông khác tràn ngập trên toàn mạng Mặt khác, broadcasting đặt để một gánh nặng không cần thiết cho các trạm làm việc (Workstation) khi nhận được dữ liệu bằng việc broadcasting Bởi vì, ít nhiều một phần thông điệp cũng phải được xử lý để xem có cần thiết hay không Hơn nữa, nếu dữ liệu broadcast không được nơi nào chấp nhận thì tài nguyên trên

mạng sẽ bị tiêu tốn một cách vô ích.[1]

Trang 11

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu

Đối với hầu hết các kỹ thuật phần cứng, máy tính xác định việc phát chuyển broadcast bằng cách gửi đi một gói tin đến một địa chỉ đặc biệt, địa chỉ này được dành riêng hay còn được gọi là địa chỉ broadcast Lấy ví dụ: Địa chỉ phần cứng Ethernet bao gồm những định danh 48-bit, trong đó tất cả các bit là 1 được dùng cho broadcast Phần cứng trên mỗi máy nhận ra địa chỉ phần cứng của mỗi máy cũng như là địa chỉ broadcast, và chấp nhận gói tin gửi đến với địa chỉ

đích là một trong hai địa chỉ này.[2]

Việc giao trách nhiệm nhân bản gói tin cho máy nhận đã làm nhẹ đi công việc của nơi gởi Và đó cũng là một đặc trưng của broadcast Và đặc trưng này cũng tìm thấy ở multicast

I.3 Khái quát về kỹ thuật multicast (Đa phát)

Một số kỹ thuật phần cứng hỗ trợ cho một loại kỹ thuật thứ hai, ít thông dụng hơn của việc phát chuyển nhiều-điểm, gọi là multicast

Giống như broadcast, kỹ thuật multicast được hỗ trợ sẵn cho nhiều kỹ thuật mạng LAN Kỹ thuật Ethernet là một thí du Một loạt địa chỉ multicast được định nghĩa để cho trạm làm việc có thể giám sát và nhận dữ liệu, rất giống với sự giám sát địa chỉ broadcast

Trang 12

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu

Multicast chính là sự tổng quát của broadcast và unicast Không gửi dữ liệu đến một máy chủ duy nhất (unicasting), hay tất cả các máy chủ trên mạng (broadcasting), multicasting nhắm đến việc phát chuyển dữ liệu cho một nhóm các máy chủ chọn trước được gọi là host group Host group này được xác định bởi

địac chỉ multicast.[2]

Trong mạng LAN, giao diện mạng của mỗi máy chủ sẽ giám sát trên mạng và chấp nhận những gói tin gửi đến địa chỉ của nhóm mà máy này gia nhập Không giống như broadcasting, multicasting cho phép mỗi host chọn tham gia hay không và một host group

Việc multicasting trên mạng WAN tương tự như multicast trên mạng LAN Thực ra thì khái niệm host group trên hai mạng là như nhau Bởi vì, khái niệm này là nền tảng của việc phân loại Nhưng khi sang mạng WAN hay InternetWork, những thông tin về toàn thể thành viên liên quan đến host group sẽ được bảo lưu Thủ tục tham gia một nhóm và bảo lưu một hostgroup ở WAN sẽ khác với LAN vì các bộ định tuyến phải liên quan đến việc chuyển những thông

tin của nhóm với nhau để bảo lưu kết cấu multicast.[1]

Một khi host group được thiết lập và bên gửi bắt đầu phát chuyển gói tin đến địa chỉ nhóm, cơ sở hạ tầng mạng sẽ đảm nhiệm việc phân phát luồng dữ liệu cần thiết đến tất cả các thành viên trong nhóm Chỉ mỗi phiên bản thông điệp multicast sẽ được chuyển qua bất cứ thiết bị nối kết nào (ví dụ như bộ định tuyến) trên mạng Những bản sao chép của thông điệp chỉ phát sinh khi đường dẫn bị

phân nhánh ở bộ định tuyến có tác dụng bảo tồn băng thông [2]

I.4 So sánh các kỹ thuật phát chuyển unicast, broadcast và multicast

Như đã đề cập, unicast là một kỹ thuật phát chuyển theo mô hình giao tiếp 1-1, cơ sở cho việc truyền thông trên mạng, còn broadcast và multicast thì phát chuyển theo mô hình giao tiếp 1-n hoặc n-n Do đó, để có sự so sánh chặt chẽ giữa các kỹ thuật này, trước hết, chúng ta đi vào so sánh theo mô hình giao tiếp, hay so sánh giữa hai bên : một bên là unicast, một bên là broadcast và multicast, rồi sau đó mới so sánh sự khác biệt giữa multicast và broadcast

Trang 13

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu

I.4.1 So sánh giữa unicast và tổ hợp broadcast, multicast

ü Phát chuyển đến duy nhất một máy

chủ

ü Mô hình giao tiếp 1-1 (one- to –one

hay point–to point) Mô hình giao tiếp

này là cơ sở cho việc truyền thông trên

mạng

ü Sẽ truyền nhiều bản sao dữ liệu khi

có nhiều yêu cầu phát chuyển cho

cùng một dữ liệu

ü Tác vụ nhân bản , và phát chuyển

dữ liệu là do máy gửi đảm trách

ü Giám sát được tiến trình phát

chuyển và có cơ chế bảo đãm cho việc

phát chuyển như: bên gửi và nhận có

thể điều khiển lưu lượng phát chuyển,

cơ chế thông báo nhận được hay phải

truyền lại khi bị thất lạc…

ü Phát chuyển đến nhiều máy chủ với một địa chỉ chung

ü Mô hình giao tiếp 1-n (one-to-many) hay n-n (many-to-many) Những mô hình này đáp ứng cho nhu cầu của các ứng dụng mạng ngày nay

ü Chỉ có một phiên bản dữ liệu trường truyền trên mạng (Không kể lúc rẽ nhánh)

ü Tác vụ nhân bản và phát chuyển dữ liệu máy gửi không đảm trách

ü Không giám sát được tiến trình phát chuyển Không có cơ chế đảm bảo cho việc phát chuyển dữ liệu

I.4.2 So sánh giữa broadcast và multicast

Trang 14

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu

ü Phát chuyển dữ liệu đến tất cả các

máy chủ trên mạng và để cho các các

máy chủ này quyết định có nhận dữ

liệu hay không

ü Ngoài việc tiêu tốn n băng thông,

mỗi broadcast tiêu tốn tài nguyên trên

tất cả các máy cho việc tính toán

ü Những cơn bão broadcast khi phát

chuyển trên những mạng tương đối lớn

sẽ dẫn đến tắt nghẽn mạng

ü Phát chuyển dữ liệu đến một nhóm máy chủ được chọn để nhận dữ liệu

Các máy có quyền tham gia hay tách khỏi nhóm

ü Sự tiêu tốn băng thông và tài nguyên trên các máy thành viên không đáng kể

ü Khó có khả năng làm tắt nghẽn mạng

I.4.3 Nhận xét

Qua 2 bảng so sánh trên ta thấy rằng kỹ thuật phát chuyển một-nhiều nói chung và kỹ thuật multicast nói riêng có nhiều ưu điểm và giải quyết được phần

lớn các vấn đề tồn đọng trong vịêc lưu thông trên mạng so với các kỹ thuật còn

lại Mặc dù có vẻ tổng quát và ưu việt Song, multicast không thể phủ định được

các kỹ thuật thông thường bởi vì có một khác biệt cơ bản trong cơ chế cơ sở mà

cài đặt việc phát chuyển và gửi đi Các địa chỉ unicast, broadcast xác định một

máy tính hay một tập hợp máy tính được kết nối vào một đoạn vật lý (mạng) Vì

vậy, việc chuyển dữ liệu sẽ phụ thuộc vào sơ đồ cấu hình mạng Còn địa chỉ

multicast xác định một tập hợp máy bất kỳ, vì vậy cơ chế chuyển dữ liệu phải

nhân bản gói tin đến một phần của mạng Lấy ví dụ xét hai đoạn của mạng LAN

được nối nhau bởi thiết bị cầu nối (bridge) Một máy tính trên đoạn 1 chuyển một

khung dữ liệu (Frame) bằng unicast đến máy tính khác cũng trên đoạn này thì

bridge sẽ không chuyển frame đến đoạn 2 Nhưng bridge sẽ chuyển khi truyền

bằng multicast

Như vậy, ta có thể kết luận rằng: Mặc dầu sẽ dễ hiểu hơn khi chúng ta xem việc định địa chỉ multicast như là một sự tổng quát hóa, trong đó bao gồm

Trang 15

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu

broadcast và unicast Song, cơ sở truyền dữ liệu và cơ chế phát chuyển sẽ làm cho multicast kém hiệu quả Tùy từng trường hợp cụ thể mà ta có sự ứng dụng các kỹ

thuật này một cách hợp lý và hiệu quả

II IP MULTICAST ĐẶC ĐIỂM VÀ ỨNG DỤNG

II.1 IP Multicast

II.1.1 Khái niệm

IP (Internet protocol) Multicast là một sự trừu tượng của multicast trong internet từ phần cứng Nó tuân theo mô hình mẫu cho khi cho phép việc truyền dữ liệu đến một tập con máy tính, nhưng tổng quát hóa khái niệm để cho phép các tập con này có thể trải ra trên những mạng vật lý bất kỳ thông qua internet Theo

thuật ngữ IP, tập con này được gọi là multicast group.[2]

II.1.2 Đặc điểm

IP Multicast có các đặt tính tổng quát sau:

thuộc lớp D Một vài địa chỉ IP Multicast được gán vĩnh bởi nhà quản lý Internet, tương ứng vơi những nhóm luôn luôn tồn tại ngay cả khi không có thành viên nào trong nhóm Các địa chỉ còn lại là tạm thời và được sử dụng vào việc riêng

4 bít đầu mặc định 1110) multicast group đồng thời Do vậy số lượng nhóm trong thực tế bị giới hạn bởi kích thước bảng định tuyến chứ không phải vì vấn đề địa chỉ

rút khỏi IP Multicast group bất kỳ lúc nào Hơn nữa một máy có thể cùng lúc là thành viên của nhiều nhóm bất kỳ

dụng multicast phần cứng để gửi IP Multicast Ngược lại nếu phần

Trang 16

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu

cứng không hỗ trợ multicast thì IP sẽ sử dụng broadcast hoặc unicast để phát chuyển IP Multicast

group có thể gắn vào nhiều mạng vật lý, cần có những bộ định tuyến IP multicast đặc biệt để chuyển đi IP Multicast Nhưng thường thì khả năng này được thêm vào những bộ định tuyến thông thường

đa (best-effort) như cách phát chuyển IP datagram khác Điều này có nghĩa là các datagram gửi theo multicast có thể bị mất, bị trì hoãn, bị trùng lặp hoặc bị phát chuyển không theo thứ tự

Các thành viên và việc truyền Một máy bất kỳ có thể gửi datagram đến những multicastgroup bất kỳ; thành viên của nhóm chỉ được sử dụng để xác định

xem máy có nhận được các datagram đã gửi đến nhóm.[2]

II.1.3 Địa chỉ IP Multicast

Chúng ta đã biết rằng các địa chỉ IP Multicast chia làm 2 loại: những địa

chỉ được gán vĩnh viễn được gọi là well-known chúng được sử dụng cho những

dịch vụ chính yếu trên internet toàn cục cũng như cho việc bảo trì cơ sở hạ tầng Và các địa chỉ multicast khác tương ứng với các nhóm được tạo ra khi cần và hủy bỏ khi số lượng thành viên là 0

IP dành riêng các địa chỉ thuộc lớp D cho việc multicast Chúng có dạng như hình bên dưới:

Bốn bit đầu xác định đây là địa chỉ multicast Phần còn lại xác định địa chỉ multicast cụ thể Khi thể hiện dưới dấu chấm thập phân, miền địa chỉ multicast bao gồm từ: 224.0.0.0 đến 239.255.255.255

Tuy nhiên phần lớn các địa chỉ của không gian này được dành cho những mục đích đặc biệt

Các địa chỉ dành riêng:

0 1 2 3 31

1 1 1 0

Trang 17

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu

thông điệp lỗi ICMP (Internet Control Message Protocol) cho các datagram

multicast (ví dụ không thể đến đích được, không có lời đáp trở lại, hoặc đã hết thời hạn) Như thế một lệnh ping gửi đến địa chỉ multicast sẽ không có lời đáp trả

về [2]

II.1.4 Phạm vi multicast

Phạm vi của một nhóm multicast dùng để chỉ vùng của các thành viên trong nhóm Nếu tất cả các thành viên trong nhóm đều ở trên cùng một mạng vật lý, ta nói rằng phạm vi của nhóm được giới hạn trên một mạng…

Cùng với phạm vi của nhóm, mỗi datagram multicast cũng cần có một phạm vi, được định nghĩa là tập hợp của các mạng mà trên đó datagram được nhân bản Một cách không chính thức, phạm vi datagram được xem như vùng của nó

IP sử dụng một kỹ thuật thông dụng nhất đó là kỹ thuật dựa vào trường thời gian sống (TTL-Time To Live) của datagram để kiểm soát vùng của nó Bằng cách thiết lập giá trị nhỏ cho TTL, máy tính sẽ giới hạn được khoảng cách mà datagram được chuyển đi Ví dụ hai chương trình chạy trên cùng một máy thì nên đặt TTL là 0 để cho datagram không vượt ra khỏi máy này Ở trên cùng một

mạng thì trị TTL nên đặt là 1.[2]

II.1.5 Phát triển phần mềm máy tính ứng dụng multicast

Để một máy tính gửi đi UP multicast, thì phần mềm phải cho phép chương trình ứng dụng xác định địa chỉ IP multicast như là địa chỉ IP đích Và phần mềm

Trang 18

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu

giao tiếp mạng phải có thể ánh xạ một địa chỉ IP multicast thành địa chỉ phần cứng tương ứng

Việc phát triển phần mềm trên máy tính để nhận các datagram IP multicast phức tạp hơn Nó phải bao hàm những đặc điểm sau:

Phần mềm IP trên máy tính phải có API (Application Programming

Interface) để cho phép một chương trình ứng dụng khai báo rằng

nó muốn tham gia hay rút ra khỏi một nhóm IP multicast cụ thể

♦ Nếu có nhiều chương trình ứng dụng tham gia một nhóm, phần mềm IP phải nhớ chuyển cho mỗi ứng dụng này một bản sao của những datagram gửi đến với chủ đích dành cho nhóm này

♦ Nếu tất cả các chương trình ứng dụng rút ra khỏi một nhóm, máy

tính phải nhớ rằng nó không còn tham gia trong nhóm này.[2]

II.2 IP multicast và những giao thức truyền file

Như đã đề cập, IP Multicast cung cấp những phương tiện khá mạnh mẽ và hiệu quả cho việc phát chuyển dữ liệu đến nhiều nhóm Với những tính năng đó,

IP Mulicast thích hợp cho việc truyền file trên mạng Tuy nhiên, việc truyền file bằng IP Multicast sử dụng giao thức tổng quát (IP và UDP) có một số vấn đề trở ngại đó là không có gì đảm bảo cho gói tin được truyền đến máy nhận và theo thứ tự gửi Do đó, các giao thức áp dụng trên kỹ thuật này phải được thiết kế sao cho việc phát chuyển có độ tin cậy, hay nói cách khác thông qua các giao thức này dữ liệu được đảm bảo sẽ đến máy nhận theo thứ tự mà chúng được gửi

II.2.1 Những giao thức vận chuyển IP Multicast có độ tin cậy (Reliable IP Multicast protocols)

Những giao thức này bảo đãm cho việc phát chuyển đến máy nhận và đúng theo thứ tự gửi Song, nó lại phát sinh ra một số vấn đề sau:

♦ Việc phản hồi hàng lọat từ máy nhận với những dạng nhận được (ACKs) hoặc thất lạc (NACKs) có thể dẫn đến tình trạng quá tải máy gửi hoặc các thiết bị nối kết với chúng (implosion)

Trang 19

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu

♦ Làm thế nào để phục hồi được những gói tin bị mất Cách thông dụng nhất mà những giao thức này sử dụng là sẽ truyền lại những gói tin thất lạc bằng cách multicasting chúng đến nhóm Điều bất lợi của việc này là tất cả những máy nhận dù chúng có bị thất lạc gói tin hay không cũng đều phải nhận lại Mặc khác việc này sẽ làm giảm thiểu băng thông

♦ Những ứng dụng khác nhau có thể đặt ra những yêu cầu khác nhau Chính vì vậy, không lấy làm lạ khi rất nhiều giao thức này được đề xuất nhưng dường như chẳng có một giao thức nào đủ hoàn hảo để giải quyết mọi vấn đề

Có rất nhiều giao thức được đề xuất Tuy nhiên có ba giao thức thích hợp cho việc truyền file đó là AFDP-Adaptive Distribution Protocol, LGMP-Local

Group Multicast Protocol và MFTP-Multicast File Transfer Protocol [1]

II.2.2 Giao thức thích ứng việc truyền file AFDP (Adaptive File Distribution Protocol)

Đúng như tên gọi, AFDP cung cấp một khung sườn (framework) truyền file có độ tin cậy bằng multicast cho việc phát chuyển file Mặc dù giao thức này chủ đích là ứng dụng multicast Song, nó cũng có thể có thể mở rộng cho unicast và broadcast

Nhóm AFDP được tổ chức dựa trên ba thể hiện: những nhà xuất bản (publishers), những người mua (Subscribers) và một thư ký (Secretary) Là thành viên đặc biệt trong nhóm, Secretary có thể đáp ứng công việc quản lý các thành viên trong nhóm, ủy quyền cho publishers, quyết định nên chọn chế độ phát chuyển nào Mặc dù Secretary điều khiển toàn bộ thành viên trong nhóm Song,

Subscribers có thể tham gia hoặc tách khỏi nhóm bất kỳ lúc nào

Trang 20

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu

Mô hình liên lạc giữa các thành viên trong nhóm AFDP

Khả năng tin cậy của AFDP xuất phát từ việc Subscribers sử dụng NACKs để yêu cầu truyền lại gói tin thất lạc NACKs được phát sinh ở những lúc sữa chữa với độ trì hoãn khác nhau nhằm giảm thiểu tình trạng implosion xảy ra nơi

publishers.Publishers sẽ truyềnlại những gói tin thất lạc cho toàn nhóm

Cơ chế điều khiển lưu thông dựa trên cơ sở tốc độ được sử dụng để trì hoãn nơi publishers mỗi khi nhận được NACKs nhưng chúng có thể tăng tốc sau khi thành công

AFDP không chỉ định được giới hạn số lượng thành viên trong nhóm, nhưng giao thức này có thể đáp ứng khoảng 10 đến 1000 subcribers Điều này còn

tùy thuộc vào độ rộng băng thông và khả năng đáp ứng của trạm làm việc.[1]

Subcribers

Publishers

Tham gia hay tách khỏi Tìm Secretary Tìm

Secretary

Yêu cầu phát hành hoặc Cho phép phát hành hoặc Hoàn thành việc phát hành

Gửi hay hoặc truyền lại thông

điệp

Yêu cầu truyền lại

Giao thức:

UDP TCP Secretary

Trang 21

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu

II.2.3 Giao thức Multicast nhóm địa phương LGMP( Local Group Multicast Protocol)

LGMP là một giao thức dựa trên khái niệm Local Group, một khái niệm cho phép những máy nhận tự do thiết lập thành một nhóm nhỏ gọi là nhóm địa phương (Local Group) và dùng một trưởng nhóm (group controller) bên trong chính nhóm này để sắp xếp sự truyền lại những gói tin thất lạc và xử lý những tường trình của nhóm

LGMP không đặt tả việc chọn nhóm trưởng như thế nào, mà nó lại được định nghĩa bởi một giao thức riêng biệt được gọi là Giao thức Cấu hình Động DCP-Dynamic Configuration Protocol

Những gói tin thất lạc được giám sát bởi máy nhận và những yêu cầu truyền lại được phát chuyển dưới dạng gói tin unicast Trước hết, những gói truyền lại được xử lý bên trong Local Group và những gói tin thất lạc chỉ đuợc yêu cầu từ hoặc là máy gửi, hoặc là trưởng nhóm nếu bản sao của gói tin không tồn tại trong nhóm này

Sự mô phỏng cho thấy LGMP có thể đáp ứng cho một Host group có đến 2000 thành viên

Trang 22

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu

Lưu đồ dữ liệu và điều khiển trong nhóm địa phương (Local Group).[1] II.2.4 Giao thức vận chuyển file bằng multicast MFTP (Multicast File Transfer Protocol)

MFTP được thiết kế cho một loại ứng dụng đó là multicasting file có dung lượng lớn cho nhiều máy nhận MFTP được thiết kế trên khái niệm khối (Blocks) Khối bao gồm hàn trăm hoặc ngàn khung dữ liệu (frame)và đa chuyển (multiple passes) Phần chuyển thứ nhất chứa toàn bộ file và những phần còn lại chỉ chứa đựng những frame bị thất lạc

Máy nhận thông báo ACK sau khi nhận mỗi một khối và sử dụng NACK để nói rằng những frame bên trong khối bị thất lạc hoặc bị lỗi Sau khi nhận xong một phần, máy gửi thống kê danh sách những frame thất lạc và bắt đầu những pass khác chỉ gồm những frame được thông báo NACKs Những pass khác có thể được bắt đầu lại nếu cần thiết cho đến khi tất cả máy nhận đều nhận đủ dữ liệu

MFTP bao gồm 2 giao thức con là: Giao thức điều khiển Multicast Multicast Control Protocol và Giao thức dữ liệu multicast MDP –Multicast Data

MCP-Máy nhận 1

Máy nhận 2

Máy nhận 4

Máy nhận 3 (nhóm trưởng)

Máy gửi

Nhóm địa phương

Dòng điều khiển Dòng dữ liệu

Trang 23

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu

Protocol MCP cho phép điều khiển động việc tham gia hoặc tách rời của máy nhận Trong khi MDP xử lý việc truyền tin cậy dữ liệu đến máy nhận (những máy đã tham gia vào Host group)

Máy gửi có trách nhiệm cho việc quản lý host group, khởi động sự vận chuyển file bất kỳ và việc điều khiển hoạt động vận chuyển Sự truyền tải dữ liệu sẽ được thông báo đến máy nhận bởi máy gửi Thông điệp Annouce chỉ định dữ liệu sẽ được truyền tải, kích thước và một số thông số khác như là địa chỉ riêng của nhóm Có 2 nhóm multicast khác nhau được định nghiã bởi MFTP đó là nhóm chung (public group) và nhóm riêng (private group) Địa chỉ nhóm chunglà nơi mà máy nhận có thể tham gia và lắng nghe thông báo được gửi từ máy gửi Tuy nhiên những máy nhận được ủy quyền bởi ứng dụng để nhận từ những cuộc truyền tải đặc thù mới có thể tham gia vào địa chỉ của private group

Máy nhận

Chiều dài tập tin Phần chuyển đầu tiên

Chiều dài tập tin Phần chuyển kế tiếp

Nguồn gửi

Khung

251 khối 1 Khung 288 khối 3 Khung 294 khối 3 Khung 101 khối 4 Khung 290 khối 4

Đa chuyển trong MFTP

Trang 24

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu

Với mô hình Open Groups, máy nhận sẽ không biết được máy gửi Điều này có nghĩa là máy gửi không thể thay đổi trên nhóm multicast bằng MCP Một máy nhận có thể hiện hành trong địa chỉ của các máy gửi mà nó quan tâm đến, bởi việc sử dụng thông điệp truy vấn nhóm(Group Query messages) MCP hoặc bởi việc sử dụng giao thức mô tả phiên làm việc bên ngoài

Thực nghiệm, MTFP mô hình Open Group đã áp dụng thành công cho

10.000 máy nhận.[1]

II.2.5 Nhận xét các giao thức trên

Qua phần trình bày, chúng ta nhận thấy dù các mô hình các kỹ thuật ứng dụng cho mỗi giao thức là khác nhau Song, chúng đều cố gắng hạn chế vấn đề implosion trong khi đãm bảo tin cậy cho việc phát chuyển bằng multicast

So với sự mô tả tổng quát, các giao thức trên có những ưu điểm rõ rệt và thích hợp cho việc ứng dụng truyền file Song, chúng chưa vượt qua được vấn đề tổng quát mà hầu hết các giao thức loại này đều phải gánh lấy Đó là việc phản hồi từ máy nhận vì những gói tin thất lạc, mặc dù đây không phải là giải pháp duy nhất để đãm bảo độ tin cậy Còn một giải pháp tiên tiến hơn để đãm bảo độ tin cậy rất thích hợp cho việc truyền file đó là kết hợp giữa FEC (Forward Error Correction) và truyền dữ liệu liên hoàn Giải pháp đó được ứng dụng trong giao thức Fcast, sẽ được trình bày bên dưới đây

II.2.6 Fcast- ứng dụng giao thức chuyển file bằng multicast với độ tin cậy

Có hai kỹ thuật sẽ được đề cập trong giao thức này:

-Data Carousel là một giao thức đơn giản nhằm tránh sự phản hồi từ máy

nhận Máy gửi sẽ lặp lại việc gửi dữ liệu đến máy nhận Máy nhận có hoàn chỉnh lại phần bị thất lạc trong file bằng cách đợi dữ liệu ở vòng lặp sau đó (chứ không yêu cầu truyền lại như các giao thức trên) Tuy nhiên nó phải đợi cả trọn một vòng lặp để phục hồi gói tin thất lạc

-Forward Error Correction (FEC) chẳng cần sự phản hồi từ máy nhận và

giảm thiểu thời gian đợi cho việc truyền lại bằng cách kết hợp một số gói tin sửa

Trang 25

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu

lỗi trong dữ liệu Hầu hết FEC đều giải quyết việc sữa lỗi, nhận biết và sửa chữa những thất lạc và hõng hóc ở mức bit.Tuy nhiên, trong trường hợp IP Multicast thì những tầng thấp sẽ phát hiện ra được những gói tin hỏng và vứt bỏ chúng đi Vì vậy mà ứng dụng IP multicast không cần quan tâm đến sự hỏng hóc mà chỉ quan

tâm đến việc hiệu chỉnh thất lạc (EC-Erasure Correction).[3]

Được xây dựng trên sự phối hợp 2 kỹ thuật trên, Fcast có những ưu điểmmà các giao thức trên không hề có là:

• Không có sự phản hồi mà điều này tránh tuyệt đối vấn đề implosion

• Trong việc mã hóa và sửa lỗi FEC, Fcast đã chọn giá trị k tốt nhất (trong bộ mã (n,k)) để giảm tối thiều tổng phí truyền nhằm duy trì khả năng phục hồi sự thất lạc một cách tốt nhất

• Fcast đưa ra Việc truyền tải phân lớp trong Fcast nhằm điều khiển sự tắt nghẽn

• Không hề có chức năng kiểm tra trong Fcast nhằm tránh sự tắt nghẽn không cần thiết

• Fcast có API trên môi trường win32

Thực tế, Fcast đã được Microsoft sử dụng để phát chuyển thường xuyên các phiên bản cập nhật Windows 2000(336 MB)

Với những tính năng trên, đặc biệt Fcast được thiết kế cho việc truyền file

Vì vậy, giao thức này sẽ được chọn cho việc xây dựng ứng dụng của đề tài

Trang 26

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu

PHẦN ỨNG DỤNG

Trang 27

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu

III QUÁ TRÌNH THIẾT KẾ CÀI ĐẶT ỨNG DỤNG

III.1 Phân tích yêu cầu

Như tên gọi của đề tài “Ứng dụng IP multicast trong truyền file trên

Win32s” , chương trình ứng dụng sẽ cho phép người dùng thực hiện chia sẻ,

truyền tải dữ liệu giữa các người dùng trên mạng bằng kỹ thuật IP multicast và giao thức FCast

Vì ứng dụng kỹ thuật IP Multicast không cơ chế điều khiển, nên trong phần mềm ứng dụng phải có những tác vụ để cho các thành viên nhóm liên hệ chặt chẽ với nhau Các tác vụ đó là:

Nhóm Multicast

File F.dat

Chia sẻ dữ liệu (có F.dat)

Trang 28

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu

• Hoạt động duy trì nhóm

• Một máy tham gia vào nhóm

• Một máy tách ra khỏi nhóm

• Chia sẻ và ngừng chia sẻ (share/ no share) dữ liệu

• Yêu cầu down load dữ liệu

• Mở một phiên truyền tải dữ liệu

• Thông báo đã nhận xong

• Cập nhật dữ liệu chia sẻ

• Một thành viên bị mất liên lạc (do có vấn đề nơi thiết bị mạng )

III.2 Đặc tả

III.2.1 Cấu trúc thông điệp tổng quát

Nội dung thông điệp tổng quát để giao tiếp giữa các thành viên có cấu trúc như sau:

LEAVE cho tác vụ tách nhóm.

III.2.2 Các kỹ thuật phát chuyển thông điệp

2 kỹ thuật phát chuyển được sử dụng cho việc thông báo giữa các thành viên trong nhóm Đó là:

• Mulicast: Dành cho việc thông báo đến toàn nhóm

• Unicast: Dành cho việc thông báo trả lời một cách riêng rẽ giữa các thành viên với giao thức TCP/IP

III.2.3 Các hoạt động nhóm trong ứng dụng

III.2.3.1 Duy trì nhóm

TỪ KHÓA ĐỐI SỐ 1 ĐỐI SỐ 2

Ngày đăng: 15/12/2015, 20:03

HÌNH ẢNH LIÊN QUAN

Hình 5  Hình 6 - Ứng dụng IP multicast trong truyền file trên hệ điều hành win32s
Hình 5 Hình 6 (Trang 42)
Hình 19  Hình 20 - Ứng dụng IP multicast trong truyền file trên hệ điều hành win32s
Hình 19 Hình 20 (Trang 48)
Hình 22  Hình 23 - Ứng dụng IP multicast trong truyền file trên hệ điều hành win32s
Hình 22 Hình 23 (Trang 49)
Hình 25  Hình 26 - Ứng dụng IP multicast trong truyền file trên hệ điều hành win32s
Hình 25 Hình 26 (Trang 50)
Hình 30  Hình 31 - Ứng dụng IP multicast trong truyền file trên hệ điều hành win32s
Hình 30 Hình 31 (Trang 53)
Hình 37 Hình 36 - Ứng dụng IP multicast trong truyền file trên hệ điều hành win32s
Hình 37 Hình 36 (Trang 54)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w