Bài giảng Mạng máy tính - Chapter 2: Application layer

MẠNG MÁY TÍNH  
(COMPUTER NETWORKING)  
J.F Kurose and K.W. Ross. Computer  
Networking A Top Down Approach.  
6th edition, Addision Wesley, 2013  
Nội dung môn học  
Chapter 1: Computer Networks and the Internet  
Chapter 2: Application Layer  
Chapter 3: Transport Layer  
Chapter 4: Network Layer  
Chapter 5: The Link Layer and Local Area Network  
Data Link  
Chapter 6: Wireless and Mobile Networks  
Chapter 7: Multimedia Networking  
Chapter 8: Security in Computer Networks  
Chapter 9: Network Management  
1.2  
Chapter 2: APPLICATION  
LAYER  
Agenda  
2.1 Các nguyên lý của ứng dụng mạng  
2.2 Web và HTTP  
2.3 FTP  
2.4 Electronic mail  
SMTP, POP3, IMAP  
2.5 DNS  
2.6 Chia sẻ file P2P (Peer-to-Peer Application)  
2.7 Lập trình socket với TCP/UDP  
1.4  
Mục tiêu  
Khái niệm, khía cạnh thực hiện của các giao thức ứng dụng mạng  
Mô hình client-server  
Mô hình peer-to-peer  
Nghiên cứu giao thức thông qua xem xét một số giao thức lớp  
application  
HTTP, FTP, SMTP/POP3/IMAP, DNS  
Lập trình ứng dụng mạng  
Socket API  
1.5  
Một số ứng dụng mạng  
Email  
Web  
Tin nhắn nhanh  
Đăng nhập từ xa  
Chia sẻ file P2P  
Trò chơi nhiều người trên mạng  
Streaming các video clips  
Điện thoại Internet  
Hội thảo video thời gian thực  
Tính toán lớn, tính toán song song  
1.6  
Tạo một ứng dụng mạng  
Viết chương trình để  
Chạy trên các hệ thống đầu cuối, và  
Truyền thông qua mạng  
Vd: web  
Phần mềm nhỏ viết cho các thiết bị trung tâm mạng  
Các thiết bị trung tâm mạng không chạy các mã ứng dụng của  
người dùng  
Ứng dụng trên các hệ thống đầu cuối cho phép phát triển ứng  
dụng nhanh, phổ biến  
1.7  
Principles of the Network Applications  
2.1 CÁC NGUYÊN TẮC CỦA  
ỨNG DỤNG MẠNG  
1.8  
1.9  
Các kiến trúc của ứng dụng  
Client-Server  
Peer-to-peer (P2P)  
Lai giữa Client-Server và P2P  
1.10  
Client-Server  
Server  
Host luôn hoạt động  
Địa chỉ IP cố định  
Nhóm các server để chia sẻ công v
Clients  
Truyền thông với server  
Có thể kết nối không liên tục  
đ/chỉ IP thay đổi  
Không truyền thông trực tiếp với  
client khác  
1.11  
Peer-to-peer  
Không có server luôn hoạt động  
Truyền thông trực tiếp với thiết bị đầu c
bất kỳ  
Các điểm kết nối không liên tục và  
liên tục thay đổi đ/chỉ IP  
Vd: Gnutella  
Độ linh hoạt cao nhưng khó quản lý!!!  
1.12  
Lai giữa Client-Server và P2P  
Skype  
Ứng dụng điện thoại Internet  
Tìm địa chỉ của thành viên ở xa: server trung tâm  
Kết nối trực tiếp client-client (không thông qua server)  
Tin nhắn nhanh  
Chat giữa 2 users là P2P  
Mô hình client-server:  
User đăng ký địa chỉ IP của họ với server trung tâm khi trực  
tuyến  
User tiếp xúc với server trung tâm để tìm địa chỉ IP của bạn  
1.13  
Tiến trình truyền thông  
Tiến trình (process): chương  
Tiến trình Client: khởi tạo  
trình chạy bên trong 1 host  
truyền thông  
Tiến trình Server: chờ  
được tiếp xúc  
Trong cùng host, 2 tiến  
trình truyền thông dùng  
truyền thông nội bộ (do  
hệ điều hành xác định)  
Các tiến trình trong các  
host khác nhau truyền  
thông bằng cách trao đổi  
các thông điệp  
Chú ý:  
Các ứng dụng với kiến  
trúc P2P có cả các tiến  
trình client và server  
1.14  
SOCKETS  
Socket tương tự như “cửa” hay API (Application Programming  
Interface)  
giao diện giữa tiến trình với  
mạng  
(1) lựa chọn giao thức vận  
chuyển  
Tiến trình gởi: đẩy thông  
(2) khả năng chỉnh sửa một vài  
tham số  
điệp ra ngoài cửa  
Tiến trình nhận: phụ thuộc  
vào hạ tầng lưu thông mang  
thông điệp tói socket thích  
hợp  
1.15  
Tiến trình định địa chỉ (Addressing Processes)  
Để nhận được thông điệp, tiến trình phải có nhân dạng (identifier)  
Thiết bị host phải có địa chỉ IP là duy nhất  
Địa chỉ IP mà trên đó tiến trình đang chạy có đủ để nhận dạng tiến  
trình không?  
KHÔNG, nhiều tiến trình có thể chạy trên cùng 1 host  
Nhân dạng bao gồm địa chỉ IP và số cổng (port) liên kết với tiến  
trình trên host  
Vd về số port: HTTP server (80), Mail server (25)  
Để gởi thông điệp HTTP cho web server gaia.cs.umass.edu  
IP address: 128.119.245.12  
Port number: 80  
1.16  
Giao thức lớp ứng dụng (Application-layer Protocol)  
Các giao thức Public  
Các kiểu trao đổi thông điệp  
Vd: Yêu cầu, Đáp ứng  
Cú pháp thông điệp  
domain  
Định nghĩa trong RFC  
Cho phép cộng tác  
Vd: HTTP, SMTP  
Các trường nào có trong  
thông điệp và làm sao mô tả?  
Ngữ nghĩa thông điệp  
Các giao thức độc quyền  
Vd: KaZaA  
Ý nghĩa của thông tin trong  
các trường  
Các quy tắc để khi nào và làm  
sao các tiến trình gởi và đáp ứng  
các thông điệp  
1.17  
Transport services available to Applications  
Truyền dữ liệu đáng tin cậy (reliable data transfer)  
Một số ứng dụng chấp nhận có lỗi trong quá trình truyền  
(audio/video), một số lại yêu cầu dữ liệu tin cậy 100% (file  
transfer)  
Thoughput  
Bandwidth-sensitive applications: những ứng dụng yêu cầu băng  
thông để đạt hiệu quả (vd: multimedia).  
Elastic applications: những ứng dụng có thể sử dụng băng thông  
nào cũng được (vd: email, file transfer, web transfer)  
Timing  
Một số ứng dụng (vd: điện thoại internet) yêu cầu độ trễ thấp để  
đạt hiệu quả  
Security  
1.18  
Một số yêu cầu đối với các ứng dụng phổ biến  
1.19  
Transport services provided by the Internet  
TCP service  
UDP service  
Truyền dữ liệu không tin cậy giữa  
Connection-oriented service:  
gởi và nhận  
cần trao đổi thông tin lớp điều  
khiển vận chuyển trước khi  
tầng application bắt đầu gởi  
tin (handshaking procedure)  
Không hỗ trợ: thiết lập kết nối, tin  
cậy, điều khiển luồng, điều khiển  
tắc nghẽn, timing, bảo đảm bang  
thông tối thiểu  
Vận chuyển tin cậy giữa tiến  
trình gởi và nhận  
Điều khiển luồng: người gởi  
không lấn át người nhận  
Điều khiển tắc nghẽn: điều tiết  
Vậy sinh ra UDP để làm gì?  
người gởi khi mạng quá tải  
Không hỗ trợ: timing, bảo đảm  
băng thông tối thiểu  
1.20  
Tải về để xem bản đầy đủ
pdf 92 trang myanh 14960
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Mạng máy tính - Chapter 2: Application layer", để 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:

  • pdfbai_giang_mang_may_tinh_chapter_2_application_layer.pdf