Bittorrent không giúp người dùng giấu tên.
Càng nhiều user thì càng nhiều băng thông cho việc chia sẻ tệp.
– Sau khi hoàn thành tải về tệp thì nên để tài nguyên đấy tải lên một thời gian
để những người dùng khác tải về các phần của tài nguyên đã phân phối.
BitTorrent theo dõi dung lượng mà user tải lên và tải về, user biết được mình
đã “lấy” bao nhiêu và “trả” bao nhiêu cho mạng chia sẻ.
– Quy tắc ứng xử lịch sự là đã tải về bao nhiêu tài nguyên thì nên tải lên bấy
nhiêu tài nguyên
– User nào có tỉ lệ chia sẻ dưới giá trị tối tiểu (nhận nhiều nhưng chia sẻ ít) có
thể bị đặt trong tình trạng "chỉ tải lên", và không thể tải về cho đến khi tỉ lệ chia
sẻ lớn hơn giá trị tối thiểu.
– Tài nguyên bao giờ cũng có người tải lên đầu tiên, người tải lên đầu tiên này
sẽ có tỷ lệ chia sẻ là unlimited (chỉ có tải lên, không có tải xuống)
44 trang |
Chia sẻ: thucuc2301 | Lượt xem: 893 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Giáo trình Mạng máy tính - Chương 2: Tầng ứng dụng - Trần Quang Hải Bằng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
MẠNG MÁY TÍNH
Chương 2:
Tầng ứng dụng
bangtqh@utc2.edu.vn
Mục tiêu
Các khía cạnh thuộc
khái niệm và hiện
thực của các giao
thức ứng dụng mạng
– Mô hình dịch vụ tầng
ứng dụng
Học về các giao thức
bằng cách xem xét các
giao thức tầng ứng
dụng phổ biến
–HTTP
–FTP
bangtqh@utc2.edu.vn
– Mô hình khách-chủ
– Mô hình ngang hàng
một-một
–SMTP / POP3 / IMAP
– DNS
Lập trình ứng dụng
mạng
–Socket API
–Socket = hốc kết nối ?
Mạng máy tính - Chương 2 2
Nội dung
1. Các nguyên lý của tầng ứng dụng
2. Web và HTTP
3. FTP
4. Thư điện tử - SMTP, POP3, IMAP
bangtqh@utc2.edu.vn
5. DNS
6. Ứng dụng P2P
Mạng máy tính - Chương 2 3
Ví dụ về ứng dụng mạng
e-mail
web
Text messaging
remote login
P2P file sharing
voice over IP (e.g.,
Skype)
Real-time video
conferencing
Social networking
bangtqh@utc2.edu.vn
multi-user network
games
streaming stored
video (YouTube,
Hulu, Netflix)
Search
.....
Mạng máy tính - Chương 2 4
Tạo ra một ứng dụng mạng
Viết chương trình
– Chạy trên những hệ thống khác
nhau
– Liên lạc thông qua mạng
– Ví dụ: phần mềm máy chủ web
giao tiếp với phần mềm trình
duyệt web
application
transport
network
data link
physical
bangtqh@utc2.edu.vn
Không cần thiết viết phần mềm
cho các thiết bị mạng
– Thiết bị mạng không chạy
những ứng dụng dành cho
người dùng
– Phần mềm trên các thiết bị
mạng được chuyên biệt hóa cao
Mạng máy tính - Chương 2
application
transport
network
data link
physical
application
transport
network
data link
physical
5
2.1. Các nguyên lý tầng ứng dụng
Kiến trúc ứng dụng mạng
– Client – Server
– Peer – to – Peer (P2P)
– Lai giữa P2P và Client-Server
bangtqh@utc2.edu.vn Mạng máy tính - Chương 2 6
2.1. Các nguyên lý tầng ứng dụng (tt)
Kiến trúc Client-Server
Server (Máy chủ):
Hoạt động 24/7
Địa chỉ IP cố định
Hệ thống máy chủ cho việc mở
rộng
bangtqh@utc2.edu.vn Mạng máy tính - Chương 2
Client (Máy khách):
Giao tiếp với máy chủ
Có thể kết nối không liên tục
Có thể có địa chỉ IP động
Không kết nối trực tiếp với
người dùng khác
7
2.1. Các nguyên lý tầng ứng dụng (tt)
Kiến trúc P2P
– Không có máy chủ
– Các máy đầu cuối liên lạc
trực tiếp với nhau
– Các bên thực hiện kết nối
không liên tục có thể có
bangtqh@utc2.edu.vn
địa chỉ IP động
• Quản lý phức tạp
Mạng máy tính - Chương 2 8
2.1. Các nguyên lý tầng ứng dụng (tt)
Kiến trúc lai giữa P2P và Client-Server
– Skype, Zalo
• Điện thoại – IP: ứng dụng P2P
• Máy chủ tập trung quảng lý địa chỉ các bên tham gia
• Kết nối khách-khách: trực tiếp (không thông qua máy
chủ)
bangtqh@utc2.edu.vn
– Nhắn tin trực tiếp
• Hai người dùng chat với nhau bằng P2P
• Máy chủ đảm bảo: quản lý người dùng
– Mgười dùng đăng kí địa chỉ IP với máy chủ khi họ đăng
nhập
– Máy chủ cung cấp danh sách bạn bè đang trên mạng
– Mgười dùng hỏi máy chủ để có địa chỉ IP của bạn
Mạng máy tính - Chương 2 9
Liên lạc giữa các tiến trình
Tiến trình (process):
– Chương trình chạy trên 1 máy
Trên 1 máy 2 tiến trình khác
nhau liên lạc với nhau bằng
cách sử dụng giao tiếp liên tiến
trình(inter-process
communication) do OS quy định
Tiến trình trên client:
Bắt đầu quá trình kết
nối
Tiến trình trên server:
Chờ client kết nối tới
bangtqh@utc2.edu.vn
Các tiến trình trên các máy khác
nhau liên lạc với nhau thông qua
việc trao đổi các thông điệp
(message)
Mạng máy tính - Chương 2
Các ứng dụng P2P có
cả tiến trình khách và
tiến trình chủ
10
Socket – hốc kết nối
Các tiến trình gửi/nhận thông điệp qua socket
Socket tương tự như cánh cửa
– Tiến trình gửi đẩy message ra ngoài cánh cửa
– Tiến trình gửi phụ thuộc vào hạ tầng truyền tải phía bên
kia của cánh cửa để mang thông điệp tới socket của
tiến trình nhận
bangtqh@utc2.edu.vn Mạng máy tính - Chương 2
Internet
transport
application
physical
link
network
process
transport
application
physical
link
network
process
socket Điều khiển bởi
lập trình viên
ứng dụng
Điều khiển bởi
Hệ điều hành
11
Quá trình đánh địa chỉ
Để nhận được các
message, tiến trình phải có
ký hiệu nhận dạng
Mỗi máy tính tham gia vào
mạng có 1 địa chỉ IP duy
nhất
Ký hiệu nhận dạng bao gồm
địa chỉ IP và số hiệu cổng
(port) tương ứng với mỗi
tiến trình trên máy
Ví dụ về port:
– Máy chủ HTTP: 80
bangtqh@utc2.edu.vn
Hỏi: Địa chỉ IP có thể đùng
để định danh các tiến trình
không?
– Đáp: Không! Một máy có thể
có nhiều tiến trình
– Máy chủ Mail: 25
Để gửi thông điệp HTTP
tới trang web utc2.edu.vn
– địa chỉ IP: 128.119.245.12
– cổng: 80
Mạng máy tính - Chương 2 12
2.1. Các nguyên lý tầng ứng dụng (tt)
Giao thức tầng ứng dụng
quy địnhv
– Loại thông điệp được trao đổi
• Truy vấn, phản hồi
– Cú pháp của thông điệp
• Có những trường hợp nào của
thông điệp & Chúng được trình
Các giao thức công
khai
– Định nghĩa trong
các bản RFC
– Cho phép tương
tác qua lại
bangtqh@utc2.edu.vn
bày ntn?
– Ngữ nghĩa của thông điệp
• Ý nghĩa các trường thông tin có
trong thông điệp
– Quy tắc về thời điểm và cách
thức các tiến trình gửi/nhận
các thông điệp
Các giao thức sở
hữu
– Vd: Skype, Zalo
Mạng máy tính - Chương 2 13
Các ứng dụng yêu cầu gì ở tầng truyền tải?
Mất mát dữ liệu
Một số ứng dụng yêu cầu
dữ liệu gửi/nhận phải chính
xác 100% (không mất mát)
Một số ứng dụng khác lại
có chấp nhật mất mát ở 1 tỷ
lệ nhất định
Thông lượng
Một số ứng dụng yêu
cầu một thông lượng tối
thiểu để làm việc hiệu
quả
Số khác lại tận dụng mọi
thông lượng mà nó có
bangtqh@utc2.edu.vn Mạng máy tính - Chương 2
Độ trễ
Một số ứng dụng (vd:
Điện thoại, trò chơiv)
yêu cầu độ trễ thấp
thể sử dụng
Bảo mật
Mã hóa, toàn vẹn dữ
liệu, v
14
Ứng dụng yêu cầu gì ở tầng truyền tải?
Yêu cầu của một số ứng dụng phổ biến
bangtqh@utc2.edu.vn Mạng máy tính - Chương 2 15
Các dịch vụ tầng truyển tải
TCP
– Hướng kết nối: Yêu cầu tạo
kết nối giữa khách / chủ
– Truyền tải tin cậy: đảm bảo
dữ liệu truyền tải đúng và đủ
– Kiểm soát lưu lượng: Bên
gửi chỉ gửi số lượng phù
UDP
– Truyền tải dữ liệu
không tin cậy (có thể
mất dữ liệu)
– Không cung cấp:
• Thiết lập kết nối
bangtqh@utc2.edu.vn
hợp với khả năng xử lý của
bên nhận
– Kiểm soát tắc nghẽn: Giảm
tốc độ gửi khi mang bị quá
tải
– Không đảm bảo: độ trễ,
thông lượng tối thiểu, bảo
mật
• Kiểm soát lưu lượng
• Kiểm soát tắc nghẽn,
độ trễ, thông lượng tối
thiểu
• Bảo mật
Mạng máy tính - Chương 2
Hỏi: Tại sao cần có UDP ?
16
Ứ/D Internet và giao thức tầng truyền tải
Application
e-mail
remote terminal access
Web
application
layer protocol
SMTP [RFC 2821]
Telnet [RFC 854]
HTTP [RFC 2616]
underlying
transport protocol
TCP
TCP
TCP
bangtqh@utc2.edu.vn Mạng máy tính - Chương 2
file transfer
streaming multimedia
Internet telephony
FTP [RFC 959]
HTTP (e.g., YouTube),
RTP [RFC 1889]
SIP, RTP, proprietary
(e.g., Skype)
TCP
TCP or UDP
TCP or UDP
17
TCP/UDP có an toàn?
TCP/UDP
– Không mã hóa
– Dữ liện thô từ socket truyền vào môi trường Internet
SSL (Secure Socket Layer)
– Mã hóa dữ liệu kết nối
– Đảm bảo an toàn dữ liệu
bangtqh@utc2.edu.vn
– Xác thực tại đầu cuối
Triển khai SSL
– Applications sử dụng SSL API để “trao đổi” với TCP
– Sử dụng SSL Socket API: Ứng dụng “trao đổi” plan-text với
Socket nhưng trước khi gửi vào môi trường internet SSL
Socket sẽ mã hóa dữ liệu.
Mạng máy tính - Chương 2 18
Nội dung
1. Các nguyên lý của tầng ứng dụng
2. Web và HTTP
3. FTP
4. Thư điện tử - SMTP, POP3, IMAP
bangtqh@utc2.edu.vn
5. DNS
6. Ứng dụng P2P
Mạng máy tính - Chương 2 19
2.2. Web và HTTP
Khái niệm cơ bản
Một trang web chứa nhiều đối tượng
Một đối tượng có thể là tập tin HTML, ảnh JPEG, tệp âm
thanh,v
Trang web ~ tập tin HTML chính, trong tập tin này sẽ chỉ
bangtqh@utc2.edu.vn
dẫn tham chiếu tới các đối tượng khác trên trang.
Mối đối tượng được tham chiếu quá URL – Unified
Resource Locator (định vị tài nguyên thống nhất)
Ví dụ URL:
Mạng máy tính - Chương 2
www.someschool.edu/someDept/pic.gif
host name path name
20
2.2. Web và HTTP
Tóm tắt HTTP – Hypertext
Transfer Protocol
Là giao thức ứng dụng web
Hoạt động theo mô hình
Client-Server
– Client: Chạy các trình duyệt
PC running
Firefox browser
bangtqh@utc2.edu.vn
web có nhiệm vụ gửi yêu cầu,
nhận và trình bày các đối
tượng trong 1 trang web
– Server: Tổng hợp, gửi các đối
tượng theo yêu cầu từ phía
clien
Mạng máy tính - Chương 2
server
running
Apache Web
server
iphone running
Safari browser
21
Tóm tắt HTTP (tt)
Sử dụng kết nối TCP
ở tầng truyền tải
– Client khởi tạo kết nối
TCP (tạo socket) tới
máy chủ (cổng 80)
– Server chấp nhận kết
HTTP là giao thức
không lưu giữ trạng
thái (stateless)
– Server không lưu
thông tin nào về người
dùng
Hơn nữa
bangtqh@utc2.edu.vn
nối TCP từ Client
– Thông điệp HTTP
(giao thức tầng ứng
dụng) được trao đổi
giữa web-browser và
web-server
– Đóng kết nối TCP
Mạng máy tính - Chương 2
Những giao thức có lưu lại
trạng thái khá phức tạp
Lịch sử truy vấn (trạng thái)
phải được lưu giữ
Trường hợp máy chủ/máy
khách bị hỏng hoặc đứt kết
nối thì trạng thái của 2 máy
phải “cân chỉnh” lại cho
thống nhất
22
Các loại HTTP
non-persistent HTTP
– Mỗi đối tượng được
gửi thông qua 1 phiên
kết nối giữa Client và
Web-Server
Persistent – HTTP
– Nhiều đối tượng được
truyền qua 1 phiên kết
nối giữa client và web-
server
bangtqh@utc2.edu.vn Mạng máy tính - Chương 2 23
Non-persistent HTTP
Giả sử người dùng yêu cầu URL sau:
1a. Client khởi tạo kết nối TCP tới
máy chủ HTTP (tiến trình) tại
www.someSchool.edu ở cổng 80
1b. Máy chủ HTTP tại
www.someSchool.edu chờ kết
nối TCP tại cổng 80. “chấp
nhận” kết nối và báo lại cho
(Chứa text tham
chiếu tới 10 ảnh
jpeg)
www.someSchool.edu/someDepartment/home.index
bangtqh@utc2.edu.vn Mạng máy tính - Chương 2
2. Client gửi request message
(chứa URL) vào hốc kết nối
TCP. Message này chỉ ra client
muốn có đối tượng
“someDepartment/home.index”
client
3. Máy chủ HTTP server nhận được
thông điệp truy vấn, tạo ra một
response message chứa đối tượng
được yêu cầu, và gửi thông điệp
vào hốc kết nối
time
24
Non-persistent HTTP (tt)
5. Client nhận được thông điệp
phản hồi chứa tệp html, hiển thị
html. Phân tích tệp html tìm ra
10 liên kết tới các đối tượng
jpeg
4. máy chủ HTTP đóng kết nối
TCP.
bangtqh@utc2.edu.vn Mạng máy tính - Chương 2
6. các bước 1-5 lặp lại cho mỗi
trong 10 đối tượng jpeg
time
25
Non-persistent HTTP: Thời gian phản hồi
Thời gian xoay vòng – RTT:
– RTT = Round Trip Time
– là thời gian cần để một gói
tin di chuyển từ khách tới
chủ và quay trở lại
Thời gian phản hồi:
initiate TCP
connection
RTT
request
bangtqh@utc2.edu.vn
– Một RTT để khởi tạo kết nối
TCP
– Một RTT để gửi truy vấn
HTTP và vài byte đầu của
response mesage nhận lại
– thời gian truyền tải tệp
tổng = 2RTT+ t/g truyền tải
Mạng máy tính - Chương 2
time to
transmit
file
file
RTT
file
received
time time
26
persistent HTTP
Những vấn đề của
non-persistent HTTP :
– Yêu cầu 2 RTT cho
mỗi đối tượng
– Hệ điều hành (HĐH –
OS) tăng tải cho mỗi
Persistent HTTP
– Máy chủ giữ lại liên kết
sau khi gửi phản hồi, gọi
là liên kết mở
– Những thông điệp HTTP
tiếp theo giữa cặp
khách/chủ đó sẽ được
gửi qua liên kết mở ở
bangtqh@utc2.edu.vn
kết nối TCP
– Trình duyệt thường
mở nhiều kết nối TCP
song song để tải
những đối tượng liên
kết
trên
– Client gửi truy vấn ngay
khi nó gặp phải một liên
kết tới đối tượng
– Chỉ cần 1 RTT cho tất cả
các đối tượng được liên
kết tới
Mạng máy tính - Chương 2 27
HTTP request message
HTTP có 2 loại message
– Truy vấn: request message từ client → webserver
– Phản hồi: response message từ webserver → client
Request message
Dòng truy vấn
(các lệnh GET,
Ký hiệu về đầu dòng (carry-return
line-feed ký tự kết thúc dòng
bangtqh@utc2.edu.vn Mạng máy tính - Chương 2
POST,
HEAD)
Các dòng mào
đầu
Xuống dòng báo
hiệu kết thúc
thông điệp
GET /index.html HTTP/1.1\r\n
Host: www-net.cs.umass.edu\r\n
User-Agent: Firefox/3.6.10\r\n
Accept: text/html,application/xhtml+xml\r\n
Accept-Language: en-us,en;q=0.5\r\n
Accept-Encoding: gzip,deflate\r\n
Accept-Charset: ISO-8859-1,utf-8;q=0.7\r\n
Keep-Alive: 115\r\n
Connection: keep-alive\r\n
\r\n
28
HTTP request message (tt)
request
line
header
lines
method sp sp cr lfversionURL
cr lfvalueheader field name
~~ ~~
bangtqh@utc2.edu.vn Mạng máy tính - Chương 2
body
cr lfvalueheader field name
cr lf
entity body~~ ~~
29
HTTP request message (tt)
Tải dữ liệu từ form-input phía Client
Phương pháp POST
– Trang web thường có những form điền dữ liệu
– Dữ liệu từ của các ô input này được đính vào phần
thân (entity body) của thông điệp request
bangtqh@utc2.edu.vn
Phương pháp GET
– sử dụng phương pháp GET
– Dữ liệu vào được tải lên trực tiếp trong các trường của
URL của dòng truy vấn
Mạng máy tính - Chương 2 30
HTTP request message (tt)
HTTP/1.0
GET
POST
HEAD
HTTP/1.1
GET, POST, HEAD
PUT
– Tải tệp tin trong phần
thân (entity body) lên
Các phương pháp tải dữ liệu lên
bangtqh@utc2.edu.vn
– Đòi hỏi máy chủ đặt
đối tượng được yêu
cầu nằm ngoài thông
điệp phản hồi
đường dẫn được nêu
trong URL
DELETE
– Xóa tệp được nêu
trong URL
Mạng máy tính - Chương 2 31
HTTP response-message
dòng trạng
thái (giao thức
mã trạng thái
câu trạng thái)
header
HTTP/1.1 200 OK\r\n
Date: Sun, 26 Sep 2010 20:09:20 GMT\r\n
Server: Apache/2.0.52 (CentOS)\r\n
Last-Modified: Tue, 30 Oct 2007 17:00:02
GMT\r\n
ETag: "17dc6-a5c-bf716880"\r\n
Accept-Ranges: bytes\r\n
bangtqh@utc2.edu.vn Mạng máy tính - Chương 2
lines
Dữ liệu, vd:
tệp HTML
được yêu cầu
Content-Length: 2652\r\n
Keep-Alive: timeout=10, max=100\r\n
Connection: Keep-Alive\r\n
Content-Type: text/html; charset=ISO-8859-
1\r\n
\r\n
data data data data data ...
32
HTTP response-message (tt)
Các mã trạng thái (một vài ví dụ)
200 - OK
• Truy vấn thành công, đối tượng theo sau trong thông
điệp này
301 - Moved permanently
• Đối tượng truy vấn đã được di chuyển, vị trí mới kèm
bangtqh@utc2.edu.vn
theo sau trong thông điệp này (Location:)
400 - Bad Request
• máy chủ không hiểu thông điệp truy vấn
404 - Not Found
• tài liệu yêu cầu không tìm thấy trên máy chủ này
505 - HTTP Version Not Supported
• Phiên bản HTTP không được hỗ trợ
Mạng máy tính - Chương 2 33
Thử nghiệm HTTP trên client
1. Telnet to your favorite Web server:
Mở kết nối TCP tới cổng 80 (cổng mặc định
của máy chủ Web) tại utc.edu.vn
Mọi thứ client gõ từ bàn phím được gửi tới
cổng 80 tại utc.edu.vn
telnet utc.edu.vn 80
bangtqh@utc2.edu.vn Mạng máy tính - Chương 2
2. Type in a GET HTTP request:
GET /~ross/ HTTP/1.1
Host: cis.poly.edu
Bằng cách này (nhấn Enter 2 lần), ta
gửi 1 truy vấn GET tối thiểu (nhưng
đầy đủ) tới máy chủ HTTP
3. Kiểm tra thông điệp phản hồi mà máy chủ gửi lại
34
Cookies: Trạng thái người dùng/máy chủ
Nhiều trang web lớn sử dụng
cookies
Bốn thành phần:
1) dòng mào đầu cookie của
thông điệp phản hồi HTTP
2) dòng mào đầu cookie của
thông điệp truy vấn HTTP
Ví dụ:
Bờm luôn luôn truy cập
Internet từ máy tính cá nhân
đầu tiên, Bờm lướt một trang
thương mại điện tử
khi HTTP request đầu tiên
bangtqh@utc2.edu.vn
3) tệp tin cookie được lưu
trên máy người dùng và
quản lý bởi trình duyệt
4) thông tin về phiên làm việc
của người dùng đồng thời
được lưu tại CSDL của
trang web
đến trang web, trang web sẽ
tạo ra:
– số định danh (ID) độc nhất
– một thẻ ghi trong CSDL cho ID
đó
Mạng máy tính - Chương 2 35
Cookies: duy trì “trạng thái”
client server
cookie file
ebay 8734
http request message Amazon server
Tạo ra ID
1678 cho ng/d Tạo
mục
http response
set-cookie: 1678
ebay 8734
amazon 1678
bangtqh@utc2.edu.vn Mạng máy tính - Chương 2
http response msg
http response msg
1 tuần sau:
http request msg
cookie: 1678 Hành vi
khi có
cookies
Truy
xuất
http request msg
cookie: 1678 Hành vi
khi có
cookies
Truy
xuất
ebay 8734
amazon 1678
Máy chủ
CSDL
36
Cookies (tt)
Cookies có thể chứa gì?
– thông tin ủy quyền
– giỏ mua sắm trực tuyến
– trạng thái phiên làm việc
người dùng (Web e-mail)
cookies và sự riêng tư
cookies cho phép trang
web tìm hiểu nhiều
thông tin về bạn
bạn có thể cung cấp tên
Hiệu ứng
bangtqh@utc2.edu.vn
Làm sao duy trì trạng thái ?
– các đầu cuối: lưu trạng
thái ở ng/gửi, ng/nhận qua
những giao dịch
– cookies: các th/điệp http
mang các t/tin trạng thái
Mạng máy tính - Chương 2
và email cho các web
37
Bộ nhớ đệm web (web proxy)
Mục đích: đáp ứng yêu cầu của người dùng mà không
cần máy chủ gốc
client
proxy
server
origin
server
Thiết lập trình duyệt: truy cập
web qua proxy
Trình duyệt gửi toàn bột truy
vấn HTTP tới proxy server
bangtqh@utc2.edu.vn Mạng máy tính - Chương 2
client origin
server
Đối tượng có trong proxy
proxy sẽ gửi trả đối
tượng cho client
Ngược lại proxy sẽ
truy vấn đối tượng từ
máy chủ gốc, sau đó gửi
lại cho người dùng, đồng
thời lưu lại trong proxy
38
Web-proxy (tt)
Web-proxy làm việc vừa
như client vừa như
server
Thường được cài đặt bởi
nhà cung cấp dịch vụ (Cơ
Tại sao cần có web-
proxy?
– Giảm thời gian phản
hồi cho truy vấn
– Giảm lưu lượng
đường kết nối “ra
bangtqh@utc2.edu.vn
quan, trường học...v.v.)
ngoài” của cơ quan
– Cho phép nhà cung
cấp dịch vụ tăng thêm
nội dung cung cấp cho
người dùng
Mạng máy tính - Chương 2 39
Ví dụ: hiện thực web-proxy
Giả sử:
– kích thước trung bình của đối
tượng = 100,000 bit
– tần số t/bình của truy vấn từ
trình duyệt của cơ quan tới
máy chủ gốc = 15 lần/s
– độ trễ RTT từ proxy cơ quan tới
bất kì máy chủ gốc nào = 2 s
origin
servers
Internet
bangtqh@utc2.edu.vn
Kết quả
– h/suất sử dụng LAN = 15%
– h/suất sử dụng trên đường truy
cập = 100%
– độ trễ tổng = độ trễ Internet +
độ trễ truy cập + độ trễ LAN
= 2 s + vài phút + vài ms
Mạng máy tính - Chương 2
Mạng cơ quan
1 Gbps LAN
1.54 Mbps
Đường truy cập
40
Ví dụ: hiện thực web-proxy (tt)
Giải pháp
– Tăng băng thông của đường
truy cập lên khoảng 10 Mbps
Kết quả
– h/suất sử dụng LAN = 15%
origin
servers
Internet
bangtqh@utc2.edu.vn
– h/suất sử dụng đường truy
cập = 15%
– độ trễ tổng = độ trễ Internet +
độ trễ truy cập + độ trễ LAN
= 2 s + ms + ms
rất tốn kém khi nâng cấp
Mạng máy tính - Chương 2
1 Gbps LAN
10 Mbps
Đường truy cập
41
Ví dụ: hiện thực web-proxy (tt)
Giải pháp – cài đặt proxy
– giả sử tần xuất truy cập thành
công dữ liệu có sẵn trên proxy là
0.4
Kết quả
– 40% truy vấn sẽ được đáp ứng
ngay lập tức bởi proxy
origin
servers
Internet
bangtqh@utc2.edu.vn
– 60% truy vấn sẽ được đáp ứng
bởi máy chủ gốc
– Hiệu suất sử dụng đường kết nối
giảm xuống còn 60%, kéo theo độ
trễ không đáng kể (khoảng 10
msec)
– tổng độ trễ tối đa = độ trễ Internet
+ độ trễ truy cập + độ trễ LAN
= .6*(2.01) secs + msec < 1.4 secs
Mạng máy tính - Chương 2
1 Gbps LAN
10 Mbps
Đường truy cập
42
GET có điều kiện
Mục đích: Không gửi đối
tượng nếu bộ nhớ đệm đã
có bản cập nhật mới nhất
của nó.
– BNĐ: chỉ rõ thời gian
của bản lưu bnđ trong
truy vấn HTTP
If-modified-since:
HTTP request msg
If-modified-since:
HTTP response
HTTP/1.0
Đối tượng
không thay
đổi từ
client server
bangtqh@utc2.edu.vn
– máy chủ: phản hồi sẽ
không gửi lại đối
tượng được yêu cầu
nếu bản lưu là bản cập
nhật mới nhất:
HTTP/1.0 304 Not
Modified
Mạng máy tính - Chương 2
304 Not Modified
HTTP request msg
If-modified-since:
HTTP response
HTTP/1.0 200 OK
Đối tượng
đã thay
đổi từ
43
2.3. Giao thức FTP
Truyền tải tệp tin đến/từ máy ở xa
file transfer
FTP
server
FTP
user
interface
FTP
client
local file
system
remote file
system
user
at host
bangtqh@utc2.edu.vn
Mô hình khách/chủ
– Khách: là phía bắt đầu quá trình truyền tải
– Chủ: máy ở xa
– FTP: mô tả trong RFC 959
– Máy chủ ftp: cổng 21
Mạng máy tính - Chương 2 44
FTP: điều khiển riêng biệt, kết nối dữ liệu
Khách FTP kết nối tới máy
chủ FTP tại cổng 21, giao
thức truyền tải là TCP
khách được kiểm tra danh
tính thông qua kết nối điều
khiển
khách duyệt các thư mục
trên máy từ xa bằng cách
Chủ mở một kết nối TCP dữ
liệu khác để truyền tải một
FTP
client
FTP
server
TCP control connection,
server port 21
TCP data connection,
server port 20
bangtqh@utc2.edu.vn
gửi các câu lệnh thông qua
kết nối điều khiển.
khi chủ nhận được câu lệnh
truyền tải tệp, chủ mở kết
nối TCP thứ 2 tới khách
sau khi truyền tải xong 1
tệp, chủ đóng kết nối dữ
liệu.
tệp khác.
điều khiển kết nối: “ngoại
tuyến” (out of band)
máy chủ FTP lưu lại “trạng
thái”: thư mục hiện tại,
thông tin về danh tính
Mạng máy tính - Chương 2 45
Câu lệnh và phản hồi FTP
Ví dụ câu lệnh:
gửi đi dưới dạng văn bản
ASCII qua kết nối điều
khiển
USER tên_người_dùng
PASS mật_khẩu
Ví dụ mã trả về
mã trạng thái và mô
tả (như trong HTTP)
331 Username OK,
password required
bangtqh@utc2.edu.vn
LIST liệt kê danh sách
các tệp trong thư mục
hiện tại
RETR tên_tệp tải tệp tin
về
STOR tên_tệp tải tệp
tin lên máy từ xa
125 data connection
already open; transfer
starting
425 Can’t open data
connection
452 Error writing file
Mạng máy tính - Chương 2 46
2.4. Thư điện tử (email)
Ba thành phần chính
công cụ quản lý thư người
dùng (user agent – UA)
máy chủ thư
giao thức truyền tải thư đơn
giản: SMTP
hòm thư của user
Hàng đợi thư đi
mail
mail
server
SMTP
user
agent
user
agent
user
bangtqh@utc2.edu.vn
Công cụ quản lý thư của user
soạn thảo, sửa chữa, đọc thư
vd: Outlook, Thunderbird,
iPhone mail client
thư đi và thư đến được lưu
trên máy chủ
Mạng máy tính - Chương 2
server
mail
server
SMTP
SMTP
agent
user
agent
user
agent
user
agent
47
Máy chủ thư (mail servers)
Máy chủ thư
– Hộp thư chứa thư đến
của người dùng
– hàng đợi thông điệp
của thư đi
– giao thức SMTP giữa
mail
server
mail
server
SMTP
SMTP
user
agent
user
agent
user
agent
bangtqh@utc2.edu.vn
các máy chủ trao đổi
thư cho nhau
• Client: là máy chủ gửi
thư
• Server: là máy chủ
nhận thư
Mạng máy tính - Chương 2
mail
server
SMTP user
agent
user
agent
user
agent
48
Thư điện tử: SMTP [RFC 2821]
Sử dụng TCP để gửi thư giữa khách và chủ, cổng 25
Vận chuyển trực tiếp: từ máy chủ gửi và máy chủ
nhận
Quá trình vận chuyển gồm 3 pha:
– bắt tay (chào hỏi)
– trao đổi thông điệp
bangtqh@utc2.edu.vn
– kết thúc
Tương tác câu lệnh/phản hồi
– câu lệnh: văn bản ASCII
– phản hồi: mã trạng thái và mô tả
Thông điệp phải có định dạng 7-bit ASCII
Mạng máy tính - Chương 2 49
Kịch bản: Alice gửi thông điệp Bob
1) Alice sử dụng UA để
soạn thư và gửi tới
bob@someschool.edu
2) UA của Alice gửi thông
điệp tới máy chủ thư
của cô ta; thư được đặt
trong hàng đợi
3) phía khách của SMTP
4) khách SMTP gửi thư
của Alice qua kết nối
TCP
5) máy chủ thư của Bob
đặt thư vào hộp thư
của Bob
bangtqh@utc2.edu.vn
mở kết nối TCP tới máy
chủ thư của Bob
6) Bob bật UA của mình
lên để đọc thư
Mạng máy tính - Chương 2
user
agent
mail
server
mail
server
1
2 3 4
5
6
Alice’s mail server Bob’s mail server
user
agent
50
Ví dụ tương tác SMTP
S: 220 hamburger.edu
C: HELO crepes.fr
S: 250 Hello crepes.fr, pleased to meet you
C: MAIL FROM:
S: 250 alice@crepes.fr... Sender ok
C: RCPT TO:
S: 250 bob@hamburger.edu ... Recipient ok
C: DATA
bangtqh@utc2.edu.vn Mạng máy tính - Chương 2
S: 354 Enter mail, end with "." on a line by itself
C: Do you like ketchup?
C: How about pickles?
C: .
S: 250 Message accepted for delivery
C: QUIT
S: 221 hamburger.edu closing connection
51
Thử nghiệm tương tác SMTP
telnet tên_máy_chủ 25
nhìn thấy phản hồi 220 từ máy chủ
gõ vào các câu lệnh HELO, MAIL FROM, RCPT TO,
DATA, QUIT
bằng cách này ta có thể gửi thư mà không cần sử dụng
bangtqh@utc2.edu.vn
công cụ quản lý thư (UA)
Mạng máy tính - Chương 2 52
SMTP: tổng kết
SMTP sử dụng kết
nối ổn định
SMTP đòi hỏi thông
điệp (header và body)
phải dùng kí tự ASCII
7-bit
So sánh với HTTP:
– HTTP: lấy về
– SMTP: đẩy đi
– cả hai đều có tương tác
câu lệnh/phản hồi dưới
dạng ASCII, các mã trạng
thái
bangtqh@utc2.edu.vn
Máy chủ SMTP sử
dụng CRLF.CRLF để
xác định điểm kết
thúc của thông điệp
– HTTP: mỗi đối tượng
được đóng gói trong thông
điệp phản hồi của riêng nó
– SMTP: nhiều đối tượng
được gửi chung trong
nhiều phần của một thông
điệp
Mạng máy tính - Chương 2 53
SMTP: giao thức để trao đổi thư
điện tử
RFC 822: chuẩn dùng cho định
dạng thông điệp văn bản:
các dòng mào đầu, vd:
– To:
header
body
dòng
trống
bangtqh@utc2.edu.vn
– From:
– Subject:
khác nhau phụ thuộc vào câu lệnh
SMTP !
Body
– nội dung thư, chỉ chứa kí tự
ASCII
Mạng máy tính - Chương 2 54
MIME (Multipurpose Internet Mail Extension)
RFC 822: text msg, gặp khó khăn với multimedia.
MIME: RFC 2045, RFC 2056.
So với RFC 822, MIME thêm vào các header lines
để mô tả nội dung của email msg.
From: alice@uct2.edu.vn
bangtqh@utc2.edu.vn Mạng máy tính - Chương 2
To: bob@yahoo.com
Subject: Picture of yummy crepe.
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Type: image/jpeg
base64 encoded data .....
.........................
......base64 encoded data
multimedia data
type, subtype,
parameter declaration
method used
to encode data
MIME version
encoded data
55
Giao thức truy cập thư
SMTP: giao/nhận thư đến từ máy chủ khác
Giao thức truy cập thư: lấy thư từ máy chủ
sender’s mail
server
SMTP SMTP
mail access
protocol
receiver’s mail
server
(e.g., POP,
IMAP)
user
agent
user
agent
bangtqh@utc2.edu.vn
– POP: Post Office Protocol [RFC 1939]
• kiểm tra danh tính (UAmáy chủ) và tải về
– IMAP: Internet Mail Access Protocol [RFC 1730]
• nhiều chức năng hơn (phức tạp hơn)
• quản lý thư lưu trên máy chủ
– HTTP: gmail, Hotmail, Yahoo! Mail, v.v..
Mạng máy tính - Chương 2 56
Giao thức POP3
Pha kiểm tra danh tính
Câu lệnh của khách
– user: khai báo tên
– pass: mật-khẩu
Phản hồi của chủ
C: list
S: 1 498
S: 2 912
S: .
S: +OK POP3 server ready
C: user bob
S: +OK
C: pass hungry
S: +OK user đăng nhập thành công
bangtqh@utc2.edu.vn Mạng máy tính - Chương 2
+OK
-ERR
Pha giao dịch, khách:
list: liệt kê stt thư
retr: tải thư theo stt
dele: Xóa
quit: kết thúc
C: retr 1
S:
S: .
C: dele 1
C: retr 2
S:
S: .
C: dele 2
C: quit
S: +OK POP3 server đồng ý ngắt
57
POP3 (tt) và IMAP
POP3
ví dụ trước sử dụng
cơ chế “tải-và-xóa”.
Bob không thể đọc lại
thư nếu như anh ta
đổi UA
IMAP
Giữ tất cả thử trong
một nơi: trên máy chủ
Cho phép n/dùng tổ
chức thư theo thư mục
bangtqh@utc2.edu.vn
“tải-và-giữ lại”: bản
sao của thư sẽ được
lưu trên nhiều UA
POP3 là giao thức
không trạng thái
IMAP giữ lại trạng thái
người dùng qua các
phiên làm việc:
– tên của thư mục cũng
như ánh xạ giữa ID của
thông điệp và tên thư
mục
Mạng máy tính - Chương 2 58
2.5. Hệ thống tên miền – DNS
Con người: nhiều kí hiệu
nhận dạng:
– tên, số CMND, MSSV
Máy tính và thiết bị trên
Internet:
– địa chỉ IP (32 bit) – được
Hệ thống tên miền:
– có sở dữ liệu phân tán
được hiện thực trong
một hệ thống phân
cấp của nhiều máy
chủ tên miền
bangtqh@utc2.edu.vn
sử dụng để liên lạc giữa
máy tính
– “tên”, vd: ww.yahoo.com
được sử dụng bởi con
người
Hỏi: ánh xạ giữa địa chỉ
IP và tên?
– giao thức tầng ứng
dụng cho phép máy
tính, router và máy
chủ tên miền liên lạc
với nhau để phân giải
tên miền (địa chỉ/tên)
Mạng máy tính - Chương 2 59
DNS: services, structure
Các dịch vụ của DNS
Phân giải từ hostname
sang địa chỉ IP
Đặt tên thay thế cho máy
– tên chính thức, tên thay thế
Đặt tên thay thế cho máy
chủ email
Tại sao không triển khai
DNS tập trung?
“Tử huyệt” → DNS hỏng
cả mạng ngừng hoạt
động
Quá tải lưu lượng
bangtqh@utc2.edu.vn
Phân bố tải
– Những website lớn
thường có nhiều địa
chỉ máy chủ với địa chỉ
IP khác nhau đằn sau
một tên miền chính
thức
Độ trễ truyền tải lớn (do
xa máy chủ DNS)
Khó bảo trì
Mạng máy tính - Chương 2
A: Không mở rộng được!
60
DNS: phân tán và phân cấp
Root DNS Servers
com DNS servers org DNS servers edu DNS servers
poly.edu
DNS servers
umass.edu
DNS servers
yahoo.com
DNS servers
amazon.com
DNS servers
pbs.org
DNS servers
v v
bangtqh@utc2.edu.vn
Khi Client muốn có địa chỉ ip của www.amazon.com
Client truy vấn một máy chủ DNS gốc để tìm ra máy chủ DNS
“.com”
Client truy vấn máy chủ DNS “.com” để lấy địa chỉ của máy chủ
DNS amazon.com
Client truy vấn máy chủ DNS “amazon.com” để lấy địa chỉ IP
của www.amazon.com
Mạng máy tính - Chương 2 61
DNS: Các Root name servers
13 root name
servers
worldwide
b USC-ISI Marina del Rey, CA
e NASA Mt View, CA
f Internet Software C. Palo Alto,
CA (and 17 other locations)
i Autonomica, Stockholm (plus 3
other locations)
k RIPE London (also Amsterdam,
Frankfurt)
m WIDE Tokyo
a Verisign, Dulles, VA
c Cogent, Herndon, VA (also Los
Angeles)
d U Maryland College Park, MD
g US DoD Vienna, VA
h ARL Aberdeen, MD
j Verisign, ( 11 locations)
bangtqh@utc2.edu.vn Mạng máy tính - Chương 2 62
l ICANN Los Angeles, CA
Khi local name server không thể chuyển host name IP, gửi yêu cầu tới
root srv.
root name server:
– Liên lạc với authoritative name server nếu chưa thể ánh xạ đ/c ngay.
– Lấy kết quả ánh xạ gửi về từ authoritative name server.
– Trả kết quả về cho local name server.
Hệ thống máy chủ DNS của Việt Nam
bangtqh@utc2.edu.vn Mạng máy tính - Chương 2 63
DNS quản lý domain “.vn”
bangtqh@utc2.edu.vn Mạng máy tính - Chương 2 64
TLD and Authoritative Servers
Top-level domain (TLD) servers: Chịu trách nhiệm
về các miền com, org, net, eduJ và uk, fr, ca,
jpJ
– Network Solutions: quản lý com TLD servers.
– Educause: quản lý edu TLD servers.
Authoritative DNS servers :
bangtqh@utc2.edu.vn
– Mỗi host trong mạng muốn được biết đến phải được
khai báo với một authoritiative DNS server.
– DNS servers của các tổ chức ánh xạ hostname IP
cho các hosts của tổ chức đó (vd: web, mailv).
– Có thể được quản lý bởi các tổ chức hay nhà cung cấp
dịch vụ.
Mạng máy tính - Chương 2 65
Local name server
Không phụ thuộc rõ ràng vào hệ thống phân cấp
Mỗi “cơ quan” có thể (ISP, company,
universityv).
– Còn gọi là “máy chủ tên miền mặc định – Default DNS”
Khi một host muốn biết IP của một host nào đó,
bangtqh@utc2.edu.vn
trước tiên, nó “hỏi” local name server.
Local name server “gần” máy tính của người sử
dụng nhất nên thường được “hỏi thăm” đầu tiên
mỗi khi có truy vấn DNS.
Xem Windows Local DNS: ipconfig
Mạng máy tính - Chương 2 66
Ví dụ phân giải tên miền (1)
Tình huống: host
cis.poly.edu cần địa chỉ IP
của gaia.cs.umass.edu
Truy vấn lặp (iterated query)
root DNS server
2
3
4
5
TLD DNS server
bangtqh@utc2.edu.vn
Máy chủ liên hệ trả về
tên của máy chủ khác
để liên hệ tiếp
“Tôi không biết tên miền
này, nhưng hãy hỏi máy
chủ này xem”
Mạng máy tính - Chương 2 67
requesting host
cis.poly.edu
gaia.cs.umass.edu
local DNS server
dns.poly.edu
1
6
authoritative DNS server
dns.cs.umass.edu
7
8
Ví dụ phân giải tên miền (2)
Truy vấn đệ quy (recursive
query)
Giao toàn bộ công việc
cho máy chủ cấp cao
6
3
root DNS server
2
7
TLD DNS
server
bangtqh@utc2.edu.vn
hơn
Tải cao
Mạng máy tính - Chương 2 68
45
gaia.cs.umass.edu
1
authoritative DNS server
dns.cs.umass.edu
8
Ví dụ phân giải tên miền (3)
Truy vấn đệ quy
A hỏi B, B hỏi C, C hỏi
D,v rồi trả lời ngược lại.
Server được hỏi chịu tải
nặng gấp đôi?
iterated query
root DNS server
2
3
4
56
7
TLD DNS server
bangtqh@utc2.edu.vn
Truy vấn lặp
DNS server được hỏi
gợi ý hỏi một server
khác.
“I don’t know this name,
but ask this server”
Mạng máy tính - Chương 2 69
requesting host
cis.poly.edu
gaia.cs.umass.edu
local DNS server
dns.poly.edu
1
authoritative DNS server
dns.cs.umass.edu
8
DNS: Nhớ đệm và cập nhật thẻ ghi
Mỗi khi DNS server nhận được yêu cầu tra cứu IP,
địa chỉ IP mà nó tìm được sẽ được nhớ đệm lại để
phục vụ cho những lần tra cứu tiếp theo.
– Timeout: thời gian hết hạn (sau một khoảng thời gian,
bản ghi cache tương ứng bị xoá).
– TLD servers thường được cache tại Local Name
bangtqh@utc2.edu.vn
Servers.
• Vì vậy các TLD thường ít khi được truy cập
Cơ chế cập nhật/thông báo được thiết kế bởi IETF:
– RFC 2136
–
Mạng máy tính - Chương 2 70
DNS records
Type=A
– name = hostname
– value = IP address
Type=CNAME
– name = “bí danh” (alias).
www.ibm.com
Cơ sở dữ liệu phân tán chưa các resource records (RR)
RR format: (name, value, type, ttl)
bangtqh@utc2.edu.vn Mạng máy tính - Chương 2 71
Type=NS
– name = domain name
– value = IP address
của authoritative
name server cho
domain này
– value = tên thật.
servereast.backup2.ibm.com
Type=MX
– name = domain name
– value = tên của mail server
Thông điệp trong DNS protocol
Client gửi request message lên
DNS server và nhận về response
message có khuôn dạng
Header
Identification: là số định danh 16
bit. Số này được sử dụng trong
bangtqh@utc2.edu.vn
response message do server trả
về client
Flags: Là cờ hiệu nhận biết
– Là request/response message
– Mong muốn truy vấn đệ quy
– Có chấp nhận đệ quy không?
– Trả về là Authoritative server
Mạng máy tính - Chương 2 72
Thông điệp trong DNS protocol (tt)
Giá trị ,
của RR truy vấn
RRs trong phản hồi truy
vấn
bangtqh@utc2.edu.vn Mạng máy tính - Chương 2
Bản ghi dành cho máy chủ
có thẩm quyền (authoritative)
Thông tin bổ sung
(có thể không dùng đến)
73
Thêm bản ghi RR vào DNS
Ví dụ: Công ty mới thành lập “Network Utopia” đăng ký tên
miền networkuptopia.com tại DNS nhà quản lý tên miền (vd:
Network Solutions)
– Cung cấp tên, địa chỉ IP, địa chỉ IP của máy chủ dsn có thẩm
quyền (sơ cấp và thứ cấp).
– Nhà quản lý chèn 2 thẻ RR vào máy chủ TLD “.com” :
(networkutopia.com, dns1.networkutopia.com, NS)
bangtqh@utc2.edu.vn
(dns1.networkutopia.com, 212.212.212.1, A)
Trong máy chủ tên miền cục bộ, tạo ra thẻ (RR) loại A cho
www.networkuptopia.com; thẻ loại MX cho networkutopia.com
Làm thế nào để mọi người lấy được địa chỉ IP trang web của
bạn?
Mạng máy tính - Chương 2 74
Attacking DNS
DDoS attacks
Bombard root servers
with traffic
– Not successful to date
– Traffic Filtering
Redirect attacks
Man-in-middle
– Intercept queries
DNS poisoning
– Send bogus relies to
DNS server, which
bangtqh@utc2.edu.vn
– Local DNS servers
cache IPs of TLD
servers, allowing root
server bypass
Bombard TLD servers
– Potentially more
dangerous
caches
Exploit DNS for DDoS
Send queries with
spoofed source
address: target IP
Requires amplification
75Mạng máy tính - Chương 2
Nội dung
1. Các nguyên lý của tầng ứng dụng
2. Web và HTTP
3. FTP
4. Thư điện tử - SMTP, POP3, IMAP
bangtqh@utc2.edu.vn
5. DNS
6. Ứng dụng P2P
Mạng máy tính - Chương 2 76
2.6. Ứng dụng P2P
Kiến trúc Peer-to-Peer
– Máy chủ Không luôn luôn mở
– Các máy đầu cuối kết nối trao
đổi trực tiếp với nhau
– Các bên kết nối không liên tục,
có thể thay đổi địa chỉ IP
bangtqh@utc2.edu.vn
Ba chủ đề:
– Phân phối file (BitTorent)
– Tìm kiếm thông tin
– Thoại trên mạng IP (VoIP)
như Skype, Zalo
Mạng máy tính - Chương 2 77
Phân phối file (file distribution)
Hỏi: Mất bao lâu để phân phối 1 file (có độ lớn F) từ
server tới N client?
Băng thông upload/download mỗi client là giới hạn
us: Băng thông
upload của server
bangtqh@utc2.edu.vn Mạng máy tính - Chương 2
us
uN
dN
server
Mạng (với băng thông
vô hạn)
file, size F
ui: Băng thông upload
của client
di: băng thông download
của clientu2 d2
u1 d1
di
ui
78
Phân phối file: client-server
Server:
Lần lượt đẩy (upload) N file vào
mạng
– Thời gian đẩy N file: N*F/us
Client:
Nhận (download) bản copy của file
us
network
di
ui
F
bangtqh@utc2.edu.vn
do server gửi
– Thời gian nhận file: F/di
Mạng máy tính - Chương 2
Tăng tuyến tính theo N
Thời gian phân phối file F
tới N máy client
(mô hình client-server)
= Dc-s = max{N*F/us,, F/dmin}
79
us
network
di
ui
F
Phân phối file: P2P
Server
Phải đẩy (upload) ít nhất 1 bản
sao file F vào mạng Cần thời
gian là: F/us
Client
Phải download 1 bản sao của F
Cần thời gian là: F/di. Có N
bangtqh@utc2.edu.vn
client nên số bit phải tải về là
N*F
– Tốc độ tải lên nhanh nhất có
thể là us + Σui
Mạng máy tính - Chương 2
Thời gian phân phối file
F tới N máy khách
(theo mô hình P2P) = DP2P = max{F/us,, F/dmin,, NF/(us + Σui)}
80
Client-Server Vs P2P
2.5
3
3.5
M
in
im
u
m
D
is
tr
ib
u
tio
n
Ti
m
e P2P
Client-Server
Tốc độ upload của client N/d = u, F/u = 1 hour, us = 10u, dmin ≥ us
bangtqh@utc2.edu.vn Mạng máy tính - Chương 2
0
0.5
1
1.5
2
0 5 10 15 20 25 30 35
M
in
im
u
m
D
is
tr
ib
u
tio
n
Ti
m
e
N
81
Phân phối file: BitTorrent
Phân phối kiểu P2P
Máy chủ(tracker): theo
dõi các các nhân tham
gia vào bittorent
Torrent: Nhóm các cá
nhân chia sẻ (1 đoạn) file
bangtqh@utc2.edu.vn Mạng máy tính - Chương 2
Lấy ds người
tham gia
Trao đổi các
đoạn của file
82
BitTorent (tt)
File được chia thành các đoạn (chunk) 256KB
Các nhân tham gia vào torrent
– Ban đầu không có chunk nào, nhưng sẽ tích lũy chúng
theo t/g
– Đăng kí với tracker để lấy danh sách thành viên, liên
kết tới một nhóm nhỏ thành viên (“hàng xóm”)
bangtqh@utc2.edu.vn
Trong khi tải về, người tải đồng thời chia sẻ đoạn tệp
cho những người khác.
Cá nhân có thể tham gia hoặc từ bỏ torrent
Một khi user tải xong tệp, họ có thể rời mạng torrent
hoặc ở lại để chia sẻ cho người khác
Mạng máy tính - Chương 2 83
BitTorent (tt)
Kéo các đoạn tệp
Tại bất kì thời điểm nào,
các thành viên khác nhau
sẽ có những đoạn khác
nhau của một tệp.
Một cách định kì, một thành
Gửi các đoạn tệp: tit-for-tat
Alice gửi các đoạn cho 4
hàng xóm mà đang gửi đoạn
cho cô ta ở vận tốc cao nhất
– Đánh giá lại top 4 sau mỗi
10s
bangtqh@utc2.edu.vn
viên (Alice) sẽ yêu cầu từ
các hàng xóm danh sách
các đoạn mà họ có.
Alice gửi yêu cầu tới các
đoạn mà cô ta thiếu
– đoạn hiếm nhất trước
sau mỗi 30 giây: chọn ngẫu
nhiên một thành viên khác, và
gửi đoạn cho nó
– Thành viên mới này có thể
vào top 4
Mạng máy tính - Chương 2 84
BitTorent (tt)
(1) Alice “khai thông một cách lạc quan” cho Bob
(2) Alice trở thành 1 trong top 4 nhà cung cấp của Bob; Bob
trả ơn
(3) Bob trở thành 1 trong tóp 4 nhà cung cấp của Alice
bangtqh@utc2.edu.vn Mạng máy tính - Chương 2
higher upload rate: find better trading
partners, get file faster !
85
Phép lịch sự khi tham gia Bittorrent
Bittorrent không giúp người dùng giấu tên.
Càng nhiều user thì càng nhiều băng thông cho việc chia sẻ tệp.
– Sau khi hoàn thành tải về tệp thì nên để tài nguyên đấy tải lên một thời gian
để những người dùng khác tải về các phần của tài nguyên đã phân phối.
BitTorrent theo dõi dung lượng mà user tải lên và tải về, user biết được mình
bangtqh@utc2.edu.vn
đã “lấy” bao nhiêu và “trả” bao nhiêu cho mạng chia sẻ.
– Quy tắc ứng xử lịch sự là đã tải về bao nhiêu tài nguyên thì nên tải lên bấy
nhiêu tài nguyên
– User nào có tỉ lệ chia sẻ dưới giá trị tối tiểu (nhận nhiều nhưng chia sẻ ít) có
thể bị đặt trong tình trạng "chỉ tải lên", và không thể tải về cho đến khi tỉ lệ chia
sẻ lớn hơn giá trị tối thiểu.
– Tài nguyên bao giờ cũng có người tải lên đầu tiên, người tải lên đầu tiên này
sẽ có tỷ lệ chia sẻ là unlimited (chỉ có tải lên, không có tải xuống)
Mạng máy tính - Chương 2 86
bangtqh@utc2.edu.vn Mạng máy tính - Chương 2 87
Transport (TCP/UDP)
Network (IP)
application
(www browser,
email client)
application
OS
packet
capture
packet
analyzer
copy of all
bangtqh@utc2.edu.vn
Link (Ethernet)
Physical
(pcap) Ethernet frames
sent/receive
d
Các file đính kèm theo tài liệu này:
- mmt_2_tang_ung_dung_4005_2005044.pdf