You are on page 1of 15

Môn: MMT&TT

Lớp: IT005.O12.2
Tên: Đỗ Mai Tường Vy
MSSV: 22521701
GV HDTH: Nguyễn Thanh Nam

-BÁO CÁO LAB.03-

1. Task 1: Phân tích hoạt động giao thức UDP


1.1 Streaming video sử dụng UDP: Cài đặt và stream một video từ máy tính bằng VLC
(đóng vai trò như server) sử dụng giao thức RTSP (Real Time Streaming Protocol)

Hình 1.1.a: Chọn video cần stream và nhấn Stream.


Hình 1.1.b: Chọn Stream » Next, chọn RTSP trong phần New Destination và chọn Add.

1.2 Tiến hành bắt gói tin UDP khi streaming video:

Hình 1.2: Truy cập VLC để xem video từ máy của bạn có IP 192.168.137.38
1.3 Phân tích hoạt động giao thức UDP:
1. Chọn một gói tin UDP, xác định các trường (field) có trong UDP header và giải
thích ý nghĩa của mỗi trường đó?
=>Trả lời:

UDP header gồm có 4 trường:


- Source port: Số hiệu cổng nơi đã gửi gói dữ liệu (datagram).
- Destination port: Số hiệu cổng nơi datagram được chuyển tới.
- Length: Độ dài tổng cộng kể cả phần header của gói UDP datagram.
- Checksum: Trường checksum dùng cho việc kiểm tra lỗi của phần header và dữ liệu
nhằm bảo đảm tính toàn vẹn của gói tin.
2. Qua thông tin hiển thị của Wireshark, xác định độ dài (tính theo byte) của mỗi
trường trong UDP header?
=>Trả lời:
-Source port: 2 bytes
- Destination port: 2 bytes

- Length: 2 bytes
- Checksum: 2 bytes

3. Giá trị của trường Length trong UDP header là độ dài của gì? Chứng minh nhận
định này?
=>Trả lời:
Giá trị của trường Length trong UDP header là độ dài là 12 bytes do trường Length là
tổng độ dài của 8 bytes UDP header cộng với 4 bytes của data (UDP payload)
4. Số bytes lớn nhất mà payload (phần chứa dữ liệu gốc, không tính UDP header và
IP header) của UDP có thể chứa?
=>Trả lời: Số bytes lớn nhất mà payload của UDP có thể chứa là 2^16 –1(do giá trị lưu
trong 16 bit) trừ đi 8 bytes của header, tức là 65535 – 8 = 65527 bytes
5. Giá trị lớn nhất có thể có của port nguồn (Source port)?
=>Trả lời: Giá trị lớn nhất có thể có của port nguồn là 2^16 – 1 = 65535
6. Tìm và kiểm tra một cặp gói tin sử dụng giao thức UDP gồm: gói tin do máy mình
gửi và gói tin phản hồi của gói tin đó. Miêu tả mối quan hệ về port number của 2
gói tin này.
=>Trả lời: Ta xét cặp gói tin số 144 và 153
- Source port của packet gửi là : 61476
- Destination port của packet gửi là: 65034
- Gói tin phản hồi có giá trị ngược lại của hai port. (Src Port: 65034, Dst Port: 61476)

2. Task 2: Phân tích hoạt động giao thức TCP


2.1 Streaming video sử dụng HTTP và bắt gói tin TCP:
Hình 2.2.1: Truy cập VLC để xem video từ máy của bạn có IP 192.168.137.38

2.2 Phân tích hoạt động giao thức TCP:


7. Tìm địa chỉ IP và TCP port của máy Client?
=>Trả lời:
-IP của máy Client: 198.162.137.245
-TCP port của máy Client: 49231
8. Tìm địa chỉ IP của Server? Kết nối TCP dùng để gửi và nhận các segments sử
dụng port nào?
=>Trả lời:
- Địa chỉ IP của server là 192.168.188.38
- TCP port của server là 8080
9. TCP SYN segment (gói tin TCP có cờ SYN) sử dụng sequence number nào để
khởi tạo kết nối TCP giữa client và server? Thành phần nào trong segment cho ta
biết segment đó là TCP SYN segment?
=>Trả lời:
- TCP SYN segment sử dụng sequence number là 0 vì nó được sử dụng để khởi tạo kết
nối TCP giữa máy client và server.
- Trong trường Flags, SYN flag được đặt thành 1 cho biết rằng segment đó là một TCP
SYN segment.

10. Tìm sequence number của gói tin SYN/ACK segment được gửi bởi server đến
client để trả lời cho SYN segment? Tìm giá trị của Acknowledgement trong
SYN/ACK segment? Làm sao server có thể xác định giá trị đó? Thành phần nào
trong segment cho ta biết segment đó là SYN/ACK segment?
=>Trả lời:

- Sequence number = 0
- ACK = 1
- Server có thể xác định giá trị đó vì: Trong giao thức TCP, trường "ACK" và "seq" trong
một gói tin có vai trò quan trọng trong việc đảm bảo tính toàn vẹn và đúng thứ tự của dữ
liệu trong kết nối. Khi bạn đặt "ACK = 1" và "seq = 0" trong một gói tin TCP, nó có ý
nghĩa sau:
+ACK = 1: Khi trường ACK được thiết lập thành 1, gói tin này là một gói tin
ACKnowledgment, tức là nó được sử dụng để xác nhận việc nhận các gói tin trước đó.
+seq = 0: Trường "seq" thường được sử dụng để chỉ định số thứ tự của dữ liệu được
gửi trong gói tin. Khi "seq = 0," gói tin này xác định rằng nó là một gói tin đầu tiên trong
kết nối hoặc một gói tin được gửi từ một bên khởi tạo kết nối. Trường "seq" với giá trị 0
thường được sử dụng trong quá trình thiết lập kết nối TCP.
Tóm lại, gói tin với "ACK = 1" và "seq = 0" thường đại diện cho một gói tin ACK đầu
tiên trong quá trình thiết lập kết nối TCP, được gửi từ bên khởi tạo kết nối để xác nhận
việc nhận được yêu cầu kết nối ban đầu.
- Các thành phần trong cờ SYN, ACK cho ta thấy hai dòng Acknowledgement và Syn đã
được ‘Set’ với 1 bit ‘1’.

11. Chỉ ra 6 segment đầu tiên mà server gửi cho Client (dựa vào Số thứ tự gói –No) .
Tìm sequence number của 6 segments đầu tiên đó?
=>Trả lời:
6 segment đầu tiên mà Server gửi cho Client là: 241, 243, 424, 428, 431, 437
Sequence number của 6 segment đầu tiên lần lượt là: 1, 104, 504, 4884, 7804, 15104

- Xác định thời gian mà mỗi segment được gửi, thời gian ACK cho mỗi segment
được nhận? Đưa ra sự khác nhau giữa thời gian mà mỗi segment được gửi và thời
gian ACK cho mỗi segment được nhận bằng cách tính RTT (Round Trip Time) cho
6 segments này?
=>Trả lời:

Hình a. 6 segment đầu tiên server gửi cho client

Hình b. 6 segment đầu tiên server gửi cho client


STT Thời gian gửi Thời gian nhận ACK RTT
Segment 1 13.902032 13.955425 0.053393
Segment 2 13.968211 14.015692 0.047481
Segment 3 20.203004 20.203135 0.000131
Segment 4 20.203353 20.203447 0.000094
Segment 5 20.208051 20.208181 0.000130
Segment 6 20.212914 20.212976 0.000062

12. Có segment nào được gửi lại hay không? Thông tin nào trong quá trình truyền
tin cho chúng ta biết điều đó?
=>Trả lời:
Dựa vào biểu đồ, ta không tìm thấy sequence number giống nhau được gửi ở 2 mốc thời
gian khác nhau nên không có segment nào được gửi lại trong quá trình truyền tin.
Việc không có segment nào được gửi lại trong quá trình truyền tin có thể do mạng hoạt
động ổn định và không có packet loss, hoặc cơ chế điều khiển congestion hoạt động hiệu
quả, giảm thiểu việc mất gói tin. Tuy nhiên, để xác nhận chắc chắn, chúng ta cần phân
tích thêm dữ liệu truyền tin.

You might also like