Mục tiêu của bài giảng Mạng máy tính: Chương 3.2 nhằm cung cấp các dịch vụ mạng cho người dùng cuối Các ứng dụng mạng phổ biến: E-mail, Web, Instant Message, Telnet, SSH, FTP, P2P file sharing, Networked Games,Video conference
Chương 03 Tầng ứng dụng MẠNG MÁY TÍNH Tháng 09/2011 Mục tiêu Cung cấp dịch vụ mạng cho người dùng cuối Các ứng dụng mạng phổ biến: Application E-mail Web Instant Message Telnet, SSH FTP, P2P file sharing Networked Games Video conference Presentation Session Transport Network Data link Physical Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh Nội dung Các khái niệm Một số dịch vụ mạng Lập trình ứng dụng Khoa Cơng nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh Process - Process = tiến trình chương trình chạy máy Nhiều luồng cơng việc (thread – tiểu trình) Liên lạc tiến trình: Trên máy: • hệ điều hành – Chia sẻ nhớ – Truyền thông điệp tiến trình User Process OS - Kernel User Process shared resources Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh Process - Trên máy khác nhau: • truyền liệu qua đường mạng – VD: socket, name pipe, … User Process User Process OS-Kernel OS-Kernel Network Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh Ứng dụng mạng Chạy end-system Liên lạc với qua mạng Kiến trúc: Server-client Peer-to-peer Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh Server - client Server: Ln ln “sống” Chạy địa cố định Nhận xử lý yêu cầu từ client Client: Liên lạc gởi yêu cầu cho Server Có thể dùng IP “động” client liên lạc trực tiếp với VD: Web: WebServer (IIS, Apache, …), web browser (IE, FireFox, …) FTP: FTP Server (ServerU), FTP Client Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh Peer-to-peer ứng dụng có hai chức server client Các client liên lạc trực tiếp Dùng địa “động” Quản lý khó VD: Skype, Bittorrent Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh Process - “Địa chỉ” người: Địa nhà Tên người • “Địa chỉ” tiến trình: – Địa IP – Port: • 1023: port chuẩn • 1024 49151: port cố định, đăng ký trước • …: port linh động Một số khái niệm khác - Giao thức tầng ứng dụng: Do người cài đặt ứng dụng xây dựng VD: HTTP, FTP, … Những yêu cầu dịch vụ tầng ứng dụng: Truyền liệu đáng tin cậy Thời gian Băng thông Bảo mật liệu Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 10 DNS – phân giải - root DNS server Tuần tự (iterated query) Server nhận câu truy vấn trả lời thông tin cuối cùng, trả lời thông tin NS “gần nhất” VD: máy cl1.khtn.edu.vn truy vấn tên miền gaia.cs.umass.edu TLD DNS server local DNS server dns.khtn.edu.vn authoritative DNS server dns.cs.umass.edu cl1.khtn.edu.vn gaia.cs.umass.edu Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 36 DNS – Phân giải - caching Lưu tạm kết truy vấn cache Caching Table Host Name IP Address TTL clientA.contoso.msft 192.168.8.44 28 seconds ClientA is at 192.168.8.44 Request: ClientA? Internet Request: ClientA? Client1 Client2 ClientA is at Where’s 192.168.8.44 Client A? Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 37 DNS – phân giải - ví dụ Request Reply vnn Address of www.yahoo.com Address of com server Address of yahoo.com server com yahoo Address of www.yahoo.com Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 38 Nội dung Các khái niệm Một số dịch vụ mạng Lập trình ứng dụng TCP UDP Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 39 socket Socket “Cánh cửa” ứng dụng giao thức tầng transport (TCP, UDP) 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 Windows Socket Application Programming Interface (Winsock API) thư viện hàm socket xây dựng ứng dụng mạng TCP/IP Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 40 Lập trình ứng dụng mạng Xác định kiến trúc mạng: Client – Server, Peer-toPeer Giao thức sử dụng tầng Transport: TCP, UDP Các port sử dụng Server Client Giao thức tầng ứng dụng trao đổi liệu hai end-host Lập trình Khoa Cơng nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 41 Lập trình ứng dụng – TCP - Giai đọan 1: Server tạo Socket lắng nghe yêu cầu kết nối PORT SERVER CLIENT Tạo socket để lắng nghe kết nối socket() Đăng ký tên cho socket bind() Lắng nghe kết nối từ client listen() Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 42 TCP - Giai đọan 2: Client tạo Socket, yêu cầu thiết lập nối kết với ServerSERVER CLIENT Tạo socket để lắng nghe kết nối socket() Đăng ký tên cho socket bind() Lắng nghe kết nối từ client listen() Tạo socket để kết nối đến server socket() Đợi kết nối đến từ Client Kết nối đến server connect() Chấp nhận kết nối từ Client (socket tạo) accept() Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 43 TCP - Giai đọan 3: Trao đổi thông tin Client Server SERVER CLIENT Tạo socket để kết nối đến server socket() Đợi kết nối đến từ Client Chấp nhận kết nối từ Client (socket tạo) accept() Truyền/nhận liệu send()/receive() Kết nối đến server connect() Truyền/nhận liệu send()/receive() Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 44 TCP - Giai đoạn 4: Kết thúc phiên làm việc SERVER CLIENT Truyền/nhận liệu send()/receive() Truyền/nhận liệu send()/receive() Đóng kết nối (socket connection) close() Đóng kết nối close() Khoa Cơng nghệ thơng tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 45 TCP - SERVER CLIENT Tạo socket để lắng nghe kết nối socket() Đăng ký tên cho socket bind() Lắng nghe kết nối từ client listen() Tạo socket để kết nối đến server socket() Đợi kết nối đến từ Client Kết nối đến server connect() Chấp nhận kết nối từ Client (socket tạo) accept() Truyền/nhận liệu send()/receive() Truyền/nhận liệu send()/receive() Đóng kết nối (socket connection) close() Đóng kết nối close() Khoa nghệ tin - Đại học Khoa tựthức nhiênTCP TP Hồ Chí Minh Sơ đồ Cơng tương tác thơng Server-Client theohọc giao 46 Lập trình ứng dụng – UDP - Mơ hình UDP Giai đoạn 1: Server tạo Socket PORT Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 47 UDP - Giai đoạn 2: Client tạo Socket Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 48 UDP - Giai đoạn 3: Trao đổi thông tin Client Server Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 49 Tài liệu tham khảo Slide J.F Kurose and K.W Ross Computer Networking: A Top Down Approach Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 50 ... Minh 14 DHCP - Đặt vấn đề Cấu hình IP??? Khoa Cơng nghệ thơng tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 15 DHCP - Đặt vấn đề Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí... PORT Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 47 UDP - Giai đoạn 2: Client tạo Socket Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 48 UDP - ... Physical Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh Nội dung Các khái niệm Một số dịch vụ mạng Lập trình ứng dụng Khoa Cơng nghệ thông tin - Đại học Khoa học tự nhiên