LỜI MỞ ĐẦU Thế kỷ 21 đƣợc mệnh danh là thế kỷ của công nghệ thông tin, với sự bùng nổ mạnh mẽ về khoa học công nghệ. Đây là kỷ nguyên của nền văn minh dựa trên cơ sở công nghiệp trí tuệ. Ngày nay, tin học đã trở thành một môn khoa học quan trọng trên thế giới. Sự phát triển mạnh mẽ nhƣ vậy thì công việc lập trình các ứng dụng nhằm phục vụ nhu cầu, lợi ích của con ngƣời trở nên cấp thiết.
Máy tính đã trở thành công cụ đắc lực và không thể thiếu của con ngƣời. Các tổ chức, công ty hay các cơ quan cần phải xây dựng luận văn – báo cáo – tiểu luận chuyên ngành xây dựng hệ thống mạng máy tính cho riêng mình để trao đổi dữ liệu giữa các bộ phận. Dữ liệu đƣợc truyền đi trên mạng phải đảm bảo : dữ liệu đƣợc chuyển tới đích nhanh chóng và chính xác. Hầu hết dữ liệu đƣợc truyền qua mạng là truyền dƣới dạng file.
Trong thời gian gần đây Multicast ngày càng đƣợc chú ý nhiều hơn, chuẩn Multicast hỗ trợ hàng ngàn ngƣời có thể nhận thông tin đồng thời mà không ảnh hƣởng đến băng thông chung. Nếu các thiết bị mạng hỗ trợ Multicast, chỉ cần gửi một gói tin duy nhất vào mạng cho nhiều ngƣời nhận. Nhằm tìm hiểu thấu đáo một trong số các phƣơng pháp truyền file em chọn đề tài “Tìm hiểu kỹ thuật truyền file Multicast. Giải pháp truyền file Multicast –UFTP là giao thức truyền file dựa trên UDP đƣợc mã hóa theo cơ chế Multicast, đƣợc thiết kế an toàn, đáng tin cậy trong việc truyền file đến nhiều ngƣời nhận trong cùng một lúc.
Với lập trình mã hóa Multicast dựa trên TLS với phần mở rộng cho phép nhiều ngƣời nhận có thể chia sẻ một khóa chung Mục tiêu của đồ án là tìm hiểu về Multicast và giao thức UFTP, trên cơ sở đó xây dựng ứng dụng truyền file sử dụng mã nguồn mở UFTP với ngôn ngữ lập trình C#. Đồ án trình bày gồm các chƣơng : Chƣơng 1: Tổng quan về Multicast và FTP. Chƣơng 2: Giải pháp truyền file Multicast. Chƣơng 3 : Xây dựng chƣơng trình thực nghiệm.
Sinh viên :Nguyễn Thị Hằng – Lớp : CT1201 4. Tìm hiểu kỹ thuật truyền File Multicast Đồ án tốt nghiệp DANH SÁCH CÁC TỪ VIẾT TẮT FTP File Transfer Protocol Phƣơng thức truyền file MAC Medium Access Control Address Địa chỉ thiết bị mạng UDP User Datagram Protocol Giao thức truyền vận TCP Transmission Control Protocol Giao thức truyền vận PIM Protocol Independent Multicast Giao thức định tuyến CGMP Cisco Group Membership Protocol Giao thức chuẩn của Cisco ARP Address Resolution Protocol Giao thức tìm địa chỉ OSPF Open Shortest Path First Giao thức định tuyến chuẩn Internet. Giao thức định tuyến dạng link-state NTP Network Time Protocol Giao thức đồng bộ thời gian IGMP Internet Group Management Protocol Giao thức quản lý nhóm Internet IGMP Internet Group Membership Protocol Giao thức hoạt động trên switch để snooping Snooping biết (học) về các cuộc truyền Multicast động. TTL Time To Live Thời gian sống RSA Thuật toán mật mã hóa khóa công khai Sinh viên :Nguyễn Thị Hằng – Lớp : CT1201 5.
Tìm hiểu kỹ thuật truyền File Multicast Đồ án tốt nghiệp CHƢƠNG 1: TỔNG QUAN VỀ MULTICAST VÀ FTP 1. Tổng quan về Multicast 1. Cơ chế truyền Multicast Unicast: Các gói tin đƣợc gửi từ một địa chỉ nguồn đến một địa chỉ đích. Một Router hoặc một thiết bị lớp 3 sẽ chuyển các gói tin bằng cách tìm địa chỉ đích trong bảng định tuyến.
Nếu một thiết bị là L2, nó chỉ cần dựa và địa chỉ MAC. Broadcast: Các gói tin đƣợc gửi từ một máy nguồn đến một địa chỉ đích broadcast. Địa chỉ đích có thể là địa chỉ tất cả các host (255.255) hoặc là một phần của địa chỉ subnet. Một Router hoặc một L3 switch sẽ không cho phép chuyển các dữ liệu Broadcast này.
Một thiết bị L2 sẽ cho phép phát tán lƣu lƣợng Broadcast ra tất cả các cổng của nó. Multicast: Các gói đƣợc gửi từ một địa chỉ nguồn đến một nhóm các máy tính. Địa chỉ đích tƣợng trƣng bằng các host muốn nhận traffic này. Mặc định, một Router hoặc một L3 switch sẽ không chuyển các gói tin này trừ khi phải cấu hình Multicast routing.
Một thiết bị L2 switch không thể nhận biết đƣợc vị trí của địa chỉ Multicast đích. Tất cả các gói sẽ đƣợc phát tán ra tất cả các cổng ở chế độ mặc định. Có hai thái cực đƣợc mô tả ở đây. Cơ chế dùng Unicast thì dữ liệu sẽ đi từ host đến host, broadcast thì traffic sẽ đi đến tất cả các host trên phân đoạn mạng đó.
Cơ chế Multicast sẽ nằm giữa hai thái cực này, trong đó máy nguồn chỉ gửi những gói tin từ một host đến các ngƣời dùng muốn nhận loại lƣu lƣợng đó. Nhóm này gọi là nhóm Multicast. Các máy nhận lƣu lƣợng Multicast có thể nằm ở bất cứ nơi nào chứ không chỉ trên phân đoạn mạng cục bộ. Các traffic dạng Multicast thƣờng là một chiều.
Do có nhiều host nhận cùng một dữ liệu, nên thông thƣờng các gói tin không đƣợc phép gửi ngƣợc về máy nguồn trên cơ chế Multicast. Một host đích sẽ trả traffic ngƣợc về nguồn theo cơ chế Unicast. Cơ chế Multicast cũng sẽ đƣợc truyền theo kiểu phi kết nối. Multicast dùng UDP chứ không dùng TCP.
Các host muốn nhận dữ liệu từ một nguồn Multicast có thể tham gia hoặc rời khỏi một nhóm Multicast ở bất kỳ thời điểm nào. Hơn nữa, một host sẽ quyết định có trở thành Sinh viên :Nguyễn Thị Hằng – Lớp : CT1201 6. Tìm hiểu kỹ thuật truyền File Multicast Đồ án tốt nghiệp thành viên của một hay nhiều nhóm Multicast hay không. Nguyên tắc cần quan tâm là sẽ hoạch định làm thế nào để phân phối các lƣu lƣợng Multicast đến các thành viên của nhóm mà không ảnh hƣởng đến các thành viên ngoài nhóm.
Hình 1: Multicast Transmission Sends a Single Multicast Packet Addressed to All Intended Recipients 1. Điều kiện cần có để truyền Multicast Có ba yêu cầu cơ bản để có thể triển khai Multicast trên một mạng: - Phải có một tập hợp các địa chỉ dành cho các nhóm Multicast. - Phải có một cơ chế trong đó các host có thể tham gia và rời khởi nhóm. - Phải có một giao thức định tuyến cho phép các Router phân phối các lƣu lƣợng Multicast tới các thành viên của nhóm mà không làm quá tải tài nguyên mạng.
Địa chỉ Multicast Các Router và Switch phải có phƣơng thức để phân biệt traffic dạng Multicast với dạng Unicast hay Broadcast. Điều này thực hiện thông qua việc gán địa chỉ IP, bằng cách dùng địa chỉ lớp D từ 224.255 chỉ cho Multicast. Các thiết bị mạng có thể nhanh chóng lọc ra các địa chỉ Multicast bằng cách đọc 4 bit bên trái của một địa chỉ. Bốn bit này của một địa chỉ Multicast luôn luôn bằng 1110.
Không giống nhƣ dãy địa chỉ lớp A, B, và C, địa chỉ lớp D này không có quá trình Subnetting. Vì vậy có đến 228 địa chỉ nhóm Multicast đƣợc trích dẫn ra từ lớp D này. Sinh viên :Nguyễn Thị Hằng – Lớp : CT1201 7. Tìm hiểu kỹ thuật truyền File Multicast Đồ án tốt nghiệp Làm thế nào mà một Router và Switch kết hợp một địa chỉ Multicast của IP với một địa chỉ MAC.
Do không có cơ chế tƣơng đƣơng với cơ chế ARP, một dạng giá trị đặc biệt dành riêng cho địa chỉ MAC của Multicast sẽ đƣợc dùng. Các địa chỉ này bắt đầu bằng 0100. Phần 28 bit sau của địa chỉ IP Multicast sẽ đƣợc ánh xạ vào 23 bit thấp của địa chỉ MAC bằng một giải thuật đơn giản. Hình 2: Chuyển đổi IP sang MAC Hình trên cho thấy cơ chế ánh xạ địa chỉ.
Chỉ có 23 bit cuối của địa chỉ là đƣợc chép từ địa chỉ IP sang địa chỉ MAC. Tuy nhiên chú ý rằng có 5 bit của địa chỉ IP không đƣợc chuyển sang địa chỉ MAC. Khả năng này làm cho nảy sinh một vấn đề là có thể có 32 địa chỉ Multicast khác nhau có thể ánh xạ vào cùng một địa chỉ MAC. Do sự nhập nhằng này, một host Multicast có một vấn đề nhỏ khi nó nhận một Ethernet frame của một địa chỉ Multicast.
Một MAC có thể tƣơng ứng với 32 địa chỉ Multicast khác nhau. Vì vậy, khi một host phải nhận và kiểm tra tất cả các frame có MAC mà nó quan tâm. Sau đó host này phải kiểm tra phần địa chỉ IP bên trong mỗi frame để nhận ra phần địa chỉ của từng nhóm Multicast. Một vài không gian địa chỉ đƣợc dành riêng: Toàn bộ không gian địa chỉ Multicast:224.255 - Địa chỉ link-local: 224.255 đƣợc dùng bởi các giao thức định tuyến.
Router sẽ không chuyển các gói tin có địa chỉ này. Sinh viên :Nguyễn Thị Hằng – Lớp : CT1201 8. Tìm hiểu kỹ thuật truyền File Multicast Đồ án tốt nghiệp - Các địa chỉ bao gồm địa chỉ tất cả các host all-hosts 224.1 - Tất cả các Router 224. - Tất cả các OSPF Routers 224.1 dùng cho giao thức NTP.
Đây là địa chỉ các nhóm cố định vì các địa chỉ này đƣợc định nghĩa trƣớc. - Địa chỉ GLOP trong tầm 233. - Tầm địa chỉ dành cho quản trị (239.255) đƣợc dùng trong các vùng Multicast riêng, giống nhƣ dãy địa chỉ dành riêng trong RFC1918. Địa chỉ này không đƣợc Router giữa các domain nên nó có thể đƣợc dùng lại nhiều lần.
- Địa chỉ toàn cục (224.255) đƣợc dùng bởi bất cứ đối tƣợng nào. Các địa chỉ này có thể đƣợc định tuyến trên Internet, vì vậy địa chỉ này phải duy nhất. IGMP Làm thế nào một Router biết đƣợc các máy cần nghe lƣu lƣợng Multicast? Để nhận lƣu lƣợng Multicast từ một nguồn, cả nguồn và các máy nhận đầu tiên phải gia nhập vào một nhóm Multicast. Nhóm này đƣợc xác định thông qua địa chỉ Multicast.
Một host có thể tham gia vào một nhóm Multicast bằng cách gửi các yêu cầu đến Router gần nhất. Tác vụ này đƣợc thực hiện thông qua giao thức IGMP. IGMPv1 đƣợc định nghĩa trong RFC1112 và bản cải tiến của nó, IGMPv2 đƣợc định nghĩa trong RFC2236. Khi có vài host muốn tham gia vào nhóm, giao thức PIM sẽ thông báo cho nhau giữa các Router và hình thành nên cây Multicast giữa các Routers.
IGMP và ICMP có nhiều điểm tƣơng đồng, cùng chia sẻ một vài chức năng tƣơng tự. IGMP cũng đóng gói trong gói tin IP (protocol number 2), nhƣng IGMP giới hạn chỉ trong một kết nối lớp 2. Để đảm bảo Router không bao giờ tiếp tục forward gói tin, trƣờng TTL của IGMP luôn có giá trị bằng 1. IGMPv1 Để tham gia vào một nhóm Multicast, một host sẽ gửi một thông điệp đăng ký tham gia vào nhóm đến Router cục bộ của nó.
Thông điệp này có tên là Membership Sinh viên :Nguyễn Thị Hằng – Lớp : CT1201 9 .