Bài giảng Computer networking - Chương 2: Tầng Application
Chương 2
Tầng Application
A note on the use of these ppt slides:
We’re making these slides freely available to all (faculty, students, readers).
They’re in PowerPoint form so you see the animations; and can add, modify,
and delete slides (including this one) and slide content to suit your needs.
They obviously represent a lot of work on our part. In return for use, we only
ask the following:
Computer
Networking:ATop
Down Approach
vꢀ If you use these slides (e.g., in a class) that you mention their source
6th edition
(after all, we’d like people to use our book!)
Jim Kurose, Keith Ross
Addison-Wesley
March 2012
vꢀ If you post any slides on a www site, that you note that they are adapted
from (or perhaps identical to) our slides, and note our copyright of this
material.
Thanks and enjoy! JFK/KWR
All material copyright 1996-2012
J.F Kurose and K.W. Ross, All Rights Reserved
Tầng Application
2-1
Chương 2: Nội dung
2.6 Các ứng dụng P2P
2.1 Các nguyên lý của
các ứng dụng mạng
2.7 Lập trình socket
với UDP và TCP
2.2 Web và HTTP
2.3 FTP
2.4 E-Mail
§ꢀ SMTP, POP3,IMAP
2.5 DNS
2-2
Tầng Application
Chương 2: tầng application
Mục tiêu:
vꢀ Tìm hiểu các giao
thức phổ biến của
tầng application
§ꢀ HTTP
vꢀ Khái niệm và các khía
cạnh thực hiện của
các giao thức ở ứng
dụng mạng
§ꢀ FTP
§ꢀ SMTP / POP3 / IMAP
§ꢀ DNS
§ꢀ Mô hình client-
server
vꢀ Lập trình ứng dụng
§ꢀ Mô hình peer-to-
mạng
peer
§ꢀ socket API
2-3
Tầng Application
Một số ứng dụng mạng
vꢀ E-mail
vꢀ Thoại trên nền IP (e.g.,
Skype)
vꢀ Web
vꢀ Hội thảo video thời
vꢀ Remote access
vꢀ Chia sẽ file P2P
gian thực
vꢀ Mạng xã hội
vꢀ Mạng tìm kiếm
vꢀ …
vꢀ Trò chơi nhiều người
trên mạng
vꢀ Streaming stored
video (YouTube, Hulu,
Netflix)
vꢀ …
2-4
Tầng Application
application
transport
network
data link
physical
Tạo một ứng dụng mạng
Viết chương trình để:
vꢀ Chạy trên các hệ thống đầu
cuối khác nhau
vꢀ Truyền thông qua mạng
vꢀ Ví du: phần mềm web
server giao tiếp với trình
duyệt
application
transport
network
data link
physical
Không cần viết phần mềm cho
các thiết bị mạng lõi
application
transport
network
data link
physical
vꢀ Các thiết bị mạng lõi không
chạy các ứng dụng của
người dùng
vꢀ Các ứng dụng trên các hệ
thống đầu cuối cho phép
quảng bá và phát triển ứng
dụng nhanh chóng
2-5
Tầng Application
Các kiến trúc ứng dụng
Cấu trúc có thể của các ứng dụng:
vꢀ Client-Server
vꢀ peer-to-peer (P2P) (Mạng ngang hàng)
vꢀ Lai giữa Client-Server và P2P
2-6
Tầng Application
Kiến trúc Client-server
server:
vꢀ Luôn luôn hoạt động
vꢀ Địa chỉ IP cố định
vꢀ Trung tâm phục vụ và lưu
trữ dữ liệu
clients:
vꢀ Giao tiếp với server
client/server
vꢀ Có thể kết nối không liên
tục
vꢀ Có thể dùng địa chỉ IP
động
vꢀ Không giao tiếp trực tiếp
với các client khác
2-7
Tầng Application
Kiến trúc P2P (ngang hàng)
vꢀ Không có server
peer-peer
vꢀ Các hệ thống đầu cuối bất kỳ
truyền thông trực tiếp với
nhau
vꢀ Các peer yêu cầu dịch vụ từ
các peer khác và cung cấp
dịch vụ ngược lại cho các
peer khác
§ꢀ Có khả năng tự mở rộng –
các peer mới mang lại
năng lực dịch vụ mới, cũng
như các nhu cầu về dịch
vụ mới
vꢀ Các peer được kết nối không
liên tục và có thể thay đổi
địa chỉ IP
2-8
Tầng Application
§ꢀ Quản lý phức tạp
Các tiến trình liên lạc
Tiến trình (process):
clients, servers
chương trình chạy
trong một host.
Tiến trình client: tiến
t r ì n h k h ở i t ạ o
truyền thông
Tiến trình server: tiến
trình chờ đợi để
được liên lạc
vꢀ 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.
vꢀ 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)
vꢀ Chú ý: các ứng dụng với
kiến trúc P2P có cả các
tiến trình client và
server
2-9
Tầng Application
Sockets
vꢀ Tiến trình gửi/nhận thông điệp đến/ từ socket của nó
vꢀ Socket tương tự như cổng ra vào
§ꢀ Tiến trình gởi đẩy thông điệp ra khỏi cửa
§ꢀ Tiến trình gởi dựa trên cổng của hạ tầng truyền
thông bên kia để phân phối thông điệp đến socket
tại tiến trình nhận
application
application
Được kiểm soát
Bởi nhà phát triển
ứng dụng
socket
process
process
transport
transport
Được điều khiển
bởi hệ điều hành
network
link
network
link
Internet
physical
physical
2-10
Tầng Application
Tiến trình định địa chỉ
vꢀ Đinh danh (identifier)
vꢀ Để nhận thông điệp, tiến
trình phải có định danh
bao gồm cả địa chỉ IP và
số cổng (port numbers)
được liên kết với tiến
trình trên host.
vꢀ Thiết bị host device có địa
chỉ IP 32-bit duy nhất
vꢀ Q: dựa vào địa chỉ IP của
host mà tiến trình đang
chạy trên đó thì có đủ để
xác định tiến trình đó hay
không?
vꢀ Ví dụ về số port:
§ꢀ HTTP server: 80
§ꢀ mail server: 25
vꢀ Để gởi thông điệp HTTP
đ ế n w e b s e r v e r
gaia.cs.umass.edu :
§ꢀ A: không, có nhiều
tiến trình có thể
đang được chạy trên
cùng một host
§ꢀ IP address: 128.119.245.12
§ꢀ port number: 80
vꢀ Còn nữa…
2-11
Tầng Application
Định nghĩa giao thức tầng
Application
Các giao thức mở:
vꢀ Các loại thông điệp được
trao đổi
vꢀ Được định nghĩa trong
§ꢀ e.g., yêu cầu (request),
đáp ứng (response)
RFCs
vꢀ Cho phép khả năng
vꢀ Cú pháp thông điệp:
tương tác
§ꢀ Các trường trong thông
vꢀ e.g., HTTP, SMTP
Các giao thức độc quyền:
vꢀ e.g., Skype
điệp và cách mà các
trường được định nghĩa
vꢀ Ngữ nghĩa của thông điệp
§ꢀ Ý nghĩa của thông tin
trong các trường
vꢀ Các quy tắc (rules) khi nào
và cách nào mà các tiến
trình gởi và đáp ứng các
thông điệp
2-12
Tầng Application
Dịch vụ vận chuyển nào mà ứng dụng
cần?
Khả năng mất mát dữ liệu
Thông lượng (throughput)
(data loss)
vꢀ lMà,ộtđasốphứưnơgngdụtinệgn)(nyhêưu
vꢀ Một số ứng dụng (ví dụ
t r u y ề n f i l e , w e b
cầu số lượng thông
transactions) yêu cầu độ
lượng tối thiếu để đạt
tin cậy 100% khi truyền
được “hiệu quả”
vꢀ (C“áứcngứdnụgngdmụềnmg dkẻhoá”c)
dữ liệu.
vꢀ Các ứng dụng khác (ví dụ
audio) có thể chịu được
có thể dùng bất kỳ
một số mất mát.
thông lượng nào cũng
Thời gian (timing)
được
An ninh
vꢀ Một số ứng dụng (ví
dụ, thoại Internet,
game tương tác) yêu
cầu độ trễ thấp để đạt
được “hiệu quả”
vꢀ Mã hóa, toàn vẹn dữ
liệu, …
2-13
Tầng Application
Các yêu cầu dịch vụ vận chuyển: các ứng dụng
phổ biến
ứng dụng
thông lượng
mất dữ liệu
time sensitive
Truyền file
e-mail
Web documents
audio/video
mềm dẻo
mềm dẻo
mềm dẻo
audio: 5kbps-1Mbps
video:10kbps-5Mbps
như trên
Trên một vài kbps
mềm dẻo
không
không
không
chịu lỗi
không
không
không
có, 100’s msec
thời gian thực
audio/video đã lưu
Game tương tác
text messaging
chịu lỗi
chịu lỗi
không
có, vài giây
Có , 100’s msec
Có và không
2-14
Tầng Application
Các dịch vụ giao thức Transport
Internet
Dịch vụ UDP:
Dịch vụ TCP:
vꢀ reliable transport giữa
vꢀ Truyền dữ liệu không
tin cậy giữa tiến trình
gởi và nhận
tiến trình gởi và nhận
vꢀ flow control: người gởi
sẽ không áp đảo người
nhận
vꢀ 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.
vꢀ congestion control: điều
tiết người gởi khi mạng
quá tải
vꢀ connection-oriented:
thiết lập được yêu cầu
giữa tiến trình client và
server
Q: tại sao phải quan
tâm? Tại sao có UDP?
2-15
Tầng Application
Ứng dụng Internet: Các giao thức tầng
application, transport
Giao thức tầng
Giao thức dưới tầng
application
application
transport
SMTP [RFC 2821]
Telnet [RFC 854]
HTTP [RFC 2616]
FTP [RFC 959]
e-mail
remote terminal access
Web
TCP
TCP
TCP
TCP
Truyền file
HTTP (e.g., YouTube),
RTP [RFC 1889]
SIP, RTP, độc quyền
(e.g., Skype)
streaming multimedia
TCP or UDP
Thoại Internet
TCP or UDP
2-16
Tầng Application
Bảo mật TCP
SSL là giao thức ở
tầng Application
TCP & UDP
vꢀ Không mã hóa
vꢀ Ctháưc ứvinệgndSụSnLg,dcùánig
mà “nói chuyên” với
TCP
vꢀ Mđưậợtcmgãởcihđưếan msoãchkeóat
để đi qua Internet
trong dạng nguyên bản
SSL socket API
SSL
vꢀ Mcleậatrmteãxdtạđnưgợc gởi
vào trong socket đi
qua Internet được
mã hóa
vꢀ Hđưổợtcrợmãkếhtóanối TCP
vꢀ Toàn vẹn dữ liệu
vꢀ Chứng thực điểm cuối
vꢀ Xem chương 7
2-17
Tầng Application
Chương 2: Nội dung
2.6 các ứng dụng P2P
2.1 Các nguyên lý của
các ứng dụng mạng
2.7 lập trình socket
với UDP và TCP
2.2 Web và HTTP
2.3 FTP
2.4 thư điện tử
§ꢀ SMTP, POP3,
IMAP
2.5 DNS
2-18
Tầng Application
Web và HTTP
Ôn lại…
vꢀ web page bao gồm các đối tượng (objects)
vꢀ JĐPốEi Gt,ưJợanvga caópptlehtể, flàilefailuediHo,T…ML, hình ảnh
vꢀ mWàebbapoaggeồmbamoộgtồsmố fđiốlei HtưTợMngL đcươợbcảtnhcaámi
chiếu
vꢀ Mmộỗti đUốRiLt,ưvợí dngụ có thể được định địa chỉ bởi
path name
host name
2-19
Tầng Application
Tổng quan HTTP
HTTP: hypertext
transfer protocol
§ꢀ Giao thức web ở tầng
Application
PC chạy
trình duyệt
Firefox
vꢀ Mô hình client/server
§ꢀ client: trình duyệt
yêu cầu, nhận (dùng
giao thức HTTP) và
“hiện thị” các đối
tượng Web
server
Chạy web server
Apache
§ꢀ server: Web server
gởi (dùng giao thức
H T T P ) c á c đ ố i
tượng để đáp ứng
yêu cầu
iphone chạy
trình duyệt
Safari
2-20
Tầng Application
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Computer networking - Chương 2: Tầng Application", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
bai_giang_computer_networking_chuong_2_tang_application.pdf