Ứng dụng mạng và giao thức tầng mạng Các ứng dụng mạng Các chương trình chạy ở trên host cung cấp giao diện cho người dùng.. web: browser audio/video: media player Sử dụng gia
Trang 1Các ứng dụng mạng
Trang 3Kiến trúc mô hình Internet
SSL
Trang 5Ứng dụng mạng và giao thức
tầng mạng
Các ứng dụng mạng
Các chương trình chạy ở trên host cung cấp giao
diện cho người dùng.
web: browser
audio/video: media player
Sử dụng giao thức của tầng ứng dụng để giao tiếp
Các giao thức tầng ứng dụng
Định dạng mẫu thông tin
Định nghĩa cách thức giao tiếp giữa các ứng dụng.
Thực hiện được dịch vụ với các yêu cầu trong giao thức bằng cách sử dụng các dịch vụ của tầng thấp
Trang 6Sử dụng các dịch vụ tầng mạng,
vận chuyển như thế nào?
Cung cấp một giao diện lập trình - API
Còn gọi là "Berkeley sockets“.
Một socket bao gồm địa chỉ IP và số hiệu cổng
(TLI) được phát triển bởi AT&T
Trang 7Ứng dụng và Giao thức
Ứng dụng
e-mail remote terminal access
Web file transfer Internet telephony
remote file server
streaming multimedia
Giao thức tầng ứng dụng
NFS proprietary
Giao thức tầng vận chuyển bên dưới
TCP/SSL TCP
TCP/SSL TCP
UDP
TCP hoặc UDP UDP
phù hợp
Trang 8Mô hình Client-Server
Có 2 loại ứng dụng mạng: client và server
application
transport network data link physical
application
transport network data link physical
Client (C):
Thiết lập kết nối với server
(“nói trước”)
Yêu cầu dịch vụ của server
Ví dụ Web, client là trình duyệt web,
e-mail, là mail reader (MS Outlook)
Server (S):
Cung cấp các dịch vụ được yêu cầu
cho client
Ví dụ, Web server gởi trang Web
được yêu cầu; mail server đáp trả
request
reply
Trang 9 Lấy mail giữa mail server
and user agent
• POP3: Post Office
mail server
user agent
user agent
user agent
mail server
user agent
user agent
mail server
user agent
SMTP
SMTP SMTP
POP3 ho c ặc IMAP
Trang 10Giao thức gởi mail - SMTP
S: 220 mr1.its.yale.edu C: HELO cyndra.yale.edu S: 250 Hello cyndra.cs.yale.edu, pleased to meet you C: MAIL FROM: <spoof@cs.yale.edu>
S: 250 spoof@cs.yale.edu Sender ok C: RCPT TO : <yry@yale.edu>
S: 250 yry@yale.edu Recipient ok C: DATA
S: 354 Enter mail, end with "." on a line by itself C: Date: Wed, 23 Jan 2008 11:20:27 -0500 (EST)
C: From: "Y R Yang" <yry@cs.yale.edu>
C: To: "Y R Yang" <yry@cs.yale.edu>
C: Subject: This is subject C:
C: This is the message body!
C: Please don’t spoof!
C:
C: S: 250 Message accepted for delivery C: QUIT
S: 221 mr1.its.yale.edu closing connection
Bài tập về nhà :
- Tìm hiểu RFC 822 ?
RFC 2045, 2056
Trang 11Giao thức truy cập mail - POP3
Giai đoạn giao dịch, client:
list: xem ds thông điệp
retr: lấy nội dung thông
điệp
dele: xóa thông điệp
C: list S: 1 498 S: 2 912 S:
C: retr 1 S: <message 1 contents>
S: C: dele 1 C: retr 2 S: <message 1 contents>
S: C: dele 2
S: +OK POP3 server ready C: user alice
S: +OK C: pass hungry S: +OK user successfully logged on
Trang 12Bài tập
nay.
Trang 14 client: trình duyệt web
trình bày các đối tượng
Web.
server: Web server gởi
các đối tượng web cho
client
http1.0: RFC 1945
http1.1: RFC 2068
PC ch y ạy Explorer
Server
Ch y máy ch Web ạy ủ Web
Apache
Linux ch y ạy Navigator
Trang 15Luồng xử lý thông điệp HTTP 1.0
Client thiết lập kết nối TCP (tạo ra socket) tới server, cổng 80
Client gởi yều tài liệu
Web server gởi trả lại tài liệu tương ứng
Trang 16Luồng xử lý thông điệp HTTP 1.0
Giả sử user nhập URL
it.hutech.edu.vn/index.php
1a http client thiết lập kết nối TCP
tới http server tại
it.hutech.edu.vn Cổng 80 là
cổng mặt định cho http server
2. http client g i http ởi http thông đi p ệp
yêu c uầu (ch a URL) vào c ng ứa URL) vào cổng ổng
k t n i TCP Socketết nối TCP Socket ối TCP Socket
1b. Server ch p nh n k t n i và ấp nhận kết nối và ận kết nối và ết nối TCP Socket ối TCP Socket
g i ởi http ack cho client
3. http server nh n thông đi p ận kết nối và ệp yêu cầuyêu c u, t o ra thông đi p đáp ầu ạy ệp yêu cầu
tr ch a thông tin yêu c u ả chứa thông tin yêu cầu ứa URL) vào cổng ầu(index.html), và g i vào socket.ởi http time
0. http server t i máy ch ạy ủ Webit.hutech.edu.vn đang đ i k t ợi ết nối TCP Socket
n i TCP t i c ng 80 ối TCP Socket ạy ổng
Trang 17Luồng xử lý thông điệp HTTP 1.0
5 http client nhận thông điệp chứa
tập tin html, phân tích tập tin
này và nhúng các ảnh vào
6. Các b c 1-5 l p cho m i nh ước 1-5 lặp cho mỗi ảnh ặc ỗi ảnh ả chứa thông tin yêu cầu
4. http server đóng k t n i TCP ết nối TCP Socket ối TCP Socket
time
Trang 18Khuôn d ng t ng quát c a thông ạy ổng ủ Web
đi p yêu c u HTTP ệp yêu cầu ầu
ASCII (khuôn d ng có th đ c đ c) ạy ể đọc được) ọc được) ượi
Trang 19Ví dụ thông điệp yêu cầu: GET
GET /somedir/page.html HTTP/1.0 Host: www.somechool.edu
Connection: close User-agent: Mozilla/4.0 Accept: text/html, image/gif, image/jpeg Accept-language: fr
(extra carriage return, line feed)
Dòng yêu c u ầu
(các l nh GET, ệp yêu cầu
POST, HEAD)
Các dòng thông tin header Các thông tin
d li u n u có ữ liệu nếu có ệp yêu cầu ết nối TCP Socket
Trang 20Thông điệp đáp trả HTTP
HTTP/1.0 200 OK Date: Wed, 23 Jan 2008 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
Trang 21 Tài liệu không tìm thấy ở server
505 HTTP Version Not Supported
Dòng đ u tiên server->client, m t vài mã ví d ầu ột vài mã ví dụ ụ,
Trang 22Kiểm tra HTTP
1 Telnet tới một Web server:
M k t n i TCP t i c ng 80ởi http ết nối TCP Socket ối TCP Socket ớc 1-5 lặp cho mỗi ảnh ổng
M t đ nh là c ng 80ặc ịnh là cổng 80 ổng
telnet it.hutech.edu.vn 80
2 Gõ yêu c u http GET: ầu
GET /index.php HTTP/1.0 Đây là m t ph ng th c đ ột vài mã ví dụ ương thức để ứa URL) vào cổng ể đọc được)
g i yêu c u thông đi p d ngởi http ầu ệp yêu cầu ạyGET HTTP t i Server ớc 1-5 lặp cho mỗi ảnh
3 Quan sát k t qu tr l i t http server! ết nối TCP Socket ả chứa thông tin yêu cầu ả chứa thông tin yêu cầu ạy ừ http server!
Trang 23FTP: File Transfer Protocol
Vận chuyển các tập tin tới các host
Mô hình Client/server
client: phía thiết lập việc vận chuyển tập tin
server: host ở xa.
FTP client
local file system
remote file system user
at host
Trang 24FTP: Ứng dụng Client-Server sử dụng tách biệt kết nối điều khiển và kết nối dữ liệu
ftp client gởi các lệnh tới ftp
server tại cổng 21
Mở hai kết nối song song
Điều khiển: trao đổi các
K t n i TCP, c ng 21 ết nối TCP Socket ối TCP Socket ổng cho vi c đi u khi n ệp yêu cầu ều khiển ể đọc được)
K t n i TCP c ng 20 ết nối TCP Socket ối TCP Socket ổng cho v n chuy n d li u ận kết nối và ể đọc được) ữ liệu nếu có ệp yêu cầu
Trang 25Các l nh và thông đi p đáp tr FTP ệp yêu cầu ệp yêu cầu ả chứa thông tin yêu cầu
Các l nh m u: ệp yêu cầu ẫu:
L nh và thông đi p d ng ệp yêu cầu ệp yêu cầu ởi http ạy
văn b n mã ASCII ả chứa thông tin yêu cầu
USER username
PASS password
HELP li t kê các l nh ệp yêu cầu ệp yêu cầu
LIST tr l i danh sách t p ả chứa thông tin yêu cầu ạy ận kết nối và
tin trong th m c hi n hành ư ụ, ệp yêu cầu
RETR filename l y t p tin ấp nhận kết nối và ận kết nối và
có tên filename
Sample return codes
Mã tr ng thái và thông tin ạy
tr ng thái (gi ng http) ạy ối TCP Socket
331 Username OK, password required
125 data connection already open;
transfer starting
425 Can’t open data connection
452 Error writing file
Trang 26Bài tập
bằng java liên quan đến Firewall và Proxy Server trên mạng, cụ thể website
sourceforge.net
miễn thi)