intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Mạng máy tính: Bài 5 (Chương II) - ThS. Nguyễn Cao Đạt

Chia sẻ: Dang Trang | Ngày: | Loại File: PDF | Số trang:43

130
lượt xem
15
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

"Bài giảng Mạng máy tính: Bài 5 (Chương II)" trình bày về ứng dụng P2P, lập trình Socket với TCP, lập trình Socket với UDP. Tài liệu phục vụ cho các bạn chuyên ngành Công nghệ Thông tin và các bạn quan tâm tới mạng máy tính.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Mạng máy tính: Bài 5 (Chương II) - ThS. Nguyễn Cao Đạt

  1. Trường Đại Học Bách Khoa Tp.HCM Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng Mạng máy tính ThS. NGUYỄN CAO ĐẠT E-mail:dat@cse.hcmut.edu.vn
  2. Bài giảng 5: Tầng ứng dụng (tt) Tham khảo: Chương 2: “Computer Networking – A top-down approach” Kurose & Ross, 5th ed., Addison Wesley, 2010. Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 3 - Chương 2: Tầng ứng dụng © 2011 2
  3. Chương 2: Tầng ứng dụng  2.1 Các nguyên lý của tầng ứng dụng  2.6 Ứng dụng P2P  2.2 Web và HTTP  2.7 Lập trình Socket với  2.3 FTP TCP  2.4 Thư điện tử  2.8 Lập trình Socket với  SMTP, POP3, IMAP UDP  2.5 DNS Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 3 - Chương 2: Tầng ứng dụng © 2011 3
  4. Cấu trúc P2P thuần túy  máy chủ không luôn luôn mở  nhiều máy đầu cuối khác nhau giao tiếp trực tiếp với nhau  các bên kết nối không liên tục và thay đổi địa chỉ IP  Ba chủ đề: peer-peer  Phân phối tệp tin  Tìm kiếm thông tin  Tình huống nghiên cứu: Skype Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 3 - Chương 2: Tầng ứng dụng © 2011 4
  5. Phân phối tệp tin: Chủ-khách so với P2P Câu hỏi : Cần bao nhiêu thời gian để phân phối tệp từ 1 máy chủ tới N người dùng? us: băng thông tải lên của máy chủ máy chủ ui: băng thông tải lên u1 d1 u2 của mỗi khách d2 us di: băng thông tải Tệp, kích xuống của mỗi khách thước F dN Mạng(băng thông rộng) uN Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 3 - Chương 2: Tầng ứng dụng © 2011 5
  6. Thời gian phân phối tệp: chủ-khách  chủ lần lượt gửi N bản sao: máy chủ  NF/us s F u1 d1 u2  khách i cần F/di t/g để tải us d2 xuống dN Mạng(băng thông rộng) uN tăng tuyến tính theo N (với N lớn) Thời gian để phân phối F tới N khách sử dụng = d = max { NF/u , F/min(d ) } cs s i mô hình khách/chủ i Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 3 - Chương 2: Tầng ứng dụng © 2011 6
  7. Phân phối tệp tin: P2P  máy chủ phải gửi một máy chủ phản sao: F/us đvtg F u1 d1 u2  khách i cần F/di t/g để us d2 tải về dN Mạng(băng  NF bit phải được tải về thông rộng) uN  Vận tốc tải lên nhanh nhất có thể: u s + Su i dP2P = max { F/us, F/min(di) , NF/(us + Sui) } i Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 3 - Chương 2: Tầng ứng dụng © 2011 7
  8. Khách-chủ so với P2P: ví dụ tốc độ tải lên của n/d = u, F/u = 1 hour, us = 10u, dmin ≥ us 3.5 P2P Minimum Distribution Time 3 Client-Server 2.5 2 1.5 1 0.5 0 0 5 10 15 20 25 30 35 N
  9. Phân phối tệp tin: BitTorrent  phân phối tệp kiểu P2P máy chủ (tracker): theo dõi các torrent: nhóm các cá nhân chia sẻ những cá nhân tham gia vào torrent đoạn tệp lấy danh sách người tham gia trao đổi các đoạn tệp peer Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 3 - Chương 2: Tầng ứng dụng © 2011 9
  10. BitTorrent (1)  tệp được chia thành đoạn 256KB.  cá nhân tham gia torrent:  ko có đoạn nào, nhưng sẽ tích lũy chúng theo t/g  đăng kí với tracker để lấy danh sách thành viên, liên kết tới một nhóm nhỏ thành viên (“hàng xóm”)  trong khi tải về, người tải đồng thời chia sẻ đoạn tệp cho những người khác.  cá nhân có thể tham gia hoặc từ bỏ torrent  một khi n/d tải xong tệp, họ có thể rời mạng torrent hoặc ở lại để chia sẻ cho người khác Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 3 - Chương 2: Tầng ứng dụng © 2011 10
  11. BitTorrent (2) Kéo các đoạn tệp Gửi các đoạn tệp: tit-for-tat  tại bất kì thời điểm nào, các  Alice gửi các đoạn cho 4 thành viên khác nhau sẽ có hàng xóm mà đang gửi những đoạn khác nhau của đoạn cho cô ta ở vận tốc một tệp cao nhất  một cách định kì, một thành  đánh giá lại tóp 4 sau viên (Alice) sẽ yêu cầu từ mỗi 10 s các hàng xóm danh sách  sau mỗi 30 s: chọn ngẫu các đoạn mà họ có. nhiên một thành viên khác, và gửi đoạn cho nó  Alice gửi yêu cầu tới các  thành viên mới này có đoạn mà cô ta thiếu thể vào tóp 4  đoạn hiếm nhất trước Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 3 - Chương 2: Tầng ứng dụng © 2011 11
  12. BitTorrent: Tit-for-tat (1) Alice “khai thông một cách lạc quan” cho Bob (2) Alice trở thành 1 trong tóp 4 nhà cung cấp của Bob; Bob trả ơn (3) Bob trở thành 1 trong tóp 4 nhà cung cấp của Alice Với vận tốc tải lên cao hơn, có thể tìm được đối tác truyền tải tốt hơn và tải tệp tin nhanh hơn! Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 3 - Chương 2: Tầng ứng dụng © 2011 12
  13. Bảng băm phân tán (DHT)  DHT = cơ sở dữ liệu P2P phân tán  CSDL có các cặp (khóa, giá trị);  khóa: số CMND; giá trị: tên người  khóa: loại nội dung; giá trị: đ/c IP  Các thành viên truy vấn CSDL với khóa  CSDL trả lại giá trị mà có khóa trùng hợp  Thành viên cũng có thể chèn các cặp (khóa, giá trị) vào CSDL Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 3 - Chương 2: Tầng ứng dụng © 2011 13
  14. Định danh DHT  Gán cho mỗi thành viên một số nguyên định danh trong khoảng [0,2n-1].  Mỗi định danh có thể được biểu diễn bằng n bít.  Yêu cầu mỗi khóa cũng là một số nguyên trong cùng khoảng trên.  Để tạo ra khóa số nguyên ta băm khóa nguyên thủy.  vd: key = h(“Led Zeppelin IV”)  Vì vậy gọi là bảng “băm” phân tán Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 3 - Chương 2: Tầng ứng dụng © 2011 14
  15. Làm sao để gán khóa cho các thành viên?  Vấn đề trọng tâm:  gán các cặp (khóa, giá trị) cho các thành viên.  Qui luật: gán khóa cho thành viên mà có ID gần nhất.  Qui ước đơn giản: gần nhất là số đứng ngay sau của khóa.  Vd: n=4; thành viên: 1,3,4,5,8,10,12,14;  khóa = 13, thành viên gần nhất = 14  key = 15, thành viên gần nhất = 1 Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 3 - Chương 2: Tầng ứng dụng © 2011 15
  16. DHT xoay vòng (1) 1 3 15 4 12 5 10 8  Mỗi thành viên chỉ nắm thông tin của người đứng ngay trước hoặc ngay sau nó.  “Mạng bao phủ” Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 3 - Chương 2: Tầng ứng dụng © 2011 16
  17. Circle DHT (2) trung bình O(N) thông 0001 Ai chịu trách nhiệm điệp để tìm ra vị trí cho khóa 1110 ? thành viên Tôi 0011 1111 1110 1110 0100 1110 1100 1110 1110 0101 Định nghĩa gần nhất 1110 là người liền sau gần 1010 nhất 1000 Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 3 - Chương 2: Tầng ứng dụng © 2011 17
  18. Circle DHT (2) trung bình O(N) thông 0001 Ai chịu trách nhiệm điệp để tìm ra vị trí cho khóa 1110 ? thành viên Tôi 0011 1111 1110 1110 0100 1110 1100 1110 Định nghĩa gần nhất 1110 0101 là người liền sau gần 1110 nhất 1010 1000 Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 3 - Chương 2: Tầng ứng dụng © 2011 18
  19. DHT xoay vòng với liên kết tắt 1 Ai quản lý khóa 1110? 3 15 4 12 5 10 8  Mỗi thành viên lưu dấu của địa chỉ IP của người liền trước, liền sau và vài liên kết tắt.  Giảm từ 6 xuống còn 2 thông điệp.  Có thể thiết kế liên kết tắt sao cho có O(log N) hàng xóm, O(log N) thông điệp cho mỗi truy vấn Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 3 - Chương 2: Tầng ứng dụng © 2011 19
  20. Peer Churn 1 •Để xử lý peer churn, yêu cầu mỗi 3 t/viên phải biết địa chỉ của 2 người 15 liền sau nó. • Mỗi t/viên theo định kì ping 2 4 người liền kề nó để xem họ còn trên mạng ko. 12 5 1. Thành viên số 5 đột nhiên rời 10 khỏi mạng 8  Thành viên 4 nhận ra; nhận 8 làm người liền sau chính thức; hỏi 8 ai là người liền sau chính thức của nó; nhận người liền sau chính thức của 8 làm người liền sau thứ 2.  Chuyện gì xảy ra nếu 13 muốn gia nhập? Trường Đại Học Bách Khoa Tp.HCM MẠNG MÁY TÍNH CĂN BẢN Khoa Khoa Học và Kỹ Thuật Máy Tính Bài giảng 3 - Chương 2: Tầng ứng dụng © 2011 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2