Giáo trình Mạng máy tính - Chương 3: Tầng ứng dụng

pdf 50 trang huongle 2720
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Mạng máy tính - Chương 3: Tầng ứng dụng", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfgiao_trinh_mang_may_tinh_chuong_3_tang_ung_dung.pdf

Nội dung text: Giáo trình Mạng máy tính - Chương 3: Tầng ứng dụng

  1. Chương 03 Tầng ứng dụng MẠNG MÁY TÍNH Tháng 09/2011
  2. Mục tiêu 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: Application . E-mail . Web Presentation . Instant Message Session . Telnet, SSH Transport . FTP, P2P file sharing . Networked Games Network . Video conference Data link Physical Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 2
  3. 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 3
  4. Process - 1 Process = tiến trình . chương trình chạy trên máy . Nhiều luồng công việc (thread – tiểu trình) Liên lạc giữa các tiến trình: . Trên cùng 1 máy: • hệ điều hành – Chia sẻ bộ nhớ – Truyền thông điệp giữa các tiến trình User Process User Process shared OS - Kernel resources Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 4
  5. Process - 2 . Trên 2 máy khác nhau: • truyền dữ 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 5
  6. Ứng dụng mạng Chạy trên các end-system Liên lạc với nhau 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 6
  7. Server - client Server: . Luôn luôn “sống” . Chạy trên 1 địa chỉ cố định . Nhận và xử lý yêu cầu từ client Client: . Liên lạc và gởi yêu cầu cho Server . Có thể dùng IP “động” . 2 client không thể liên lạc trực tiếp với nhau 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 7
  8. Peer-to-peer ứng dụng có cả hai chức năng của server và client Các client liên lạc trực tiếp Dùng địa chỉ “độ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 8
  9. Process - 3 “Địa chỉ” của một người:  Địa chỉ nhà  Tên người • “Địa chỉ” của tiến trình: – Địa chỉ IP – Port: • 0 1023: port chuẩn • 1024 49151: port cố định, đăng ký trước • : port linh động 9
  10. Một số khái niệm khác - 1 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ụ của tầng ứng dụng: . Truyền dữ liệu đáng tin cậy . Thời gian . Băng thông . Bảo mật dữ liệu Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 10
  11. Một số khái niệm khác - 2 Các dịch vụ tầng transport cung cấp: . TCP service • Dịch vụ hướng kết nối • truyền dữ liệu đáng tin cậy . UDP service • Dịch vụ hướng không kết nối • dữ liệu truyền không đáng tin cậy • nhanh hơn TCP Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 11
  12. Một số khái niệm khác -3 Tham khảo thêm: Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 12
  13. 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 13
  14. Nội dung Các khái niệm Một số dịch vụ mạng . DHCP . DNS 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 14
  15. 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
  16. DHCP - Đặt vấn đề Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 16
  17. DHCP - Đặt vấn đề Giải quyết??? Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 17
  18. DHCP – giới thiệu  DHCP = Dynamic Host Configuration Protocol . RFC 1533, 1534, 1541, 1542, 2131  Tiền thân: BOOTP  Hoạt động tầng ứng dụng . Giao thức hoạt động ở tầng Transport: UDP  Chức năng: cấp phát địa chỉ IP động  Mô hình Client - Server: . Server • Port: 67 • Cung cấp địa thông tin cấu hình TCP/IP cho các client . Client: • Port: 68 • Yêu cầu server cấp thông tin cấu hình TCP/IP Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 18
  19. DHCP - Mô hình hoạt động - 1 DHCP Discover UDP Broadcast DHCP Offer UDP Broadcast MAC: đã biết DHCP Request IP: chưa xác định IP Address, subnet mask Lease time DHCPDHCP Ack sever IP Address Default Gateway DNS Server 19 Tham khảo: Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 19
  20. DHCP - Mô hình hoạt động - 2 Xin cấp mới: . Discover: client tìm DHCP Server . Offer: DHCP gợi ý một địa chỉ IP . Request: Client yêu cầu cấp 1 địa chỉ IP . Ack: Server xác nhận đồng ý và giải phóng địa chỉ IP . Nak: Server từ chối địa chỉ IP mà client yêu cầu Xin cấp lại: . Request . Ack/ Nak Huỷ thông tin được cấp: . Release Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 20
  21. DHCP – sơ đồ hoạt động Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 21
  22. DHCP – Format message Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 22
  23. DHCP – Format message Op 1 Loại thông điệp Htype 1 Loại địa chỉ vật lý Hlen 1 Kích thước 1 địa chỉ vật lý Hops 1 Client set là 0, dùng cho relay agent Xid 4 Transaction ID, Secs 2 Được điền bởi client Flags 1 Cho biết gói tin này có phải là gói tin broadcast không Ciaddr 4 Địa chỉ của Client, dùng trong các trường hợp renew, Yiaddr 4 Địa chỉ của “đối tác” Siaddr 4 Địa chỉ của next server để “mồi”và được dùng trong các thông điệp DHCPOFFER, DHCPACK Giaddr 4 Địa chỉ của relay agent Chaddr 16 Địa chỉ vật lý của client Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 23
  24. DHCP – lệnh console Kiểm tra thông tin cấu hình IP: Ipconfig /all Xin cấp một IP mới: Ipconfig /renew Trả địa chỉ IP đang dùng: Ipconfig /release Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 24
  25. Nội dung Các khái niệm Một số dịch vụ mạng . DHCP . DNS 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 25
  26. DNS - Đặt vấn đề - 1 Internet Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 26
  27. DNS - Đặt vấn đề - 2 Domain Name  IP Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 27
  28. DNS – giới thiệu DNS = Domain Name System Rfc 1034, 1035 Chức năng . Dùng phân giải tên miền thành địa chỉ IP và ngược lại Lịch sử: . Đầu tiên, lưu trữ bằng file hosts . Ngày nay, lưu trữ bằng 1 CSDL phân tán • Tạo thành cây domain • Mỗi node – Name Server (NS) – Có một tên miền (domain name) – Có thể có sub domain Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 28
  29. DNS – mô hình hoạt động Hoạt động tầng Application Tầng Transport: . UDP: truy vấn (query) – port 53 . TCP: cập nhật thông tin (zone transfer) Mô hình Client – Server . Server: • Primary NS – Chứa thông tin về một zone • Secondary NS – Backup của primary NS . Client - Resolver • Port linh động Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 29
  30. Internet domain space Name space . Top Level Database (TLD) com edu gov vn fr uk Second Level Database Domain vnn com edu gov Zone Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 30 Tham khảo thêm:
  31. DNS – thuật ngữ Root .  Name space: . Tập các tên miền trên Internet  Domain: vn . là một nhánh trong name space  Zone: . Là một vùng domain tương ứng với edu com “biên” quản lý trong DNS . Phân loại: • Primary zone khtn bachkhoa • Secondary zone • Stub zone  FQDN (Fully Qualitified Domain cntt vatly Name) . Tên đầy đủ . + + “.” . VD: www.cntt.khtn.edu.vn. Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 31
  32. DNS – Internet domain space – thống kê Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 32
  33. DNS – ví dụ . vn www – 172.29.70.253 mail – 172.29.70.252 edu ftp – 172.29.70.252 172.29.70.254 khtn 172.29.70.200 cntt vatly ftp – 172.29.70.4 www – 172.29.10.2 Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 33
  34. LƯU TRỮ  Lưu dữ liệu dưới dạng các resource record – RR (name, value, type, ttl) . SOA: thông tin cho toàn bộ 1 zone . MX: thông tin của server nhận mail của miền . NS: thông tin các name server quản lý zone • Name: tên miền • Vaule: địa chỉ NS của miền . A: dùng để phân giải tên máy thành địa chỉ IP  Name: hostname  Value: IP address . CNAME: lưu tên phụ của 1 máy • Name: tên alias • Value: tên thật . PTR: dùng để phân giải địa chỉ IP thành tên máy • Name: IP addr. • Value: hostname Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 34
  35. DNS – phân giải - 1 root DNS server Đệ qui (recursive 2 3 query) 7 6 . Server nhận câu truy vấn phải trả lời thông tin cuối cùng: local DNS server TLD DNS server 4 phân giải được hay dns.khtn.edu.vn 5 không? 1 8 . VD: máy authoritative DNS server cl1.khtn.edu.vn truy dns.cs.umass.edu vấn tên miền cl1.khtn.edu.vn gaia.cs.umass.edu gaia.cs.umass.edu Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 35
  36. DNS – phân giải - 2 root DNS server Tuần tự (iterated 2 query) 3 TLD DNS server . Server nhận câu truy 4 vấn không phải trả lời thông tin cuối 5 cùng, chỉ trả lời local DNS server thông tin về NS “gần dns.khtn.edu.vn 7 6 nhất” 1 8 . VD: máy authoritative DNS server cl1.khtn.edu.vn truy dns.cs.umass.edu vấn tên miền cl1.khtn.edu.vn gaia.cs.umass.edu 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
  37. DNS – Phân giải - caching Lưu tạm kết quả đã truy vấn trong 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 ClientAWhere’s is at Client2 192.168.8.44Client A? Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 37
  38. DNS – phân giải - ví dụ Request . Reply Address vn of com com server Address of yahoo.com vnn server yahoo Address of www.yahoo.com 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
  39. 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
  40. socket Socket . “Cánh cửa” giữa ứng dụng và giao thức tầng transport (TCP, UDP) . cung cấp 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 Windows Socket Application Programming Interface (Winsock API) . thư viện các hàm socket . xây dựng các ứng dụng mạng trên nền TCP/IP Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 40
  41. Lập trình ứng dụng mạng 1. Xác định kiến trúc mạng: Client – Server, Peer-to- Peer 2. Giao thức sử dụng tầng Transport: TCP, UDP 3. Các port sử dụng ở Server và Client 4. Giao thức tầng ứng dụng khi trao đổi dữ liệu giữa hai end-host 5. 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
  42. Lập trình ứng dụng – TCP - 1 Giai đọan 1: Server tạo Socket và lắng nghe yêu cầu kết nối tạ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
  43. TCP - 2 . Giai đọan 2: Client tạo Socket, yêu cầu thiết lập một nối kết với ServerS ERVER 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 1 kết nối đến từ Client Kết nối đến server connect() Chấp nhận một kết nối từ Client (socket mới được tạo) accept() Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 43
  44. TCP - 3 . Giai đọan 3: Trao đổi thông tin giữa Client và Server SERVER CLIENT Tạo socket để kết nối đến server socket() Đợi 1 kết nối đến từ Client Kết nối đến server connect() Chấp nhận một kết nối từ Client (socket mới được tạo) accept() Truyền/nhận dữ liệu Truyền/nhận dữ liệu send()/receive() send()/receive() Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 44
  45. TCP - 4 . Giai đoạn 4: Kết thúc phiên làm việc SERVER CLIENT Truyền/nhận dữ liệu Truyền/nhận dữ liệu send()/receive() send()/receive() Đóng kết nối Đóng kết nối (socket của connection) close() close() Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 45
  46. TCP - 5 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 1 kết nối đến từ Client Kết nối đến server connect() Chấp nhận một kết nối từ Client (socket mới được tạo) accept() Truyền/nhận dữ liệu Truyền/nhận dữ liệu send()/receive() send()/receive() Đóng kết nối Đóng kết nối (socket của connection) close() close() SơKhoa đồ Côngtương nghệ tác thônggiữa Servertin - Đại-Client học Khoa theo học giao tự thức nhiên TCP TP Hồ Chí Minh 46
  47. Lập trình ứng dụng – UDP - 1 Mô hình UDP . Giai đoạn 1: Server tạo Socket tại PORT Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 47
  48. UDP - 2 . 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
  49. UDP - 3 . Giai đoạn 3: Trao đổi thông tin giữa Client và Server Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 49
  50. Tài liệu tham khảo Slide của J.F Kurose and K.W. Ross về 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