BÀI TẬP THỰC HÀNH SỐ MÔN HỌC: NHẬP MÔN MẠNG MÁY TÍNH TCP VÀ UDP Mục tiêu - Tìm hiểu hành vi TCP UDP - Phân tích q trình gửi nhận file 150KB từ máy khách lên máy chủ - Tìm hiểu việc TCP sử dụng sequence number acknowledgement number để truyền liệu tin cậy - Phân tích thuật toán điều khiển tắc nghẽn điều khiển luồng Bắt gói tin q trình gửi file sử dụng TCP lên máy chủ Ghi bạn chạy Wireshark Internet thật mở file tcp-ethereal-trace-1 có sẵn thư mục wireshark-traces Thực bước sau có kết nối Internet: - Mở trình duyệt Truy cập trang http://gaia.cs.umass.edu/wireshark-labs/alice.txt lưu file vào máy tính - Truy cập trang http://gaia.cs.umass.edu/wireshark-labs/TCP-wireshark-file1.html CuuDuongThanCong.com https://fb.com/tailieudientucntt - Sử dụng nút Browse trang web để chọn file alice.txt vừa download Đừng nhấn nút Upload alice.txt file - Mở Wireshark bắt đầu bắt gói (Capture -> Start) - Quay lại trình duyệt, nhấn nút Upload alice.txt file để upload file lên server Khi file upload, tin nhắn chúc mừng xuất trình duyệt - Ngưng bắt gói Phân tích hành vi TCP - Gõ “tcp” vào lọc Wireshark để hiển thị tất gói tin TCP CuuDuongThanCong.com https://fb.com/tailieudientucntt Quan sát gói tin trả lời câu hỏi sau: (để có minh chứng cho câu trả lời, bạn cần chụp lại hình dùng chức “Print” Wireshark: File -> Print Chọn Selected packet only Packet summary line) Tìm địa IP TCP port máy khách gửi file cho gaia.cs.umass.edu? Tìm địa IP gaia.cs.umass.edu? Kết nối TCP dùng để gửi nhận segments sử dụng port nào? TCP SYN segment sử dụng sequence number để khởi tạo kết nối TCP máy khách gaia.cs.umass.edu? Thành phần segment cho ta biết segment TCP SYN segment? CuuDuongThanCong.com https://fb.com/tailieudientucntt Tìm sequence number SYNACK segment gửi gaia.cs.umass.edu đến máy khách để trả lời cho SYN segment? Tìm giá trị Acknowledgement SYNACK segment? Làm gaia.cs.umass.edu xác định giá trị đó? Thành phần segment cho ta biết segment SYNACK segment? Tìm sequence number TCP segment có chứa lệnh HTTP POST? Giả thiết TCP segment chứa lệnh HTTP POST segment kết nối TCP Tìm sequence number segments (tính segment có chứa HTTP POST)? Thời gian mà segment gửi? Thời gian ACK cho segment nhận? Đưa khác thời gian mà segment gửi thời gian ACK cho segment nhận, tính RTT cho segments? Tính EstimatedRTT sau nhận ACK? Giả sử EstimatedRTT với RTT cho segment đầu tiên, sau tính EstimatedRTT với cơng thức giáo trình trang 239 cho segment Tìm độ dài segment đầu tiên? Tìm lượng buffer cịn trống nhỏ mà bên nhận thông báo cho bên gửi suốt file trace? Có segment gửi lại hay khơng? Thơng tin file trace cho bạn biết điều đó? 10 Lượng liệu mà bên nhận thường nhận ACK bao nhiêu? Xác định trường hợp mà bên nhận ACK cho segment nhận (bảng 3.2 trang 247 giáo trình) 11 Thơng lượng (throughput – byte/s) kết nối TCP? Giải thích cách tính thông lương CuuDuongThanCong.com https://fb.com/tailieudientucntt Điều khiển tắc nghẽn Để kiểm tra lượng liệu truyền đơn vị thời gian, thay phải tự tính tốn trực tiếp từ liệu gói tin, ta sử dụng tính Wireshark – Time – Sequence – Graph (Steven) - Chọn segment phần danh sách gói tin Chọn Statistics -> TCP Stream Graph -> Time-Sequence-Graph(Steven) Ta thấy biểu đồ tương tự sau: - Mỗi chấm biểu đồ tượng trưng cho TCP segment có sequence number tương ứng với thời gian segment gửi Lưu ý chồng dấu chấm tương ứng với chuỗi gói tin gửi liên tiếp - Trả lời câu hỏi sau: CuuDuongThanCong.com https://fb.com/tailieudientucntt 12 Sử dụng Time-Sequence-Graph để quan sát sequence number tương ứng với thời gian segment gửi Xác định giai đoạn Slowstart bắt đầu kết thúc, đâu giai đoạn tránh tắc nghẽn (Congestion Avoidance)? Đưa nhận xét, so sánh với hành vi TCP học giáo trình 13 Trả lời tương tự file trace mà bạn có trường hợp bạn tự upload file alice.txt Bắt gói phân tích UDP - Bật Wireshark, bắt đầu bắt gói Thơng thường xuất số gói tin UDP SNMP xuất danh sách gói tin - Ngưng bắt gói, lọc gói tin UDP để Wireshark hiển thị gói tin UDP Nếu khơng có gói tin UDP bạn sử dụng file htp-etherealtrace-5 cung cấp thư mục wireshark-traces - Trả lời câu hỏi sau: 14 Chọn gói tin UDP, xác định trường (field) UDP header? 15 Qua thông tin hiển thị Wireshark, xác định độ dài (tính theo byte) trường UDP header? 16 Giá trị trường Length độ dài gì? Chứng minh? 17 Số bytes lớn mà payload UDP chứa? 18 Giá trị lớn có port nguồn? 19 Xác định protocol number UDP (cả hệ 10 lẫn hệ 16)? Để trả lời câu hỏi này, bạn cần phải xem trường Protocol IP header 20 Kiểm tra cặp gói tin gồm: gói tin máy gửi gói tin phản hồi gói tin Miêu tả mối quan hệ port number gói tin CuuDuongThanCong.com https://fb.com/tailieudientucntt ... upload, tin nhắn chúc mừng xuất trình duyệt - Ngưng bắt gói Phân tích hành vi TCP - Gõ ? ?tcp? ?? vào lọc Wireshark để hiển thị tất gói tin TCP CuuDuongThanCong.com https://fb.com/tailieudientucntt Quan... Packet summary line) Tìm địa IP TCP port máy khách gửi file cho gaia.cs.umass.edu? Tìm địa IP gaia.cs.umass.edu? Kết nối TCP dùng để gửi nhận segments sử dụng port nào? TCP SYN segment sử dụng sequence... TCP SYN segment sử dụng sequence number để khởi tạo kết nối TCP máy khách gaia.cs.umass.edu? Thành phần segment cho ta biết segment TCP SYN segment? CuuDuongThanCong.com https://fb.com/tailieudientucntt