1. Trang chủ
  2. » Giáo Dục - Đào Tạo

BÁO CÁO BÀI TẬP LỚN ĐỀ TÀI XÂY DỰNG CHƯƠNG TRÌNH FTP SERVER

24 98 1

Đ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 24
Dung lượng 668,97 KB

Nội dung

BÁO CÁO BÀI TẬP LỚN ĐỀ TÀI XÂY DỰNG CHƯƠNG TRÌNH FTP SERVERBÁO CÁO BÀI TẬP LỚN ĐỀ TÀI XÂY DỰNG CHƯƠNG TRÌNH FTP SERVERBÁO CÁO BÀI TẬP LỚN ĐỀ TÀI XÂY DỰNG CHƯƠNG TRÌNH FTP SERVERBÁO CÁO BÀI TẬP LỚN ĐỀ TÀI XÂY DỰNG CHƯƠNG TRÌNH FTP SERVERBÁO CÁO BÀI TẬP LỚN ĐỀ TÀI XÂY DỰNG CHƯƠNG TRÌNH FTP SERVERBÁO CÁO BÀI TẬP LỚN ĐỀ TÀI XÂY DỰNG CHƯƠNG TRÌNH FTP SERVERBÁO CÁO BÀI TẬP LỚN ĐỀ TÀI XÂY DỰNG CHƯƠNG TRÌNH FTP SERVERBÁO CÁO BÀI TẬP LỚN ĐỀ TÀI XÂY DỰNG CHƯƠNG TRÌNH FTP SERVERBÁO CÁO BÀI TẬP LỚN ĐỀ TÀI XÂY DỰNG CHƯƠNG TRÌNH FTP SERVERBÁO CÁO BÀI TẬP LỚN ĐỀ TÀI XÂY DỰNG CHƯƠNG TRÌNH FTP SERVER

BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC SAO ĐỎ ***** BÁO CÁO BÀI TẬP LỚN TÊN ĐỀ TÀI: XÂY DỰNG CHƯƠNG TRÌNH FTP SERVER Học phần: Lập trình mạng máy tính Sinh viên thực hiện: Dương Đức Hiến Hà Quang Trường Giảng viên hướng dẫn: Phạm Thị Hường Lớp: DK10 – CNTT Khoa: Công nghệ thông tin Năm 2022 LỜI MỞ ĐẦU Ngày với phát triển chóng mặt khoa học k ỹ thu ật, m ột k ỷ nguyên mở kỷ nguyên công nghệ thông tin Nhu cầu người lớn đặc biệt ngành khoa học kỹ thuật khác c ần đến s ự h ỗ tr ợ c cơng nghệ thơng tin Mọi người đếu có nhu cầu truy cập internet để cung cấp c ũng nh l thông tin cần thiết qua máy chủ Với lý em xin chọn đề tài “Xây dựng chương trình FTP server” Người sử dụng chương trình người có nhu cầu truyền nhận file b ằng giao thức FTP (File Transfer Protocol) thông qua mạng Internet Trong môi trường Internet, cần truyền nhận file file có kích th ước l ớn vài chục KB người sử dụng thường gặp trường hợp việc truyền nhận file bị gián đoạn Ví dụ lấy file giao thức FTP sử dụng chương trình Internet Explorer, người sử dụng thường gặp thơng báo lỗi sau vài phút download file Để giải vấn đề này, người sử dụng thường sử dụng chương trình chuyên dùng để lấy file ReGet để tiếp tục lấy file từ vị trí xảy l ỗi Người sử dụng có xu hướng lấy đồng thời nhiều file server Internet Như chương trình phải hỗ trợ lấy nhiều file đồng thời Tuy nhiên lúc chương trình lấy đồng thời nhiều file site server hạn chế số kết nối đồng thời tới địa IP Người sử dụng có nhu cầu lấy file nhiều giao thức khác FTP (File Transfer Protocol), HTTP (HyperText Transfer Protocol), …Tuy nhiên phạm vi luận văn chúng em ch ỉ có th ể hỗ trợ việc lấy file giao thức FTP Mặt khác chương trình phải tạo s ự tiện lợi cho người sử dụng Chương trình phải có giao diện đồ họa thân thiện, giúp cho người sử dụng xem nội dung thư mục từ xa cục Từ giúp cho việc upload download dễ dàng Chương trình phải thực số chức FTP client download, upload,… Mục tiêu: - Khuyến khích việc chia sẻ file - Giúp đỡ việc sử dụng gián tiếp(thơng qua chương trình) máy tính từ xa - Che thơng tin người sử dụng khỏi thay đổi hệ thống lưu trữ file máy chủ(host) - Truyền liệu cách tin cậy hiệu - Tạo ứng dụng FTP chạy máy - Nghiên cứu tìm hiểu lập trình socket TCP - Nghiên cứu ngơn ngữ lập trình C# MỤC LỤC Chương TỔNG QUAN VỀ LẬP TRÌNH MẠNG .5 1.1 Giới thiệu lập trình mạng 1.2 Cơ sở lập trình mạng .5 1.3 Các mơ hình lập trình mạng 1.3.1 Mơ hình Client/Server 1.3.2 Mơ hình điểm - điểm 1.3.3 Mô hình đa tầng 1.4 C# ? 1.4.1 Tại phải sử dụng ngôn ngữ C# .9 1.4.2 C# ngôn ngữ đơn giản .9 1.4.3 C# ngôn ngữ đại .10 1.4.4 C# ngôn ngữ hướng đối tượng 10 1.5 Giao thức FTP 10 1.5.1 Hoạt động giao thức FTP 11 1.5.2 Mục đích giao thức FTP .12 1.5.3 Những phê bình giao thức FTP 12 1.6 Các loại kết nối .13 1.6.1 Active FTP 13 1.6.2 Passive FTP 14 1.7 Tìm hiểu hệ thống FTP có sẵn 15 1.7.1 FTP client 15 1.7.2 FTP Server 15 1.8 Mơ hình FTP 16 Chương PHÂN TÍCH THIẾT KẾ CHƯƠNG TRÌNH .17 2.1 Cài đặt FTP server 17 2.1.1 Cài đặt FTP Server Windows 17 2.1.2 Các bước truy cập server 20 2.2 Thiết kế chương trình tảng winform c# 22 2.2.1 Truy cập server: 22 2.2.2 Upload file lên Server 22 2.2.3 Doaload file từ Server 22 Chương GIỚI THIỆU CHƯƠNG TRÌNH 23 3.1 Giới thiệu tổng quan chương trình: 23 Chương TỔNG QUAN VỀ LẬP TRÌNH MẠNG 1.1 Giới thiệu lập trình mạng Khi nói đến phát triển ứng dụng phần mềm, đa số người ta muốn nói đến chương trình có khả làm việc mơi trường mạng tích hợp nói chung mạng máy tính nói riêng Từ chương trình kế tốn doanh nghiệp, quản lý, trò chơi, điều khiển chương trình ứng dụng mạng Lập trình mạng kỹ thuật lập trình nhằm xây dựng ứng dụng, phần mềm khai thác hiệu tài nguyên mạng máy tính Vấn đề lập trình mạng liên quan đế nhiều lĩnh vực kiến thức khác Từ kiến thức sử dụng ngơn ngữ lập trình, phân tích thiết kế hệ thống, kiến thức hệ thống mạng, mơ hình xây dựng chương trình ứng dụng mạng, kiến thức sở liệu kiến thức truyền thông, kiến thức lĩnh vực liên quan khác mạng điện thoại di động, PSTN, hệ thống GPS, mạng BlueTooth, WUSB, mạng sensor Nhưng vấn đề lập trình mạng có vấn đề cốt lõi tích hợp lập trình ứng dụng mạng 1.2 Cơ sở lập trình mạng Mơ hình kết nối hệ thống mở ổ chức quốc tế tiêu chuẩn hoá ISO đưa nhằm cung cấp mơ hình chuẩn cho nhà sản xuất cung cấp sản phẩm viễn thông áp dụng theo để phát triển sản phẩm Ý tưởng mơ hình hố tạo cịn nhằm hỗ trợ cho việc kết nối hệ thống mođun hố thành phần phục vụ mạng viễn thơng  Chức mơ hình OSI  Cung cấp kiến thức hoạt động kết nối liên mạng  Đưa trình tự cơng việc để thiết lập thực giao thức cho kết nối thiết bị mạng  Chia nhỏ hoạt động phức tạp mạng thành phần công việc đơn giản  Cho phép nhà thiết kế có khả phát triển mođun chức  Cung cấp khả định nghĩa chuẩn giao tiếp có tính tương thích cao “plug and play” tích hợp nhiều nhà cung cấp sản phẩm Cấu trúc mơ hình OSI Mơ hình OSI gồm tầng, tầng thực chức riêng cho hoạt động kết nối mạng APLICATION PRESENTATION SESSION TRANSPOST LAYER NETWORK LAYER DATA LINK PHYSICAL tầng mơ hình OSI thường gọi lớp ứng dụng hay gọi tầng cao Các tầng thường liên quan tới giao tiếp với người dùng, định dạng liệu phương thức truy nhập ứng dụng - Application layer: Đây tầng cao mơ hình, nơi mà người sử dụng kết nối chương trình ứng dụng với thủ tục cho phép truy nhập vào mạng - Presentation layer: Tầng presentation cung cấp mã chức để chuyển đổi mà cung cấp lớp ứng dụng Các chức đảm bảo liệu từ tầng ứng dụng hệ thống đọc tầng ứng dụng hệ thống khác Ví dụ dùng để mã hoá liệu từ tầng ứng dụng mã hố ảnh jpeg, gif Mã cho phép ta lên trang web - Session layer: Được sử dụng để thiết lập, trì kết thúc phiên làm việc tầng presentation Việc trao đổi thông tin tầng bao gồm yêu cầu dịch vụ đáp ứng yêu cầu ứng dụng thiết bị khác Các tầng mô hình OSI sử dụng để định nghĩa làm để liệu truyền dây nối vật lý, thiết bị mạng đến trạm đầu cuối, cuối đến tầng ứng dụng 1.3 Các mơ hình lập trình mạng 1.3.1 Mơ hình Client/Server Chương trình ứng dụng mạng tổ chức theo mơ hình Client/Server sử dụng phổ biến thực tế Chương trình ứng dụng mạng theo mơ hình gồm có phần mềm: Phần mềm Server (phục vụ) phần mềm Client (máy khách) Chế độ blocking (nghẽn): Khi Client hay Server phát lệnh send gửi thông điệp, trình Client hay Server tương ứng bị treo phía nhận phát lệnh receive 14 tiếp nhận thông điệp Tương tự gọi lệnh receive mà chưa có send vào trạng thái treo có lệnh send từ xa gửi thơng điệp đến Chế độ nonblocking: Khi phát lệnh truyền thơng, q trình Client hay Server tiếp tục thực thi mà khơng bị treo Một chương trình Server phục vụ nhiều chương trình Client đồng thời (kiểu lặp) Chương trình Client: Client chương trình chạy máy cục mà đưa yêu cầu dịch vụ Server Chương trình Client có thời gian chạy hữu hạn Nó khởi đầu người sử dụng chương trình ứng dụng khác kết thúc dịch vụ thực hoàn thành Sau khởi tạo, Client thực mở kênh truyền thông sử dụng địa IP máy trạm từ xa địa cổng (nhãn) biết rõ chương trình Server cụ thể chạy máy tính từ xa Cách mở Client gọi mở tích cực (active open) Sau kênh truyền thông mở client gửi yêu cầu tới Server nhận đáp ứng trả từ Server Chương trình Server: Chương trình có đặc điểm có thời gian chạy vơ tận dừng chạy người sử dụng tắt máy tính Chương trình sau khởi tạo, thực mở thụ động (passive open) đặt trạng thái “nghe” chờ tín hiệu gửi tới từ Client có, nhận yêu cầu gửi tới từ Client, thực xử lý đáp ứng yêu cầu Các chức chương trình ứng dụng gồm: Giao diện nhập liệu - Tính tốn, xử lý thơng tin theo qui định - Truy vấn lưu trữ thơng tin 1.3.2 Mơ hình điểm - điểm Chương trình ứng dụng mạng làm việc theo mơ hình điểm S - điểm (ngang cấp, bình đẳng) nói chương trình mà thực vai trị Server Client Chương trình chạy u cầu chương trình khác phục vụ phục vụ yêu cầu gửi tới từ chương trình khác 1.3.3 Mơ hình đa tầng Mơ hình đa tầng gồm nhiều tầng mà tiêu biểu mơ hình tầng Trong mơ hình này, tầng thấp tầng thông tin, tầng trung gian tầng đỉnh Một ví dụ tiểu biểu mơ hình tầng dịch vụ Web với tầng đỉnh trình duyệt, tầng trung gian Web Server tầng thông tin sở liệu Hầu hết ngơn ngữ lập trình sử dụng để lập trình mạng, nhiên việc lập trình mạng cịn phụ thuộc vào thư viện mơi trường lập trình có hỗ trợ hay khơng Có thể liệt kê ngơn ngữ lập trình sử dụng để lập trình mạng sau: - C/C++: Ngơn ngữ lập trình mạnh phổ biến, dùng để viết loại ứng dụng có ứng dụng mạng - Java: Ngơn ngữ lập trình thơng dụng hỗ trợ nhiều mơi trường, viết ứng dụng chạy điện thoại di động - C#: Ngơn ngữ lập trình mạnh dễ sử dụng, hỗ trợ hệ điều hành Windows Microsoft - Python, Perl, Php…: Các ngôn ngữ thơng dịch, sử dụng để viết nhanh tiện ích nhỏ cách nhanh chóng, có ứng dụng mạng - Việc lập trình mạng phụ thuộc nhiều vào thư viện hỗ trợ đến từ hệ thống Tùy thuộc vào tảng phát triển ứng dụng mà sử dụng thư viện khác Có thể liệt kê vài thư viện hỗ trợ lập trình mạng sau: - Winsock: Thư viện liên kết động Microsoft, phân phối hệ điều hành Windows Winsock cung cấp nhiều API để phát triển ứng dụng mạng Winsock sử dụng ngơn ngữ lập trình nào, đơi C/C++ với Winsock đem lại hiệu cao nhất, khó sử dụng - Thư viện System.Net NET framework: Thư viện cung cấp nhiều API dễ sử dụng để xây dựng ứng dụng mạng Để sử dụng thư viện này, người ta thường dùng C#, việc phát triển ứng dụng mạng dễ dàng - Thư viện MFC Socket: Thư viện phát triển Visual Studio C++ - Các thư viện Java Runtime, PHP,… 1.4 C# ? C# (hay C sharp) ngôn ngữ lập trình đơn giản, phát triển đội ngũ kỹ sư Microsoft vào năm 2000, người dẫn đầu Anders Hejlsberg Scott Wiltamuth C# ngôn ngữ lập trình đại, hướng đối tượng xây dựng tảng hai ngôn ngữ mạnh C++ Java C# ngôn ngữ lập trình đại, hướng đối tượng xây dựng tảng hai ngôn ngữ mạnh C++ Java C# thiết kế cho Common Language Infrastructure (CLI), mà gồm Executable Code Runtime Environment, cho phép sử dụng ngôn ngữ high-level đa dạng tảng cấu trúc máy tính khác C# với hỗ trợ mạnh mẽ NET Framework giúp cho việc tạo ứng dụng Windows Forms hay WPF (Windows Presentation Foundation), trở nên dễ dàng 0.1 1.1 1.4.1 Tại phải sử dụng ngôn ngữ C# Nhiều người tin rằng  không  cần  thiết có  một ngơn ngữ  lập trình mới. Java,C++, Perl, Microsoft Visual Basic, và những ngơn ngữ khác được nghĩ rằng đã cung cấp tất cả những chức cần thiết Ngôn ngữ C# là một ngôn ngữ dẫn xuất từ C và C++, được tạo từ nền tảng phát triển Microsoft bắt đầu với công việc C C++ thêm vào đặc tính để làm cho ngơn ngữ dễ sử dụng Nhiều số đặc tính giống với đặc tính có ngơn ngữ Java Khơng dừng lại Microsoft đưa số mục đích xây dựng ngơn ngữ Những mục đích được tóm tắt sau:  C# ngôn ngữ đơn giản  C# ngôn ngữ đại  C# ngôn ngữ hướng đối tượng  C# ngôn ngữ mạnh mẽ mềm dẻo  C# ngơn ngữ có từ khóa  C# ngôn ngữ hướng module  C# trở nên phổ biến 1.4.2 C# ngôn ngữ đơn giản C# loại bỏ vài phức tạp rối rắm ngôn ngữ Java c+ +, bao gồm việc loại bỏ macro, template, đa kế thừa, lớp sở ảo (virtual base class) Chúng nguyên nhân gây nhầm lẫn hay dẫn đến vấn đề cho người phát triển C++ Nếu người học ngôn ngữ chắn ta khơng trải qua thời gian để học nó! Nhưng ta khơng biết hiệu ngôn ngữ C# loại bỏ vấn đề Ngơn ngữ C# đơn giản dựa tảng C C++ Nếu thân thiện với C C++ hoậc chí Java, thấy C# giống diện mạo, cú pháp, biểu thức, toán tử chức khác lấy trực tiếp từ ngôn ngữ C C++, cải tiến để làm cho ngơn ngữ đơn giản Một vài cải tiến loại bỏ dư thừa, thêm vào cú pháp thay đổi Ví dụ như, C++ có ba tốn tử làm việc với thành viên ::, , -> Để biết dùng ba toán tử phức tạp dễ nhầm lẫn Trong C#, chúng thay với toán tử gọi (dot) Đối với người học điều việc cải tiến khác làm bớt nhầm lẫn đơn giản 1.4.3 C# ngơn ngữ đại Điều làm cho ngơn ngữ đại? Những đặc tính xử lý ngoại lệ, thu gom nhớ tự động, kiểu liệu mở rộng, bảo mật mã nguồn đặc tính mong đợi ngôn ngữ đại C# chứa tất đặc tính Nếu người học lập trình cảm thấy đặc tính phức tạp khó hiểu Tuy nhiên, đừng lo lắng tìm hiểu đặc tính qua chương sách 1.4.4 C# ngôn ngữ hướng đối tượng Những đặc điểm ngơn ngữ hướng đối tượng (Object-oriented language) đóng gói (encapsulation), kế thừa (inheritance), đa hình (polymorphism) C# hỗ trợ tất đặc tính 1.5 Giao thức FTP FTP(viết tắt File Transfer Protocol dịch “Giao thức truyền tập tin”) giao thức truyền file máy tính Giao thức xuất năm 1971(khi Internet dự án thử nghiệm ) sử dụng rộng rãi tận ngày nay.FTP đặc tả RFC 959 FTP cho phép trao đổi file hai máy tính Thơng qua giao thức FTP,người dùng tải liệu hình ảnh ,văn ,các tập tin media(nhạc,video)…từ máy tính có máy chủ máy tính cá nhân 10 1.5.1 Hoạt động giao thức FTP Trong phiên làm việc FTP, người dùng làm việc máy tính trao đổi file với máy tính chỗ khác Để truy cập tới máy tính khác, người dùng phải đăng nhập thơng qua việc cung cấp định danh người dùng mật Sau thơng tin kiểm chứng cơng việc truyền file từ hệ thống file máy tính đến hệ thống file đầu thực FTP sử dụng hai kết nối TCP song song, đường truyền thông tin điều khiển (control connection) đường truyền liệu (data connection) Các thông tin điều khiển thông tin định danh người dùng, mật truy nhập, lệnh thay đổi thư mục, lệnh “PUT” “GET” file hai máy tính trao đổi qua đường truyền thơng tin điều khiển Đường truyền liệu để truyền file liệu thực Vì FTP phân biệt luồng thơng tin điều khiển với luồng liệu nên dược gọi gửi thông tin điều khiển out-of-band FTP gồm kết nối điều khiển liệu Khi người dùng bắt đầu phiên làm việc FTP, FTP thiết lập đường kết nối thông tin điều khiển TCP qua cổng 21 Phía client giao thức FTP truyền thông tin định danh người dùng mật lệnh thay đổi mở kết nối khác Như với FTP, luồng thông tin điều khiển mở tồn suốt phiên làm việc người dùng, kết nối liệu tạo cho yêu cầu truyền file (kết nối liệu không liên tục) 11 Trong suốt phiên làm việc, FTP server phải giữ lại thông tin trạng thái người dùng, đặc biệt phải kết hợp thơng tin điều khiển với tài khoản người dùng Server lưu giữ thư mục thời mà người dùng truy cập thư mục người dùng Ghi lại thông tin trạng thái phiên làm việc hạn chế đáng kể tổng số phiên làm việc đồng thời 1.5.2 Mục đích giao thức FTP - Mục đích giao thức FTP, phác thảo RFC, là: - Khuyến khích việc dùng chung tập tin (như chương trình ứng dụng vi tính liệu) - Khuyến khích việc sử dụng máy tính xa cách gián tiếp / ngấm ngầm (implicit) - Che đậy khác biệt hệ thống lưu trữ tập tin máy chủ, hầu cho người dùng không cần phải quan tâm đến khác biệt riêng tư chúng - Truyền tải liệu cách đáng tin cậy có hiệu cao 1.5.3 Những phê bình giao thức FTP - Mật nội dung tập tin truyền qua đường dây thể dạng văn thường (clear text), chúng bị chặn nội dung bị tiết lộ cho kẻ nghe trộm Hiện nay, người ta có cải tiến để né tránh nhược điểm - Cần phải có nhiều kết nối TCP/IP: dòng dành riêng cho việc điều khiển kết nối, dòng riêng cho việc truyền tập tin lên, truyền tập tin xuống, liệt kê thư mục Các phần mềm tường lửa cần phải cài đặt thêm lơgic mới, đế lường trước kết nối FTP - Việc lọc giao thông FTP bên trình khách, hoạt động chế độ động, dùng tường lửa, việc khó làm, trình khách phải tùy ứng mở cổng để tiếp nhận địi hỏi kết nối xảy Vấn đề phần lớn giải cách chuyển FTP sang dùng chế độ bị động - Người ta lạm dụng tính ủy quyền, cài đặt sẵn giao thức, để sai khiến máy chủ gửi liệu sang cổng tùy chọn máy tính thứ ba Xin xem thêm FXP -FTP giao thức có tính trì trệ cao (high latency) Sự trì trệ gây việc, bắt buộc phải giải số lượng lớn dòng lệnh khởi đầu phiên truyền tải -Phần nhận khơng có phương pháp để kiểm chứng tính tồn vẹn liệu truyền sang Nếu kết nối truyền tải bị ngắt lưng chừng khơng có cách gì, 12 giao thức, giúp cho phần nhận biết rằng, tập tin nhận hồn chỉnh hay cịn cịn thiếu sót Sự hỗ trợ bên ngoài, việc dùng kiểm tra tổng MD5, dùng kiểm độ dư tuần hoàn (cyclic redundancy checking) việc cần thiết -FTP phương pháp truyền tập tin có truyền thống phi bảo an (khơng an tồn), theo thiết kế gốc đặc tả FTP, khơng có cách truyền tải liệu hình thức mật mã hóa Ảnh hưởng có nghĩa là, phần lớn cài đặt mạng lưới truyền thông, tên người dùng, mật khẩu, dòng lệnh FTP tập tin truyền tải, bị người khác mạng lưới, "ngửi" quan sát, dùng phần mềm phân tích giao thức (protocol analyzer) (hoặc cịn gọi "dụng cụ ngửi liệu", tiếng Anh "sniffer") Nên ý vấn đề thường thấy giao thức Internet thiết kế trước SSL (Secure Sockets Layer) đời (tạm dịch giao thức "tầng kết nối bảo mật"), HTTP, SMTP Telnet Giải pháp thường thấy, vấn đề này, dùng SFTP (Secure Shell File Transfer Protocol tạm dịch "giao thức truyền tập tin dùng trình bao bảo mật"), giao thức dựa SSH, FTPS (FTP over SSL) SFTP FTP cộng thêm chức mã hoá liệu SSL TLS (Transport Layer Security - tạm dịch "Bảo mật tầng giao vận") 1.6 Các loại kết nối 1.6.1 Active FTP Trong chế độ FTP Client kết nối tới server port ngẫu nhiên, khơng có đặt quyền (N>1023), đến cổng lệnh máy chủ FTP ( port 21), sau đó, ftp client lắng nghe cổng N+1 gửi lệnh port N+1 cho máy chủ, sau ftp server kết nối với ftp client port 20, bắt đầu truyền liệu Bước 1: Client gửi yêu cầu kết nối với server( với port n n +1) Bước 2: Server gửi port ngẫu nhiên phía client Bước 3: Client sử dụng port để bắt đầu kết nối Bước 4: Gửi ack phía khách hàng 13 Hình 2.4.2.Passive FTP 1.6.2 Passive FTP Trong chế độ thụ động FTP client khởi xướng kết nối đến máy ch ủ, giải vấn đề tường lửa lọc cổng kết nối d ữ li ệu đến cho khách hàng t máy chủ Khi mở kết nối FTP, khách hàng mở hai cổng ngẫu nhiên khơng có đặc quyền địa phương (N> 1023 N +1) Các địa liên lạc cảng máy chủ cổng 21, thay sau phát hành m ột PORT l ệnh cho phép máy chủ để kết nối trở lại vào cổng liệu nó, khách hàng cấp PASV lệnh Kết việc máy chủ sau mở cổng ngẫu nhiên khơng có đặc quyền (P> 1023) gửi PORT P lệnh lại cho khách hàng Các khách hàng kh ởi t ạo k ết nối từ cổng N +1 vào cổng P máy chủ để chuyển liệu Bước 1: Client gửi yêu cầu kết nối với server( với port n n +1) Bước 2: Server gửi port ngẫu nhiên phía client Bước 3: Client sử dụng port để bắt đầu kết nối Bước 4: Gửi ack phía khách hàng 14 Hình 2.4.2.Passive FTP 1.7 Tìm hiểu hệ thống FTP có sẵn 1.7.1 FTP client Là chương trình hoạt động phía máy khách cho phép người dùng thực thao tác file Ví dụ : CuteFTP, AbsoluteFTP, 3D-FTP, Hầu hết ứng dụng có chức : upload, download, delete, rename, Các thao tác dựa việc tương tác lệnh Client Server Nhận liệu từ máy chủ hiển thị cho người dùng Một số FTP Client cho phép lọc (filter file) Nhằm giảm mức độ cơng việc cho server, tăng tốc chương trình Một số cịn hỗ trợ chức resume, mà khơng phải FTP Client có CuteFTP Khi việc upload/download bị ngắt chừng cố người dùng thực tiếp cơng việc lần sau bắt đầu mở máy Bên cạnh FTP Client cịn cung cấp cho người dùng hàng đợi (Queue) làm cho người dùng cảm thấy thuận tiện việc download/upload files/folders thư mục khác hệ thống 1.7.2 FTP Server Là chương trình hoạt động phía máy chủ, tiếp nhận yêu cầu, phản hồi thông tin gởi liệu cho Client Như Server-U FTP, Hầu hết FTP Server có chức sau : bên cạnh phục vụ 15 yêu cầu từ Client yêu cầu thiết kênh truyền gửi liệu, upload, download, delete,…vv cịn có thiết lập tốc độ truyền, cấm địa kết nối, quy định số kết nối tiếp nhận Ngồi số Server FTP cịn quản trị user hệ thống : tạo user, xoá user, cấm user, phân quyền cho user, tạo group, xóa group , thêm user vào group hay cấp quyền cho group.Các quyền cấp Read (được quyền download file), Write (được quyền upload file), Delete (được quyền xóa file), List (được quyền duyệt thư mục), Create (được quyền tạo thư mục), Remove (được quyền xóa thư mục) Inherit (được quyền cho thừa kế quyền có ) Mỗi user tạo hệ thống cấp cho đặc quyền tương ứng để thao tác hệ thống No Privilege (khơng có đặc quyền user bình thường), Read-only Privilege (user có đặc quyền đọc phép vào xem thông tin hệ thống), Group Administrator (user có đặc quyền quyền thực thao tác group thêm group, xóa group, ) System Administrator (user có đặc quyền có tồn quyền hệ thống) 1.8 Mơ hình FTP Một phiên làm việc FTP thông thường kéo theo tương tác năm phần tử phần mềm : Một phiên làm việc FTP thông thường:  User Interface ( Giao diện người dùng ) : Cung cấp giao diện người dùng điều khiển phần phiên dịch giao thức phía client  Client PI ( Protocol Interpreter ) : Đây phần phiên dịch giao thức ( PI ) phía 16 client Nó phát lệnh tới phần phiên dịch giao thức server điều khiển trình chuyển liệu phía client  Server PI : Đây phần phiên dịch giao thức server Nó đáp ứng lệnh phát phần phiên dịch giao thức phía client điều khiển qúa trình chuyển liệu phía server  Client DTP ( Data Transfer Process ) : Đây tiến trình chuyển liệu ( DTP ) phía client, có trách nhiệm truyền thơng số với tiến trình chuyển liệu phía server hệ thống file cục  Server DTP : Đây tiến trình chuyển liệu phía server, có trách nhiệm truyền thơng số với tiến trình chuyển liệu phía client hệ thống file từ xa Trong thời gian phiên làm việc FTP có hai kết nối mạng riêng biệt, PI DTP Kết nối PI gọi kết nối điều khiển ( control connection ) Kết nối DTP gọi kết nối liệu (data connection)  Các kết nối điều khiển liệu sử dụng giao thức TCP: Thường FTP server lắng nghe port thông dụng port thứ 21 cho yêu cầu kết nối điều khiển Việc lựa chọn port cho kết nối liệu phụ thuộc vào lệnh phát kết nối điều khiển Theo quy ước, phía client gởi thơng báo điều khiển cho biết số port phía client chuẩn bị sẵn để nhận yêu cầu kết nối liệu vào Việc sử dụng kết nối riêng biệt cho điều khiển liệu có lợi hai kết nối lựa chọn chất lượng dịch vụ khác : khoảng trì hoãn tối thiểu cho kết nối điều khiển cực đại cho kết nối liệu, tránh vấn đề việc cung cấp mã thoát ( escape sequences ) Chương PHÂN TÍCH THIẾT KẾ CHƯƠNG TRÌNH 2.1 Cài đặt FTP server Để truy cập vào FTP Server, ta cần biết địa IP phải có username/password Trước tiên cần thực cài đặt FTP Server Có thể sử dụng cơng cụ hỗ trợ sẵn Windows cài đặt phần mềm khác FileZilla 2.1.1 Cài đặt FTP Server Windows Thao tác: Control Panel→Add/Remove Programs→Add or Remove Windows Components→Internet Information Services→Details→FTP Service 17 Để quản trị tinh chỉnh cấu hình FTP server, thực hiện: Control Panel→Administrative Tools→Internet Information Services→FTPSite→Default FTP site Click phải chọn Properties Tiến hành chỉnh sửa thiết lập cho phép số kết nối đồng thời tối đa, thời gian timeout, thư mục vật lý, cho phép đăng nhập nặc danh, vv Hình 3.12 Cài đặt FTP Server Windows bước Hình 3.13 Cài đặt FTP Server Windows bước 18 Hình 3.14 Cài đặt FTP Server Windows bước Hình 3.15 Cài đặt FTP Server Windows bước 19

Ngày đăng: 09/03/2023, 14:47

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

TÀI LIỆU LIÊN QUAN

w