Tiểu luận lập trình mạng

24 513 3
Tiểu luận lập trình mạng

Đ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

ĐỀ TÀI CÓ DEMO: AI CẦN LIÊN HỆ MÌNH ĐỂ LẤY CODE NHÉ :01263751380 A TÂN 1. LÝ DO CHỌN ĐỀ TÀI 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ănbáo cáotiể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à đúng đắn. Hầu hết dữ liệu được truyền qua mạng là truyền dưới dạng file. Nhằm tìm hiểu thấu đáo một trong số các phương pháp truyền file qua mạng LAN em chọn đề tài: “Xây dựng chương trình truyền file qua mạng lan dựa vào mô hình clientserver”.

Xây dựng chương trình truyền File qua mạng LAN dựa vào mô hình Client-Server PHẦN 1: MỞ ĐẦU LÝ DO CHỌN ĐỀ TÀI Thế kỷ 21 mệnh danh kỷ công nghệ thông tin, với bùng nổ mạnh mẽ khoa học công nghệ Đây kỷ nguyên văn minh dựa sở công nghiệp trí tuệ Ngày nay, tin học trở thành môn khoa học quan trọng giới Sự phát triển mạnh mẽ công việc lập trình ứng dụng nhằm phục vụ nhu cầu, lợi ích người trở nên cấp thiết Máy tính trở thành công cụ đắc lực thiếu người Các tổ chức, công ty hay 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 để trao đổi liệu phận Dữ liệu truyền mạng phải đảm bảo: Dữ liệu chuyển tới đích nhanh chóng đắn Hầu hết liệu truyền qua mạng truyền dạng file Nhằm tìm hiểu thấu đáo số phương pháp truyền file qua mạng LAN em chọn đề tài: “Xây dựng chương trình truyền file qua mạng lan dựa vào mô hình client-server” MỤC TIÊU CỦA ĐỀ TÀI Tìm hiểu mạng máy tính xây dựng chương trình truyền file qua mạng LAN dựa vào mô hình Client-Server với ngôn ngữ lập trình C# ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU 3.1 Đối tượng nghiên cứu Tìm hiểu chế hoạt động Socket Thread C# từ viết ứng dụng truyền file mạng LAN 3.2 Phạm vi nghiên cứu Mô hình Client-Server mạng LAN PHƯƠNG PHÁP NGHIÊN CỨU Cơ sử dụng phương pháp nghiên cứu tài liệu (sách, báo, mục tiêu Internet có liên quan đến đề tài) để thu thập thông tin nhằm phân tích, hệ thống lý thuyết liên quan đến vấn đề truyền file qua mạng lan dựa mô hình client-server PHẦN 2: NỘI DUNG NGHIÊN CỨU Xây dựng chương trình truyền File qua mạng LAN dựa vào mô hình Client-Server CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1 MÔ HÌNH TRUYỀN THÔNG TRONG CẤU TRÚC MẠNG 1.1.1 Nguyên tắc truyền thông Để mạng máy tính trở môi trường truyền liệu cần phải có yếu tố sau: • Các hệ thống liên kết với theo cấu trúc kết nối (topology) • Việc chuyển liệu từ máy tính đến máy tính khác mạng thực thông qua những quy định thống gọi giao thức mạng • Phân chia hoạt động truyền thông hệ thống thành nhiều lớp theo nguyên tắc định • Việc xét module cách độc lập với cho phép giảm độ phức tạp cho việc thiết kế cài đặt Phương pháp sử dụng rộng rãi việc xây dựng mạng chương trình truyền thông gọi phương pháp phân tầng (layer) 1.1.2 Nguyên tắc phương pháp phân tầng Mỗi hệ thống thành phần mạng xây dựng cấu trúc nhiều tầng có cấu trúc giống như: số lượng tầng chức tầng Các tầng nằm chồng lên nhau, liệu trao đổi trực tiếp hai tầng kề từ tầng xuống tầng ngược lại Cùng với việc xác định chức tầng, phải xác định chức mối quan hệ hai tầng kề Dữ liệu truyền từ tầng cao hệ thống truyền đến tầng thấp sau truyền qua đường nối vật lý dạng bit tới tầng thấp hệ thống nhận, sau liệu truyền ngược lên đến tầng cao hệ thống nhận Chỉ có hai tầng thấp có liên kết vật lý với tầng thứ tự có liên kết logic với Liên kết logic tầng thực thông qua tầng phải tuân theo quy định chặt chẽ, quy định gọi giao thức tầng Xây dựng chương trình truyền File qua mạng LAN dựa vào mô hình Client-Server Hình 1.3 Mô hình truyền thông đơn giản tầng Trong kiến trúc phân tầng, số mô hình phát triển • Mô hình tham chiếu kết nối hệ thống mở OSI • Mô hình Internet: TCP/IP Xét phương diện lập trình với máy tính, ta xét mô hình phân tầng thu gọn Nói chung truyền thông có tham gia thành phần: chương trình ứng dụng, chương trình truyền thông, máy tính mạng Các chương trình ứng dụng chương trình người sử dụng thực máy tính tham gia vào trình trao đổi thông tin hai máy tính Trên máy tính với hệ điều hành đa nhiệm (như Windows, UNIX) thường thực đồng thời nhiều ứng dụng có ứng dụng liên quan đến mạng ứng dụng khác Các máy tính nối mạng liệu trao đổi thông qua mạng từ máy tính đến máy tính khác Việc gửi liệu thực ứng dụng với ứng dụng khác hai máy tính khác thông qua mạng thực sau: Ứng dụng gửi chuyển liệu cho chương trình truyền thông máy tính nó, chương trình truyền thông gửi chúng tới máy tính nhận Chương trình truyền thông máy tính nhận tiếp nhận liệu, kiểm tra trước chuyển giao cho ứng dụng chờ liệu Với mô hình truyền thông đơn giản người ta chia chương trình truyền thông thành ba tầng không phụ thuộc vào là: tầng ứng dụng, tầng giao vận tâng tiếp cận mạng Tầng tiếp cận mạng liên quan tới việc trao đổi liệu máy tính mạng mà nối vào Để liệu đến đích, máy tính gửi cần phải chuyển địa máy tính nhận cho mạng qua mạng chuyển thông tin tới đích Ngoài máy Xây dựng chương trình truyền File qua mạng LAN dựa vào mô hình Client-Server tính gửi sử dụng số phục vụ khác mà mạng cung cấp gửi ưu tiên, tốc độ cao Trong tầng có nhiều phần mềm Tầng giao vận thực trình truyền thông end-to-end ứng dụng không liên quan tới mạng nằm tầng tiếp cận mạng Tầng truyền liệu không quan tâm tới chất cứng dụng trao đổi liệu mà quan tâm tới đích đến theo thứ tự mà chúng xử lý Trong tầng truyền liệu người ta phải có chế nhằm đảm bảo xác rõ ràng chế không phụ thuộc vào chất ứng dụng chúng phục vụ cho tất ứng dụng Tầng ứng dụng chứa module phục vụ cho tất ứng dụng người sử dụng Với loại ứng dụng khác nhau( truyền file, truyền thư mục) cần module khác Hình 1.4 Trao đổi tầng 1.2 ĐỊA CHỈ IP – CÁC ĐỊA CHỈ IP DÙNG RIÊNG Mỗi địa IP có độ dài 32 bits (đối với IP4) tách thành vùng (mỗi vùng byte), biểu thị dạng thập phân, bát phân, thập lục phân nhị phân Cách viết phổ biến dùng ký pháp thập phân có dấu chấm để tách vùng Địa IP để định danh cho host liên mạng Khuôn dạng địa IP: host mạng TCP/IP định danh địa có khuôn dạng Do tổ chức độ lớn mạng liên mạng khác nhau, người ta chia địa IP thành lớp ký hiệu A, B, C, D, E Các bit byte dùng để định đanh lớp địa (0-lớp A; 10-lớp B, 110-lớp C, 1110-lớp D, 11110lớp E) Subneting Xây dựng chương trình truyền File qua mạng LAN dựa vào mô hình Client-Server Trong nhiều trường hợp mạng chia thành nhiều mạng con(subnet), lúc đưa thêm subnetid để định danh mạng Vùng subnetid lấy từ vùng hostid, cụ thể lớp A, B, C 1.3 GIAO THỨC TRUYỀN FILE FTP 1.3.1 Khái niệm giao thức FTP FTP (File Transfer Protocol, “Giao thức truyền tập tin”) thường dùng để trao đổi tập tin qua mạng lưới truyền thông dùng giao thức TCP/IP (chẳng hạn Internet mạng ngoại intranet mạng nội bộ) Hoạt động FTP cần có hai máy tính, máy chủ máy khách) Máy chủ FTP, dùng chạy phần mềm cung cấp dịch vụ FTP, gọi trình chủ, lắng nghe yêu cầu dịch vụ máy tính khác mạng lưới Máy khách chạy phần mềm FTP dành cho người sử dụng dịch vụ, gọi trình khách, khởi đầu liên kết với máy chủ Một hai máy liên kết với nhau, máy khách xử lý số thao tác tập tin, tải tập tin lên máy chủ, tải tập tin từ máy chủ xuống máy mình, đổi tên tập tin, xóa tập tin máy chủ v.v Vì giao thức FTP giao thức chuẩn công khai, công ty phần mềm nào, hay lập trình viên viết trình chủ FTP trình khách FTP Hầu tảng hệ điều hành máy tính hỗ trợ giao thức FTP Điều cho phép tất máy tính kết nối với mạng lưới có TCP/IP, xử lý tập tin máy tính khác mạng lưới với mình, máy tính dùng hệ điều hành (nếu máy tính cho phép truy cập máy tính khác, dùng giao thức FTP) 1.3.2 Đặc điểm nguyên lý hoạt động 1.3.2.1 Mô hình hoạt động FTP Giao thức FTP mô tả cách đơn giản thông qua mô hình hoạt động FTP Mô hình nguyên tắc mà thiết bị phải tuân theo tham gia vào trình thay đổi file, hai kênh thông tin cần phải thiết lập thiết bị Nó mô tả thành phần FTP dùng để quản lý kênh hai phía-truyền nhận Do đó, mô hình tạo cho ta khởi điểm lý tưởng để xem xét hoạt động FTP mức khái quát Tiến trình Server-FTP User-FTP FTP giao thức dạng client/server truyền thống, nhiên thuật ngữ client thông thường thay thuật ngữ user- người dùng- thực tế người sử dụng đối tượng trực tiếp thao tác lệnh FTP máy clients Bộ phần mềm FTP cài đặt thiết bị gọi tiến trình Phần mềm FTP cài đặt Xây dựng chương trình truyền File qua mạng LAN dựa vào mô hình Client-Server máy Server gọi tiến trình Server-FTP, phần máy client gọi tiến trình User-FTP Kênh điều khiển kênh liệu FTP Một khái niệm cốt yếu mà ta cần phải nắm FTP là: giao thức sử dụng kết nối TCP, không dùng kênh TCP phần lớn giao thức truyền thông khác Mô hình FTP chia trình truyền thông phận Server với phận client làm hai kênh logic • Kênh điều khiển: kênh logic TCP dùng để khởi tạo phiên kết nối FTP Nó trì xuyên suốt phiên kết nối FTP sử dụng để truyền thông tin điều khiển, lệnh hồi đáp FTP Nó không dùng để truyền file • Kênh liệu: Mỗi liệu truyền từ serer tới client, kênh kết nối TCP định lại khởi tạo chúng Dữ liệu truyền qua kênh kết nối – gọi kênh liệu Khi file truyền xong, kênh ngắt Việc sử dụng kênh riêng lẻ tạo linh hoạt việc tuyên truyền liệu – mà ta thấy phần Tuy nhiên tạo cho FTP độ phức tạp định Các tiến trình thuật ngữ FTP Do chức điều khiển liệu sử dụng kênh khác nhau, nên mô hình hoạt động FTP chia phần mềm thiết bị làm hai thành phần logic tương ứng với kênh Thành phần Protocol Interpreter (PI) thành phần quản lý kênh điều khiển, với chức phát nhận lệnh Thành phần Data Transfer Process (DTP) có chức gửi nhận liệu phía client với server Ngoài cung cấp cho tiến trình phía bên phía người dùng có thêm thành phần thứ ba giao diện người dùng FTP thành phần phía server Do đó, có hai tiến trình xảy phía server, ba tiến trình phía client Các tiến trình gắn với mô hình FTP để mô tả chi tiết hoạt động giao thức FTP Dưới hình đối chiếu tiến trình vào mô hình FTP: Xây dựng chương trình truyền File qua mạng LAN dựa vào mô hình Client-Server Hình 1.5 Các tiến trình mô hình FTP  Các tiến trình phía server Các tiến trình phía server bao gồm hai giao thức • Server Protocol Interpreter (Server-PI): chịu trách nhiệm quản lý kênh điều khiển server Nó lắng nghe yêu cầu kết nối hướng tới từ users cổng dành riêng Khi kết nối thiết lập, nhận lệnh từ phía User-PI, trả lời lại, quản lý tiến trình truyền liệu server • Server Data Transfer Process (Server-DTP): làm nhiệm vụ gửi nhận file từ phận User-DTP, Server-DTP vừa làm nhiệm vụ thiết lập kết nối kênh liệu lắng nghe kết nối kênh liệu từ user Nó tương tác với server file hệ thống cục để đọc chép file  Các tiến trình phía client • User Protocol Interpreter (User-PI): chịu trách nhiệm quản lý kênh điều khiển phía client Nó khởi tạo phiên kết nối FTP việc phát yêu cầu tới phía Server-PI Khi kết nối thiết lập, xử lý lệnh nhận giao diện người dùng, gửi chúng tới Server-PI, nhận phản hồi trở lại Nó quản lý tiến trình User-DTP • User Data Transfer Process (User-DTP): phận DTP nằm phía người dùng, làm nhiệm vụ gởi nhận liệu từ Server-DTP User-DTP thiết lập lắng nghe yêu cầu kết nối kênh liệu server Nó tương tác với thiết bị lưu trữ file phía client Xây dựng chương trình truyền File qua mạng LAN dựa vào mô hình Client-Server • User Interface: cung cấp giao diện xử lý cho người dùng Nó cho phép sử dụng lệnh đơn giản hướng người dùng, cho phép người điều khiển phiên FTP theo dõi thông tin kết xảy tiến trình 1.3.2.2 Thiết lập kênh điều khiển chứng thực người dùng FTP Mô hình hoạt động FTP mô tả rõ kênh liệu điều khiển thiết lập FTP client FTP server Trước kết nối sử dụng để thực truyền file, kênh điều khiển cần phải thiết lập Một tiến trình định sau dùng để tạo kết nối tạo phiên FTP lâu bền thiết bị để truyền files Như giao thức client/server khác, FTP server tuân theo luật passive kênh điều khiển Bộ phận Server Protocol Interpreter (Server-PI) lắng nghe cổng TCP dành riêng cho kết nối FTP cổng 21 Phía User-PI tạo kết nối việc mở kết nối TCP từ thiết bị người dùng tới server cổng Nó sử dụng cổng làm cổng nguồn phiên kết nối TCP 1.3.2.3 Quản lý kênh liệu FTP Kênh điều khiển tạo Server-PI User-PI sử dụng trình thiết lập kết nối chứng thực trì suốt phiên kết nối FTP Các lệnh hồi đáp trao đổi phận PI (Protocol Interpreter) qua kênh điều khiển, liệu không Mỗi cần phải truyền liệu server client, kênh liệu cần phải tạo Kênh liệu kết nối phận User-DTP với Server-DTP Kết nối cần thiết cho hoạt động chuyển file trực tiếp (gửi nhận file) việc truyền liệu ngầm, yêu cầu danh sách file thư mục server Chuẩn FTP định hai phương thức khác để tạo kênh liệu Khác biệt hai phương thức mặt thiết bị: phía client hay phía server phía đưa yêu cầu khởi tạo kết nối Điều nghe qua đơn giản, lại quan trọng Kết nối kênh liệu dạng chủ động Phương thức gọi kết nối kênh liệu dạng thông thường (vì phương pháp mặc định) goi kết nối dạng chủ động (để đối chiếu với dạng kết nối bị động mà ta xét phần sau) Trong dạng kết nối này, phía Server-DTP khởi tạo kênh liệu việc mở cổng TCP cho phía User-DTP Phía server sử dụng cổng dành riêng, cổng 20 cho kênh liệu Trên máy client, Xây dựng chương trình truyền File qua mạng LAN dựa vào mô hình Client-Server giá trị cổng chọn theo mặc định cổng sử dụng kênh điều khiển, nhiên phía client chọn hai cổng riêng biệt cho hai kênh Thực tế, việc sử dụng cổng cho kênh liệu kênh điều khiển ý hay, làm cho hoạt động FTP trở nên phức tạp Do đó, phía client nên định sử dụng cổng khác việc sử dụng lệnh PORT trước truyền liệu Ví dụ, giả sử phía client định cổng 1742 với lệnh PORT Phía ServerDTP sau tạo kết nối từ cổng 20 tới cổng 1742 phía client thay cổng 1678 mặc định Quá trình mô tả hình đây: Hình 1.6 Tiến trình làm việc dạng chủ động FTP Thông thường, kênh liệu FTP, phía server khởi tạo việc truyền liệu cách mở kết nối liệu tới client Trong trường hợp trên, phía client trước tiên đưa lệnh PORT để yêu cầu sử dụng cổng 1742 Sau đó, server mở kết nối kênh liệu từ cổng 20 mặc định tới cổng 1742 phía client Dữ liệu sau truyền thiết bị qua cổng Kết nối kênh liệu dạng bị động Xây dựng chương trình truyền File qua mạng LAN dựa vào mô hình Client-Server Phía client nhận server phía bị động, làm nhiệm vụ chấp nhận yêu cầu kết nối kênh Dữ liệu khởi tạo từ phía client Server trả lời lại phía client với địa IP địa cổng mà sử dụng Phía Server-DTP sau lắng nghe kết nối TCP từ phía User-DTP cổng Mặc định, phía client sử dụng cổng hai kênh điều khiển liệu trường hợp kết nối chủ động Tuy nhiên, đây, lần phía client chọn sử dụng giá trị cổng khác cho kênh liệu Ta xét lại ví dụ lần nữa, với cổng điều khiển phía client 1678 tới cổng 21 phía server Nhưng lần truyền liệu theo phương thức kết nối bị động, mô tả hình đây: Hình 1.7 Tiến trình làm việc dạng bị động FTP Phía client sử dụng lệnh PASV để yêu cầu server muốn dùng phương thức điều khiển liệu bị động Phía Server-PI trả lời lại phía client với giá trị cổng mà client sử dụng, từ cổng 2223 Sau phía Server-PI hướng cho phía Server-DTP lắng nghe cổng 2223 Phía User-PI hướng cho phía User-DTP 10 Xây dựng chương trình truyền File qua mạng LAN dựa vào mô hình Client-Server tạo phiên kết nối từ cổng 1742 phía client tới cổng 2223 phía server Sau server chấp nhận kết nối này, liệu bắt đầu truyền 1.3.2.4 Các phương thức truyền liệu FTP Khi kênh liệu thiết lập xong Server-DTP với User-DTP, liệu truyền trực tiếp từ phía client tới phía server, ngược lại, dựa theo lệnh sử dụng Do thông tin điều khiển gửi kênh điều khiển, nên toàn kênh liệu sử dụng để truyền liệu FTP có ba phương thức truyền liệu, nêu lên cách mà liệu truyền từ thiết bị tới thiết bị khác kênh liệu khởi tạo, là: stream mode, block mode, compressed mode Stream mode 1.4 TỔNG QUAN VỀ NGÔN NGỮ LẬP TRÌNH C# 1.4.1 Cơ NET Framework NET Framework thành phần Windows cho việc xây dựng chạy ứng dụng viết ngôn ngữ lập trình (Ứng dụng hệ kế tiếp) NET Framework thiết kế để: • Cung cấp môi trường quán cho lập trình hướng đối tượng • Tối ưu hóa việc phát triển phần mềm xung đột phiên việc cung cấp môi trường thực code • Cung cấp môi trường thực thi code an toàn • Cung cấp trải nghiệm (Experience) quán cho người phát triển việc tạo kiểu ứng dụng khác từ ứng dụng tảng Windows, ứng dụng tảng Web ứng dụng tảng thiết bị di động, ứng dụng nhúng v.v… 1.4.2 Các thành phần NET Framework NET Framework bao gồm hai thành phần chính: CLR (Common Language Runtime – môi trường quản lý ngôn ngữ chung): Đây thành phần cốt lõi (xương sống – backbone) NET Framework thực chức sau • Quản lý nhớ • Thực code • Xử lý lỗi • Xác nhận an toàn code 11 Xây dựng chương trình truyền File qua mạng LAN dựa vào mô hình Client-Server • Thu gọn rác Framework Class Library (FCL: tập hợp kiểu liệu có khả sử dụng lại ( Tập hợp lớp) hướng đối tượng hoàn toàn, sử dụng để phát triển ứng dụng từ ứng dụng dòng lệnh truyền thống ứng dụng có giao diện đồ họa 1.4.3 Các tính ngôn ngữ lập trình C# C# ngôn ngữ hướng đối tượng túy Thu gom rác tự động: giảm bớt gánh nặng cho lập trình viên việc phải viết đoạn code thực cấp phát giải phóng nhớ Hỗ trợ chuẩn hóa tổ chức ECMA ( European Computer Manufactures Asseciaion) Hỗ trợ phương thức phổ quát (chung) 1.4.4 Các ứng dụng ngôn ngữ lập trình C# C# sử dụng kiểu ứng dụng khác • Các ứng dụng game • Các ứng dụng cho doanh nghiệp • Các ứng dụng cho thiết bị di động • Các ứng dụng quản lý đơn giản • Ứng dụng quản lý thư viện • Quản lý thông tin công nhân • Ứng dụng phân phát phức tạp trải rộng qua nhiều thành phố, đất nước 1.4.5 Các lợi ích ngôn ngữ lập trình C# Cross Language Support: Hỗ trợ khả chuyển đổi dễ dàng ngôn ngữ Hỗ trợ giao thức Internet chung Triển khai đơn giản Hỗ trợ tài liệu XML Các thích XML thêm vào đoạn code sau chiết xuất để làm tài liệu cho đoạn code phép lập trình viên sử dụng biết ý nghĩa đoạn code 1.4.6 Môi trường phát triển tích hợp Visual Studio NET 2010 12 Xây dựng chương trình truyền File qua mạng LAN dựa vào mô hình Client-Server VS 2010 tập hợp công cụ phát triển phần mềm cho việc xây dựng ứng dụng Desktop với hiệu cao, có ứng dụng cho thiết bị di động, dịch vụ Web, ứng dụng Web Ngoài ra, VS 2010 sử dụng để lmf đơn giản hóa trình phát triển nhóm, triển khai cài đặt ứng dụng Enterprise.VS 2010 cungg cấp lợi ích mở rộng cho việc phát triển ứng dụng: • Nâng cao tính sản phẩm • Phát triển ứng dụng cho NET Framwork 2.0 • Phát triển ứng dụng cho thiết bị cầm tay với NET Framework Compact 2.0 1.5 GIỚI THIỆU VỀ LẬP TRÌNH SOCKET Socket cung cấp interface để lập trình mạng tầng transport Một socket end-point liên kết hai ứng dụng Ngày nay, socket hỗ trợ hầu hết hệ điều hành MS Windows (winSock), Linux sử dụng nhiềungôn ngữ lập trình khác C#, C++, JAVA… Windows Socket Application Programming Interface (winSock API) thư viện hàm socket WinSock hỗ trợ lập trình viên xây dựng ứng dụng mạng TCP/IP Là giao diện lập trình ứng dụng (API), giao diện chương trình ứng dụng với lớp mạng hệ thống mạng TCP/IP Thông qua giao diện lập trình điều khiển việc truyền thông hai máy sử dụng giao thức mức thấp TCP, UDP… Thiết lập lập kênh giao tiếp với đầu kênh đánh dấu cổng Dữ liệu vào khỏi kênh giao tiếp thông qua cổng Cơ chế giao tiếp • Một hai trình phải công bố số hiệu cổng socket mà sử dụng đê nhận gởi liệu • Các trình khác giao tiếp với trình công bố cổng cách tạo socket Các loại socket • Socket hướng kết nối (TCP Socket) • Socket không hướng kết nối (UDP Socket) • Raw Socket 13 Xây dựng chương trình truyền File qua mạng LAN dựa vào mô hình Client-Server 1.6 MÔ HÌNH CLIENT/SERVER 1.6.1 Tổng quan Trong năm gần đây,thuật ngữ client/server trở nên phổ biến lĩnh vực công nghệ thông tin Các công ty xem Client/Server mô hình công nghệ mang tính cách mạng để trợ giúp cho việc quản lý điều hành hoạt động công ty Nhiều năm trước, máy tính lớn mainframe IBM thống trị lĩnh vực điện toán,một cách tiếp cận công nghệ mạng máy tính với tên gọi “client/server” xuất vào đầu thập kỉ 80 nhanh chóng phổ biến.Đến cuối thập niên 80, mô hình client/server thật chấp nhận xuất ứng dụng đầu tiên.Ngày nay,client/server trở nên thông dụng phổ biến đến mức hầu hết ứng dụng mạng dựa nguyên tắc client/server.Mô hình chứng minh phương pháp hiệu chi phí xây dựng nhiều loại mạng dịch vụ mạng,đặc biệt mạng LAN (PCs) chạy ứng dụng end-user database 1.6.1.1 Khái niệm Một mô hình kiến trúc tính toán gồm tiến trình khách (client) yêu cầu dịch vụ từ tiến trình phục vụ (server) 1.6.1.2 Mô hình kiến trúc ứng dụng Client/Server dạng phổ biến mô hình ứng dụng phân tán phần mềm chia thành tiến trình client tiến trình server Một client gửi yêu caqauf cho server theo giao thức định sẵn (để server hiểu yêu cầu client), để lấy thông tin thị server thực tác vụ Sau thực xong yêu cầu client, server trả lời Một số ứng dụng phổ thông môi trường Internet dựa mô hình client/server • Email • FTP • Web 14 Xây dựng chương trình truyền File qua mạng LAN dựa vào mô hình Client-Server 1.6.1.3 Đặc trưng mô hình Trong kiến trúc client/server, client,chương trình đại diện cho người dùng cần dịch vụ tài nguyên tính toán, server, chương trình cung cấp dịch vụ, đối tượng logic riêng rẽ tách biệt trao đổi, tương tác với qua mạng máy tính truyền thông để thực tác vụ Server nhận xử lý yêu cầu từ client, sau gửi trả lại.Mô hình có đặc trưng sau • Giao thức bất đối xứng: ể quan hệ một-nhiều client server Client bắt đầu phiên hội thoại cách yêu cầu dịch vụ Server sẵn sàng chờ yêu cầu từ client • Đóng gói dịch vụ: Server chuyên gia,luôn biết làm để hoàn thành tác vụ đáp ứng lại yêu cầu từ client.Server nâng cấp mà không ảnh hưởng đến client (tất nhiên thông điệp trao đổi hai bên không đổi hai hiểu nhau) • Tính toàn vẹn: Mã liệu server bảo trì tập trung để giảm chi phí bảo trì bảo vệ toàn vẹn liệu chung (được chia sẻ server) Trong client trì tính chất cá nhân độc lập • Trong suốt định vị: Server tiến trình chạy máy với client máy khác hệ thống mạng.Các phần mềm client/server thường ẩn vị trí server client cách chuyển hướng yêu cầu dịch vụ Một chương trình server đồng thời hai • Trao đổi dựa thông điệp( message-based): Client yêu cầu dịch vụ server trả lời qua message.Tnh modun khả điều chỉnh thích hợp: Một ứng dụng client/server thiết kế gồm nhiều modun  Ưu điểm mô hình Client phát triển với mục đích cho phép hiều nguwoif dùng chia sẻ,truy cập đến dịch vụ hay ứng dụng database So sánh với mainframe, client/server đem lại khả mở rộng tốt tạo thêm kết nối theo nhu cầu sử dụng mà không cần phải sử dụng thêm hard-wired Mô hình client/server hỗ trợ ứng dụng modun hóa.Trong trường hợp,một phần mềm ứng dụng chia thành nhiều modun, modun cài đặt hệ thống phần cứng khác chuyên biệt hóa cho hệ thống modun đó, gọi mô hình client/server “hai lớp” “ba lớp” Vì server tập trung phân tán nhiều máy, cho phép client server đặt tách biệt nhiều node mạng, node hệ thống máy tính độc lập, có cấu hình phần cứng,hệ điều hành,phần mềm khác để phù hợp với tính nhiệm vụ Tóm lại, mục đích client/server để nâng cao tính dễ sử dụng, tính thích nghi linh hoạt, tính trao đổi tương tác, tính co giãn hệ thống tính toán 15 Xây dựng chương trình truyền File qua mạng LAN dựa vào mô hình Client-Server  Nhược điểm Một vấn đề quan tâm đặc biệt mô hình client/server quản trị hệ thống Khi ứng dụng phân bố toàn hệ thống mạng, khó khăn để trì thông tin cấu hình cập nhật quán tất thiết bị Tương tự,nâng cấp phiên ứng dụng client/server khó đồng Cuối cùng, hệ thống client/server phụ thuộc nhiều vào độ tin cậy mạng, nâng cao tính dự phòng tính chịu lỗi làm tăng chi phí triển khai hệ thống Chi phí đầu tư cho việc thiết kế,cài đặt,quản trị bảo trì lớn Ngoài ra,những kĩ sư hệ thống người quản trị phải đối mặt với vấn đề hóc búa tương tác hệ thống, tính tương thích thành phần việc cấu hình hệ thống 1.6.2 Giao thức cho ứng dụng client/server: Giao thức khung dạng tin,tập trạng thái quy tắc, quy ước truyền thông client server Khi tạo ứng dụng client/server, việc phải thiết kế giao thức May mắn cho giao thức phổ biến FTP, HTTP, SMTP, RPC… IETF chuẩn hóa thành giao thức chuẩn Các chuẩn đưa kiến nghị IAB gọi RFC (Request for comment) Mỗi chuẩn giao thức cho Internet đánh số RFC Nói chung nên theo giao thức có sẵn cho ứng dụng phổ biến Tuy nhiên, xây dựng ứng dụng riêng chưa có giao thức chuẩn ta phải thiết kế giao thức  Phân loại giao thức Giao thức đồng ( Synchronous Protocol) • Trong dạng giao thức này, trình truyền thông client server diễn theo hai chiều không đồng thời mà thực Mỗi bên sau truyền liệu thông báo cho bên ngừng lại để chờ bên gởi sang • Ví dụ giao thức kiểu là: HTTP, POP, SMTP… Giao thức không đồng (Asynchronous Protocol) • Đối với giao thức dạng không đồng bộ, client server đồng thời gửi thông tin cho mà không cần phải chờ đợi phản hồi bên • Các giao thức thường giao thức stateless TELNET, RLOGIN… Ngoài có dạng giao thức hybrid kết hợp hai dạng giao thức không đồng đồng 16 Xây dựng chương trình truyền File qua mạng LAN dựa vào mô hình Client-Server Các yêu cầu giao thức Việc thiết kế giao thức tốt khó khăn phải đáp ứng yêu cầu sau Rõ ràng (well-defined) • Trong dạng tin truyền đi, trường liệu phải định nghĩa giao thức- rõ ràng kích thước, ý nghĩa, trường hợp liên quan đến bit • Giao thức ngôn ngữ, đòi hỏi phải xác, nhập nhằng • Sử dụng phương pháp diễn tả mang tính hình thức (common formal description) dạng BNF (trong automata) • Nếu sử dụng phương pháp mô tả dạng ngôn ngữ phải trình bày tài liệu giao thức (để người đọc hiểu được) • Nên sử dụng ví dụ minh họa cho giao thức Đầy đủ vấn đề sau • Dữ liệu hỏng, không hợp lệ ( khuôn dạng, kích thước, tránh tràng đệm) • Các phiên cũ ( tương thích) Ví dụ, client phiên proto 1.0 kết mối với server 1.2 • Các yêu cầu không hợp lệ Lệnh sai tham số sai, trình tự yêu cầu không quy tắc, lệnh không cho phép… • Có thể phân tích cú pháp tin Một số vấn đề khác thiết kế triển khai giao thức • Khả mở rộng tương thích version • Thứ tự byte • Tính hiệu : đồng không đồng thông tin điều khiển, header, thời gian trễ round trip • Trạng thái: đọc,ai ghi ( truyền,ai nhận) • Timeout: Đấy vấn đề thiếu ứng dụng mạng tính biến động trước trạng thái mạng CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ CHƯƠNG TRÌNH 2.1 PHÂN TÍCH CHƯƠNG TRÌNH 17 Xây dựng chương trình truyền File qua mạng LAN dựa vào mô hình Client-Server Chương trình ứng dụng xây dựng theo mô hình client-server Chương tình bao gồm mô đun server client Người sử dụng truyền file từ phía server cho client lưu lại file máy client Mô đun phía server: Tạo Server Socket lắng nghe kết nối từ client Chấp nhận kết nối từ client Báo lỗi Chọn file cần gửi cho client Gửi file cho client Gửi thànhcông Tạo Server Socket lắng nghe kết nối từ client Gửi file Chấp nhận kết nối từ client END Báo lỗi Chọn file cần gửi cho client Mô đun phía Client Gửi file cho client 18 Gửi thànhcông Gửi file END Xây dựng chương trình truyền File qua mạng LAN dựa vào mô hình Client-Server 2.2 CƠ CHẾ HOẠT ĐỘNG CỦA CHƯƠNG TRÌNH  Tại Server: Chương trình Server kích hoạt trước • IP:Chương trình lấy địa IP Card mạng Server gán vào phần địa IP • Port: Tại Server sử dụng port để truyền file, số hiệu port gán từ người sử dụng Server • Sau điền thông tin địa số hiệu port Server kích vào điều khiển Connect để kích hoạt • Tiếp theo chọn file cần truyền cho Client cách kích vào điều khiển Browse chọn file đến file cần truyền Tại ô File xuất đường dẫn file chọn • Kích chọn vào điều khiển Start để lắng nghe, máy Client kết nối đến File truyền Trạng thái lắng nghe báo hiệu máy Client nhận File biểu diễn Status  Tại Client: Sau chương trình Server kích hoạt Client cần phải thực bước sau để nhận File 19 Xây dựng chương trình truyền File qua mạng LAN dựa vào mô hình Client-Server • IP: Tại địa IP người sử dụng Client điền địa máy Server cần kết nối đến • Port: Số hiệu port dùng số hiệu port mà bên Server sử dụng để truyền • Sau bên Server hoàn thành xong bước để bắt đầu lắng nghe kết nối từ Client Client kết nối điều khiển Start • Khi máy Client kết nối File bên Server truyền đến tên File hiển thị Thông báo Server gửi file • Tiếp theo Client muốn nhận File kích chọn điều khiển Save để lưu File vào máy 20 Xây dựng chương trình truyền File qua mạng LAN dựa vào mô hình Client-Server CHƯƠNG 3: XÂY DỰNG VÀ THIẾT KẾ GIAO DIỆN CHƯƠNG TRÌNH 3.1 GIỚI THIỆU VỀ CHƯƠNG TRÌNH Dựa yêu cầu muốn truyền file máy mạng LAN với thông qua mô hình Client/Server Dựa kiến thức học môn Lập trình mạng nhóm xây dựng chương trình truyền file qua mạng LAN viết ngôn ngữ C# Chương trình có giao diện đơn giản, trực quan giúp người sử dụng dễ dàng thao tác với điều khiển Quy trình hoạt động chương trình: Hình 3.1 Quá trình kết nối  Socket(): Client yêu cầu tạo socket để sử dụng dịch vụ tầng vận chuyển  Connect(): Client gởi yêu cầu kết nối đến Seerver có địa IP port xác định  Accept(): Server chấp nhận kết nối Client, kênh giao tiếp ảo hình thành, Client Server trao đổi thông tin với  Sau Server chấp nhận kết nối từ Client Server truyền file cho Client Client tiếp nhận lưu file 3.2 THIẾT KẾ GIAO DIỆN CHƯƠNG TRÌNH 21 Xây dựng chương trình truyền File qua mạng LAN dựa vào mô hình Client-Server Chương trình Server đưa tập tin lên máy Client Chương trình Sever truyền file qua Client 22 Xây dựng chương trình truyền File qua mạng LAN dựa vào mô hình Client-Server Chương trình nhận file Client Sever truyền Chương trình lưu lại file máy Client 23 Xây dựng chương trình truyền File qua mạng LAN dựa vào mô hình Client-Server PHẦN 3: KẾT LUẬN 1.Những vấn đề đạt Xây dựng chương trình truyền file mạng LAN theo mô hình Client/Server với nhiều máy Tìm hiểu đánh giá thực trạng cảu hệ thống hoạt động ưu nhược điểm Lưu lại file máy Client Những vấn đề hạn chế Giao diện chưa đẹp Chương trình mức TÀI LIỆU THAM KHẢO [1] ThS Nguyễn Văn Khương, “Bài giảng lập trình mạng”, năm 2015 [2] ThS Nguyễn Văn Khương, Giáo trình “Lập trình NET với C#”, năm 2014 [3] Website http://google.com [4] Lập trình Socket với TCP (bản điện tử) [5] Nguyễn Hồng Sơn , “Giáo trình hệ thống mạng CCNA”, NXB Giáo dục năm 2001 24 [...]... viện các hàm socket WinSock hỗ trợ các lập trình viên xây dựng các ứng dụng mạng trên nền TCP/IP Là giao diện lập trình ứng dụng (API), giao diện giữa chương trình ứng dụng với lớp mạng của hệ thống mạng TCP/IP Thông qua giao diện này chúng ta có thể lập trình điều khiển việc truyền thông giữa hai máy sử dụng các giao thức mức thấp là TCP, UDP… Thiết lập các lập kênh giao tiếp với mỗi đầu kênh được... chương trình truyền File qua mạng LAN dựa vào mô hình Client-Server CHƯƠNG 3: XÂY DỰNG VÀ THIẾT KẾ GIAO DIỆN CHƯƠNG TRÌNH 3.1 GIỚI THIỆU VỀ CHƯƠNG TRÌNH Dựa trên yêu cầu muốn truyền file giữa các máy trong mạng LAN với nhau thông qua mô hình Client/Server Dựa trên kiến thức đã học trong môn Lập trình mạng nhóm đã xây dựng chương trình truyền file qua mạng LAN được viết trên ngôn ngữ C# Chương trình. .. DIỆN CHƯƠNG TRÌNH 21 Xây dựng chương trình truyền File qua mạng LAN dựa vào mô hình Client-Server Chương trình Server khi đưa tập tin lên trên máy Client Chương trình Sever khi đã truyền file qua Client 22 Xây dựng chương trình truyền File qua mạng LAN dựa vào mô hình Client-Server Chương trình nhận file của Client khi Sever truyền Chương trình lưu lại file trên máy Client 23 Xây dựng chương trình truyền... đẹp Chương trình đang còn ở mức cơ bản TÀI LIỆU THAM KHẢO [1] ThS Nguyễn Văn Khương, “Bài giảng lập trình mạng , năm 2015 [2] ThS Nguyễn Văn Khương, Giáo trình Lập trình NET với C#”, năm 2014 [3] Website http://google.com [4] Lập trình Socket với TCP (bản điện tử) [5] Nguyễn Hồng Sơn , “Giáo trình hệ thống mạng CCNA”, NXB Giáo dục năm 2001 24 ... ai đọc,ai ghi ( ai truyền,ai nhận) • Timeout: Đấy là vấn đề không thể thiếu đối với ứng dụng mạng do tính biến động và không biết trước của trạng thái mạng CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ CHƯƠNG TRÌNH 2.1 PHÂN TÍCH CHƯƠNG TRÌNH 17 Xây dựng chương trình truyền File qua mạng LAN dựa vào mô hình Client-Server Chương trình ứng dụng được xây dựng theo mô hình client-server Chương tình này bao gồm 2 mô đun server... thiết bị cầm tay với NET Framework Compact 2.0 1.5 GIỚI THIỆU VỀ LẬP TRÌNH SOCKET Socket cung cấp một interface để lập trình mạng tại tầng transport Một socket là một end-point của một liên kết giữa hai ứng dụng Ngày nay, socket được hỗ trợ trong hầu hết các hệ điều hành như MS Windows (winSock), Linux và được sử dụng trong nhiềungôn ngữ lập trình khác nhau như C#, C++, JAVA… Windows Socket Application... biến đến mức hầu hết các ứng dụng mạng đều dựa trên nguyên tắc client/server.Mô hình này đã được chứng minh là phương pháp hiệu quả về chi phí khi xây dựng nhiều loại mạng và dịch vụ mạng, đặc biệt đối với mạng LAN (PCs) chạy các ứng dụng end-user database 1.6.1.1 Khái niệm Một mô hình kiến trúc tính toán gồm các tiến trình khách (client) yêu cầu dịch vụ từ các tiến trình phục vụ (server) 1.6.1.2 Mô... block mode, và compressed mode Stream mode 1.4 TỔNG QUAN VỀ NGÔN NGỮ LẬP TRÌNH C# 1.4.1 Cơ bản về NET Framework NET Framework là một thành phần cơ bản của Windows cho việc xây dựng và chạy các ứng dụng viết bởi các ngôn ngữ lập trình mới (Ứng dụng thế hệ kế tiếp) NET Framework được thiết kế để: • Cung cấp một môi trường nhất quán cho lập trình hướng đối tượng • Tối ưu hóa việc phát triển phần mềm và sự... cho client Mô đun phía Client Gửi file cho client 18 Gửi thànhcông Gửi file mới END Xây dựng chương trình truyền File qua mạng LAN dựa vào mô hình Client-Server 2.2 CƠ CHẾ HOẠT ĐỘNG CỦA CHƯƠNG TRÌNH  Tại Server: Chương trình tại Server sẽ được kích hoạt trước • IP:Chương trình sẽ lấy địa chỉ IP của Card mạng tại Server và gán vào phần địa chỉ IP • Port: Tại đây Server sẽ sử dụng 1 port để truyền file,... Email • FTP • Web 14 Xây dựng chương trình truyền File qua mạng LAN dựa vào mô hình Client-Server 1.6.1.3 Đặc trưng của mô hình Trong kiến trúc client/server, client,chương trình đại diện cho người dùng đang cần các dịch vụ tài nguyên tính toán, và server, chương trình cung cấp các dịch vụ, là các đối tượng logic riêng rẽ tách biệt trao đổi, tương tác với nhau qua một mạng máy tính truyền thông để cùng

Ngày đăng: 01/12/2016, 18:50

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan