Giáo trình Chương 2 Tầng Application - Nhập môn mạng máy tính | Trường Đại học CNTT Thành Phố Hồ Chí Minh

Giáo trình Chương 2 Tầng Application - Nhập môn mạng máy tính | Trường Đại học CNTT Thành Phố Hồ Chí Minh được được sưu tầm và soạn thảo dưới dạng file PDF để gửi tới các bạn sinh viên cùng tham khảo, ôn tập đầy đủ kiến thức, chuẩn bị cho các buổi học thật tốt. Mời bạn đọc đón xem!

Môn:
Thông tin:
17 trang 8 tháng trước

Bình luận

Vui lòng đăng nhập hoặc đăng ký để gửi bình luận.

Giáo trình Chương 2 Tầng Application - Nhập môn mạng máy tính | Trường Đại học CNTT Thành Phố Hồ Chí Minh

Giáo trình Chương 2 Tầng Application - Nhập môn mạng máy tính | Trường Đại học CNTT Thành Phố Hồ Chí Minh được được sưu tầm và soạn thảo dưới dạng file PDF để gửi tới các bạn sinh viên cùng tham khảo, ôn tập đầy đủ kiến thức, chuẩn bị cho các buổi học thật tốt. Mời bạn đọc đón xem!

63 32 lượt tải Tải xuống
lOMoARcPSD| 40342981
lOMoARcPSD| 40342981
NHẬP MôN MẠNG MÁY TÍNH
Chương 2: Tầng Applicaon
Các kiến trứcc ứng dụng
Client – Server
P2P (Peer to peer)
Minh Họa
Server
Luôn hoạt động
Không c Server luôn luôn hoạt động
Địa chỉ IP cố định.
Trung t m phục vụ và lưu trdữ
liệu.
Client
Giao ếp với Server. Kh ng giao
ếp trực ếp với cÆc Client
khÆc.
CÆc hệ thống đầu cuối giao ếp trực ếp
với nhau.
lOMoARcPSD| 40342981
C thể kết nối kh ng liŒn tục, dùng
địa chỉ IP động.
CÆc Peer được kết nối kh ng liŒn tục v
c thể thay đổi địa chIP. Quản l phc
tạp
Clients gửi request v nhận
response tServer. Giao ếp với
Clients khÆc qua Server
CÆc Peer vừa c thể Œu thụ v cung cấp
t i nguyŒn cho cÆc peer khÆc Kh
năng mở rộng tốt
CÆc ến tr nh liŒn lạc
Tiến tr nh (Process):
Là chương trình chạy trong một Host.
- Trong cøng một host, hai ến tr nh giao ếp với nhau bằng cÆch sử dụng truyền
th ng liŒn ến tr nh (inter-process communicaon) được định nghĩa bởi hệ
điều h nh.
- CÆc ến tr nh trong cÆc host khÆc nhau truyền th ng với nhau bởi trao đổi các
thông điệp (Message).
- Clients, Server:
o Tiến tr nh Client: ến tr nh khởi tạo truyền th ng.
o Tiến tr nh Server: ến tr nh chờ đợi để được liŒn lạc.
- Chœ : CÆc ứng dụng với kiến trœc P2P c cả ến tr nh server v client.
Sockets
Là điểm truy cập dịch vụ ở tầng giao vận (transport), tương tự như cổng ra v o.
- CÆc ến tr nh sử dụng socket gọi dịch vụ của tầng giao vận để trao đổi thông
điệp.
lOMoARcPSD| 40342981
- Truy cập dịch vụ bằng định danh (idener)bao gồm địa chỉ IP v số cổng (Port
numbers) được liŒn kết với ến tr nh trŒn host.
* Một số Port tầng Applicaon
Protocol
Port Number
Protocol
Port Number
FTP
20
DNS
53
HTTP
80
SSH
22
HTTPS
443
TFTP
69
SMTP
25
Telnet
23
LPD
515
NFS
2049
CÆc yŒu cầu dịch vụ vận chuyển
ng dụng
Băng thông
Time sensive
Truyền le
Mềm dẻo
Kh ng
E-mail
Mềm dẻo
Kh ng
Web ocuments
Mềm dẻo
Kh ng
Audio/video thời
gian thực
Audio: 5kbps – 1Mbps
Video: 10kbps – 5Mbps
Có, 100’s msec
Audio/video đã lưu
Audio: 5kbps – 1Mbps
Video: 10kbps – 5Mbps
C , v i gi y
Game tương tác
TrŒn một v i kbps
Có, 100’s msec
lOMoARcPSD| 40342981
Text messaging
Mềm dẻo
C v Kh ng
CÆc dịch vụ giao thức Transport Internet Dịch vụ TCP:
- L giao thức điều khiển truyền nhận. Giao thức này đảm bảo sự chuyển giao th
ng n tnơi nguồn tới nơi nhận một cÆch an to n, bảo đảm to n vẹn và đúng
thứ tự.
- TCP c thể điều ết được người gửi khi mạng quÆ tải v thiết lập u cầu giữa
ến tr nh client v server. Dịch vụ UDP:
- L một giao thức cho phØp gửi cÆc g i n m kh ng cần dựng một kết nối ho n
chỉnh giữa cÆc thiết bị kết nối mạng
- Kh ng hỗ tr độ n cậy, điều khiển luồng, điều khiển tắt nghẽn, bảo đảm thông
ợng, bảo mật, v thiết lập kết nối.
So sÆnh TCP – UDP:
Giống: TCP và UDP đều l cÆc giao thức được sử dụng để gửi cÆc bit dữ liu được gọi l
cÆc g i n – qua Internet. Cả hai giao thức đều được x y dựng trŒn giao thức IP. KhÆc:
TCP
UDP
Thiết Kế
Định hướng kết nối (connecon
oriented).
KØm kết nối hơn (conneconless).
Độ n cậy
Độ n cậy cao.
Độ n cậy thấp.
Truyền dữ liu
Gửi g i n dạng luồng, xử l theo
thứ tự g i n.
Dữ liệu không được truyền theo
thứ tự.
Hiệu năng
Tốc độ truyền thấp hơn.
Tốc độ truyền cao hơn.
Xử l vấn đề về
g i n
G i n c thể được gửi lại nếu cần
hoặc bị mất.
Gói n không được truyền lại
Web v HTTP
HTTP (Hypertext Transfer Protocol) l giao thức web ở tầng Applicaon.
lOMoARcPSD| 40342981
M h nh client/server:
- Client: tr nh duyệt u cầu v nhận (sử dụng giao thức HTTP) Hiển thị cÆc
Object của Website.
lOMoARcPSD| 40342981
-
Server: Web server gửi (sử dụng giao thức HTTP) cÆc Object đáp ứng yŒu cầu
của Client.
- RTT (Round Trip Time): Thời gian để 1 g i n nhỏ đi từ Client đến Server v quay
ngược lại.
CÆc kết nối HTTP
HTTP Kh ng Bền Vững
(Nonpersistent HTTP)
HTTP Bền Vững
(Persistent HTTP)
- Chỉ tối đa 1 đối tượng được gửi
qua kết nối TCP, sau đó kết nối sẽ bị
đóng.
- Tải nhiều đối tượng yŒu cầu
nhiều kết nối.
- Nhiều đối tượng c thđược gửi qua một kết nối TCP
giữa Client v Server.
HTTP/1.0 (RFC 1945)
HTTP/1.1 (RFC 2616)
Thời gian đáp ứng
- Một RTT để khởi tạo kết nối
TCP.
- Một RTT cho yŒu cầu HTTP v
vài byte đầu Œn của đáp ứng HTTP
được trả về.
- Thời gian đáp ứng = 2RTT + thời
gian truyền le.
Thời gian đáp ứng
Persistent without
pipelining
- Client chỉ gửi request
khi đã nhận đưc
request trước. - 1 RTT
cho 1 đối ợng được
quan t m.
Persistent with
pipelining
- Client gửi request
liŒn tục đến các đi ợng
được quan t m.
- C thể 1 RTT cho tất
cả các đối tượng được
quan t m.
lOMoARcPSD| 40342981
Các Phương thức
- GET
- POST
- HEAD
CÆc Phương thức
- GET
- POST
- HEAD
- PUT
- DELETE
HTTP Cookies: lưu trữ trạng thÆi User-server
- C thể được sử dụng cho:
o Sự cấp phØp (authorizaon). o Gi mua h ng
(shopping carts). o CÆc khuyến cÆo (recommendaons).
o Trng thÆi phiŒn l m việc của User (user session
state).
CÆc trạng thÆi đáp ứng HTTP (HTTP response status codes) Xuất hiện trong
dòng đầu ên trong thông điệp đáp ứng từ Server. Một v i trạng thái thường
gặp:
- 200 OK YŒu cầu thành công, đối tượng được yŒu cầu sau trong thông điệp
n y.
- 301 Moved Permanently Đối tượng được yŒu cầu đã di chuyển, vị tr mới
được xác định sau trong thông điệp n y.
- 304 Not Modied Đối tượng được yŒu cầu chưa được điều chỉnh (và đã lưu
trong cache), client c thể sử dụng đối ợng được phản hồi trong bộ nhcache.
- 400 Bad Request – Thông điệp yŒu cầu không được hiểu bởi
Server.
- 404 Not Found – T i liệu được yŒu cầu kh ng t m thấy trŒn server n y.
Web Caches (Proxy Server) Mục Œu:
- Đáp ứng yŒu cần của client m kh ng cần liên quan đến server.
lOMoARcPSD| 40342981
-
- Giảm thời gian đáp ứng yŒu cầu + giảm tải cho client.
- Giảm lưu lượng trên đường liŒn kết truy cập ra internet.
Caches dày đặc trŒn Internet Nh cung cấp dịch vụ c thể cung cấp nội dung
hiệu quả hơn (chia sẻ le P2P cũng vậy).
HTTP GET có điều kiện (Condional HTTP)
- Mục Œu: Kh ng gửi đối tượng nếu dữ liu trong web caches đã được cập nhập.
o Giảm độ tr.
o Nhu cầu sử dụng đường link ít hơn.
- Cache: Xác định mốc thời gian lần cuối dữ liệu lưu trong cache lần cuối được
cập nhập trong HTTP request.(If-modied-since)
- Server: Kh ng phải hồi lại dữ liệu được yŒu cầu nếu như dữ liu đó không có gì
thay đổi kể từ mốc thời gian trong cache n i trŒn.(HTTP 304 Not Modied).
FTP (File Transfer Protocol) – Giao thức truyền le
FTP: Giao thức truyền le đến/từ host từ xa.
M h nh Client/Server:
- Client: Ph a khởi tạo truyền (đến/từ host từ xa).
- Server: host ở xa.
Kết nối điều khiển: TCP ở port 21, duy tr trong suốt phiŒn l m việc.
Kết nối dữ liệu: TCP ở port 20, kết nối tự động ngắt khi truyền dữ liệu ho n tất.
Email (Thư điện tử) Gồm 3 th
nh phần ch nh:
lOMoARcPSD| 40342981
- User Agent:
lOMoARcPSD| 40342981
Downloaded by Mai Nguy?t (nguyetmai131203@gmail.com)
o C n gọi là “Mail Reader. o Soạn thảo, sửa đổi, đọc các thông
điệp email.
o VD: Outlook, Thunderbird, iPhone Mail Client,… - Mail Server:
o Hộp thư (Mailbox) chứa thông điệp đến User.
o Hàng thông điệp (Message Queue) của cÆc th ng điệp mail ra
ngo i (chuẩn bị gửi).
- SMTP (Simple Mail Transfer Protocol): gửi tgiữa cÆc mail server v giữa user
agents v mail server.
o RFC 2821.
o TCP, port 25: chuyển thư từ client đến server v cÆc server với nhau.
o Gồm 3 giai đoạn truyền:
Thiết lập kết nối.
Truyền thông điệp.
Đóng kết nối. o Tương tác lệnh/phản hồi:
Lệnh: ASCII
Phản hồi: mª v cụm từ trạng thÆi o Thông điệp phi
dạng mª ASCII 7 bit.
o Døng kết nối kh ng bền vững.
lOMoARcPSD| 40342981
-
lOMoARcPSD| 40342981
-
POP3 v IMAP:
POP3
IMAP
Độ phức tạp
Đơn giản hơn
Nâng cao hơn
Kết nối
Kết nối trên port 110 và máy chủ POP
có bảo mật SSL kết
nối trên port 995
Kết nối trên port 143 y ch
IMAP có bảo mật SSL kết nối trŒn
port 993
Truy cập
Mỗi lần chỉ thể truy cập từ một
thiết bị duy nhất
Tin nhắn có thể được truy cập trên
nhiều thiết bị
Đọc thư
Phải được tải xuống trên hệ thống cục
bộ.
Nội dung thư có thể được đọc một
phần trước khi tải xuống
Chỉnh sửa
Người dùng phải tải v mới thể
tạo, xóa hoặc đổi tên email trŒn
mail.
Người dùng thể tạo, xóa hoặc đổi
tên email trên mail server.
Chế độ lưu
tr
thể tùy chọn giữ lại hoặc xóa thư
trên hộp thư sau khi tải về.
Mặc định lưu trữ bản sao trên mail
server sau khi tải về.
Tải xuống
Tất cả n nhắn được tải xuống cùng
một lúc
Tiêu đề n nhắn th được xem
trước khi tải xuống.
Phm vi
hoạt động
thể hoạt động không cần kết nối
Internet.
Cần kết nối internet để hoạt động
Tốc độ
Nhanh hơn
Chậm hơn
CÆc ứng dụng P2P
BitTorrent CÆc
khÆi niệm:
- BitTorrrent l một giao thức P2P phbiến trong việc ph n tÆn tập n.
- Torrent l tập hợp tất cả cÆc Peers tham gia v o việc ph n tÆn một tập n cụ th.
Tracker l một máy nh trung tâm đóng vai trò quản l giœp 1 Peer kết nối vi
nhiều “Peer lÆng giềng” khác để trao đổi dữ liệu.
- Tp n cần ph n tÆn sẽ được tÆch th nh nhiều đoạn tập n c kích thước bằng
nhau, thông thường l 256KB.
lOMoARcPSD| 40342981
-
- CÆc Peers vừa lấy, vừa gửi các đoạn tập n tới Peers khÆc. NguyŒn l hoạt động:
- Giả sử, ta c Alice đang có nhu cầu tải 1 tập n bất k c dung ợng khÆ lớn.
- Lœc n y, Alice được xem như 1 peer mới tham gia v o torrent chưa đoạn
tập n n o.
- y của Alice sẽ đăng với Tracker v Tracker sẽ ngẫu nhiŒn chọn 1 tập hp
các máy ngang hàng đang tham gia vào torrent trước đó và gửi địa chỉ IP của
các Peers này đến cho Alice.
- Alice thiết lập kết nối TCP song song tới cÆc mÆy t nh n y, gọi chúng các “Peers
láng giềng. Ở h nh minh họa trŒn th Alice kết nối với 3 Peers khÆc.
Mỗi chu k thời gian, Alice sẽ dựa vào danh sách đoạn tập n hiện tại của m nh
m yŒu cầu tới cÆc Peers lÆng giềng.
- Trong quÆ tr nh yŒu cầu, Alice sẽ ưu ên chọn các đoạn tập n hiếm nhất, có
nghĩa là các đoạn tập n c bản sao lặp lại t nhất trong số cÆc lÆng giềng, v ến
h nh yŒu cầu các đoạn tập n này trước.
- Vviệc gửi khối dữ liệu, cứ mỗi 10 gi y, Alice sẽ đánh giá các Peers lÆng giềng
theo tỉ lệ người gửi cho c với tốc độ nhanh nhất theo top 4. V 4 mÆy ngang h
ng sẽ được gọi l kh ng nghẽn dữ liệu (unchoked).
lOMoARcPSD| 40342981
-
- V mỗi 30 giây, Alice cũng chọn thŒm 1 mÆy ngang h ng mới v bắt đầu giao dịch.
Gisử y được chọn l Bob. Nếu tỉ lệ tốc độ Bob gửi đến Alice là đcao th kế
đó Bob thể tr th nh 1 trong 4 mÆy tải dữ liệu của Alice. Và Alice cũng có thể
trở th nh 1 trong 4 mÆy tải dữ liệu của Bob.
- V cứ thế Alice v 4 mÆy tải dữ liệu ngang h ng ếp tục giao dịch với nhau cho
đến khi một bŒn t m thấy một đối tÆc tốt hơn.
Tất cả cÆc mÆy ngang h ng khÆc ngo i 5 mÆy n y (4 mÆy tải dliệu và 1 y
thăm dò) được gọi l tắc nghẽn (choked), nghĩa là chœng sẽ kh ng nhận bất k tập
n n o từ Alice.
Lập tr nh Socket
- Mục Œu: T m hiểu cÆch x y dựng cÆc ứng dụng client/server cÆi m truyền th
ng døng sockets.
- Socket: l một cÆnh cổng giữa ến tr nh ứng dụng v giao thức transport end-to-
end.
- C 2 loại socket døng cho 2 dịch vụ transport:
o UDP: chuyển giao datagram kh ng n cậy.
o TCP: chuyển giao datagram n cậy, bytes được định hướng d ng (stream-
oriented)
lOMoARcPSD| 40342981
-
Lập tr nh socket với UDP
- Kh ng bắt tay trước khi gửi dữ liệu.
- BŒn gửi chỉ rõ địa chỉ IP v Port cho mỗi Packet.
- BŒn nhận lấy địa chỉ IP v Port của người gửi trong Packet nhận được.
- Dữ liệu truyền c thể bị mất hoặc không đúng th t. S tương tác Socket
Client/Server: UDP
lOMoARcPSD| 40342981
Downloaded by Mai Nguy?t (nguyetmai131203@gmail.com)
Lập tr nh socket với TCP
- Tiến tr nh client/server phải được chạy trước.
- Server phải tạo socket để đợi client đến liŒn lạc.
- Client tạo socket TCP, xác định địa chỉ IP, số Port của ến tr nh server.
- Thiết lập kết nối client TCP đến server TCP khi client tạo socket.
- Khi server đã ếp xœc với client th server TCP tạo socket mới cho ến
trình server để truyền th ng với client đó.
- Cho phØp server n i chuyện được với nhiều client ph n biệt bằng số Port.
Sự tương tác Socket Client/Server: TCP
| 1/17

Preview text:

lOMoAR cPSD| 40342981 lOMoAR cPSD| 40342981
NHẬP MôN MẠNG MÁY TÍNH
Chương 2: Tầng Application
Các kiến trứcc ứng dụng Client – Server P2P (Peer to peer) Minh Họa Server Luôn hoạt động Địa chỉ IP cố định.
Không c Server luôn luôn hoạt động
Trung t m phục vụ và lưu trữ dữ liệu. Client
Giao tiếp với Server. Kh ng giao
tiếp trực tiếp với cÆc Client CÆc hệ thống đầu cuối giao tiếp trực tiếp khÆc. với nhau. lOMoAR cPSD| 40342981
CÆc Peer được kết nối kh ng liŒn tục v
C thể kết nối kh ng liŒn tục, dùng c thể thay đổi địa chỉ IP. ⇒ Quản l phức địa chỉ IP động. tạp
Clients gửi request v nhận CÆc Peer vừa c thể tiŒu thụ v cung cấp
response từ Server. Giao tiếp với t i nguyŒn cho cÆc peer khÆc ⇒ Khả Clients khÆc qua Server năng mở rộng tốt
CÆc tiến tr nh liŒn lạc
Tiến tr nh (Process):
Là chương trình chạy trong một Host.
- Trong cøng một host, hai tiến tr nh giao tiếp với nhau bằng cÆch sử dụng truyền
th ng liŒn tiến tr nh (inter-process communication) được định nghĩa bởi hệ điều h nh.
- CÆc tiến tr nh trong cÆc host khÆc nhau truyền th ng với nhau bởi trao đổi các
thông điệp (Message). - Clients, Server:
o Tiến tr nh Client: tiến tr nh khởi tạo truyền th ng.
o Tiến tr nh Server: tiến tr nh chờ đợi để được liŒn lạc.
- Chœ : CÆc ứng dụng với kiến trœc P2P c cả tiến tr nh server v client. Sockets
Là điểm truy cập dịch vụ ở tầng giao vận (transport), tương tự như cổng ra v o.
- CÆc tiến tr nh sử dụng socket gọi dịch vụ của tầng giao vận để trao đổi thông điệp. lOMoAR cPSD| 40342981
- Truy cập dịch vụ bằng định danh (identifier) – bao gồm địa chỉ IP v số cổng (Port
numbers) được liŒn kết với tiến tr nh trŒn host.
* Một số Port tầng Application Protocol Port Number Protocol Port Number FTP 20 DNS 53 HTTP 80 SSH 22 HTTPS 443 TFTP 69 SMTP 25 Telnet 23 LPD 515 NFS 2049
CÆc yŒu cầu dịch vụ vận chuyển To n vẹn dữ Time sensitive Ứng dụng Băng thông liệu Truyền file Kh ng Mềm dẻo Kh ng E-mail Kh ng Mềm dẻo Kh ng Web ocuments Kh ng Mềm dẻo Kh ng Audio/video thời Audio: 5kbps – 1Mbps gian thực Chịu mất mÆt Có, 100’s msec Video: 10kbps – 5Mbps Audio/video đã lưu Audio: 5kbps – 1Mbps Chịu mất mÆt C , v i gi y Video: 10kbps – 5Mbps Game tương tác Chịu mất mÆt TrŒn một v i kbps Có, 100’s msec lOMoAR cPSD| 40342981 Text messaging Kh ng Mềm dẻo C v Kh ng
CÆc dịch vụ giao thức Transport Internet Dịch vụ TCP:
- L giao thức điều khiển truyền nhận. Giao thức này đảm bảo sự chuyển giao th
ng tin từ nơi nguồn tới nơi nhận một cÆch an to n, bảo đảm to n vẹn và đúng thứ tự.
- TCP c thể điều tiết được người gửi khi mạng quÆ tải v thiết lập yŒu cầu giữa
tiến tr nh client v server. Dịch vụ UDP:
- L một giao thức cho phØp gửi cÆc g i tin m kh ng cần dựng một kết nối ho n
chỉnh giữa cÆc thiết bị kết nối mạng
- Kh ng hỗ trợ độ tin cậy, điều khiển luồng, điều khiển tắt nghẽn, bảo đảm thông
lượng, bảo mật, v thiết lập kết nối. So sÆnh TCP – UDP:
Giống: TCP và UDP đều l cÆc giao thức được sử dụng để gửi cÆc bit dữ liệu – được gọi l
cÆc g i tin – qua Internet. Cả hai giao thức đều được x y dựng trŒn giao thức IP. KhÆc: TCP UDP
Định hướng kết nối (connection
KØm kết nối hơn (connectionless). Thiết Kế oriented). Độ tin cậy Độ tin cậy cao. Độ tin cậy thấp. Truyền dữ liệu
Gửi g i tin dạng luồng, xử l theo
Dữ liệu không được truyền theo thứ tự g i tin. thứ tự. Hiệu năng
Tốc độ truyền thấp hơn.
Tốc độ truyền cao hơn. Xử l vấn đề về
G i tin c thể được gửi lại nếu cần
Gói tin không được truyền lại g i tin hoặc bị mất. Web v HTTP
HTTP (Hypertext Transfer Protocol) l giao thức web ở tầng Application. lOMoAR cPSD| 40342981 M h nh client/server:
- Client: tr nh duyệt yŒu cầu v nhận (sử dụng giao thức HTTP) ⇒ Hiển thị cÆc Object của Website. lOMoAR cPSD| 40342981 -
Server: Web server gửi (sử dụng giao thức HTTP) cÆc Object đáp ứng yŒu cầu của Client.
- RTT (Round Trip Time): Thời gian để 1 g i tin nhỏ đi từ Client đến Server v quay ngược lại. CÆc kết nối HTTP
HTTP Kh ng Bền Vững HTTP Bền Vững (Nonpersistent HTTP) (Persistent HTTP) -
Chỉ tối đa 1 đối tượng được gửi - Nhiều đối tượng c thể được gửi qua một kết nối TCP
qua kết nối TCP, sau đó kết nối sẽ bị giữa Client v Server. đóng. -
Tải nhiều đối tượng yŒu cầu nhiều kết nối. HTTP/1.0 (RFC 1945) HTTP/1.1 (RFC 2616) Thời gian đáp ứng Thời gian đáp ứng -
Một RTT để khởi tạo kết nối Persistent without Persistent with TCP. pipelining pipelining -
Một RTT cho yŒu cầu HTTP v - Client chỉ gửi request - Client gửi request
vài byte đầu tiŒn của đáp ứng HTTP khi đã nhận được liŒn tục đến các đối tượng được trả về.
request trước. - 1 RTT được quan t m.
cho 1 đối tượng được - C thể 1 RTT cho tất -
Thời gian đáp ứng = 2RTT + thời quan t m.
cả các đối tượng được gian truyền file. quan t m. lOMoAR cPSD| 40342981 Các Phương thức CÆc Phương thức - GET - GET - POST - POST - HEAD - HEAD - PUT - DELETE
HTTP Cookies: lưu trữ trạng thÆi User-server
- C thể được sử dụng cho: o
Sự cấp phØp (authorization). o Giỏ mua h ng
(shopping carts). o CÆc khuyến cÆo (recommendations). o
Trạng thÆi phiŒn l m việc của User (user session state).
CÆc mª trạng thÆi đáp ứng HTTP (HTTP response status codes) Xuất hiện trong
dòng đầu tiên trong thông điệp đáp ứng từ Server. Một v i mª trạng thái thường gặp:
- 200 OK – YŒu cầu thành công, đối tượng được yŒu cầu sau trong thông điệp n y.
- 301 Moved Permanently – Đối tượng được yŒu cầu đã di chuyển, vị tr mới
được xác định sau trong thông điệp n y.
- 304 Not Modified – Đối tượng được yŒu cầu chưa được điều chỉnh (và đã lưu
trong cache), client c thể sử dụng đối tượng được phản hồi trong bộ nhớ cache.
- 400 Bad Request – Thông điệp yŒu cầu không được hiểu bởi Server.
- 404 Not Found – T i liệu được yŒu cầu kh ng t m thấy trŒn server n y.
Web Caches (Proxy Server) Mục tiŒu:
- Đáp ứng yŒu cần của client m kh ng cần liên quan đến server. lOMoAR cPSD| 40342981 -
- Giảm thời gian đáp ứng yŒu cầu + giảm tải cho client.
- Giảm lưu lượng trên đường liŒn kết truy cập ra internet.
Caches dày đặc trŒn Internet ⇒ Nh cung cấp dịch vụ c thể cung cấp nội dung
hiệu quả hơn (chia sẻ file P2P cũng vậy).
HTTP GET có điều kiện (Conditional HTTP)
- Mục tiŒu: Kh ng gửi đối tượng nếu dữ liệu trong web caches đã được cập nhập. o Giảm độ trễ.
o Nhu cầu sử dụng đường link ít hơn.
- Cache: Xác định mốc thời gian lần cuối dữ liệu lưu trong cache lần cuối được
cập nhập trong HTTP request.(If-modified-since)
- Server: Kh ng phải hồi lại dữ liệu được yŒu cầu nếu như dữ liệu đó không có gì
thay đổi kể từ mốc thời gian trong cache n i trŒn.(HTTP 304 Not Modified).
FTP (File Transfer Protocol) – Giao thức truyền file
FTP: Giao thức truyền file đến/từ host từ xa. M h nh Client/Server:
- Client: Ph a khởi tạo truyền (đến/từ host từ xa). - Server: host ở xa.
Kết nối điều khiển: TCP ở port 21, duy tr trong suốt phiŒn l m việc.
Kết nối dữ liệu: TCP ở port 20, kết nối tự động ngắt khi truyền dữ liệu ho n tất.
Email (Thư điện tử) Gồm 3 th nh phần ch nh: lOMoAR cPSD| 40342981 - User Agent: lOMoAR cPSD| 40342981 o
C n gọi là “Mail Reader”. o Soạn thảo, sửa đổi, đọc các thông điệp email. o
VD: Outlook, Thunderbird, iPhone Mail Client,… - Mail Server: o
Hộp thư (Mailbox) chứa thông điệp đến User. o
Hàng thông điệp (Message Queue) của cÆc th ng điệp mail ra ngo i (chuẩn bị gửi).
- SMTP (Simple Mail Transfer Protocol): gửi thư giữa cÆc mail server v giữa user agents v mail server. o RFC 2821.
o TCP, port 25: chuyển thư từ client đến server v cÆc server với nhau.
o Gồm 3 giai đoạn truyền: ▪ Thiết lập kết nối. ▪ Truyền thông điệp. ▪
Đóng kết nối. o Tương tác lệnh/phản hồi: ▪ Lệnh: ASCII ▪
Phản hồi: mª v cụm từ trạng thÆi o Thông điệp phải ở dạng mª ASCII 7 bit.
o Døng kết nối kh ng bền vững.
Downloaded by Mai Nguy?t (nguyetmai131203@gmail.com) lOMoAR cPSD| 40342981 - lOMoAR cPSD| 40342981 - POP3 v IMAP: POP3 IMAP Độ phức tạp Đơn giản hơn Nâng cao hơn Kết nối
Kết nối trên port 110 và máy chủ POP Kết nối trên port 143 và máy chủ có bảo mật SSL kết
IMAP có bảo mật SSL kết nối trŒn nối trên port 995 port 993 Truy cập
Mỗi lần chỉ có thể truy cập từ một Tin nhắn có thể được truy cập trên thiết bị duy nhất nhiều thiết bị Đọc thư
Phải được tải xuống trên hệ thống cục Nội dung thư có thể được đọc một bộ.
phần trước khi tải xuống Chỉnh sửa
Người dùng phải tải về mới có thể Người dùng có thể tạo, xóa hoặc đổi
tạo, xóa hoặc đổi tên email trŒn tên email trên mail server. mail. Chế độ lưu
Có thể tùy chọn giữ lại hoặc xóa thư Mặc định lưu trữ bản sao trên mail trữ
trên hộp thư sau khi tải về. server sau khi tải về. Tải xuống
Tất cả tin nhắn được tải xuống cùng Tiêu đề tin nhắn có thể được xem một lúc trước khi tải xuống. Phạm
vi Có thể hoạt động không cần kết nối Cần kết nối internet để hoạt động hoạt động Internet. Tốc độ Nhanh hơn Chậm hơn CÆc ứng dụng P2P BitTorrent CÆc khÆi niệm:
- BitTorrrent l một giao thức P2P phổ biến trong việc ph n tÆn tập tin.
- Torrent l tập hợp tất cả cÆc Peers tham gia v o việc ph n tÆn một tập tin cụ thể.
Tracker l một máy tính trung tâm đóng vai trò quản l giœp 1 Peer kết nối với
nhiều “Peer lÆng giềng” khác để trao đổi dữ liệu.
- Tập tin cần ph n tÆn sẽ được tÆch th nh nhiều đoạn tập tin c kích thước bằng
nhau, thông thường l 256KB. lOMoAR cPSD| 40342981 -
- CÆc Peers vừa lấy, vừa gửi các đoạn tập tin tới Peers khÆc. NguyŒn l hoạt động:
- Giả sử, ta c Alice đang có nhu cầu tải 1 tập tin bất k c dung lượng khÆ lớn.
- Lœc n y, Alice được xem như là 1 peer mới tham gia v o torrent và chưa có đoạn tập tin n o.
- MÆy của Alice sẽ đăng ký với Tracker v Tracker sẽ ngẫu nhiŒn chọn 1 tập hợp
các máy ngang hàng đang tham gia vào torrent trước đó và gửi địa chỉ IP của
các Peers này đến cho Alice.
- Alice thiết lập kết nối TCP song song tới cÆc mÆy t nh n y, gọi chúng là các “Peers
láng giềng”. Ở h nh minh họa trŒn th Alice kết nối với 3 Peers khÆc.
Mỗi chu k thời gian, Alice sẽ dựa vào danh sách đoạn tập tin hiện tại của m nh
m yŒu cầu tới cÆc Peers lÆng giềng.
- Trong quÆ tr nh yŒu cầu, Alice sẽ ưu tiên chọn các đoạn tập tin hiếm nhất, có
nghĩa là các đoạn tập tin c bản sao lặp lại t nhất trong số cÆc lÆng giềng, v tiến
h nh yŒu cầu các đoạn tập tin này trước.
- Về việc gửi khối dữ liệu, cứ mỗi 10 gi y, Alice sẽ đánh giá các Peers lÆng giềng
theo tỉ lệ người gửi cho c với tốc độ nhanh nhất theo top 4. V 4 mÆy ngang h
ng sẽ được gọi l kh ng nghẽn dữ liệu (unchoked). lOMoAR cPSD| 40342981 -
- V mỗi 30 giây, Alice cũng chọn thŒm 1 mÆy ngang h ng mới v bắt đầu giao dịch.
Giả sử máy được chọn l Bob. Nếu tỉ lệ tốc độ Bob gửi đến Alice là đủ cao th kế
đó Bob có thể trở th nh 1 trong 4 mÆy tải dữ liệu của Alice. Và Alice cũng có thể
trở th nh 1 trong 4 mÆy tải dữ liệu của Bob.
- V cứ thế Alice v 4 mÆy tải dữ liệu ngang h ng tiếp tục giao dịch với nhau cho
đến khi một bŒn t m thấy một đối tÆc tốt hơn.
Tất cả cÆc mÆy ngang h ng khÆc ngo i 5 mÆy n y (4 mÆy tải dữ liệu và 1 máy
thăm dò) được gọi l tắc nghẽn (choked), nghĩa là chœng sẽ kh ng nhận bất k tập tin n o từ Alice. Lập tr nh Socket
- Mục tiŒu: T m hiểu cÆch x y dựng cÆc ứng dụng client/server cÆi m truyền th ng døng sockets.
- Socket: l một cÆnh cổng giữa tiến tr nh ứng dụng v giao thức transport end-to- end.
- C 2 loại socket døng cho 2 dịch vụ transport:
o UDP: chuyển giao datagram kh ng tin cậy.
o TCP: chuyển giao datagram tin cậy, bytes được định hướng d ng (stream- oriented) lOMoAR cPSD| 40342981 -
Lập tr nh socket với UDP
- Kh ng bắt tay trước khi gửi dữ liệu.
- BŒn gửi chỉ rõ địa chỉ IP v Port cho mỗi Packet.
- BŒn nhận lấy địa chỉ IP v Port của người gửi trong Packet nhận được.
- Dữ liệu truyền c thể bị mất hoặc không đúng thứ tự. Sự tương tác Socket Client/Server: UDP lOMoAR cPSD| 40342981
Lập tr nh socket với TCP
- Tiến tr nh client/server phải được chạy trước.
- Server phải tạo socket để đợi client đến liŒn lạc.
- Client tạo socket TCP, xác định địa chỉ IP, số Port của tiến tr nh server.
- Thiết lập kết nối client TCP đến server TCP khi client tạo socket.
- Khi server đã tiếp xœc với client th server TCP tạo socket mới cho tiến
trình server để truyền th ng với client đó.
- Cho phØp server n i chuyện được với nhiều client ph n biệt bằng số Port.
Sự tương tác Socket Client/Server: TCP
Downloaded by Mai Nguy?t (nguyetmai131203@gmail.com)