Giáo trình mạng máy tính

39 429 0
Giáo trình mạng máy tính

Đ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

Truyền file qua mạng MỤC LỤC Chương CĂN BẢN VỀ MẠNG MÁY TÍNH 1.1 Định nghĩa mạng máy tính 1.2 Nhu cầu phát triển mạng máy tính 1.3.Phân loại mạng máy tính 1.4 Một số topo mạng thông dụng 1.5 Giao thức mạng .8 1.5.1 Giao thức TCP .8 1.5.2 Giao thức UDP .10 1.6 Các mô hình hoạt động mạng máy tính 11 1.6.1 Mô hình hoạt động peer to peer 12 1.6.2 Mô hình hoạt động clients/ server .12 Chương LẬP TRÌNH MẠNG VỚI SOCKET 13 2.1.TỔNG QUAN VỀ C# .13 2.1.1.Cơ Bản Về NET Framework 13 2.1.2.Các thành phần NET Framework 13 2.1.3.Các tính ngôn ngữ lập trình C# .14 2.1.4.Các ứng dụng C# 14 2.1.5.Các lợi ích C# 15 2.2.GIỚI THIỆU VỀ LẬP TRÌNH SOCKET 15 2.3.LẬP TRÌNH MẠNG VỚI TCPSOCKET 16 2.3.1.Mô hình giao thức 16 2.3.2.Thiết lập kết nối 17 2.3.3.Truyền nhận liệu 18 2.3.4.Đóng liên kết 19 2.4.LẬP TRÌNH MẠNG VỚI UDP SOCKET 20 2.4.1.Giao thức UDP .20 2.4.2.Một số thuật ngữ UDP 20 SVTH: Nguyễn Văn Tiến – Lớp: 10T4 Trang Truyền file qua mạng 2.4.3.Hoạt động giao thức UDP 22 2.4.4.Các nhược điểm giao thức UDP 22 2.4.5.Các ưu điểm UDP 23 2.4.6.Khi nên sử dụng UDP .24 2.5.MÔ HÌNH CLIENT/SERVER 24 2.5.1.Tổng quan 24 2.5.2.Giao thức cho ứng dụng Client/Server 32 Chương XÂY DỰNG VÀ THIẾT KẾ GIAO DIỆN CHƯƠNG TRÌNH .36 3.1.GIỚI THIỆU VỀ CHƯƠNG TRÌNH 36 3.2.KỸ THUẬT CHIA NHỎ VÀ NỐI FILE 36 PHƯƠNG THỨC GỞI FILE .36 PHƯƠNG THỨ NHẬN FILE 37 3.3.GIAO DIỆN VÀ SỬ DỤNG CHƯƠNG TRÌNH: 37 3.3.1.Giao diện: 37 3.3.1.1.Chương trình Server : 37 3.3.1.2.Chương trình Client 38 TÀI LIỆU THAM KHẢO 39 SVTH: Nguyễn Văn Tiến – Lớp: 10T4 Trang Truyền file qua mạng Chương CĂN BẢN VỀ MẠNG MÁY TÍNH 1.1 Định nghĩa mạng máy tính Mạng máy tính tập hợp máy tính nối với đường truyền theo cấu trúc thông qua máy tính trao đổi thông tin qua lại cho Đường truyền hệ thống thiết bị truyền dẫn có dây hay không dây dùng để chuyển tín hiệu điện tử từ máy tính đến máy tính khác Các tín hiệu điện tử biểu thị giá trị liệu dạng xung nhị phân (on - off) Tất tín hiệu truyền máy tính thuộc dạng sóng điện từ Tùy theo tần số sóng điện từ dùng đường truyền vật lý khác để truyền tín hiệu Ở đường truyền kết nối dây cáp đồng trục, cáp xoắn, cáp quang, dây điện thoại, sóng vô tuyến Các đường truyền liệu tạo nên cấu trúc mạng Hai khái niệm đường truyền cấu trúc đặc trưng mạng máy tính Hình 1.1 Một mô hình máy tính liên kết mạng SVTH: Nguyễn Văn Tiến – Lớp: 10T4 Trang Truyền file qua mạng 1.2 Nhu cầu phát triển mạng máy tính Ngày nay, máy tính sử dụng cách rộng rãi số lượng máy tính văn phòng hay quan tăng lên nhanh chóng việc kết nối chúng trở nên vô cần thiết mang lại nhiều hiệu cho người sử dụng Với lượng lớn thông tin, nhu cầu xử lý thông tin ngày cao, mạng máy tính trở nên quen thuộc lĩnh vực như: khoa học, quân sự, quốc phòng, thương mại, dịch vụ, giáo dục Người ta thấy việc kết nối máy tính thành mạng cho khả to lớn như: - Sử dụng chung tài nguyên: tài nguyên (như thiết bị, chương trình, liệu) trở thành tài nguyên chung thành viên mạng tiếp cận mà không quan tâm tới tài nguyên đâu - Tăng độ tin cậy hệ thống: người ta dễ dàng bảo trì máy móc, lưu trữ (backup) liệu chung có trục trặc hệ thống chúng khôi phục nhanh chóng Trong trường hợp có trục trặc trạm làm việc người ta sử dụng trạm khác thay - Nâng cao chất lượng hiệu khai thác thông tin: thông tin sử dụng chung mang lại cho người sử dụng khả tổ chức lại công việc với thay đổi chất như: + Ðáp ứng nhu cầu hệ thống ứng dụng kinh doanh đại + Cung cấp thống liệu + Tăng cường lực xử lý nhờ kết hợp phận phân tán + Tăng cường truy nhập tới dịch vụ mạng khác cung cấp giới Với nhu cầu đòi hỏi ngày cao xã hội nên vấn đề kỹ thuật mạng mối quan tâm hàng đầu nhà tin học Ví dụ làm để truy xuất thông tin cách nhanh chóng tối ưu, việc xử lý thông tin mạng SVTH: Nguyễn Văn Tiến – Lớp: 10T4 Trang Truyền file qua mạng nhiều, làm tắc nghẽn gây thông tin cách đáng tiếc Hiện nay, việc có hệ thống mạng chạy thật tốt, thật an toàn với lợi ích kinh tế cao quan tâm 1.3.Phân loại mạng máy tính Do mạng máy tính phát triển khắp nơi với ứng dụng ngày đa dạng việc phân loại mạng máy tính việc phức tạp Dựa theo phạm vi phân bố mạng ta phân loại mạng sau: - Mạng cục LAN (Local Area Network): Mạng LAN nhóm máy tính thiết bị truyền thông mạng nối kết với khu vực nhỏ tòa nhà cao ốc, khuôn viên trường đại học, khu giải trí… Các mạng LAN thường có đặc điểm sau: + Băng thông lớn, có khả chạy ứng dụng trực tuyến xem phim, hội thảo qua mạng + Kích thước mạng bị giới hạn thiết bị + Chi phí thiết bị mạng LAN tương đối rẻ + Quản trị đơn giản SVTH: Nguyễn Văn Tiến – Lớp: 10T4 Trang Truyền file qua mạng - Mạng đô thị MAN (Metropolitan Area Network): Mạng MAN gần giống mạng LAN giới hạn thành phố hay quốc gia Mạng MAN nối kết mạng LAN lạ với thông qua phương tiện truyền dẫn khác (cáp quang, cáp đồng, sóng….) phương thức truyền thông khác Đặc điểm mạng MAN: + Băng thông mức trung bình, đủ để phục vụ ứng dụng cấp thành phố hay quốc gia phủ điện tử, thương mại điện tử, ứng dụng ngân hàng… + Do MAN nối kết nhiều LAN với nên độ phức tạp tăng đồng thời công tác quản trị khó khăn + Chi phí thiết bị mạng MAN tương đối đắt tiền - Mạng diện rộng WAN (Wide Area Network): Mạng WAN bao phủ vùng địa lý rộng lớn quốc gia, lục địa hay toàn cầu Mạng WAN thường mạng công ty đa quốc gia hay toàn cầu, điển hình mạng internet Do phạm vi rộng lớn mạng WAN nên thông thường mạng WAN tập hợp mạng LAN, WAN nối lại với phương tiện như: vệ tinh (satellites), sóng biva (microwave), cáp quang, cáp điện thoại Đặc điểm mạng WAN: + Băng thông thấp, dễ kết nối, thường phù hơp với ứng dụng offine e-mail, web, ftp… + Phạm vi hoạt động rộng lớn không giới hạn + Do kết nối nhiều LAN, WAN lại với nên mạng phức tạp có tính toàn cầu nên thường có tổ chức quốc tế đứng quản trị + Chi phí cho thiết bị công nghệ mạng WAN đắt tiền SVTH: Nguyễn Văn Tiến – Lớp: 10T4 Trang Truyền file qua mạng - Mạng Internet: Là trường hợp đặc biệt mạng WAN, cung cấp dịch vụ toàn cầu mail, web, chat, ftp phục vụ miễn phí cho người 1.4 Một số topo mạng thông dụng Theo định nghĩa mạng máy tính, máy tính nối với đường truyền vật lý theo kiến trúc đó, kiến trúc gọi Topology Thông thường mạng có ba loại kiến trúc là: mạng hình (Star Topology), mạng dạng tuyến (Bus Topology), mạng dạng vòng(Ring Topology) - Ring Topology: Mạng bố trí vòng tròn, đường dây cáp thiết kế làm thành vòng khép kín, tín hiệu chạy theo chiều Các nút truyền tín hiệu cho thời điểm nút mà Mạng dạng vòng có thuận lợi nới rộng xa đường dây phải khép kín, bị ngắt nơi toàn hệ thống bị ngưng - Bus Topology: Ở dạng Bus tất nút phân chia đường truyền (bus) Đường truyền giới hạn hai đầu loại đầu nối đặc biệt gọi Terminator Khi nút truyền liệu, tín hiệu quảng bá hai chiều bus, nút lại nhận tín hiệu trực tiếp Loại mạng dùng dây cáp ít, dễ lắp SVTH: Nguyễn Văn Tiến – Lớp: 10T4 Trang Truyền file qua mạng đặt Tuy có bất lợi có ùn tắc giao thông di chuyển với lưu lượng lớn có hỏng hóc đoạn khó phát hiện, nút ngừng hoạt động ảnh hưởng tới toàn hệ thống - Star Topology: Mạng hình bao gồm tập trung nút thông tin Các nút thông tin trạm cuối, máy tính hay thiết bị khác mạng Mạng hoạt động theo nguyên lý nối song song nên có nút bị hỏng mạng hoạt động bình thường Mạng mở rộng thu hẹp tùy theo yêu cầu người sử dụng, nhiên mở rộng phụ thuộc khả trung tâm 1.5 Giao thức mạng Giao thức mạng tập quy tắc, quy ước để trao đổi thông tin hai hệ thống máy tính hai thiết bị máy tính với Nói cách hình thức giao thức mạng ngôn ngữ máy tính mạng sử dụng để trao đổi liệu với Có nhiều loại giao thức sử dụng mạng máy tính như: Apple Talk, DLC, NetBEUI, … giao thức sử dụng phổ biến mạng máy tính giao thức TCP/IP 1.5.1 Giao thức TCP Định nghĩa: TCP(Transmission Control Protocol) giao thức hướng kết nối, cung cấp đường truyền liệu tin cậy hai máy tính Tính tin cậy thể việc đảm bảo liệu gửi đến đích theo thứ tự gửi Khi hai ứng dụng muốn giao tiếp với cách tin cậy, chúng tạo đường kết nối chúng gửi liệu thông qua đường Cách trao đổi liệu tương tự cách gọi điện thoại Hãy lấy ví dụ bạn nhấc điện thoại lên quay số SVTH: Nguyễn Văn Tiến – Lớp: 10T4 Trang Truyền file qua mạng người họ hàng này, lúc dó kết nối tạo điện thoại bạn người họ hàng, sau bạn gửi nhận liệu (dưới dạng âm thanh) cách nói nghe qua điện thoại bạn Toàn việc thực kết nối truyền liệu hai máy điện thoại thực công ty điện thoại thông qua trạm đường dây điện thoại, nhiệm vụ bạn quay số để cung cấp cho nhà cung cấp dịch vụ điện thoại biết số điện thoại bạn muốn liên lạc Giống vậy, việc truyền liệu qua mạng TCP đóng vai trò nhà cung cấp dịch vụ điện thoại ví dụ trên, làm nhiệm vụ tạo kết nối truyền liệu hai điểm giao tiếp để đảm bảo liệu không bị tới đích theo trật tự gửi Tính tin cậy đường truyền thể hai điểm sau: • Mọi gói tin cần gửi đến đích Để làm điều lần phía gửi gửi xong gói tin chờ nhận xác nhận từ bên nhận nhận gói tin Nếu sau khoảng thời gian mà phía gửi không nhận thông tin xác nhận phản hồi phát lại gói tin Việc phát lại tiến hành việc truyền tin thành công, nhiên sau số lần phát lại max mà chưa thành công phía gửi suy truyền tin dừng việc phát tin • Các gói tin trình ứng dụng nhận theo thứ tự chúng gửi Bởi gói tin dẫn mạng theo nhiều đường khác trước tới đích nên thứ tự tới đích chúng không giống chúng phát Do để đảm bảo xếp lại gói tin phía nhận theo thứ tự chúng gửi, giao thức TCP gắn vào gói tin thông tin cho biết thứ tự chúng khối tin chung phát nhờ bên nhận xếp lại gói tin theo thứ tự chúng Như thấy TCP cung cấp cho kênh truyền thông điểm- điểm phục vụ cho ứng dụng đòi hỏi giao tiếp tin cậy HTTP (HyperText Transfer Protocol), FTP (File Tranfer Protocol), Telnet… Các ứng dụng đòi hỏi kênh giao tiếp tin cậy thứ tự liệu gửi nhận yếu tố định đến thành công hay thất bại chúng Hãy lấy ví dụ HTTP sử dụng để đọc thông tin từ địa URL, liệu phải nhận theo thứ tự mà chúng gửi SVTH: Nguyễn Văn Tiến – Lớp: 10T4 Trang Truyền file qua mạng không thứ mà bạn nhận trang HTML với nội dung lộn xộn file zip bị lỗi không giải nén… 1.5.2 Giao thức UDP Định nghĩa: UDP (User Datagram Protocol) giao thức không hướng kết nối, gửi gói liệu độc lập gọi datagram từ máy tính đến máy tính khác mà không đảm bảo việc liệu tới đích Ở phần trước thấy giao thức TCP hai chương trình muốn giao tiếp với qua mạng chúng tạo kết nối liên kết hai ứng dụng trao đổi liệu qua kết nối Trái lại giao thức UDP hai ứng dụng muốn giao tiếp với chúng không tạo kết nối mà đơn gửi gói tin cách độc lập từ máy tới máy khác.Các gói tin gọi datagram Việc gửi gói tin tương tự việc gửi thư qua đường bưu điện Các thư bạn gửi độc lập với nhau, thứ tự thư không quan trọng đảm bảo thư đến đích Trong truyền thông UDP datagram giống thư, chúng chứa thông tin cần gửi thông tin địa đích mà chúng phải đến, nhiên chúng khác với thư điểm việc gửi thư, thư bạn không đến đích gửi trả lại nơi gửi nêu thư bạn có đề địa gửi UDP không thông báo cho phía gửi việc thư có tới đích hay không Vậy UDP giao thức không đảm bảo giao tiếp tin cậy người ta lại dùng chúng Điều giao thức TCP đảm bảo kết nối tin cậy ứng dụng chúng đòi hỏi nhiều thời gian để truyền tin chúng phải kiểm tra header gói tin để đảm bảo thứ tự gói tin để phát lại gói tin không đến đích số trường hợp điều không cần thiết Dưới số trường hợp giao thức không hướng kết nối thích hợp so với giao thức hướng kết nối: Khi gói liệu cần truyền việc đến đích hay không không quan trọng, sử dụng giao thức UDP loại bỏ thủ tục tạo hủy kết nối So sánh chút thấy giao thức hướng kết nối TCP phải dùng đến bẩy gói tin để SVTH: Nguyễn Văn Tiến – Lớp: 10T4 Trang 10 Truyền file qua mạ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, 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 niên 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 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 Khái Niệm - Một mô hình kiến trúc tính toán (computational architecture) 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 ) 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 cầu 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 - Ví dụ : Mối quan hệ tương tác qua lại tương tự người khách hàng gửi đơn đặt hàng theo mẫu đến nhà cung cấp, sau cung cấp hàng hóa đơn Mấu đơn hàng hóa đơn phần giao thức.Client/server thường dịch qua tiếng Việt khách/chủ Tuy nhiên ý nghĩa không hoàn toàn giống mà gần với quan hệ: khách hàng/người cung cấp dịch vụ Tuy nhiên, mô tả chung cho hoạt động client/server Bản thân thuật ngữ client/server, giống thuật ngữ tin SVTH: Nguyễn Văn Tiến – Lớp: 10T4 Trang 25 Truyền file qua mạng học khác, suy trực tiếp từ nghĩa client server mà trở thành khái niệm độc lập - Nhìn chung, client/server trì phân biệt rõ rệt tiến trình thiết bị mạng Thường máy tính client máy server hai thiết bị mạng riêng rẽ có kiến trúc, cấu hình theo mục đích thiết kế Ví dụ, máy chủ Web thường có cấu hình mạnh với lực xử lí cao (CPU) nhớ dung lượng lớn Web client thường gồm tính hỗ trợ giao diện đồ họa trình duyệt chất lượng hiển thị card đồ họa, độ phân giải, kích thước hình Tuy nhiên, client/server tập trung chủ yếu vào ứng dụng hệ thống phần cứng Cùng thiết bị vừa client vừa server Ví dụ : chạy trình duyệt máy chủ Web, máy chủ lại trở thành client Tương tự, thiết bị thời điểm server cần đảo ngược vai trò để trở thành client server khác Một số ứng dụng phổ thông môi trường Internet dựa client/server : - Email - FTP - Web Đặ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ột mạng máy tính truyền thông để thực tác vụ Client tạo yêu cầu dịch vụ nhận kết trả lời cho dịch 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: o Giao thức bất đối xứng: thể 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 SVTH: Nguyễn Văn Tiến – Lớp: 10T4 Trang 26 Truyền file qua mạng o Đóng gói dịch vụ (Encapsulation of service): Server chuyên gia, 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) o 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 o 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 o Trao đổi dựa thông điệp (message-based): client yêu cầu dịch vụ server trả lời qua message - Tính 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 Mục đích để : o Chia để trị : ứng dụng lớn chia thành modun nhỏ làm cho việc thiết kế, phát triển bảo trì trở nên đơn giản o Khả chịu lỗi : lỗi xảy modun không làm sập toàn hệ thống Cơ chế chia tải (workload sharing) dự phòng (redundancy) làm tăng độ tin cậy o Khả điều chỉnh : ứng dụng đáp ứng tự động tăng hay giảm tải hệ thống cách thêm vào tắt bớt server dịch vụ hệ thống - Tính không phụ thuộc tảng hệ thống: ứng dụng client/server lí tưởng phải có khả không phụ thuộc tảng phần cứng hệ điều hành, cho phép sử dụng nhiều platform với client/server - Tính co giãn (mở rộng thu hẹp): Hệ thống client/server co giãn theo chiều ngang chiều dọc Co giãn theo chiều ngang nghĩa thêm hay SVTH: Nguyễn Văn Tiến – Lớp: 10T4 Trang 27 Truyền file qua mạng bớt máy trạm client với ảnh hưởng vê hiệu tương đối nhỏ Co giãn theo chiều dọc nghĩa chuyển dịch vụ sang server mạnh bổ sung thêm máy server - Tách biệt chức client server: hai bên đảm nhận chức riêng - Chia sẻ tài nguyên : Một server cung cấp dịch vụ cho nhiều client thời điểm Server điều phối truy nhập client đến các tài nguyên dùng chung Ưu điểm mô hình - Client/server phát triển với mục đích cho phép nhiều người dùng chia sẻ truy nhậ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 hardwired Mô hình client/server hỗ trợ ứng dụng modun hóa Trong trường hợp, 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 (usability), tính thích nghi linh hoạt (flexibility), tính trao đổi tương tác (interoperability) tính co giãn (scalability) hệ thống tính toán 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 SVTH: Nguyễn Văn Tiến – Lớp: 10T4 Trang 28 Truyền file qua mạng khó đồng Cuối cùng, hệ thống client/server phụ thuộc nhiều độ 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, 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 Kiến trúc lớp client/server - Trong ứng dụng client/server lớp, khối nghiệp vụ đặt bên lớp giao diện người dùng client đặt bên lớp sở liệu dạng stored procedure Khối nghiệp vụ chia đặt client server File server database server với stored procedure ví dụ kiến trúc lớp Kiến trúc client/server lớp - Mô hình kiến trúc lớp bắt đầu phát triển vào thập niên 90’s, nhu cầu hệ thống lớn ổn định mà mô hình lớp chưa đáp ứng - Mô hình kiến trúc lớp dựa ý tưởng phân lớp khối chức hệ thống mở rộng từ mô hình lớp - Mô hình kiến trúc lớp nâng cao hiệu (performance), tính linh hoạt (flexibility), khả bảo trì (maintainability), khả dùng lại (reusability) tính co giãn (scalability) ẩn phức tạp trình xử lí phân tán người dùng Những đặc tính khiến cho kiến trúc lớp trở thành lựa chọn cho nhiều ứng dụng Internet hệ thống thông tin mạng - Kĩ thuật : o Trong kiến trúc lớp, hệ thống giao diện nằm lớp cùng, nơi đặt dịch vụ dành cho người dùng ( ví dụ session, text, dialog, display management) SVTH: Nguyễn Văn Tiến – Lớp: 10T4 Trang 29 Truyền file qua mạng o Chức quản trị sở liệu gồm dịch vụ file data đặt lớp Thành phần quản trị liệu đảm bảo quán liệu môi trường phân tán thông qua tính : data lock, consistency replication Kết nối lớp thay đổi phụ thuộc vào yêu cầu người dùng dịch vụ liệu o Lớp thứ nằm lớp giao diện quản trị liệu, gọi lớp trung gian (middle tier) Tại lớp đặt khối nghiệp vụ bao gồm tiến trình xử lí nghiệp vụ tách biệt khỏi liệu giao diện người dùng Khối cung cấp dịch vụ quản lí tiến trình nghiệp vụ cho nhiều ứng dụng khác Theo cách đó, tiến trình xử lí nghiệp vụ triển khai quản lý tách biệt với liệu giao diện người dùng Như vậy, hệ thống lớp tích hợp liệu từ nhiều nguồn khác Lớp middle tier giúp hệ thống nâng cao khả (như nói trên) nhờ việc tập trung tiến trình nghiệp vụ vào lớp riêng, sử dụng server riêng, làm cho việc giám sát, thay đổi, quản trị dễ dàng Những thay đổi, nâng cấp thực lớp middle tier lần có tác dụng toàn hệ thống Đó ưu điểm kiến trúc lớp so với kiến trúc lớp o Hơn nữa, lớp middle tier điều khiển giao dịch hàng đợi yêu cầu (asynchronous queuing) để đảm bảo giao dịch thực trọn vẹn xác Truy nhập đến tài nguyên theo tên (không theo vị trí) , thành hệ thống cài đặt thêm gỡ bỏ cách đơn giản, không ảnh hưởng đến hoạt động toàn hệ thống - Sử dụng: o Kiến trúc lớp sử dụng môi trường client/server phân tán, ứng dụng thương mại (commerce) quân sự, với nhiều hệ sở liệu nghiệp vụ khác SVTH: Nguyễn Văn Tiến – Lớp: 10T4 Trang 30 Truyền file qua mạng o Kiến trúc hỗ trợ hàng trăm người dùng, quy mô lớn nhiều so với kiến trúc lớp o Kiến trúc giúp đơn giản công việc phát triển phần mềm lớp xây dựng chạy tảng hệ thống khác Hơn nữa, kiến trúc cho phép lớp khác phát triển ngôn ngữ khác Ví dụ : Client sử dụng ngôn ngữ HTML; lớp trung gian, làm nhiệm vụ xếp nội dung hiển thị (layout) cho client liên kết với lớp nghiệp vụ, sử dụng ngôn ngữ script Perl, PHP, ASP, JSP ;lớp middle tier phát triển C++, Java, SmallTalk, Delphi; ngôn ngữ SQL số ngôn ngữ khác cho DBMS riêng sử dụng cho lớp data o Di chuyển hệ thống ứng dụng cũ sang kiến trúc lớp thực với rủi ro chi phí thấp theo cách : trì sở liệu cũ, khối tiến trình xử lí nghiệp vụ để hệ thống cũ song hành hoạt động thành phần ứng dụng liệu chuyển sang thiết kế - Hạn chế o Xây dựng ứng dụng theo kiến trúc lớp công việc phức tạp.Các công cụ thiết kế lập trình không cung cấp tất dịch vụ cần thiết để hỗ trợ môi trường tính toán phân tán o Một vấn đề quan trọng khác thiết kế việc phân tách lớp lúc rõ ràng Nó đòi hỏi phải có phân tích tốt khả linh hoạt cân đối thiết kế Hiệu : cân đối tải xử lí tải đườngtruyền o Ví dụ xử lí toàn trên lớp trả kết cuối hay chia tải xử lí cho nhiều thành phần lớp khác Rõ ràng tải đường truyền tăng Ví dụ ứng dụng sử dụng kiến trúc ứng dụng môi trường khác SVTH: Nguyễn Văn Tiến – Lớp: 10T4 Trang 31 Truyền file qua mạng - Cửa hàng nhỏ hay ứng dụng cá nhân : ba khối chức nằm máy tính (ứng dụng desktop) - Công ty nhỏ chi nhánh, phòng ban: Cần ứng dụng với server dựa mạng LAN Trong ứng dụng này, nhiều client kết nối với server, việc quản trị đơn giản, bảo mật triển khai cấp độ hệ thống máy tính, lỗi xảy dễ phát - Công ty lớn, tập đoàn : nhiều server cung cấp dịch vụ chức khác nhau, đặt mạng LAN, mạng Intranet công ty hay mạng Internet với khả co giãn Các server phân vùng theo chức năng, tài nguyên, sở liệu lặp để tăng tính chịu lỗi hiệu hệ thống Mô hình có tính linh hoạt cao khả xử lí mạnhcũng kinh nghiệm thực tế Việc đặt chức định vào lớp nên dựa tiêu chí sau : o Khả dễ dàng phát triển test (usability) o Dễ dàng quản trị o Khả co giãn server (scalability): đặt chức không hợp lí làm giảm tính co giãn hệ thống 2.5.2.Giao thức cho ứng dụng Client/Server - Giao thức khuôn 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 đươc IETF (nằm Internet Architecture Board-IAB) chuẩn hóa thành giao thức chuẩn Các chuẩn được đưa khuyến nghị IAB gọi RFC (Request for Comment) Mỗi chuẩn giao thức cho Internet đánh số RFC SVTH: Nguyễn Văn Tiến – Lớp: 10T4 Trang 32 Truyền file qua mạng - Khi lập trình database theo mô hình client/server, giao thức trao đổi câu truy vấn tập ghi quy định hỗ trợ hệ quản trị Database DBMS thư viện lập trình Do đó, ta quan tâm thiết kế giao thức truyền thông ứng dụng database Khi lập trình có sẵn giao diện giúp ta thực thi việc tương tác Client Database server Trong môi trường lớp, lớp Middleware cung cấp giao diện để thực thi việc gọi hàm từ xa (Remote Procedure Call-RPC) Đây kĩ thuật cho phép ứng dụng client server tương tác với phương pháp gọi hàm thông thường Nó cung cấp giao diện gọi hàm mà che công tác truyền thông client server việc truyền thông suốt người lập trình Kĩ thuật trình bày phần sau - Nói chung ta nên theo giao thức chuẩn 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:Có thể chia giao thức thành dạng : - Giao thức đồng (Synchronous Protocol) o 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 o - Ví dụ giao thức kiểu : HTTP, POP, SMTP Giao thức không đồng (Asynchronous Protocol) o Đố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 o 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 đồng không đồng Các yêu cầu giao thức SVTH: Nguyễn Văn Tiến – Lớp: 10T4 Trang 33 Truyền file qua mạng 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) o 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 o Giao thức ngôn ngữ, đòi hỏi phải xác, nhập nhằng o Sử dụng phương pháp diễn tả mang tính hình thức (common formal decscription) dạng BNF (trong automata) o Nếu sử dụng ngôn ngữ 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) o - Nên sử dụng ví dụ minh họa cho giao thức Đầy đủ (bao hết khả có thể), vấn đề sau: o Dữ liệu hỏng, không hợp lệ (khuôn dạng, kích thước, tránh tràn đệm) Các phiên cũ (tương thích) Ví dụ, client phiên proto 1.0 kết nối với server phiên 1.2 o 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 phép o Các điều kiện giới hạn Kiểm tra số điều kiện trước tiến hành bước Ví dụ, kiểm tra tính xác thực, kiểm tra điều kiện cho phép o - 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 o Khả mở rộng tương thích version o Thứ tự byte o Giao thức hướng kí tự hayhướngbi SVTH: Nguyễn Văn Tiến – Lớp: 10T4 Trang 34 Truyền file qua mạng o Tính hiệu : Đồng không đồng Thông tin điều khiển, header Thời gian trễ round trip o Trạng thái :Ai đọc, ghi (ai truyền, nhận) o Timeout : Đây vấn đề thiếu ứng dụng mạng tính biến động trước trạng thái mạng SVTH: Nguyễn Văn Tiến – Lớp: 10T4 Trang 35 Truyền file qua mạng Chương 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 với thông qua mô hình Cient/Server Chương trình Truyền File Mạng 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 :  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 nối kết đến Server có địa IP port xác định  accept(): Server chấp nhận nối kết 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.KỸ THUẬT CHIA NHỎ VÀ NỐI FILE Kỹ thuật chia nhỏ nối File ( Split and Join File) chia File cần truyền gói nhỏ gói có kích thước 2048 byte sau tiến hành truyền gói nhỏ hết tập tin PHƯƠNG THỨC GỞI FILE o Dung networkstrem để tiến hành truyền file SVTH: Nguyễn Văn Tiến – Lớp: 10T4 Trang 36 Truyền file qua mạng o Chia file cần truyền gói nhỏ gói có kích thước 2048 byte sau tiến hành truyền gói nhỏ hết tập tin Trong ghi đọc file theo phương thức Stream o PHƯƠNG THỨ NHẬN FILE Nhận gói nhỏ gói có kích thước 2048 byte kết thúc file Trong ghi đọc file theo phương thức Stream 3.3.GIAO DIỆN VÀ SỬ DỤNG CHƯƠNG TRÌNH: 3.3.1.Giao diện: 3.3.1.1.Chương trình Server : SVTH: Nguyễn Văn Tiến – Lớp: 10T4 Trang 37 Truyền file qua mạng 3.3.1.2.Chương trình Client SVTH: Nguyễn Văn Tiến – Lớp: 10T4 Trang 38 Truyền file qua mạng TÀI LIỆU THAM KHẢO [1] Giáo Trình Lập Trình Mạng [2] Các trang Web [3] o http://google.com.vn o http://www.wikipedia o http://www.tailieu.vn o http://kilobook.com.vn Và tham khảo thêm từ số tài liệu trang Web khác SVTH: Nguyễn Văn Tiến – Lớp: 10T4 Trang 39 [...]... động của mạng máy tính có hai loại: - Mô hình hoạt động peer to peer - Mô hình hoạt động clients/server SVTH: Nguyễn Văn Tiến – Lớp: 10T4 Trang 11 Truyền file qua mạng 1.6.1 Mô hình hoạt động peer to peer Không tồn tại bất kỳ máy chuyên dụng hoặc cấu trúc phân cấp giữa các máy tính Mọi máy tính đều bình đẳng và có vai trò như nhau Thông thường mỗi máy tính hoạt động với cả vai trò máy khách và máy phục... có máy nào được chỉ định quản lý toàn mạng Người dùng ở từng máy tự quyết định dữ liệu nào trên máy của mình sẽ được chia sẻ để dùng chung trên mạng Hình 1.7- Mô hình peer to peer 1.6.2 Mô hình hoạt động clients/ server Trong mạng hoạt động theo mô hình Clients/Server có một hoặc nhiều máy có nhiệm vụ cung cấp một số dịch vụ cho các máy khác ở trong mạng Các máy này được gọi là server còn các máy tính. .. nhiều máy, cho phép client và server có thể đặt tách biệt trên nhiều node trong mạng, mỗi node là một 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 nhau để phù hợp với tính năng và nhiệm vụ của nó - Tóm lại, mục đích của client/server là để nâng cao tính dễ sử dụng (usability), tính thích nghi linh hoạt (flexibility), tính trao đổi tương tác (interoperability) và tính. .. như là một mô hình công SVTH: Nguyễn Văn Tiến – Lớp: 10T4 Trang 24 Truyền file qua mạng nghệ mang tính cách mạng để trợ giúp cho việc quản lý và điều hành các hoạt động của công ty - Nhiều năm trước, khi các máy tính lớn mainframe của IBM còn thống trị trong các lĩnh vực điện toán, một cách tiếp cận mới công nghệ mạng máy tính với tên gọi “client/server” đã xuất hiện vào đầu thập niên 80 và nhanh chóng... Trang 25 Truyền file qua mạng học khác, không thể suy trực tiếp từ nghĩa của client và server mà đã trở thành một khái niệm độc lập - Nhìn chung, trong client/server duy trì một sự phân biệt rõ rệt giữa các tiến trình và các thiết bị mạng Thường thì máy tính client và máy server là hai thiết bị mạng riêng rẽ và có kiến trúc, cấu hình theo mục đích đã được thiết kế Ví dụ, một máy chủ Web thường có cấu... ngữ lập trình khác nhau: như C, C++, Java, Visual Basic, C#, - Windows Socket Application Programming Interface (Winsock API) là một thư 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 trong hệ thống mạng TCP/IP.Thông qua giao diện này chúng ta có thể lập trình. .. 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 với nhau thông qua mô hình Cient/Server Chương trình Truyền File Mạng được viết trên 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 có thể dễ dàng thao tác với các điều khiển Quy trình hoạt động của chương trình :  socket(): Client yêu cầu tạo một socket... file qua mạng o Tính hiệu quả : Đồng bộ và không đồng bộ Thông tin điều khiển, header Thời gian trễ round trip o Trạng thái :Ai đọc, ai ghi (ai truyền, ai nhận) o 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 SVTH: Nguyễn Văn Tiến – Lớp: 10T4 Trang 35 Truyền file qua mạng Chương 3 XÂY DỰNG VÀ THIẾT KẾ GIAO DIỆN CHƯƠNG TRÌNH 3.1.GIỚI... 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 Khái Niệm - Một mô hình kiến trúc tính toán (computational architecture) 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... Trang 31 Truyền file qua mạng nhau - Cửa hàng nhỏ hay ứng dụng cá nhân : cả ba khối chức năng nằm trên cùng một máy tính (ứng dụng desktop) - Công ty nhỏ hoặc một chi nhánh, một phòng ban: Cần một ứng dụng với một server dựa trên mạng LAN Trong ứng dụng này, nhiều client sẽ kết nối với một server, việc quản trị là khá đơn giản, bảo mật được triển khai ở cấp độ từng hệ thống máy tính, các lỗi xảy ra dễ ... Trang Truyền file qua mạng Chương CĂN BẢN VỀ MẠNG MÁY TÍNH 1.1 Định nghĩa mạng máy tính Mạng máy tính tập hợp máy tính nối với đường truyền theo cấu trúc thông qua máy tính trao đổi thông tin... 1.3.Phân loại mạng máy tính Do mạng máy tính phát triển khắp nơi với ứng dụng ngày đa dạng việc phân loại mạng máy tính việc phức tạp Dựa theo phạm vi phân bố mạng ta phân loại mạng sau: - Mạng cục... qua mạng 1.6.1 Mô hình hoạt động peer to peer Không tồn máy chuyên dụng cấu trúc phân cấp máy tính Mọi máy tính bình đẳng có vai trò Thông thường máy tính hoạt động với vai trò máy khách máy

Ngày đăng: 07/12/2016, 12:31

Từ khóa liên quan

Mục lục

  • Chương 1. CĂN BẢN VỀ MẠNG MÁY TÍNH

  • 1.1 Định nghĩa mạng máy tính.

  • 1.2. Nhu cầu phát triển mạng máy tính

  • 1.3.Phân loại mạng máy tính

  • 1.4. Một số topo mạng thông dụng

  • 1.5. Giao thức mạng

  • 1.5.1 Giao thức TCP

  • 1.5.2 Giao thức UDP

  • 1.6. Các mô hình hoạt động của mạng máy tính

  • 1.6.1. Mô hình hoạt động peer to peer

  • 1.6.2. Mô hình hoạt động clients/ server

  • Chương 2. LẬP TRÌNH MẠNG VỚI SOCKET

  • 2.1.TỔNG QUAN VỀ C#

  • 2.1.1.Cơ Bản Về NET Framework

  • 2.1.2.Các thành phần của .NET Framework

  • 2.1.3.Các tính năng cơ bản của ngôn ngữ lập trình C#

  • 2.1.4.Các ứng dụng của C#

  • 2.1.5.Các lợi ích của C#

  • 2.2.GIỚI THIỆU VỀ LẬP TRÌNH SOCKET

  • 2.3.LẬP TRÌNH MẠNG VỚI TCPSOCKET

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

Tài liệu liên quan