Bài giảng Nhập môn mạng máy tính - Chương 6: Lớp Application (Lớp ứng dụng)

pdf 90 trang phuongnguyen 3230
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Nhập môn mạng máy tính - Chương 6: Lớp Application (Lớp ứ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:

  • pdfbai_giang_nhap_mon_mang_may_tinh_chuong_6_lop_application_lo.pdf

Nội dung text: Bài giảng Nhập môn mạng máy tính - Chương 6: Lớp Application (Lớp ứng dụng)

  1. NHẬP MÔN MẠNG MÁY TÍNH Chương 6 LỚP APPLICATION (LỚP ỨNG DỤNG) Khoa CNTT - Trường Đai Học Mở TPHCM GV: Ninh Xuân Hương
  2. Nội dung chương 6 I. Giới thiệu II. Domain Name System (DNS) III. Telnet IV. File Tranfer Protocol (FTP) V. E-Mail VI. World Wide Web (WWW) 2
  3. I. Giới thiệu  Chương trình ứng dụng thực hiện các dịch vụ mạng  Dịch vụ được đặc tả bởi giao thức  Các dịch vụ chuẩn trên mạng TCP/IP: • DNS • FTP • SMTP • HTTP • 3
  4. Chương trình ứng dụng, dịch vụ mạng 4
  5. Ví dụ ứng dụng mạng dạng client server 5
  6. II. Domain Name System (DNS) 1. Giới thiệu DNS 2. Không gian tên DNS 3. Dữ liệu DNS 4. Name servers 6
  7. 1. Giới thiệu DNS  DNS là sơ đồ đặt tên: • Dạng text • Có thứ bậc • Cơ sở dữ liệu tên được quản lý phân bố  Dùng để ánh xạ tên máy với địa chỉ IP, có thể dùng cho mục đích khác  Được định nghĩa trong RFC 1034, 1035 7
  8. Hoạt động dạng đơn giản Chương trình ứng dụng cần địa chỉ IP của một tên máy:  Gọi hàm thư viện resolver (DNS client), tham số là tên máy  Resolver gởi yêu cầu đến DNS server  DNS server trả địa chỉ IP cho resolver  Resolver trả địa chỉ IP cho chương trình ứng dụng 8
  9. 2. Không gian tên DNS  Cấu trúc cây  Có các top-level domain  Trong top-level domain chia thành các subdomain  Trong subdomain có thể chia thành các domain cấp thấp hơn 9
  10. Một phần không gian tên DNS Ví dụ: eng.sun.com robot.ai.cs.yale.edu www.vnn.vn 10
  11. Top-level domain (tên miền cấp 1) Gồm 2 phần:  Tên miền quốc gia (Country code top-level domains) • Theo ISO 3166 • Ví dụ: .vn, .fr,  Tên miền chung (Generic top-level domains) • Do ICANN/IANA quy định (Internet Assigned Numbers Authority) 11
  12. Tên miền chung  com (commercial)  edu (educational institutions)  gov (US gorvernment)  int (international organizations)  mil (US armed forces)  net (network providers)  org (nonprofit organizations) 12
  13. Tên miền chung (tt)  biz (businesses)  info (information)  name (people’s name)  pro (professions) Tên miền dành riêng  aero (aerospace industry)  asia (the Pan-Asia and Asia Pacific community)  cat (the Catalan linguistic and cultural community) 13
  14. Tên miền chung (tt)  coop (co-operatives)  jobs (cooperative associations)  mobi (consumers and providers of mobile products and services)  museum (museums)  tel (businesses and individuals to publish their contact data)  travel (entities whose primary area of activity is in the travel industry)  xxx (the adult entertainment community) 14
  15. 3. Dữ liệu DNS  Bao gồm các mẩu tin (resource record)  Cấu trúc mẩu tin: có 5 trường • Domain_name: tên miền • Time_to_live: thời gian ổn định của mẩu tin • Class: luôn là IN (Internet) • Type: loại mẩu tin • Value: giá trị 15
  16. Dữ liệu DNS (tt) Loại (Type) Ý nghĩa Giá trị (Value) SOA Start of Authority Các thông số của vùng NS Name Server Tên của Name Server A IP address Số nguyên 32 bit Một số loại mẩu tin dữ liệu DNS 16
  17. 4. Name servers  Không gian tên DNS được chia thành các vùng (zones) rời nhau  Mỗi vùng được quản lý bởi các name server: • Primary name server • Các secondary name server 17
  18. Ví dụ các vùng 18
  19. Ví dụ các name server 19
  20. Hoạt động của DNS Resolver cần địa chỉ IP của một tên máy:  Resolver gởi yêu cầu đến local name server  Nếu có thông tin, local name server cung cấp mẩu tin cho resolver  Nếu không có thông tin, local name server gởi yêu cầu đến top-level name server tương ứng, để có thông tin từ name server lưu mẩu tin cần tìm 20
  21. Ví dụ Máy flits.cs.vu.nl cần địa chỉ IP của máy linda.cs.yale.edu 21
  22. III.Telnet  Là ứng dụng chuẩn dạng có kết nối trên mạng TCP/IP  Cho phép Telnet client (local host) đăng nhập vào Telnet server (remote host) tại port 23 và thực thi các lệnh trên dòng lệnh sử dụng Network Virtual Terminal (NVT) client system có thể khác server system  Được định nghĩa trong RFC 854, 855 22
  23. Hoạt động telnet  Truyền các phím ấn từ local host đến remote host  Xử lý trên remote host  Truyền màn hình kết quả cho local host 23
  24. Các dạng tương tự telnet  VNC (Virtual Network Computer)  Terminal Service  Remote shell (RSH)  Remote execution (REXEC) 24
  25. IV.File Transfer Protocol (FTP) 1. Khái niệm 2. Mô hình FTP 25
  26. 1. Khái niệm  FTP là dịch vụ cho phép FTP client kết nối với FTP server để truyền và quản lý file  Các tính chất: • Truy xuất dạng tương tác • Có 2 chế độ truyền: nhị phân và văn bản • Client phải cung cấp username, password anonymous user: không cần password  Được định nghĩa trong RFC 959 26
  27. FTP Client  Có 2 dạng: • Văn bản: dùng các lệnh FTP tại dòng lệnh ftp, get, close, quit, • Đồ hoạ: thao tác trên file như chương trình quản lý file 27
  28. TFTP (Trivial FTP)  Dạng không kết nối (dùng UDP)  Tốc độ cao hơn FTP  Không tin cậy  Ít chức năng hơn FTP 28
  29. Các dịch vụ tương tự FTP  Web Browser có thể thực hiện các chức năng của FTP Client  Gopher • Truyền file dạng phân bố • Giao diện menu • Kết hợp với các dịch vụ tìm kiếm 29
  30. 2. Mô hình FTP PI: Protocol Interface, DTP: Data Transfer Process 30
  31. Mô hình FTP (tt) Gồm 2 loại kết nối:  FTP control • Server port 21, client port (>1023) • Được thiết lập và duy trì trong phiên làm việc FTP  FTP data • Server port 20, client port như FTP control • Được thiết lập khi có truyền file, và kết thúc tự động 31
  32. V. Electronic Mail 1. Khái niệm 2. Kiến trúc hệ thống mail 3. Khuôn dạng mail 4. Các giao thức truyền mail 5. Webmail 32
  33. 1. Khái niệm  Hệ thống mail: • Cho phép gởi nhận thông tin bất đồng bộ giữa hai người hay hai nhóm người • Cung cấp phương tiện tạo, truyền, xử lý các thông tin  Có nhiều hệ thống mail  Internet mail: • Khuôn dạng mail theo RFC 822, 2822 • Giao thức truyền mail theo RFC 821, 2821 33
  34. 2. Kiến trúc hệ thống mail Gồm 2 thành phần  User Agents – UA • Chương trình địa phương phía user (Local program) • Cung cấp các phương tiện tương tác với hệ thống mail  Message Transfer Agents –MTA • Chương trình thường trú phía server (System daemon) • Thực hiện việc truyền mail 34
  35. Các chức năng cơ bản của hệ thống mail  Tạo mail – Composition  Truyền mail – Transfer  Thông báo kết quả cho người gởi – Reporting  Thông báo trạng thái cho người nhận – Displaying  Xử lý mail đã nhận – Disposition 35
  36. Tổ chức hệ thống mail Có các mailbox:  Inbox (Incoming mailbox)  Outbox (Outgoing mailbox) Các dạng mailbox đặc biệt:  Bulk • Chứa thư rác – spam/junk e-mail  Sent  36
  37. Tổ chức hệ thống mail (tt) Hỗ trợ về địa chỉ mail:  Mailing list  Address book Địa chỉ mail – Mail account  local-part@domain  mailbox@host 37
  38. 3. Khuôn dạng mail Gồm các phần:  Envelope – Bao thư/phong bì  Message – Thông điệp • Header: các thông tin điều khiển • Body: nội dung Tiêu chuẩn khuôn dạng mail  Internet message format - RFC 822/2822  MIME – RFC 2045-2049 Multipurpose Internet Mail Extensions 38
  39. Ví dụ a. Thư trên giấy b. Thư điện tử 39
  40. Khuôn dạng mail theo RFC 822  Không phân biệt phần envelope và phần header, gọi chung là header  Phần body là tùy ý 40
  41. Các thành phần chính trên RFC 822 header To: Địa chỉ mail các người nhận chính Cc: Cacbon copy Địa chỉ mail các người nhận phụ Bcc: Blind cacbon copy Địa chỉ mail các người nhận ẩn From: Tên người tạo mail Sender: Địa chỉ mail người gởi Subject Nội dung tóm tắt 41
  42. MIME  Mở rộng khuôn dạng thông điệp theo RFC 822: • Nội dung thông điệp với các bộ ký tự khác ASCII • Nội dung thông điệp không là ký tự (hình ảnh, âm thanh, ) • Thông điệp có nhiều phần (multi-part) • Phần header với ký tự khác ASCII 42
  43. Mở rộng phần header Header Ý nghĩa MIME-Version Phiên bản MIME Content-Description Mô tả nội dung Content-ID Số thứ tự Content-Transfer- Dạng mã hoá của nội dung Encoding Content-Type Loại và khuôn dạng của nội dung 43
  44. Một số loại dữ liệu theo MIME 44
  45. Ví dụ 45
  46. 4. Các giao thức truyền mail  SMTP - Simple Mail Transfer Protocol MTA MTA, UA MTA  POP3 - Post Office Protocol version 3 MTA UA  IMAP-Internet Message Access Protocol MTA UA 46
  47. SMTP  Được định nghĩa trong RFC 821, 2821  Dạng client-server  SMTP client thiết lập kết nối TCP với SMTP server tại port 25  Nếu SMTP server đồng ý nhận mail: • SMTP client gởi địa chỉ người gởi, người nhận • SMTP client gởi mail • SMTP server gởi ACK • Hủy kết nối 47
  48. Mô hình SMTP 48
  49. POP3  Được định nghĩa trong RFC 1939, 2449  Dùng lấy mail từ remote mailbox về máy địa phương  Client thiết lập kết nối TCP với server tại port 110 49
  50. Mô hình POP3 50
  51. Các giai đoạn hoạt động POP3  Authorization – Cho phép • Client gởi username, password  Transaction – Giao dịch • Client yêu cầu nội dung mail và xoá mail tại server • Server gởi các mail  Update – Cập nhật • Client gởi lệnh thoát (quit) • Server xoá các mail, hủy kết nối 51
  52. IMAP  Được định nghĩa trong RFC 2060  Quản lý mail tập trung tại server, không di chuyển về máy địa phương như POP3 có thể truy xuất từ nhiều máy  Client thiết lập kết nối TCP với server tại port 143 52
  53. Các đặc điểm của IMAP  Cho phép tạo, xoá, xử lý nhiều mailbox tại server  Có thể truy xuất từng phần của mail  Có thể truy xuất mail theo thuộc tính 53
  54. 5. Webmail  Web site cung cấp dịch vụ mail  Có MTA tại port 25, nhận các kết nối SMTP  User dùng các form trên trang web để tương tác với hệ thống: • Đăng nhập - Login • Liệt kê các mail box • Đọc, xoá, soạn thảo, mail 54
  55. VI. World Wide Web 1. Khái niệm 2. Kiến trúc hệ thống Web 3. Trang web tĩnh 4. Trang web động 5. Giao thức HTTP 6. Web không dây 55
  56. 1. Khái niệm  Web là dịch vụ truy xuất các văn bản có liên kết, trang web, từ các máy trên mạng Internet  Do Tim Berners-Lee thiết kế năm 1989 tại CERN (trung tâm nghiên cứu hạt nhân châu Âu)  Năm 1994, CERN và MIT thành lập tố chức World Wide Web Consortium (www.w3c.org) để phát triển Web 56
  57. 2. Kiến trúc hệ thống Web a. Hoạt động phía client b. Hoạt động phía server c. Tên trang web d. Cookies 57
  58. Mô hình dịch vụ Web 58
  59. a. Hoạt động phía Client  Web browser: chương trình hiển thị các trang web phía client  Hoạt động web browser: • Lấy trang web được yêu cầu • Thông dịch nội dung trang web • Hiển thị trên màn hình  Tên trang web có dạng URL (Uniform Resource Locator) Ví dụ: 59
  60. Ví dụ: web browser lấy và hiển thị trang web 1. Browser xác định URL 2. Browser yêu cầu DNS cung cấp địa chỉ IP máy www.itu.org 3. DNS trả lời 156.106.192.32 4. Browser thiết lập kết nối TCP port 80 với máy 156.106.192.32 5. Browser gởi yêu cầu file /home/index.html 6. Server www.itu.org gởi file /home/index.html 7. Hủy kết nối TCP 8. Browser hiển thị phần text trong file index.html 9. Browser lấy và hiển thị các hình ảnh trong file (nếu có) 60
  61. Các chức năng của browser  Duyệt các trang web: back, forward, history, favorites/bookmarks  Lưu trang web thành file, in  Cache các trang web trên đĩa địa phương hoạt động offline 61
  62. Plug-in  Mở rộng khả năng của browser  Đoạn chương trình lưu trong thư mục plug-in  Được browser gọi khi cần hiển thị các loại dữ liệu không là html, ví dụ PDF 62
  63. b. Hoạt động phía server  Web server chờ kết nối TCP tại port 80  Hoạt động web server: • Chấp nhận kết nối từ client (web browser) • Nhận tên file được yêu cầu • Lấy file (từ đĩa) • Gởi file cho client • Hủy kết nối 63
  64. Tăng tốc độ web server Hai kỹ thuật:  Dùng cache và server đa luồng  Dùng nhiều máy làm web server (server farm) 64
  65. Web server dạng đa luồng 65
  66. Nhiều máy làm web server 66
  67. c. Tên trang web  Theo URL (Uniform Resource Locator) Tên_giao_thức://tên_máy/tên_file • Tên_file: tên file địa phương • Tên_máy: theo DNS • Tên_giao_thức: có nhiều loại giao thức  Web browser có thể dùng cho nhiều dịch vụ với URL 67
  68. Thành phần tên_giao_thức trong URL 68
  69. d. Cookies  Chứa thông tin trạng thái của phiên làm việc giữa web server và web browser  Là chuỗi ký tự lưu thành file tại máy client  Khi gởi trang web cho client, server có thể gởi kèm cookies để lưu các thông tin trạng thái  Khi gởi yêu cầu đến server, browser sẽ gởi kèm cookies (nếu có) 69
  70. Ví dụ cookies 70
  71. 3. Trang web tĩnh a. HTML b. Forms c. XML 71
  72. a. HTML (HyperText Markup Language)  Trang web được tạo theo ngôn ngữ HTML (ngôn ngữ đánh dấu siêu văn bản)  Nội dung trang web có thể bao gồm: • Văn bản • Hình ảnh • Âm thanh, hình ảnh động • Các siêu liên kết (hyperlink) 72
  73. Đặc điểm HTML  Là ứng dụng SGML (Standard Generalized Markup Language)  Bao gồm các lệnh định dạng, gọi là tag Ví dụ: boldface  Các browser có thể định dạng lại cho phù hợp với môi trường  Có các tiêu chuẩn HTML 1.0, 2.0, , 4.0 XHTML (eXtended HTML) 73
  74. Một số lệnh định dạng 74
  75. b. Forms  Có từ HTML 2.0  Form bao gồm các nút ấn (button), hộp (boxes) cho phép user nhập thông tin, lựa chọn  Dữ liệu trên form được gởi lại server dưới dạng string 75
  76. Ví dụ form 76
  77. c. XML (eXtensible Markup Language)  Mục đích: • Thể hiện cấu trúc trang web • Mô tả thông tin • Có thể dùng cho các loại ứng dụng khác  Cần cơ chế hiển thị thông tin XML trên browser dạng HTML, ví dụ XSL (eXtensible Style Language) 77
  78. Ví dụ văn bản XML 78
  79. 4. Trang web động  Trang web tĩnh: • Client gởi yêu cầu là tên file • Server gởi file đã có  Trang web động • Nội dung trang web được tạo theo yêu cầu, thay vì đã có trên đĩa  Có 2 dạng: • Tạo trang web động tại server • Tạo trang web động tại client 79
  80. Tạo trang web động tại server Có các dạng:  CGI (Common Gateway Interface) với các script, ví dụ Perl, Python,  Dùng các dạng script trong trang web (HTML-embedded scripting language) • PHP (PHP: Hypertext Preprocessor) • JSP (JavaServer Pages) • ASP (Active Server Pages) 80
  81. Ví dụ: các bước xử lý form dùng CGI 81
  82. Ví dụ: tạo trang web động với PHP 82
  83. Tạo trang web động tại client  Dùng các script trong trang web, thực hiện tại máy client để tương tác trực tiếp với user  Các công nghệ thông dụng • Javascript: client-side scripting language • JavaApplets • Microsoft ActiveX control 83
  84. 5. Giao thức HTTP (HyperText Transfer Protocol)  Được định nghĩa trong RFC 2616  Quy định các dạng thông điệp trao đổi giữa web browser và web server  Mỗi tương tác bao gồm: • Yêu cầu từ browser dạng ASCII • Đáp ứng từ server dạng tương tự MIME  Yêu cầu (request) còn gọi là lệnh (command, method) và có đáp ứng (response) 84
  85. Một số dạng yêu cầu HTTP 85
  86. Đáp ứng HTTP Bao gồm:  Dòng trạng thái  Thông tin (1 phần hay toàn bộ trang web) Một số mã trạng thái: 86
  87. 6. Web không dây (Wireless web)  Cung cấp dịch vụ truy cập web dạng không dây cho điện thoại di động, PDA (Personal Digital Assistant), máy tính xách tay  Đặc điểm: • Tốc độ truyền thấp • Bộ nhớ ít • Màn hình kích thước nhỏ  Tiêu chuẩn thông dụng • WAP (Wireless Application Protocol) 87
  88. Kiến trúc hệ thống WAP WTP: Wireless Transaction Protocol WML: Wireless Markup Language 88
  89. Bộ giao thức WAP 2.0 WSP: Wireless Session Protocol WTP: Wireless Transaction Protocol WTLS: Wireless Transport Layer Security WDP: Wireless Datagram Protocol 89
  90. So sánh mobile web và desktop web 90