Bài giảng Mạng máy tính - Chương 2: Lớp ứng dụng - Nguyễn Hồng Sơn

NỘI DUNG ❒ Các nguyên lý ❒ Web và HTTP ❒ FTP ❒ Electronic Mail + SMTP, POP3, IMAP ❒ DNS ❒ Các ứng dụng P2P Các kiến trúc của ứng dụng mạng ❒ Client-server ❒ Peer-to-peer (P2P) ❒ Lai giữa client-server và P2P 2: Lớp Ứng dụng 6 Kiến trúc Client-server ❒ server:  Là máy chủ thường trực  Địa chỉ IP cố định ❒ client:  Giao tiếp với server  Có thể kết nối không liên tục  Địa chỉ IP tĩnh hay động  Không trao đổi trực tiếp lẫn nhau client/server

pdf47 trang | Chia sẻ: candy98 | Lượt xem: 654 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Bài giảng Mạng máy tính - Chương 2: Lớp ứng dụng - Nguyễn Hồng Sơn, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
12: Lớp Ứng dụng 1 Chương 2 LỚP ỨNG DỤNG (Application Layer) 2: Lớp Ứng dụng 2 Tổng quan mục tiêu của chương r Làm quen với các khái niệm cũng như thực hiện các giao thức ứng dụng  Mô hình dịch vụ lớp truyền tải  Mô hình client- server  Mô hình peer-to- peer r Khảo sát các giao thức lớp ứng dụng phổ biến  HTTP  FTP  SMTP / POP3 / IMAP  DNS 22: Lớp Ứng dụng 3 NỘI DUNG r Các nguyên lý r Web và HTTP r FTP r Electronic Mail SMTP, POP3, IMAP r DNS r Các ứng dụng P2P 2: Lớp Ứng dụng 4 NỘI DUNG r Các nguyên lý r Web và HTTP r FTP r Electronic Mail SMTP, POP3, IMAP r DNS r Các ứng dụng P2P 32: Lớp Ứng dụng 5 Các kiến trúc của ứng dụng mạng r Client-server r Peer-to-peer (P2P) r Lai giữa client-server và P2P 2: Lớp Ứng dụng 6 Kiến trúc Client-server r server:  Là máy chủ thường trực  Địa chỉ IP cố định r client:  Giao tiếp với server  Có thể kết nối không liên tục  Địa chỉ IP tĩnh hay động  Không trao đổi trực tiếp lẫn nhau client/server 42: Lớp Ứng dụng 7 Kiến trúc thuần P2P r Không có server thường trực r Các end system tự do giao tiếp trực tiếp r Các máy kết nối với nhau không liên tục và thay đổi địa chỉ IP Khả triển tốt nhưng khó quản lý peer-peer 2: Lớp Ứng dụng 8 Lai giữa client-server và P2P Skype  Là ứng dụng VoIP theo kiến trúc P2P  Server trung tâm: tìm địa chỉ của đối tác ở xa  Kết nối client-client trực tiếp không thông qua server Instant messaging  Chương trình chat giữa hai user là P2P  Service trung tâm: phát hiện sự hiện hữu của client và vị trí của client • Mỗi khi user online sẽ đăng ký địa chỉ với server trung tâm • user nhờ server tìm địa chỉ của người muốn gọi đến 52: Lớp Ứng dụng 9 Giao tiếp giữa các quá trình (Process) Quá trình (Process): là chương trình chạy trên một host. r Trên cùng host: giao tiếp liên quá trình (inter-process communication) . r Trên các host khác biệt: trao đổi thông điệp Client process: là quá trình khởi sự giao tiếp Server process: là quá trình đợi client process liên hệ r Trong kiến trúc P2P các host có cả client process và server process 2: Lớp Ứng dụng 10 Giao tiếp giữa hai quá trình trên hai host khác biệt r process truyền/nhận thông điệp đến/từ socket của nó process TCP với bộ đệm và các biến socket host hay server process TCP với bộ đệm và các biến socket host hay server Internet Hệ điều hành kiểm soát Người lập trình kiểm soát 62: Lớp Ứng dụng 11 Địa chỉ quá trình r Để nhận các thông điệp, process phải có danh định r Mỗi thiết bị host có địa chỉ IP r Liệu địa chỉ IP đủ để chỉ định một process hay không? r Danh định gồm địa chỉ IP và chỉ số port liên kết với process trên host. r Ví dụ các chỉ số port:  HTTP server: 80  Mail server: 25 r Để gửi một thông điệp HTTP đến ptithcm.edu.vn web server:  IP address: 203.162.44.162  Port number: 80 2: Lớp Ứng dụng 12 Các định nghĩa giao thức lớp ứng dụng r Các loại thông điệp được trao đổi,  Ví dụ request, response r Cú pháp thông điệp:  Có các field nào, kích thước r Ngữ nghĩa của thông điệp  Ý nghĩa của thông tin trong field r Các qui tắc về thời điểm và cách thức truyền hay đáp ứng cho các thông điệp Các giao thức chạy trên khu vực công cộng: r Được định nghĩa trong các RFC r Cho phép liên kết hoạt động r Ví dụ HTTP, SMTP Các giao thức riêng: r Ví dụ Skype 72: Lớp Ứng dụng 13 Dịch vụ truyền tải cần cho ứng dụng Data loss r Một số ứng dụng chấp nhận thất thoát số liệu ví dụ audio r Các ứng dụng khác như truyền file hay telnet yêu cầu truyền tải tin cậy 100% Timing r Một số ứng dụng yêu cầu độ trễ nhỏ, ví dụ Internet telephony, game tương tác Throughput r Một số ứng dụng yêu cầu thông lượng tối thiểu, ví dụ multimedia r Các ứng dụng khác dùng bất cứ thông lượng nào có được Security r Mật mã, bảo toàn số liệu, 2: Lớp Ứng dụng 14 Các dịch vụ của lớp truyền tải trên Internet TCP service: r Thiết lập kết nối (connection- oriented) r Truyền tải tin cậy r Điều khiển luồng (flow control) r Kiểm soát nghẽn r Không cung cấp: kiểm soát trễ, đảm bảo thông lượng tối thiểu, an ninh UDP service: r Truyền tải không tin cậy r Không cung cấp: thiết lập kết nối, điều khiển luồng, kiểm soát nghẽn, kiểm soát trễ, đảm bảo thông lượng, an ninh 82: Lớp Ứng dụng 15 Một số ứng dụng và giao thức hỗ trợ Ứng dụng e-mail remote terminal access Web file transfer streaming multimedia Internet telephony Giao thức lớp ứng dụng SMTP [RFC 2821] Telnet [RFC 854] HTTP [RFC 2616] FTP [RFC 959] HTTP (eg Youtube), RTP [RFC 1889] SIP, RTP, riêng (ví dụ Skype) Giao thức lớp truyền tải TCP TCP TCP TCP TCP hay UDP Thường là UDP 2: Lớp Ứng dụng 16 NỘI DUNG r Các nguyên lý r Web và HTTP r FTP r Electronic Mail SMTP, POP3, IMAP r DNS r Các ứng dụng P2P 92: Lớp Ứng dụng 17 Web và HTTP Vài thuật ngữ r Web page gồm nhiều đối tượng (object) r Đối tượng có thể là HTML file, ảnh JPEG, Java applet, audio file, r Web page cũng bao gồm base HTML-file chứa các đối tượng tham chiếu (referenced object) r Mỗi đối tượng tham chiếu được chỉ định bởi URL r Ví dụ URL: www.ptithcm.edu.vn/itDept/pic.gif host name path name HTTP được đặc tả trong RFC 2616 2: Lớp Ứng dụng 18 Tổng quan HTTP (1) HTTP: hypertext transfer protocol r Giao thức lớp ứng dụng cho web r Mô hình client/server  client: trình duyệt yêu cầu, nhận và hiển thị các đối tượng web  server: Web server gửi các đối tượng để đáp ứng các yêu cầu PC chạy trình duyệt IE Server chạy Apache Web server HTTP request HT TP req ues t HTTP response HT TP res pon se PC chạy trình duyệt firefox 10 2: Lớp Ứng dụng 19 Tổng quan HTTP (2) Dùng TCP: r client khởi tạo kết nối TCP đến port 80 của server r server chấp nhận kết nối r Thông điệp HTTP (thông điệp giao thức lớp ứng dụng) được trao đổi giữa trình duyệt (HTTP client) và Web server (HTTP server) r Đóng kết nối TCP HTTP là “stateless” r server không lưu giữ thông tin về các yêu cầu đã qua 2: Lớp Ứng dụng 20 Kết nối HTTP Kết nối HTTP không liên tục r Chỉ một đối tượng được chuyển qua một kết nối TCP Kết nối HTTP liên tục r Nhiều đối tượng được chuyển qua một kết nối TCP 11 2: Lớp Ứng dụng 21 HTTP không liên tục Giả sử người dùng nhập URL www.ptithcm.edu.vn/ITDep/home.index 1a. HTTP client khởi động kết nối HTTP server (process) tại www.ptithcm.edu.vn trên port 80 2. HTTP client truyền HTTP request message (chứa URL) vàoTCP socket. Thông điệp chỉ ra rằng client muốn đối tượng ITDep/home.index 1b. HTTP server tại www.ptithcm.edu.vn đợi kết nối tại port 80. “chấp nhận” kết nối, thông báo cho client 3. HTTP server nhận request message, tạo response message chứa đối tượng được yêu cầu, truyền thông điệp vào TCP socket của nó. Thời gian (chứa text và tham chiếu đến 10 ảnh jpeg) 2: Lớp Ứng dụng 22 HTTP không liên tục 5. HTTP client nhận đáp ứng chứa html file, hiển thị html. Phân tích html file, tìm 10 tham chiếu đến các đối tượng ảnh jpeg 6. Lặp lại các bước từ 1-5 cho mỗi ảnh 4. HTTP server đóng kết nối Thời gian 12 2: Lớp Ứng dụng 23 HTTP không liên tục: thời gian đáp ứng RTT: thời gian hành trình đi và về của một gói tin Thời gian đáp ứng: r Một RTT để khởi động kết nối TCP r Một RTT cho HTTP request và một vài byte đáp ứng đầu tiên r Thời gian truyền file Tổng = 2RTT+ thời gian truyền Thời gian truyền file Khởi tạo TCP connection RTT Yêu cầu file RTT Nhận file time time 2: Lớp Ứng dụng 24 HTTP liên tục HTTP không liên tục: r Cần 2 RTT/đối tượng r Phải tạo kết nối cho mỗi đối tượng r Trình duyệt thường mở các kết nối song song để lấy các đối tượng tham chiếu HTTP liên tục r server để mở kết nối sau khi gửi đáp ứng r Các thông điệp sau được gửi qua kết nối đang mở r client nhanh chóng gửi yêu cầu về đối tượng tham chiếu r Một RTT cho tất cả các đối tượng tham chiếu 13 2: Lớp Ứng dụng 25 HTTP request message r Hai loại HTTP messages: request, response r HTTP request message:  Dưới dạng văn bản ASCII GET /somedir/page.html HTTP/1.1 Host: www.ptithcm.edu.vn User-agent: Mozilla/4.0 Connection: close Accept-language:en-us (carriage return, line feed) request line (GET, POST, HEAD commands) header lines Carriage return, line feed chỉ kết thúc thông điệp 2: Lớp Ứng dụng 26 HTTP request message: định dạng tổng quát 14 2: Lớp Ứng dụng 27 Truyền lên form input Post method: r Web page thường chứa form input r Input được truyền lên server dưới dạng thân thực thể URL method: r dùng GET method r Input được truyền lên dưới dạng URL field của dòng yêu cầu, ví dụ: www.animalfood.com/animalsearch?monkeys&banana 2: Lớp Ứng dụng 28 Các loại Method HTTP/1.0 r GET r POST r HEAD  Yêu cầu server để đối tượng được yêu cầu ra ngoài đáp ứng HTTP/1.1 r GET, POST, HEAD r PUT  Truyền file lên máy chủ, file nằm trong thân thực thể, đường dẫn được chỉ ra trong URL r DELETE  Xóa file được chỉ ra trong URL 15 2: Lớp Ứng dụng 29 HTTP response message HTTP/1.1 200 OK Connection close Date: Thu, 06 Aug 2010 12:00:15 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Mon, 22 Jun 2010 ... Content-Length: 6821 Content-Type: text/html data data data data data ... status line (mã trạng thái) header data, ví dụ HTML file được yêu cầu 2: Lớp Ứng dụng 30 Các mã đáp ứng HTTP 200 OK  request thành công, đối tượng yêu cầu sau cùng có trong thông điệp này 301 Moved Permanently  Đối tượng yêu cầu đã bị chuyển, vị trí mới được chỉ ra trong thông điệp này 400 Bad Request  Server không hiểu 404 Not Found  Không tìm thấy tài liệu yêu cầu trong server 505 HTTP Version Not Supported Trong dòng đầu tiên trong thôn điệp đáp ứng từ server ->client Ví dụ: 16 2: Lớp Ứng dụng 31 Cookie (1) Nhiều Web site dùng cookie. Cookie là một mẫu văn bản nhỏ mà web server đặt trên máy user. Mẫu này được gửi lại server mỗi khi user truy cập vào web server. Stateless--> stateful Thành phần: 1) cookie header line trong các thông điệp HTTP 2) tập tin cookie trên máy người dùng, được trình duyệt quản lý 3) cơ sở dữ liệu ẩn bên trong Web site Ví dụ: r User thường truy cập Internet từ máy tính PC r Vào một web site bán hàng qua mạng nào đó lần đầu tiên r Khi HTTP request đến web site, web site tạo:  danh định (ID) khác biệt  một mục trong cơ sở dữ liệu cho ID này 2: Lớp Ứng dụng 32 Cookie (2) client server http response http response Tập tin cookie Vài tuần sau: http request cookie: 1678 Sử dụng cookie Truy cập ebay 8734 http request Amazon server tạo ID 1678 cho user tạo mục http response Set-cookie: 1678 ebay 8734 amazon 1678 http request cookie: 1678 Sử dụng cookie Truy cập ebay 8734 amazon 1678 Cơ sở dữ liệu 17 2: Lớp Ứng dụng 33 Cookie (3) Cookie có thể chứa: r Thông tin chứng thực quyền r Giỏ hàng r Khuyến nghị r Trạng thái phiên (Web e-mail) Cookie và tính riêng tư: r Cookie cho phép web site học và hiểu nhiều về user r User có thể cung cấp tên và địa chỉ email cho web site Cách thức giữ trạng thái r các giao thức đầu cuối: duy trì trạng thái tại sender/receiver qua nhiều giao tác r cookie: thông điệp http mang trạng thái 2: Lớp Ứng dụng 34 Ky, thuâ-t Caching r Kha.i niê -m cache r Đáp ứng yêu cầu của client mà không cần truy vấn server nguồn r Trường hợp thực tê .:  Mô -t cơ quan co . mô -t đường nô .i đê .n Internet  Tâ.t ca / lưu lượng truy câ -p đê 0u đi qua kê .t nô .i na 0y  Nhiê 0u người du0ng co . thê / cu0ng truy câ -p đê .n cu0ng mô-t nô -i dung  Gia /i pha .p tăng tô .c truy xuâ .t: caching 18 2: Lớp Ứng dụng 35 Web cache (proxy server) r user cấu hình trình duyệt: truy xuất Web qua cache r Trình dyệt gửi tất cả các yêu cầu đến cache  Đối tượng có trong cache: cache đáp ứng ngay  Đối tượng không có trong cache, cache yêu cầu đối tượng từ server nguồn, sau đó gửi cho client client Proxy server client HT TP req ues t HT TP res pon se HTTP request HTT P re ques t server server HTTP response HTT P re spon se 2: Lớp Ứng dụng 36 Web caching r cache đóng hai vai trò client, server r Thông thường cache được cài đặt bởi ISP Lý do dùng Web caching? r Giảm thời gian đáp ứng cho các yêu cầu từ client r Giảm lưu lượng trên các liên kết Internet của cơ quan r Cho phép các nhà cung cấp nội dung phân phối nội dung hiệu quả 19 2: Lớp Ứng dụng 37 Ví dụ Giả sử r Trung bình mỗi đối tượng có 100,000 bit r Tốc độ trung bình gửi yêu cầu là 15/giây r Thời gian trễ từ router của doanh nghiệp đến bất cứ web server nào bên ngoài, cả đi và về là 2 giây Hiệu năng r Băng thông sử dụng trên LAN = 15% r Băng thông sử dụng trên access link = 100% r Tổng trễ = Trễ qua Internet + trễ truy cập + trễ qua LAN = 2 giây + hàng phút + hàng mili giây server Internet Mạng cục bộ 10 Mbps LAN 1.5 Mbps access link 2: Lớp Ứng dụng 38 Ví dụ (2) Giải pháp 1 r Tăng băng thông của access link lên 10 Mbps Hiệu năng r Băng thông sử dụng trên LAN = 15% r Băng thông sử dụng trên access link = 15% Tổng trễ = Trễ qua Internet + trễ truy cập + trễ qua LAN = 2 giây + cỡ mili giây + cỡ mili giây r Chi phí cho nâng cấp server Internet Mạng cục bộ 10 Mbps LAN 10 Mbps access link 20 2: Lớp Ứng dụng 39 Ví dụ (3) Giải pháp 2: cài đặt cache r Giả sử xác suất tìm thấy =0.45 Hiệu năng r 45% yêu cầu sẽ được đáp ứng tức thời r 55% yêu cầu phải lấy từ server nguồn r Băng thông sử dụng trên access link được giảm xuống còn 55%, trễ không đáng kể, chừng 10ms r Tổng trễ = Trễ qua Internet + trễ truy cập + trễ qua LAN = 0,55*(2+0,01) + 0,45*(khoảng mười ms) servers Internet Mạng cục bộ 10 Mbps LAN 1.5 Mbps access link cache 2: Lớp Ứng dụng 40 GET có điều kiện r Để máy chủ không phải gửi đối tượng nếu cache vẫn còn lưu giữ bản cập nhật r cache: chỉ ra ngày của bản sao được cập nhật trong HTTP request If-modified-since: r server: khẳng định không có cập nhật gì mới: HTTP/1.0 304 Not Modified r server:đối tượng đã bị hiệu chỉnh HTTP/1.0 200 OK cache server HTTP request msg If-modified-since: HTTP response HTTP/1.0 304 Not Modified Đối tượng Không bị hiệu chỉnh HTTP request msg If-modified-since: HTTP response HTTP/1.0 200 OK Đối tượng đã bị hiệu chỉnh 21 2: Lớp Ứng dụng 41 NỘI DUNG r Các nguyên lý r Web và HTTP r FTP r Electronic Mail SMTP, POP3, IMAP r DNS r Các ứng dụng P2P 2: Lớp Ứng dụng 42 FTP (file transfer protocol) r Truyền/nhận file đến/từ máy ở xa r Mô hình client/server  client: khởi động  server: chờ đáp ứng r ftp: được đặc tả trong RFC 959 r ftp server: dùng port 20 và 21 Truyền file FTP server Giao diện FTP client Hệ thống file cục bộ Hệ thống file ở xa user 22 2: Lớp Ứng dụng 43 Kết nối cho điều khiển và kết nối truyền số liệu r FTP client tiếp xúc với FTP server tại port 21, dùng TCP r client được xác thực qua kết nối phục vụ điều khiển r client duyệt các thư mục ở xa bằng cách gửi các lệnh qua kết nối điều khiển. r Khi nhận lệnh truyền file, server mở một kết nối TCP thứ 2 đến client r Sau khi truyền file xong, server xóa kết nối số liệu. FTP client FTP server Cầu nối TCP cho điều khiển, port 21 Cầu nối TCP cho data port 20 r Muốn truyền file khác, server lại mở kết nối số liệu. r Thông tin điều khiển dùng kênh tách biệt với số liệu (out of band) r FTP là stateful: lưu giữ thư mục hiện hành và xác thực trước đó. 2: Lớp Ứng dụng 44 Active FTP va0 Passive FTP r Active mode: FTP client kê .t nô.i từ mô -t port ngâ ,u nhiên N >1023 đê .n command port ta -i server (21), client bă.t đâ 0u lă .ng nghe trên port N+1 va 0 truyê 0n lê -nh PORT N+1 đê.n FTP server. Server sau đo . kê.t nô .i đê .n cô /ng data được chi/ đi -nh trên client (N+1) từ port 20 cu/a no . . r Vi . du- 23 2: Lớp Ứng dụng 45 Active FTP va0 Passive FTP (2) r Passive mode: giải pha.p cho vâ.n đê 0 làm sao server khởi ta-o mô-t kê .t nô .i đê .n client r PASV: lê -nh ba.o với server vê 0 chê . đô- passive r Client khởi đô-ng 2 kê .t nô .i đê .n server, gia/i quyê .t vâ.n đê0 ca .c firewall lo-c kê.t nô.i đê .n data port (từ server đê.n client). Hai port ngâ,u nhiên N>1023 va0 N+1, port N kê .t nô.i đê .n port 21 cu/a server, sau đo . client pha .t lê -nh PASV, kê .t qua/ la0 server mở port ngâ,u nhiên P > 1023 va0 gửi PORT P trở la-i client, sau đo. client khởi đô -ng kê.t nô.i từ port N+1 đê .n port P trên server 2: Lớp Ứng dụng 46 Active FTP va0 Passive FTP (3) r Vi . du- passive mode 24 2: Lớp Ứng dụng 47 Active FTP va0 Passive FTP (4) r Active FTP :  command : client >1023 --> server 21  data : client >1023 <-- server 20 r Passive FTP :  command : client >1023 --> server 21  data : client >1023 --> server >1023 2: Lớp Ứng dụng 48 Các lệnh FTP và đáp ứng Vài lệnh phổ biến: r Lệnh dưới dạng ASCII text qua kênh điều khiển r USER username r PASS password r LIST trả về danh sách các file trong thư mục hiện hành r RETR filename lấy file r STOR filename gửi file lên host ở xa Vài mã đáp ứng r Mã trạng thái tương tự như bên HTTP r 331 Username OK, password required r 125 data connection already open; transfer starting r 425 Can’t open data connection r 452 Error writing file 25 2: Lớp Ứng dụng 49 Vi. du - FTP client r Command line r GUI FTP client: IE, firefox, FTPcute,... 2: Lớp Ứng dụng 50 NỘI DUNG r Các nguyên lý r Web và HTTP r FTP r Electronic Mail SMTP, POP3, IMAP r DNS r Các ứng dụng P2P 26 2: Lớp Ứng dụng 51 Thư điện tử (Electronic Mail) Ba thành phần chính: r user agent r mail server r SMTP: simple mail transfer protocol User Agent r composing, editing, reading mail messages r Ví dụ: Eudora, Outlook, Mozilla Thunderbird r Hộp thư (hàng đợi) đi (outbox), hộp thư đến (inbox) cho mỗi user được lưu trên server user mailbox outgoing message queue mail server user agent user agent user agent mail server user agent user agent mail server user agent SMTP SMTP SMTP 2: Lớp Ứng dụng 52 Mail server Mail Server r mailbox chứa thư đến r outbox thư chờ gửi r SMTP protocol để truyền thư mail server user agent user agent user agent mail server user agent user agent mail server user agent SMTP SMTP SMTP 27 2: Lớp Ứng dụng 53 SMTP [RFC 2821] r Dùng TCP đề truyền thư từ client server, port 25 r Truyền trực tiếp: truyền server đến server khác r Ba pha  Bắt tay  Truyền thư  đóng r Giao tiếp lệnh/đáp ứng 2: Lớp Ứng dụng 54 UserA truyền thư sang UserB 1) User A dùng user agent tạo thư và gửi đến userB@ptithcm.edu.vn 2) User A gửi thư đến server A và server A xếp thư vào hàng đợi 3) Thực thể SMTP trên Server A mở một kết nối TCP với Server B 4) Thực thể SMTP truyền thư của user A qua kết nối TCP đến Server B. 5) Sever B nhận và đặt thư vào mailbox của user B 6) User B dùng user agent để đọc thư user agent mail serverA mail serverB user agent 1 2 3 4 5 6 User A User B 28 2: Lớp Ứng dụng 55 SMTP r SMTP dùng kết nối liên tục r SMTP yêu cầu các thông điệp được mã hóa theo mã 7-bit ASCII r SMTP server dùng CRLF.CRLF xác định kết thúc thông điệp 2: Lớp Ứng dụng 56 Định dạng thư điện tử Chuẩn định dạng thư điện tử được đặc tả trong RFC 822 header lines, ví dụ  To:  From:  Subject: khác với lệnh SMTP r body  Nội dung thư chỉ chứa ký tự ASCII header body Dòng trắng 29 2: Lớp Ứng dụng 57 Dạng mở rộng cho multimedia r MIME: multimedia mail extension, RFC 2045, 2056 r Thêm các dòng trong header để khai báo loại nội dung MIME