Địa chỉ IP máy trạm của tôi : 192.168.1.2 Địa chri IP máy trạm đích : 222.255.121.131
2. Tại sao 1 ICMP packet không có số hiệu cổng nguồn, đích?
ICMP là giao thức lớp 3 trong khi port number lại được sử dụng ở lớp 4 3. Khảo sát một gói tin yêu cầu được gửi trên máy của bạn. Cho biết giá trị của 2
thuộc tính Type và Code của gói tin ICMP? Và các thuộc tính khác như Checksum, sequence và identifier Type 8 Code 0 Checksum: 0x4d56 Identifier: 0x0001 Sequence number: 5 (0x0005)
4. Khảo sát một gói tin reply yêu cầu . Cho biết giá trị của 2 thuộc tính Type và Code của gói tin ICMP? Và các thuộc tính khác như Checksum, sequence và identifier
Type : 0 Code: 0 ( )
Cheksum: 0x5556 Identifier: 0x0001 Sequence number: 5
5. What is the IP address of your host? What is the IP address of the target destination host?
IP address of your host 192.168.1.2
the IP address of the target destination host 222.255.121.131
6. Nếu ICMP gửi gói tin UDP thay thế (as in Unix/Linux), thì IP protocol number có còn là 01 đối với các gói tin ko ? Nếu ko thì nó sẽ là bao nhiêu?
Không, ICMP sẽ gửi packet có port 0x01(17)
7. Khảo sát ICMP echo packet trên máy của bạn . Có gì khác biệt giữa các thành phần so với ICMP ping query packets ở nửa đầu bài lab ko ? Nếu có thì khác ở điểm nào?
Không có gì khác biệt
8. Khảo sát gói tin ICMP error. Nó có them thuộc tính nào so với gói tin ICMP echo Nó bao gồm những thuộc tính gì ?
Điểm khác biệt là Type : 11 Code : 0
Ko có thuộc tính Identifier
9. K hảo sát gói tin ICMP error. Nó có them thuộc tính nào so với gói tin ICMP echo Nó bao gồm những thuộc tính gì ?
Điểm khác biệt là Type : 11 Code : 0
Ko có thuộc tính Identifier
Khảo sát 3 gói tin ICMP cuối cùng nhận được bởi host nguồn. Những gói tin này có gì khác biệt so với gói tin ICMP error? Tại sao chúng lại khác nhau?
Đó là 3 gói tin ICMP reply
10. Khi thực hiện lệnh tracert ta thấy có 1 số link có độ trễ lớn hơn các link khác, cho biết đó là link nào? Dự đoán xem nguyên nhân là tại sao?
Ví dụ như khi ta thực hiện lệnh tracert www.inria.fr có kết quả như sau:
Để trả lời câu hỏi 10 ta sẽ xem lại 1 số quy tắt đọc kết quả từ lệnh tracert
Dòng 1 : là dòng kết nối giữa modem và máy tính, độ trễ tốt nhất là 1ms 1ms 1ms ! Nếu cao hơn hoặc xuất hiện dấu * hay Request timed out thì kết nối modem và máy có vấn đề !
Dòng 2: là kết nối giữa modem và mạng của ISP (nhà cung cấp mạng), độ trễ tốt nhất nên trong khoảng 10-40 ms ! Cao hơn khoảng này hoặc xuất hiện dấu * hay Request timed out thì kết nối modem và mạng ISP có vấn đề !
Dòng 3 trở đi tới trace complete : là kết nối trong mạng giữa các ISP với nhau , nếu xuất hiện dấu * hay Request timed out thì kết nối trong mạng ISP có vấn đề !
Dựa vào đó ta thấy từ hop thứ 13 đến 23 độ trễ tăng rất cao đặc biệt co hop còn bị request timed out, nguyên nhân có thể là do kết nối trong mạng giữa các ISP với nhau, hoặc do số
1. Địa chỉ IP máy tính của bạn là gì ?
Địa chỉ IP máy tính của tôi là : 192.168.1.4
2. Trong gói IP packet header,trường giá trị nào thuộc về giao thức lớp trên?
Đó là trường : ICMP(0x01)
3. Kích cỡ của IP header ? Kích cỡ của IP datagram ở trong payload ? Giải thích tại sao lại xác định được những giá trị đó?
IP header = Total Length – Header Length = 56 – 20 = 36 .
payload of the IP datagram is 0 bytes bởi vì trường Flags : 0×00 .
4. IP datagram có bị phân mảnh ko ? Giải thích tại sao lại ?
IP datagram ko bị phân mảnh . Vì flags=0 và offset=0;
5. Những trường giá trị nào luôn thay đổi trong IP datagram…?
Trả lời:
1. Identification
2. Time to live(TTL)
3. Checksum
6. Những giá trị nào là hằng số ? Những giá trị nào phải thay đổi ? Tại sao
Những trường giá trị là hằng số: 1. Version 2. Header length 3. Flag 4. Fragment offset 5. Protocol 6. Sourece 7. Destination
Checksum phải thay đổi vì checksum phụ thuộc vào TTL và ID .
7. Giới thệu qua về những gì bạn nhìn thấy ở trường identification của IP datagram
Identification : unique IP datagram value. Có độ dài là 16 bits
8. Giá trị của Identification và TTL?
Trả lời:
Identification: 0×117b(4475) Time to live: 1
9. Giá trị ICMP TTL-exceeded replies gửi tới máy nguồn từ các router gần nhất ( first hop) có thay đổi được ko? Vì sao?
Trả lời:
Giá trị ICMP TTL-exceeded replies gửi tới máy nguồn từ các router gần nhất ( first hop) ko được thay đổi vì giá trị TTL đối với router ở hop đầu tiên là duy nhất. TTL phụ thuộc vào hệ điều hành và số lượng các hop.
10. Tìm đến gói tin request echo ICMP đầu tiên sau khi bạn thay đôi giá trị của Packet trong chương trình pinglotter lên 2000. Gói tin này có bị phân mảnh thành nhiều IP datagram ko?
Trả lời:
11. Trường thông tin nào ở trong IP header cho thấy rằng gói dữ liệu có bị phân mảnh hay ko? Và trường thông tin nào cho thấy đó có phải là fragment đầu tiên hay ko? Kích cỡ của IP datagram?
Giá trị flags chứng tỏ rằng gói dữ liệu được phân mảnh. Nếu đó là fragment đầu tiên thì feagment offset thiết lập bằng 0. kích cỡ của gói dữ liệu IP là 1500 (bytes)
12. Thông tin nào ở trong IP header cho thấy đó ko phải là datagram fragment đầu tiên? Nó có bị phân mảnh nữa ko? Giải thích?
The Fragment offset = 1480 vì thế nó không phải datagram fragment đầu tiên. Nó sẽ ko phân mảnh nữa vì Flags = 0x00
0..= Reserved bit: Not set .0. = Don’t fragment: Not set ..0 = More fragments: Not set
13. Giá trị nào thay đổi trong IP header giữa fragment đầu tiên và thứ hai ? Trả lời 1.Total length 2.Flag 3.Fragment offset 4.Checksum
14. Có bao nhiêu fragments được tạo ra từ datagram đầu tiên ?
Quan sát wireshark ta thấy có 3 gói tin có fragment offset =0 => Có 3 gói packet được tạo từ datagram gốc
15. Những giá trị nào thay đổi trong IP header giữa các fragment ? Trả lời: 1.Total length 2.Flag 3.Fragment offset 4.Checksum 8. Wireshark Lab : TCP
1. Hỏi Số hiệu cổng TCP và địa chỉ IP được sử dụng bởi máy tính client (nguồn) là gì, tức thứ đang truyền file tới gaia.cs.umass.edu?
Trả lời:
2. Hỏi địa chỉ IP của gaia.cs.umass.edu là gì? Số hiệu của cổng nó đang gửi và nhận các phần TCP cho kết nối này là gì?
Trả lời:
Địa chỉ IP: 128. 119. 245. 12 Số hiệu cổng: 80
3. Số hiệu cổng TCP và địa chỉ IP được sử dụng bởi máy tính client của bạn (nguồn) để trao đổi fiel tới gaia.cs.umass.edu là gì?
Trả lời:
Số hiệu cổng TCP: 49695 Địa chỉ IP: 192. 168. 1. 35
4. Số hiệu các chuỗi của phần TCP SYN được sử dụng để khởi tạo kết nối TCP giữa máy tính client và gaia.cs.umass.edu là gì? Nó là gì trong các phần đó, thứ định danh các phần như 1 phần SYN?
Trả lời:
gaia.cs.umass.edu xác định giá trị đó như thế nào? Nó là gì trong phần mà dùng để định danh phần như 1 phần SYSACK?
Trả lời:
Số hiệu chuỗi của phần SYNACK gửi bới gaia.cs.umass.edu tới máy tính client để phản hồi SYN : 0
Giá trị của trường ACKnowledgement trong phần SYNACK: 1
Bit cờ của trường ACK = 1 và bit cờ trường SYN: 1, chúng được định danh phần nhứ 1 phần SYNACK.
6. Số hiệu chuỗi của phần TCP chứa lệnh HTTP POST là gì?
Trả lời:
7. Xem xét phần TCP chứa HTTP POST như là phần đầu tiên trong kết nối TCP. Các Số hiệu chuỗi của 6 phần đầu tiên trong kết nối TCP ( bao gồm cả phần chứa HTTP POST) là gì? Thời gian mỗi phần gửi là bao lâu? Khi nào ACK cho mỗi phần được nhận? Đưa sự khác biệt giữ mỗi phần TCP được gửi, và khi acknowledgement của nó được nhận, giá trị RTT cho mỗi một trong 6 phần đó là bao nhiêu? Giá trị EstimatedRTT (xem trang 249 trong tài liệu) sau khi nhận mỗi ACK là bao nhiêu? Cho rằng giá trị của EstimatedRTT là bằng với giá trị RTT đo được trong segment đầu tiên, và sau đó được tính toán sử dụng đẳng thức EstimatedRTT trong trang 249 cho các segment đến sau. Chú ý: Wireshark có 1 tính chất tốt là cho phép bạn vẽ đồ thị RTT cho mỗi các phần TCP được gửi. Chọn TCP segment trong cửa sổ “listing of captured packets”, tức thứ được gửi từ client tới server gaia.cs.umass.edu . Sau đó chọn Statistics->TCP Stream Graph->Round Trip Time Graph.
Trả lời:
Các số hiệu của 6 phần đầu tiên trong kết nối TCP: 1: số hiệu chuỗi phần 1
6: số hiệu chuỗi phần 7261
HTTP POST segment có các số thứ tự: 22, 23, 25, 26, 28, 29
ACK segment có các số thứ tự: 24, 27, 30, 33, 36, 39
Thời gian gửi ACK RTT
Segment 1 0,315970 0,654932 0,338962 Segment 2 0,315993 0,681107 0,365114 Segment 3 0,655083 1,005242 0,350159 Segment 4 0,655103 1,047355 0,392252 Segment 5 0,681228 1,063670 0,382442 Segment 6 0,681251 1,106774 0,425523
Tính toán giá trị EstimatedRTT :
EstimatedRTT of Segment 1 = 0.338962 EstimatedRTT of Segment 2 = 0.875 * 0.338962 + 0.125 *0,365114= 0.342231 EstimatedRTT of Segment 3 = 0.875 * 0.342231 + 0.125 *0.350159 = 0.343222 EstimatedRTT of Segment 4 = 0.875 * 0.343222 + 0.125 *0.392252 = 0.349351 EstimatedRTT of Segment 5 = 0.875 * 0.349351 + 0.125 *0.382442 = 0.353487 EstimatedRTT of Segment 6 = 0.875 * 0.353487 + 0.125 *0.425523 = 0.362492
•Round Trip Time Grap
Độ rộng của segment thứ tư là: 1452 bytes Độ rộng của segment thứ năm là: 1452 bytes Độ rộng của segment thứ sáu là: 1452 bytes
9. Giá trị nhỏ nhất của không gian đệm có thể ở phần nhận cho toàn bộ trace? Có thể xảy ra sự thiếu không gian đệm vùng nhận khi tắc nghẽn đường gửi không?
Trả lời:
Giá trị nhỏ nhất của không gian đệm có thể ở phần nhận cho toàn bộ trace là 66792 bytes (kích thước của window trong khởi tạo kết nối đầu tiên).
Không xảy ra hiện tượng thiếu không gian đệm vùng đệm nhận khi tắc nghẽn đường gửi .
10. Các segment có được tái truyền đi trong file trace? Bạn kiểm tra cái gì (trong trace) để trả lời câu hỏi này?
Trả lời:
Các segment có thể được tái truyền đi trong file trace. Có thể kiểm tra là 1 số số hiệu chuỗi được gửi đi hai lần hoặc nhiều hơn .
11. Bao nhiêu dữ liệu receiver báo nhận trong ACK? Bạn có thể nhận ra các trường hợp nơi mà receiver đang báo nhận mỗi khi segment khác được nhận không?
Acknowledged sequence number Acknowledged data
Ack 1 1 1452 Ack 2 1453 1452 Ack 3 2905 1452 Ack 4 4357 1452 Ack 5 5809 1452 Ack 6 7261 1452 Ack 7 8713 1452 … … …
12. Lưu lượng (số byte trao đổi mỗi đơn vị thời gian) cho kết nối TCP này là bao nhiêu? Giải thích bạn tính toán giá trị này như thế nào ?
Trả lời:
Lưu lượng trung bình của 1 kết nối = (0,75*W)/RTT W: windown size (bytes)
Ví dụ: Sử dụng các số liệu ở bài 7, ta có lưu lượng trung bình của kết nối TCP đầu tiên: W = 66792 bytes
RTT = 0,338962 seconds
Lưu lượng trung bình của kết nối TCP = (0,75*66792)/0,338962 = 147786,477 (bytes/sec)
13. Sử dụng công cụ vẽ đồ thị Time-Sequence-Graph (Stevens) để xem số chuỗi trên thời gian vẽ của các segment đang gửi từ client tớ server gaia.cs.umass.edu server. Bạn có thể nhận ra đoạn TCP bắt đầu chậm từ lúc nào tới lúc nào, và nơi nào sự tránh tắc nghẽn đạt được? Dẫn giải con đường mà ở đó dữ liệu được đo khác với hành vi được lý tưởng hóa của TCP, tức thứ mà chúng ta được học trong tài liệu.
Trả lời:
Qua đồ thị Time-Sequence-Graph (Stevens) ta có thể nhận ra đợn TCP bắt đầu chậm và nơi có thể tránh tắc nghẽn. Vì đồ thị chỉ ra sơ đồ trên mạng, những điểm tắc nghẽn có thể xảy ra. Khi TCP kết nối được giữa Sender và Reciever, nó có 1 giá trị duy nhất(chính là windows size),
9. Wireshark Lab : UDP
1. Chọn 1 packet. Từ packet này, xác định có bao nhiêu trường trong UDP header.
Trả lời: 4 fields in UDP header. that is Source Port,Destination Port,Length,CheckSum.
2. Từ trường nội dung packet, xác định độ rộng (byte) của mỗi trường UDP header.
Trả lời:
UDP gồm 4 trường, kích thước của mỗi trường:
Source port number: 2 bytes
Destination port number: 2 bytes
Datagram size(Length) : 2 bytes
3. Giá trị trong trường Length là độ dài của cái gì? Xác thực khẳng định của bạn với gói UDP đã bắt.
Trả lời:
Trường Length xác định độ dài của toàn bộ datagram: header và data. Độ dài của trường Length trong trường hợp trên là 37 .
4. Giá trị tối đa các byte có thể bao gồm trong 1 phần tải có ích UDP là bao nhiêu?
Trả lời:
Kích thước tối đa của khối dữ liện môi trường hệ thay đổi phụ thuộc vào điều hành. Với trường kích thước 2bytes, kích thước tối đa theo lý thuyết của khối dữ liệu là 65535 ( = 2^16-1) bytes.
5. Số hiệu cổng nguồn lớn nhất có thể là bao nhiêu?
Trả lời:
Số hiệu cổng nguồn lớn nhất có thể là 65535( = 2^16-1).
6. Số hiệu giao thức cho UDP là bao nhiêu? Đưa câu trả lời của bạn trong cả hệ 16 và 10.
Trả lời:
Số hiệu giao thức cho UDP là: 0×11(hệ 16), 17(hệ 10).
7. Tìm “UDP” trên Google và xác định các trường trong tính toán UDP checksum.
Trả lời
Pseudo Header Field (trường header giả) được sử dụng trong tính tóa UDP checksum, nó bap gồm các trường: the source address, the destination address, the protocol, and the UDP
Trả lời:
Packet thứ nhất: source port: 1801, Destination port: 53. Packet thứ hai: source port: 53, Destination port is 1801.
9. Câu hỏi thêm:
Bắt 1 gói UDP nhỏ. Xác thực bằng tay checksum trong gói này. Chỉ ra công việc và giải thích tất cả các bước.
• UDP sender:
IP Source Address = 192. 168. 1. 35
Chuyển sang dạng 16 bit = 11000000.10101000.00000001.00100011
IP Destination Address = 192. 168. 1. 1
Chuyển sang dạng 16 bit = 11000000.10101000.00000001.00000001
Protocol: UDP (0×4c9b) = 0100110010011011 UDP Length: 40 = 010000000 Calculated checksum : 11000000 1010100 + 00000001 00100011 11000001 11001011 + 11000000 10101000 110000010 01110011 + 00000001 00000001 110000011 01110100 + 01001100 10011011 111010000 00001111 + 00000000 01000000 111010000 01001111 Lấy phần bù 000101111 10110000 : UDP Sender • UDP Receiver IP Source Address = 192. 168. 1. 1
Chuyển sang dạng 16 bit = 11000000.10101000.00000001.00000001
IP Destination Address = 192. 168. 1. 35
seperate into 16 bit = 11000000.10101000.00000001.00100011
Protocol: UDP (0×4c9b) = 0100110010011011 UDP Length: 40 = 010000000
11000000 10101000 + 00000001 00000001 11000001 10101001 + 11000000 10101000 110000010 01010001 + 00000001 00100011 110000011 01110100 + 01001100 10011011 111010000 00001111 + 00000000 01000000 111010000 01001111 : kết quả Receiver + 000101111 01110000 : kết quả Sender 11111111111111111 : Không có lỗi !