Là sự giao tiếp, trao đổi thông tin giữa 2 hay nhiều thực thể trong hệ thống. Trong hệ thống máy tính, hệ thống mạng máy tính: truyền thông là sự giao tiếp bên trong 1 quá trình hay giữa các quá trình với nhau thông qua các cơ chế truyền thông. Hệ thống đơn nhiệm (monotasking): Giao tiếp chỉ trong phạm vi 1 chương trình. Dùng biến toàn cục, tham số gọi hàm, trị trả về của hàm … Hệ thống đa nhiệm (multitasking): Nhiều quá trình được thực thi song song. Dùng cơ chế giao...
Tổng quan MMT Lập trình mạng Truyền thơng Cơ chế giao tiếp liên trình (IPC) Mơ hình OSI Mạng TCP/IP Dịch vụ mạng Mơ hình Client/Server Các kiểu kiến trúc chương trình Truyền thơng Là giao tiếp, trao đổi thông tin hay nhiều thực thể hệ thống Trong hệ thống máy tính, hệ thống mạng máy tính: truyền thơng giao tiếp bên trình hay trình với thông qua chế truyền thông Hệ thống đơn nhiệm (monotasking): Giao tiếp phạm vi chương trình Dùng biến tồn cục, tham số gọi hàm, trị trả hàm … Hệ thống đa nhiệm (multitasking): Nhiều trình thực thi song song Dùng chế giao tiếp liên trình (InterProcess Communication) cung cấp hệ điều hành hệ điều hành mạng Cơ chế giao tiếp liên trình Phân loại: Loại 1: Giao tiếp trình máy tính Loại 2: Giao tiếp nhiều q trình máy tính khác Cơ chế giao tiếp liên trình IPC loại 1: giao tiếp máy tính Thơng qua hạt nhân (kernel) hệ điều hành Dùng vùng nhớ dùng chung hay tập tin chia sẻ: Một trình ghi Một trình đọc IPC loại 2: giao tiếp máy tính khác Thông qua hạt nhân (kernel) nhiều hệ điều hành Phải có quy tắc trao đổi thơng tin (protocol) hạt nhân trình Một số IPC phổ biến: Pipe, Socket, RPC Mô hình OSI Mơ hình OSI đầy đủ: Mơ hình OSI gồm tầng Mơ hình OSI Kiến trúc hệ điều hành mạng: Cùng chức năng, không tương tác với Tổng quát TCP/IP Một số đặc tính: Độc lập hình thái mạng Độc lập phần cứng mạng Các chuẩn giao thức mở Mơ hình địa tồn cầu Nền tảng client/server mạnh mẽ Các chuẩn giao thức ứng dụng mạnh mẽ Mạng TCP/IP TCP/IP: giao thức chung để giao tiếp Internet Mạng TCP/IP dùng mơ hình OSI đơn giản: giản Mơ hình OSI đơn giản gồm tầng TCP/IP TCP/IP tập protocols (một giao thức) định nghĩa cách thức truyền liệu qua môi trường Internet TCP/IP tên mơ hình mạng ghép hai giao thức mạng làTCP (Transmission Control Protocol) IP (Internet Protocol) Mạng TCP/IP Tầng ứng dụng Transport (TCP, UDP, ) TCP UDP Programming Interface: Network (IP, ) Sockets Tầng mạng Application (http,ftp,telnet,…) User apps HTTP FTP Telnet Tầng vận chuyển IP Link (device driver, ) Tầng kết nối TCP/IP Stack Standard apps Device drivers 10 Các kiểu kiến trúc chương trình Kiến trúc tầng (2-tiered): Client/Server kiểu Fat Client Client/Server kiểu Fat Server 37 Các kiểu kiến trúc chương trình Kiến trúc đa tầng (n tiered): Thường gọi Ứng dụng phân tán Mỗi thành phần có nhiệm vụ riêng Middleware Client Application Server Database Server Mơ hình Client/Server tầng 38 Business Logic Presentation Logic Fat Client Database Logic Business Logic Business Logic Middleware Presentation Logic Presentation Logic T IE R 3 Fat Server TWOTIERED ARCHITECTURE GOLDMAN: CSIS FIG. 0124 T IE R 2 Database Logic Database Logic T IE R 1 sánh kiến trúc tầng kiến trúc tầng ứng dụng C L IE N T S So L PE R SE R VE R S D E PA R T M EN T A SU SE R VE R S M A IN F R A M E S Các kiểu kiến trúc chương trình THREETIERED ARCHITECTURES 39 Socket Programming Sockets Điểm giao tiếp máy tính mạng Được dùng để gửi nhận liệu Được hỗ trợ bỡi nhiều hệ thống ngơn ngữ lập trình Phân loại: Server (passive) socket, client (active) socket UDP socket sockets (end points) logical connection 40 Socket API Đượcgiới thiệu BSD 4.1 UNIX, 1981 Được ứng dụng khởi tạo, sử dụng hay hủy bỏ Dùng chế client/server Cung cấp hai dịch vụ chuyển liệu thông qua socket API: unreliable datagram reliable, byte stream-oriented 41 Các loại socket 42 Ports TCP UDP sử dụng port để xác định chương trình nhận liệu đến máy tính P o r t server app app app app port port port port TCP Client TCP or UDP Packet 43 Data port# data Ports Port số nguyên Một số port dành riêng cho dịch vụ mạng phổ biến: ftp 21/tcp telnet 23/tcp smtp 25/tcp login 513/tcp Nên dùng giáo trị lớn 1024 44 Sockets and Ports socket any port agreed port socket message client server other ports Internet address = 138.37.94.248 Internet address = 138.37.88.249 Lập trình Socket với TCP Client phải kết nối đến server –server process phải chạy trước(phần tử thụ động) –server phải tạo socket để lắng nghe chấp nhận kết nối từ client Client kết nối đến server bằngcách: –Khởi tạoTCP socket local –Xác định IP address, port number server process kết nối đến 46 Lập trình Socket với TCP Sau client khởi tạo socket, nósẽ thiết lập kết nối đến server Khi server nhận yêu cầu kết nối, chấp nhận yêu cầu khởi tạo socket để giao tiếp với client – Cho phép server chấp nhận nhiều client thời điểm 47 TCP Protocol Lập trình Socket với UDP Sau client khởi tạo socket, nósẽ thiết lập kết nối đến server Khi server nhận yêu cầu kết nối, chấp nhận yêu cầu khởi tạo socket để giao tiếp với client – Cho phép server chấp nhận nhiều client thời điểm 49 Lập trình Socket với UDP Cung cấp chế truyền khơng tin cậy nhóm byte (datagrams) client server Không cần thiết lập kết nối client với server Sender phải gởi kèm địa IP port đích Server nhận liệu phân tích địachỉ sender để truyền lại 50 UDP Protocol ... hìnhTCP/IP, mạng khác kết nối với xem mạnglớn đồng nhất, không quan tâm đến khác thiết bị vật lý hay môi trường Mỗi máykết nối vào mạng xem kết nối đến mạng luận lý, không quan tâm đến mạng vật lý 14 Mạng. .. lý kết Vấn đề quan trọng lập trình ứng dụng mạng định nghĩa giao thức client server 29 Dịch vụ mạng Net service: chương trình ứng dụng thực tác vụ hệ thống mạng Một số dịch vụ mạng phổ biến:... ) 13 TCP/IP mạng Internet Một liên mạng( internet) dùngTCP/IP xem mạng đơn kết nối máy tính với nhiều loại Mạng Internet kết nối mạng vật lý độc lập thông qua thiết bị liên mạng Với mô