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)
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:
- bai_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)
- 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
- 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
- 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
- Chương trình ứng dụng, dịch vụ mạng 4
- Ví dụ ứng dụng mạng dạng client server 5
- 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
- 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
- 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
- 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
- Một phần không gian tên DNS Ví dụ: eng.sun.com robot.ai.cs.yale.edu www.vnn.vn 10
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- Ví dụ các vùng 18
- Ví dụ các name server 19
- 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
- Ví dụ Máy flits.cs.vu.nl cần địa chỉ IP của máy linda.cs.yale.edu 21
- 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
- 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
- Các dạng tương tự telnet VNC (Virtual Network Computer) Terminal Service Remote shell (RSH) Remote execution (REXEC) 24
- IV.File Transfer Protocol (FTP) 1. Khái niệm 2. Mô hình FTP 25
- 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
- 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
- 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
- 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
- 2. Mô hình FTP PI: Protocol Interface, DTP: Data Transfer Process 30
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- Ví dụ a. Thư trên giấy b. Thư điện tử 39
- 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
- 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
- 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
- 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
- Một số loại dữ liệu theo MIME 44
- Ví dụ 45
- 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
- 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
- Mô hình SMTP 48
- 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
- Mô hình POP3 50
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- Mô hình dịch vụ Web 58
- 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
- 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
- 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
- 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
- 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
- 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
- Web server dạng đa luồng 65
- Nhiều máy làm web server 66
- 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
- Thành phần tên_giao_thức trong URL 68
- 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
- Ví dụ cookies 70
- 3. Trang web tĩnh a. HTML b. Forms c. XML 71
- 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
- Đặ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
- Một số lệnh định dạng 74
- 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
- Ví dụ form 76
- 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
- Ví dụ văn bản XML 78
- 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
- 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
- Ví dụ: các bước xử lý form dùng CGI 81
- Ví dụ: tạo trang web động với PHP 82
- 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
- 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
- Một số dạng yêu cầu HTTP 85
- Đá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
- 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
- Kiến trúc hệ thống WAP WTP: Wireless Transaction Protocol WML: Wireless Markup Language 88
- 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
- So sánh mobile web và desktop web 90