1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Mạng máy tính: Chương 2 - Nguyễn Hồng Sơn

47 1 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 47
Dung lượng 1,05 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Mục tiêu bài giảng chương 2 nhằm giúp các bạn 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, khảo sát các giao thúc lớp ứng dụng phổ biến,..

Trang 1

2: Lớp Ứng dụng 1

Chương 2

LỚP ỨNG DỤNG

(Application Layer)

Tổng quan mục tiêu của chương

❒ Làm quen với các khái

 HTTP

 FTP

 SMTP / POP3 / IMAP

Trang 4

giao tiếp trực tiếp

❒ Các máy kết nối với nhau

không liên tục và thay

 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

Trang 5

❒ Trên cùng host: giao

tiếp liên quá trình

(inter-process

communication)

❒ 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ệ

❒ Trong kiến trúc P2P các host có cả client process vàserver process

Giao tiếp giữa hai quá trình trên hai

process

host hay server

Người lập trình kiểm soát

Trang 6

2: Lớp Ứng dụng 11

Địa chỉ quá trình

❒ Để nhận các thông điệp,

process phải códanh định

❒ Mỗi thiết bị host có địa

Trang 7

truyền file hay telnet yêu

cầu truyền tải tin cậy 100%

❒ Các ứng dụng khác dùng bất cứ thông lượng nào có được

Security

❒ Mật mã, bảo toàn số liệu, …

Các dịch vụ của lớp truyền tải trên

❒ Không cung c ấ p: kiểm soát trễ,

đảm bảo thông lượng tối thiểu,

UDP service:

❒ Truyền tải không tin cậy

❒ 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

Trang 8

2: 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

SIP, RTP, riêng (ví dụ Skype)

Giao thức lớp truyền tải

TCP TCP TCP TCP TCP hay UDP

Trang 9

2: Lớp Ứng dụng 17

Web và HTTP

Vài thuật ngữ

❒ Đối tượng có thể là HTML file, ảnh JPEG, Java

applet, audio file,…

❒ Web page cũng bao gồmbase HTML-file chứa các

đối tượng tham chiếu (referenced object)

❒ Mỗi đối tượng tham chiếu được chỉ định bởiURL

Server chạy

HTT

P request

HTTP

request

HTT

P res ponse

sponse

Trang 10

Kết nối HTTP

Kết nối HTTP không liên

tục

❒ 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

❒ Nhiều đối tượng được chuyển qua một kết nối TCP

Trang 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

HTTP server (process) tại

www.ptithcm.edu.vn trên port 80

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

tại port 80 “chấp nhận” kết nối, thông báo cho client

message chứa đối tượng được yêu cầu, truyền thông điệp vào TCP socket của nó.

Trang 12

❒ 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

kết nối song song để lấy các

đối tượng tham chiếu

Trang 13

User-agent: Mozilla/4.0 Connection: close Accept-language:en-us

(carriage return, line feed)

request line

(GET, POST,

HEAD commands)

header lines

Trang 14

❒ Input được truyền lên

server dưới dạng thân

 Yêu cầu server để đối

tượng được yêu cầu ra

ra trong URL

❒ DELETE

 Xóa file được chỉ ra trong URL

Trang 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

 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

Trong dòng đầu tiên trong thôn điệp đáp ứng từ server ->client

Ví dụ:

Trang 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ụ:

❒ User thường truy cập Internet từ máy tính PC

❒ Vào một web site bán hàng qua mạng nào đó lần đầu

tiên

❒ 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

Trang 17

Cookie và tính riêng tư:

❒ Cookie cho phép web site học và hiểu nhiều về user

❒ User có thể cung cấp tên và địa chỉ email cho web site

Cách thức giữ trạng thái

❒ các giao thức đầu cuối: duy trì

trạng thái tại sender/receiver

qua nhiều giao tác

❒ cookie: thông điệp http mang

trạng thái

Ky, thuâ-t Caching

❒ Kha.i niê-m cache

client mà không cần truy

vấn server nguồn

❒ 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

Trang 18

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

HTTP

request

HTTP

response

HTT

P request

HTTP request

❒ Thông thường cache

được cài đặt bởi ISP

Lý do dùng Web caching?

❒ Giảm thời gian đáp ứng cho các yêu cầu từclient

❒ Giảm lưu lượng trên các liên kết Internet của

cơ quan

❒ Cho phép các nhà cung cấp nội dung phân phối nội dung hiệu quả

Trang 19

❒ 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à

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

❒ Băng thông sử dụng trên LAN = 15%

❒ 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

server Internet

Mạng cục bộ

10 Mbps

access link

Trang 20

2: Lớp Ứng dụng 39

Ví dụ (3)

Giải pháp 2: cài đặt cache

❒ Giả sử xác suất tìm thấy

❒ Băng thông sử dụng trên

access link được giảm

Mạng cục bộ

10 Mbps LAN

1.5 Mbps access link

cache

GET có điều kiện

❒ Để máy chủ không phải gửi đối

tượng nếu cache vẫn còn lưu

Trang 21

FTP (file transfer protocol)

❒ Truyền/nhận file đến/từ máy ở xa

Hệ thống file

ở xa user

Trang 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

❒ FTP client tiếp xúc với FTP

server tại port 21, dùng TCP

❒ client được xác thực qua kết nối

phục vụ điều khiển

❒ 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.

❒ Khi nhận lệnh truyền file, server

mở một kết nối TCP thứ 2 đến

client

❒ 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

❒ Muốn truyền file khác, server lại mở kết nối số liệu.

❒ Thông tin điều khiển dùng kênh tách biệt với số liệu (out

of band)

❒ FTP là stateful: lưu giữ thư mục hiện hành và xác thực trước đó.

Active FTP va0 Passive FTP

❒ 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 va0 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 .

❒ Vi

Trang 23

du-2: Lớp Ứng dụng 45

Active FTP va0 Passive FTP (2)

❒ 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

❒ PASV: lê-nh ba.o với server vê0 chê đô- passive

❒ 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

Active FTP va0 Passive FTP (3)

❒ Vi du- passive mode

Trang 24

2: Lớp Ứng dụng 47

Active FTP va0 Passive FTP (4)

❒ Active FTP :

command : client >1023 > server 21

data : client >1023 < server 20

❒ Passive FTP :

command : client >1023 > server 21

data : client >1023 > server >1023

Các lệnh FTP và đáp ứng

Vài lệnh phổ biến:

❒ Lệnh dưới dạng ASCII text

qua kênh điều khiển

RETR filename lấy file

STOR filename gửi file

125 data connection already open;

transfer starting

425 Can’t open data connection

452 Error writing file

Trang 26

(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

SMTPSMTP

Mail server

Mail Server

❒ mailbox chứa thư đến

❒ outbox thư chờ gửi

❒ SMTP protocol để truyền thư

mail server

user agent

user agent

user agent mail

server

user agent user

agent

mail server

user agent

SMTPSMTPSMTP

Trang 27

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

5) Sever B nhận và đặt thư vào mailbox của user B

6) User B dùng user agent để đọc thư

Trang 28

thông điệp được mã

hóa theo mã 7-bit

Trang 29

2: Lớp Ứng dụng 57

Dạng mở rộng cho multimedia

❒ MIME: multimedia mail extension, RFC 2045, 2056

❒ Thêm các dòng trong header để khai báo loại nội dung

MIME

From: alice@crepes.fr To: bob@hamburger.edu Subject: Picture of yummy crepe

MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Type: image/jpeg

base64 encoded data

base64 encoded data

Kiểu số liệu multimedia,

khai báo tham số

Phương pháp được

dùng để mã hóa data

MIME version

Số liệu được mã hóa

Các giao thức lấy thư

❒ Giao thức : lấy thư từ server

 POP: Post Office Protocol [RFC 1939]

• Xác thực (agent < >server) và download

user agent

mail Server của người gửi

user

agent

protocolmail Server

của người nhận

Trang 30

Pha tương tác,client:

list:liệt kê mã số thư

retr:lấy thư bằng mã số

dele:xóa

quit

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 C: quit S: +OK POP3 server signing off

S: +OK POP3 server ready C: user son

S: +OK C: pass ptithcm S: +OK user successfully logged on

thư trên client vừa lấy

thư Thay đổi client

không thể đọc lại thư

❒ Chế độ

“Download-và-lưu giữ”: các bản sao

của thư được lưu giữ

❒ IMAP giữ trạng thái qua các phiên:

 Tên thư mục và ánh xạ giữa các message ID và tên thư mục

Trang 31

dùng bởi con người

Ánh xạ qua lại giữa địa chỉ

Domain Name System:

Trang 32

2: Lớp Ứng dụng 63

Root DNS Servers

poly.edu DNS servers

umass.edu DNS servers yahoo.com

DNS servers

amazon.com

DNS servers

pbs.org DNS servers

Cơ sở dữ liệu phân tán, phân cấp

Client muốn tìm địa chỉ IP của www.yahoo.com

❒ client truy vấn một root server để tìm com DNS

Root name server

tên

Trang 33

2: Lớp Ứng dụng 65

TLD và các DNS Server cấp

thấp

 chịu trách nhiệm cho com, org, net, edu, tất cả

các tên miền quốc gia như vn, uk, fr, ca, jp

Network Solutions cai quản các server cho com

TLD

Educause cho edu TLD

Các DNS server của tổ chức, doanh nghiệp, cung

cấp ánh xạ tên host với địa chỉ IP xác thực cho các

server bên trong (ví dụ Web, mail)

Có thể được cai quản bởi tổ chức, doanh nghiệp hay

nhà cung cấp dịch vụ

Name Server trong mạng cục bộ

❒ Không ràng buộc vào phân cấp

❒ Mỗi ISP, công ty, trường học có một.

Cũng gọi là name server mặc định

❒ Khi host truy vấn DNS, truy vấn được gửi

đến DNS server cục bộ của host

Tác động như một proxy, chuyển truy ấn vào hệ

Trang 34

DNS server thẩm quyền

dns.cs.ptithcm.edu

7 8

TLD DNS server

Ví dụ về phân giải tên

qua DNS

❒ Host tại cis.icu.edu

muốn địa chỉ IP của

❒ “Tôi không biết tên

này, đề nghị hỏi server

❒ Đặt trách nhiệm phân

giải tên lên name

server được liên hệ

Ví dụ về phân giải tên

qua DNS

Trang 35

2: Lớp Ứng dụng 69

Caching và cập nhật các record

❒ Khi name server học ánh xạ tên, nó sẽ cache lại

Các mục trong cache biến mất sau một khoảng

thời gian (timeout)

TLD server thường cache trong các name

server cục bộ

• Do đó giúp giảm truy vấn đến root name server

❒ Cơ chế cập nhật được xây dựng bởi IETF

Trang 38

❒ Các peer kết nối với nhau

không liên tục và thay

đổi địa chỉ IP

peer-peer

Phân phối File

Câu h ỏ i đ ặ t ra: mất bao lâu để phân phối file từ

Trang 39

thời gian để download

Tăng tuyến tính với N

Tcs= max {NF/us, F/min(di)}

i

Phân phối File theo P2P

F

❒ server phải gửi một bản sao

mất khoảng thời gian F /us

Trang 40

2: Lớp Ứng dụng 79

BitTorrent (1)

tracker:theo dõi các peer

tham gia vào torrent

torrent: nhóm cácPeer trao đổi các mẫu file(chunk)

❒ file được chia thành các mẫu (chunk) 256KB

❒ peer gia nhập torrent:

Không có chunk, nhưng sẽ tích lũy chúng theo thời gian

Đăng ký với tracker để lấy danh sách các peer, nối đến tập

con các peer (láng giềng)

❒ Trong khi tải về, peer cũng tải lên các chunk đến các peer

khác

❒ Các peer có thể là điểm đến hay đi

❒ Khi peer đã có toàn bộ file, nó có thể bỏ đi hay giữ lại

Trang 41

2: Lớp Ứng dụng 81

BitTorrent (3)

Kéo các chunk

❒ Tại bất lỳ thời điểm nào,

các peer khác nhau đều

có các tập con chunk của

file khác nhau

❒ Định kỳ, peer hỏi mỗi

peer láng giềng về danh

 Mỗi 10 giây đánh giá lại top 4

❒ Mỗi 30 giây, chọn ngẫu nhiên một peer khác, khởi động truyền chunk

 Peer mới được chọn có thể tham gia vào top 4

 Khai thông

BitTorrent (4)

(1) peer A khai thông với peer B

(2) Peer A trở thành một trong bốn nhà cung cấp cho peer B, peer B đáp lại

(3) Peer B trở thành một trong bốn nhà cung cấp cho peer A

Trang 42

2: Lớp Ứng dụng 83

Tìm kiếm thông tin

Chia sẻ file (ví dụ e-mule)

❒ Index theo dõi động các

❒ Các peer tìm kiếm trong index để xác định địa chỉ IP của user

Index trong hệ thống P2P: ánh xạ thông tin sang vị trí peer

(vị trí = IP address & port number)

Index tập trung

1) khi peer kết nối, nó

thông báo server trung

peers 1

1

1 1 2

3

Peer A

Peer B

Trang 43

2: Lớp Ứng dụng 85

Index tập trung: Nhược

❒ Điểm lỗi đơn

❒ Cổ chai

❒ Vấn đề bản quyền

Hoạt động truyền file là phân tán

nhưng việc định vị file là tập trung

Truy vấn kiểu lũ (query flooding)

❒ Cạnh: liên kết ảo

Trang 44

2: Lớp Ứng dụng 87

Truy vấn kiểu lũ

Query response

Query

Qu ery

response

Query

Qu ery

resp

onse

Truyền File:

HTTP

❒ thông điệp truy vấn (query) được gửi

qua các kết nối TCP đang mở

❒ các peer chuyển tiếp

thông điệp truy vấn

❒ Phản hồi được gửi về

qua đường ngược lại

Gia nhập Gnutella

1. peer A phải tìm một peer khác trong mạng

Gnutella, dùng danh sách các peer ứng viên

2. Peer A cố gắng liên tục để có kết nối TCP với các

peer ứng viên cho đến khi kết nối được với peer B

nào đó

3. Tạo lũ truy vấn:peer A Ping đến peer B; peer B

chuyển Ping đến các láng giềng của nó, đến lượt các

láng giềng lại chuyển đi tiếp

4. Các peer nhận Ping phản hồi lại cho peer A bằng

thông điệp Pong

5. Peer A nhận nhiều Pong và sau đó có thể thiết lập

thêm các kết nối TCP

Trang 45

2: Lớp Ứng dụng 89

Mạng bao phủ phân cấp

❒ Giữa các index trung tâm,

dùng truy vấn kiểu lũ

❒ Mỗi peer là một super

node hay được gán là super

node

 Kết nối TCP giữa peer và

super node của nó.

 Kết nối TCP giữa các super

node.

❒ Super node theo dõi nội

dung trong node con của

ordinary peer group-leader peer neighoring relationships

với các super node

❒ Index ánh xạ tên user

Skype clients (SC)

Supernode (SN) Skype

login server

Trang 46

2: Lớp Ứng dụng 91

Các peer làm relay

❒ Vấn đề phát sinh khi cả

peer A và Peer B đều

nằm phía sau NAT NAT

ngăn chặn peer ngoài

khởi tạo cuộc gọi vào với

peer bên trong

Trang 47

2: Lớp Ứng dụng 93Hết chương 2

Ngày đăng: 09/05/2021, 18:13

🧩 Sản phẩm bạn có thể quan tâm