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!
Trường: Trường Đại học Công nghệ Thông tin, Đại học Quốc gia Thành phố Hồ Chí Minh
Thông tin:
Tác giả:
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)