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
47 trang |
Chia sẻ: candy98 | Lượt xem: 654 | Lượt tải: 0
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