BÀI TẬP LỚN môn Lập trình mạng
Lớp: K50-MMT
1. Mô tả bài toán:
Cho topology mạng với cấu hình như dưới đây. Các máy S1, S2, S3 cùng chứa file
good_information.dat.
S1
X kbps
S2
Y kbps
10 Mbps
C1
R
S3
Z kbps
Thiết kế giao thức và viết chương trình máy chủ cài trên máy S1, S2, S3 và chương
trình máy khách cài trên máy C1 để có thể download file good_information.dat từ
nhiều máy chủ S1, S2, S3 cùng một lúc. Yêu cầu: File download về không bị lỗi
2. Môi trường làm việc
Máy chủ:
- OS: Linux
Chuơng trình máy chủ:
- Thư mục chứa chương trình: /home/student/netprog/group_#/
(thông tin chính xác sẽ thông báo sau)
- Programming language: C, C++
Máy khách:
- OS: Linux, windows XP
Chương trình máy khách:
- Programming language: C, C++, Java
File:
- Lưu tại 3 máy chủ: S1, S2, S3
- Tên: good_information.dat
- Kích thước: khoảng 10MByte,
- Thư mục chứa file: /home/student/netprog/data/
(thông tin chính xác sẽ thông báo sau)
- Sử dụng hàm băm để xác nhận toàn vẹn file
Cấu hình mạng
-
Băng thông giữa các máy chủ và router R không được biết trước (nằm trong
khoảng 100kbps ~ 1000kbps)
Băng thông giữa router R và máy khách C1 là 10Mbps
Liên kết giữa máy chủ và router R có tỷ lệ mất mát gói tin không được biết trước
3. Đánh giá
-
File download về đầy đủ, không lỗi: 30%
+ File download về có lỗi:
Document: 20%
+ Trình bày đầy đủ thuật toán, giao thức, thiết kế chương trình
+ Cần ghi rõ và đầy đủ vai trò của các thành viên
Có download file từ nhiều máy chủ: 10%
Tốc độ download: 40%
+ Nhóm download nhanh thứ i và file không lỗi: (40 – 2*(i-1)) % (i <= 10)
+ Nhóm download nhanh thứ i và file không lỗi: (30 – (i-1)) % (i > 10)
4. Hạn nộp bài tập lớn: 8/12/2008
Chú ý:
- Một nhóm tối đa 3 người
- Điểm của các thành viên trong nhóm có thể khác nhau tùy theo mức độ đóng góp của
mỗi thành viên