Bài giảng Mạng máy tính: Chương 2 do Bùi Trọng Tùng biên soạn nhằm mục đích phục vụ cho việc giảng dạy. Nội dung bài giảng gồm: Tổng quan về tầng ứng dụng, tên miền và dịch vụ DNS, ứng dụng truyền tệp, hệ thống máy chủ DNS, quy tắc đặt tên miền,...
Trang 2Nhắc lại về kiến trúc phân tầng
GRID
VIDEO CONFERENCE
e-BANK VoIP
NEWS
SMS
e-Office
e-Goverment 4
Trang 3 Gồm có 2 tiến trình giao tiếp
với nhau qua môi trường
mạng:
Client: cung cấp giao diện NSD,
gửi thông điệp yêu cầu dịch vụ
application transport network data link physical
application transport network data link physical
5
Giao tiếp giữa các tiến trình ứng dụng
Socket: SAP của tầng giao vận
Các tiến trình ứng dụng sử dụng socket gọi dịch vụ của tầng giao
vận để trao đổi thông điệp
Định danh cho tiến trình bởi: Địa chỉ IP, Số hiệu cổng
Ví dụ: tiến trình web server trên máy chủ của SoICT có
định danh 202.191.56.65:80
controlled by app developer
Trang 4 Thường xuyên online để chờ y/c đến từ máy trạm
Có thể có máy chủ dự phòng để nâng cao hiệu năng, phòng sự cố
e.g Web, Mail, …
Trang 5Mô hình ngang hàng thuần túy
Không có máy chủ trung tâm
Các máy có vai trò ngang nhau
Hai máy bất kỳ có thể liên lạc trực tiếp với nhau
Không cần vào mạng thường xuyên
E.g Gnutella
Peer Peer
Sau khi kết nối, các máy
Server
Client
Client
Client
Trang 62 Tên miền và dịch vụ DNS
11
Giới thiệu chung
Tên miền: định danh trên tầng ứng dụng cho các nút
mạng
Trên Internet được quản lý tập trung
Quốc tế: ICANN
Việt Nam: VNNIC
DNS(Domain Name System): hệ thống tên miền
Không gian thông tin tên miền
Gồm các máy chủ quản lý thông tin tên miền và cung cấp dịch vụ
DNS
Vấn đề phân giải tên miền sang địa chỉ IP
Người sử dụng dùng tên miền để truy cập dịch vụ
Máy tính và các thiết bị mạng không sử dụng tên miền mà dùng
địa chỉ IP khi trao đổi dữ liệu
Làm thế nào để chuyển đổi tên miền sang địa chỉ IP?
12
Trang 7Chuyển đổi địa chỉ và ví dụ
NSD
Tôi muốn vào địa chỉ www.soict.hust.edu.vn
Máy chủ tên miền
Mời truy cập vào 202.191.56.65
Quy tắc đặt tên miền
Độ dài tối đa : 255 ký tự
Độ dài tối đa của label : 63 ký tự
Label phải bắt đầu bằng số hoặc chữ, chỉ
chứa số, chữ, “-“, “.”
Phân cấp tên miền : gốc, cấp 1, cấp 2…
Trang 8 Máy chủ tên miền gốc (Root server)
Trả lời truy vấn cho các máy chủ cục bộ
Quản lý các zone và phân quyền quản lý cho máy chủ cấp dưới
Có 13 hệ thống máy chủ gốc trên mạng Internet (
16
Trang 9Hệ thống máy chủ DNS (tiếp)
Máy chủ tên miền cấp 1 (Top Level Domain)
Quản lý tên miền cấp 1
Máy chủ được ủy quyền (Authoritative DNS
servers)
Quản lý tên miền cấp dưới
Máy chủ của các tổ chức: của ISP
Không nằm trong phân cấp của DNS
Máy chủ cục bộ: dành cho mạng nội bộ của cơ
Trang 10Phân giải tương tác
root server
TLD server
Authoritative DNS server
soict.hust.edu.vn soict.hust.edu.vn
dns.vn
dns.hust.edu.vn
Hỏi dns.hust.edu.vn 202.191.56.65
Tải đặt lên máy chủ tên miền
gốc rất lớn Thực tế máy chủ
DNS cục bộ thường đã biết các
máy chủ TLD (cơ chế cache)
Local/ISPserver
19
Phân giải đệ quy
Root server
TLD server
Authoritative DNS server
Tải đặt lên các máy chủ cấp trên
rất lớn Thực tế máy chủ tên miền
gốc và máy chủ cấp 1 không thực
hiện phân giải đệ quy
Local/ISPserver
20
Trang 11Tấn công đầu độc DNS
21
3 HTTP và WWW
Trang 12 Không có cơ chế hiệu quả để liên kết các tài nguyên thông tin
nằm rải rác trên Internet
Năm 1990, Tim Berners-Lee giới thiệu World Wide Web:
Trao đổi thông tin dưới dạng siêu văn bản (hypertext) sử dụng
ngôn ngữ HTML (Hypertext Markup Language)
Các đối tượng không cần đóng gói “tất cả trong một” như trên
các văn bản trước đó
Siêu văn bản chỉ chứa chứa liên kết (hypertext) tới các đối tượng
khác (định vị bằng URL)
23
Uniform Resource Locator
Định vị một tài nguyên bất kỳ trên mạng và cách
thức để truy cập tài nguyên đó
protocol://hostname[:port]/directory-path/resource
protocol: Giao thức (http, ftp, https, smtp, rtsp…)
hostname: tên miền, địa chỉ IP
port: cổng ứng dụng (có thể không cần)
directory path: đường dẫn tới tài nguyên
resource: định danh của tài nguyên
24
Trang 13HTTP và Web
WWW: World Wide Web
trao đổi dữ liệu siêu văn bản
Client yêu cầu truy nhập tới các
trang web (chứa các đối tượng
web) và hiển thị chúng trên
trình duyệt
Server: Nhận yêu cầu và trả lời
cho client
PC running Firefox browser
server running Apache Web server
iphone running Safari browser
25
HTTP hoạt động ntn?
cổng 80 (default)
Client khởi tạo một liên kết TCP tới server
HTTP Request
HTTP Response
Trang 14line feed at start
of line indicates
end of header lines
GET /~tungbt/index.htm HTTP/1.1\r\n Host: soict.hust.edu.vn\r\n
User-Agent: Mozilla/5.0 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
27
Các phương thức trong thông
điệp yêu cầu
HTTP/1.0
GET
POST
HEAD
yêu cầu máy chủ loại một
số đối tượng ra khỏi thông
Trang 15Accept-Ranges: bytes\r\n Content-Length: 2652\r\n Connection: close\r\n Content-Type: text/html; charset=UTF-8\r\n
\r\n data data data data data
requested object moved, new location specified
later in this message (Location:)
Trang 16Các liên kết HTTP
HTTP không duy trì
được gửi qua liên kết
được gửi qua một liên kết TCP.
Trang 17OK, send HTTP request
OK, send HTTP request
Trang 18HTTP là giao thức stateless
Trình duyệt kết nối với Web server
Trình duyệt gửi thông điệp yêu cầu HTTP Request
Web server đáp ứng với một thông điệp HTTP Response
…lặp lại…
Trình duyệt ngắt kết nối
HTTP
Nếu dịch vụ Web cần xác thực người dùng thì người dùng sẽ
phải đăng nhập lại cho mỗi thông điệp HTTP Request gửi đi
35
HTTP Cookie
Cookie: dữ liệu do Web server tạo ra, chứa thông tin trạng thái của
phiên làm việc
Server có thể lưu lại cookie(một phần hoặc toàn bộ)
Sau khi xử lý yêu cầu, Web server trả lại thông điệp HTTP Response
với coookie đính kèm
Set-Cookie: key = value; options;
Trình duyệt lưu cookie
Trình duyệt gửi HTTP Request tiếp theo với cookie được đính kèm
36
HTTP Request HTTP Response
Cookie Cookie
Cookie
HTTP Request
Cookie
Trang 20 “cache miss”, “cache hit”
Xem xét trường hợp sau:
Một tổ chức có một đường
nối tới Internet
Tất cả lưu lượng truy cập
web đều đi qua liên kết này
truy cập web của trình
duyệt qua một máy chủ
proxy
trình duyệt gửi yêu cấu
đến proxy
Miss: Proxy gửi yêu cầu
tới máy chủ web, trả lời
trình duyệt và lưu đệm
đối tượng web
Hit: Proxy trả đối tượng
web cho trình duyệt
client
Proxyserver
client
Web server
40
Trang 21Phương thức GET có điều kiện
Mục đích: Máy chủ sẽ
không gửi đối tượng web
nếu proxy còn lưu giữ thông
tin cập nhật
Proxy: chỉ ra thời gian cũ
của đối tượng
If-modified-since: <date>
server: Xác nhận lại có thay
đổi hay không:
41
Web proxy
học, công ty…
Làm giảm lưu lượng web trên đường ra Internet
Có thể làm giảm thời gian đáp ứng
Thử phân tích vài trường hợp
cache hit
cache miss
proxy bị quá tải
Trang 22Local cache
cục bộ
43
4 Email
44
Trang 23Thư điện tử
MUA (Mail User Agent)
Lấy thư từ máy chủ, gửi thư đến
máy chủ
e.g Outlook, Thunderbird…
MTA (Mail Transfer Agent): :
Chứa hộp thư đến của NSD (mail
box)
Hàng đợi để gửi thư đi
e.g Sendmail, MS Exchange…
user
agent
mail server
POP – Post Office Protocol
IMAP – Internet Mail Access Protocol
SMTP POP
IMAP
IMAPPOP
SMTP SMTP
45
Giao thức SMTP
giữa các server với nhau
Yêu cầu: Lệnh với mã ASCII
Trả lời: mã trạng thái và dữ liệu
Trang 24Các giao thức nhận thư
user agent
sender’s mail server
user
agent
SMTP SMTP
access protocol
receiver’s mail server
47
Web Mail
Gmail,
Hotmail,
Yahoo! Mail, etc.
thông qua giao diện web
http://mail.hust.edu.vn
http://mail.soict.hust.edu.vn
48
Trang 25Khuôn dạng thông điệp thư điện
49
Để chuyển dữ liệu đa phương tiện:
multimedia extensions
MIME: multimedia mail extension, RFC 2045, 2056
Thêm một dòng trong phần đầu chỉ rõ khuôn dạng dữ
liệu gửi đi
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
Trang 26FTP server
user interface
FTP client
local file system remote file system user
TCP control connection, port 21
Điều khiển Out-of-band :
Trang 27 RETR filename Lấy file
STOR filename Đặt file
lên máy chủ
Ví dụ về mã trả lời
331 Username OK, password required
125 data connection already open; transfer starting
425 Can’t open data connection
452 Error writing file
53
Ví dụ về ftp client
C:\Documents and Settings\hongson>ftp
ftp> ?
Commands may be abbreviated Commands are:
! delete literal prompt send
? debug ls put status
append dir mdelete pwd trace
ascii disconnect mdir quit type
bell get mget quote user
binary glob mkdir recv verbose
bye hash mls remotehelp
Command line