The Application Layer 924/8-25/10/2009 Mô hình ngang hàng Peer-to-peer paradigm các máy tính trong mạng lúc này là server nhận yêu cầu kết nối nhưng lúc khác lại là client yêu cầu máy k
Trang 1Cell phone: N/A Email: bangtqh@hotmail.com
Application Layer
Trang 2Chapter 2 The Application Layer 3
24/8-25/10/2009
Ch2 The Application Layer
2.1 Một số khái niệm và nguyên tắc.
2.2 Web & Hyper Text Transfer Protocol.
2.3 Web design and HTTP, Web programming.
2.4 File Transfer Protocol.
2.5 Electronic Mail Protocols.
2.6 Domain Name System.
2.1 Một số khái niệm và nguyên tắc
Navigator,…)
Trang 3Chapter 2 The Application Layer 5
24/8-25/10/2009
Một số giao thức (application-layer protocols)
¤ Giao thức web.
¤ Giao thức truyền tệp.
¤ Giao thức truyền thư điện tử.
¤ Giao thức nhận thư điện tử.
¤ Giao thức nhận thư điện tử (khác POP3)
¤ DNS = hệ thống tên miền, giao thức DNS quy định quy tắc sử dụng tên miền.
¤ Giao tiếp với các dịch vụ được
cung cấp bởi tầng dưới (TCP,
UDP).
Trang 4Chapter 2 The Application Layer 7
24/8-25/10/2009
Các chương trình giao tiếp với nhau ntn?
n Các chương trình trên cùng một máy tính
(interprocess communication).
n Các chương trình trên các máy tính khác nhau
(application-layer protocol).
n Chương trình phía người dùng = user agent
Mô hình khách-phục vụ (client-server paradigm)
Mô hình khách-phục vụ được quen gọi
là mô hình khách-chủ Một ứng dụng
cụ thể bao gồm hai phần:
¤ Thiết lập liên kết với server.
¤ Yêu cầu dịch vụ từ server.
application transport network data link physical
request
reply
Trang 5Chapter 2 The Application Layer 9
24/8-25/10/2009
Mô hình ngang hàng (Peer-to-peer paradigm)
các máy tính trong mạng lúc
này là server (nhận yêu cầu kết
nối) nhưng lúc khác lại là client
(yêu cầu máy khác kết nối).
tự do kết nối và giao tiếp đôi
một.
gia giao tiếp liên tục thay đổi.
Client-server & P2P examples
Trang 6Chapter 2 The Application Layer 11
24/8-25/10/2009
Dịch vụ tầng dưới đối với application-layer
presentation + session trong mô hình OSI.
Các dịch vụ với application:
§ File formats: picture (JPEG, GIF…), audio (MP3, RM…), video (MPEG, MOV…), document (HTML, XML…).
§ Data encryption & compression.
§ NFS (Network File System), RPC (Remote Procedure Call), SQL
(Structured Query Language), SSL (Secure Socket Layer).
§ Cung cấp dịch vụ vận chuyển cho application (TCP/IP).
§ Hai giao thức: TCP và UDP.
Yêu cầu đối với việc vận chuyển dữ liệu
liệu trong khoảng cho phép
Trang 7Chapter 2 The Application Layer 13
24/8-25/10/2009
Các yêu cầu giao vận của một số ứng dụng
Internet Transport protocols: TCP & UDP
TCP(Transmission Control Protocol)
§ connection-oriented: setup
required between client, server
§ reliable transport between
sending and receiving process
§ flow control: sender won’t
overwhelm receiver
§ congestion control: throttle
sender when network
overloaded
§ does not providing: timing,
minimum bandwidth
guarantees
UDP (User Datagram Protocol)
§ unreliable data transfer
between sending and receiving process
§ does not provide: connection setup, reliability, flow control, congestion control, timing, or bandwidth guarantee
Trang 8Chapter 2 The Application Layer 15
24/8-25/10/2009
Internet applications: TCP or UDP?
Ch2 The Application Layer
2.1 Một số khái niệm và nguyên tắc.
2.2 Web & Hyper Text Transfer Protocol.
2.3 Web design and programming.
2.4 File Transfer Protocol.
2.5 Electronic Mail Protocols.
2.6 Domain Name System.
Trang 9Chapter 2 The Application Layer 17
24/8-25/10/2009
2.2 Web & HTTP
nhiều đối tượng: text, image, audio, Java applet, HTML…
Resource Locator)
Protocol Host name & port Path
HTTP (Hyper Text Transfer Protocol)
n Trình duyệt web (web browser)
n Yêu cầu truy cập web thông qua
URL (URL request).
n Máy phục vụ web (web server).
n Gửi các đối tượng tới client thông
quan phản hồi (response).
Trang 10Chapter 2 The Application Layer 19
24/8-25/10/2009
HTTP: Quá trình trao đổi thông điệp
n Client (browser) thiết lập liên kết tới web server (TCP connection) qua cổng 80 (mặc định).
n Server đồng ý kết nối (accept).
n Các thông điệp (HTTP messages) được trao đổi
giữa browser và server.
n Ngắt kết nối.
HTTP example
1a http client thiết lập liên kết
TCP với http server (process)
tại địa chỉ www.uct2.edu.vn,
cổng 80 (ngầm định với http
server).
2 http client gửi http request
message (bao gồm cả URL) tới
TCP connection socket
1b http server tại máy phục vụ www.uct2.edu.vn chờ yêu cầu kết nối TCP tại cổng 80, chấp nhận kết nối rồi thông báo với client.
3 http server nhận request
message, tạo ra http response
message có chứa các đối tượng
đ ược yêu cầu rồi gửi vào socket.
time
Giả sử người dùng truy cập URL: www.uct2.edu/index.html
(trang web có text và 10 hình ảnh jpeg)
Trang 11Chapter 2 The Application Layer 21
24/8-25/10/2009
5 http client nhận response
message có chứa html file, hiển thị html Sau đó, phân tích html file, tìm URL của 10 hình ảnh jpeg trong tài liệu.
6 Bước 1-5 được lặp lại với từng
kết.
yêu cầu tới tất cả các đối tượng ngay sau khi nhận được trang HTML ban đầu (base HTML).
này ở chế độ mặc định.
Trang 12Chapter 2 The Application Layer 23
24/8-25/10/2009
HTTP Message Format: request & response
n Hai loại message: request và response.
n HTTP request message: dạng ASCII (đọc được!)
GET /somedir/page.html HTTP/1.0 User-agent: Mozilla/4.0
Accept: text/html, image/gif,image/jpeg Accept-language:fr
(extra carriage return, line feed)
request line
(GET, POST,
HEAD commands)
header lines
Trang 13Chapter 2 The Application Layer 25
24/8-25/10/2009
HTTP response message
HTTP/1.0 200 OK Date: Thu, 06 Aug 1998 12:00:15 GMT Server: Apache/1.3.0 (Unix)
Last-Modified: Mon, 22 Jun 1998 … Content-Length: 6821
Content-Type: text/html data data data data data
data, e.g.,
requested
html file
HTTP response message
Trang 14Chapter 2 The Application Layer 27
this message (Location:)
400 Bad Request
404 Not Found
505 HTTP Version Not Supported
Ví dụ thực hành
1 Telnet tới web server:
Mở một kết nối (TCP) tới cổng 80 tại web server của UCT2 Sau khi
kết nối, tất cả ký tự gõ vào sẽ được gửi tới cổng 80.
telnet www.uct2.edu.vn 80
2 Nhập vào GET http request:
GET /dangkythilai/help.htm HTTP/1.0
Đây là một http request đơn giản
Nhập xong gõ 2 lần Enter để gửi tới server
3 Kiểm tra kết quả nhận được (http response message)!
Trang 15Chapter 2 The Application Layer 29
24/8-25/10/2009
User-server interaction: authentication & cookies
usual http request msg 401: authorization req.
WWW authenticate:
usual http request msg + Authorization: <cred>
usual http response msg
usual http request msg + Authorization: <cred>
usual http response msg
time
Authenthication
Cookies: keeping “state”
nào đó (#) khi client request,
client qua response msg, vd:
Set-cookie: 1678453
client gửi kèm cookie, vd:
cookie: 1678453
usual http request msg usual http response +
spectific action
Trang 16cookie-Chapter 2 The Application Layer 31
24/8-25/10/2009
Conditional GET: client-side caching
obj tới client khi client đã có
phiên bản cập nhật
(up-to-date) của obj
sửa gần đây nhất của obj
Web Caches (proxy server)
web cache thay vì tới server
¤ Nếu obj có tại web cache:
web cache tạo http response
msg gửi về cho client.
¤ Nếu không, web cache tạo gửi
http request tới server, nhận
obj, lưu trữ, rồi gửi http
response msg tới client.
dùng có cảm giác duyệt web
nhanh hơn, giảm nghẽn
mạng
client
Proxy server
client
http reques
t
http request
http respon
se
http response
http request
http response
origin server origin server
Trang 17Chapter 2 The Application Layer 33
24/8-25/10/2009
Why Web Caching?
Assume: cache is “close” to
client (e.g., in same
network)
cache “closer” to client
public Internet
institutional
1.5 Mbps access link
institutional cache
Web servers
n IIS (Microsoft Internet Information Server)
n Apache web server
n Tomcat, Netscape, Xitami…
Trang 18Chapter 2 The Application Layer 35
24/8-25/10/2009
Ch2 The Application Layer
2.1 Một số khái niệm và nguyên tắc.
2.2 Web & Hyper Text Transfer Protocol.
2.3 Web design and HTTP, Web programming.
2.4 File Transfer Protocol.
2.5 Electronic Mail Protocols.
2.6 Domain Name System.
Web design: HTML
n Text
n Images
n Hyper link
n Thẻ mở, vd: <html>; <head>; <title>; <body>…
Trang 19Chapter 2 The Application Layer 37
24/8-25/10/2009
Web programming
n HTML = trang web tĩnh (Static web): Web server luôn trả về một trang HTML cố định khi nhận được yêu cầu của người dùng.
n Lập trình web: tương tác với người sử dụng thông qua web.
HTML Form: Send user requests
<form method="POST" action = "simple.asp">
<p><input type="text" name="myName" size="20">
<p><input type="submit" value="Submit"
%>
</BODY>
</HTML>
ASP HTML
Trang 20Chapter 2 The Application Layer 39
24/8-25/10/2009
ASP (Active Server Page)
nhúng các script ASP, được ghi lại dạng tệp *.asp, đặt tại web server.
kết quả trả về client dạng HTML (client không thấy
source).
Mô hình 3 lớp trong lập trình web
ASP, PHP, JSP
DB
req resp
DB API
Các thủ tục truy xuất CSDL
CSDL Server-side scripts
Trang 21Chapter 2 The Application Layer 41
24/8-25/10/2009
TCP Socket Programming
process
TCP with buffers, variables socket
controlled by application developer controlled by operating system
host or server internet
n Client phải thiết lập kết nối với server (request).
n Khi server nhận yêu cầu kết nối, nó tạo ra một
socket mới để tiếp nhận (cho phép nhiều clients).
n Microsoft Visual Basic:
Trang 22Chapter 2 The Application Layer 43
24/8-25/10/2009
Winsock & OSI
Bài tập
trang web tĩnh page1.htm, page2.htm, page3.htm (nội dung
của 3 trang web này tùy theo ý tưởng sáng tạo của mỗi người )
trang web động (không bắt buộc).
viết một web server đơn giản (không bắt buộc)
n Header
n Body