Mình chưa hiểu nhiều về TTL đọc tài liệu thấy: số hop = TTL. mà RIP V2 tối đa 15hop thì fair, sao ping toàn thấy 128TTL hoặc..... TTL là gì nhỉ? TIme to live??
Announcement
Collapse
No announcement yet.
Hỏi về TTL và Hop
Collapse
X
-
À, Time to live dịch đại khái là thời gian mà 1 gói tin được phép "sống trong mạng", khi hết cái time này thì nó sẽ "chết", tức là bị hủy, không truyền đi nữa.
TTL không tính bằng giây mà bằng hop count, giả sử TTL xuất phát là n, khi gói tin đi qua 1 thiết bị như switch hay router thì thiết bị này sẽ giảm TTL -1 rồi mới gửi đi tiếp (tức là còn n-1). Khi đến 1 thiết bị nào đó mà TTL bị giảm xuống 0 thì nó sẽ hủy cái gói tin chứ không cho đi tiếp. Cái TTL dùng để tránh loop trong mạng có router (mạng switch thì đã có spanning tree).
Giá trị TTL mà bạn thấy khi ping là giá trị TTL của gói ICMP reply mà máy bạn nhận được từ máy kia, nó được tính bằng số TTL xuất phát trừ đi số hop. Như vậy giá trị nó cao hay thấy là phụ thuộc số hop và số TTL khởi điểm. Nếu qua 10 hop chẳng hạn, mà bên kia phát gói ICMP reply với TTL = 256 thì bạn sẽ thấy Ping reply TTL=246; còn nếu xuất phát là 128 thì bạn sẽ thấy Ping reply TTL = 118.
TTL khởi điểm là mấy tùy thuộc vào IOS của thằng thiết bị bên kia. VD HĐH Windows có TTL start = 128, Linux = 64, Solaris = 256 (có thể chỉnh được)Last edited by invalid-password; 13-12-2007, 05:43 PM.
-
Giả sử ping thấy TTL = 123 thì mình có thể nghĩ là "123 gần 128, vậy chắc là khởi điểm là 128, và qua 128-123=5, chứ chẳng lẽ khởi điểm là 256 và qua tới > 100 hop !!!"
Dùng lệnh tracert sẽ thấy qua những con nào, nhưng chỉ nhìn thấy router chứ không nhìn thấy switch. Ví dụ nếu thấy TTL=118 (10 hop) mà tracert chỉ thấy 6 IP thì tức là ở giữa có 4 con switch, còn nó nằm ở đâu thì ai mà biết được. Nếu biết thì người ta nhìn thấy topo mạng của nhau à ?
Comment
-
Chào bạn invalid-password,
Mình có 2 vấn đề muốn hỏi bạn:
1. Bạn có thể chỉ mình cách thay đổi TTL trong các hệ điều
hành?
2. Theo giải thích của bạn:
Dùng lệnh tracert sẽ thấy qua những con nào, nhưng chỉ nhìn thấy router chứ không nhìn thấy switch. Ví dụ nếu thấy TTL=118 (10 hop) mà tracert chỉ thấy 6 IP thì tức là ở giữa có 4 con switch, còn nó nằm ở đâu thì ai mà biết được. Nếu biết thì người ta nhìn thấy topo mạng của nhau à ?
4 con switch bạn nào là switch gì mà lại có thể giảm ttl? Nếu theo mình hiểu là switch bình thường (Layer 2) thì tại sao lại giảm được TTL?
Cám ơn bạn
Comment
-
Originally posted by invalid-password View PostÀ, Time to live dịch đại khái là thời gian mà 1 gói tin được phép "sống trong mạng", khi hết cái time này thì nó sẽ "chết", tức là bị hủy, không truyền đi nữa.
TTL không tính bằng giây mà bằng hop count, giả sử TTL xuất phát là n, khi gói tin đi qua 1 thiết bị như switch hay router thì thiết bị này sẽ giảm TTL -1 rồi mới gửi đi tiếp (tức là còn n-1). Khi đến 1 thiết bị nào đó mà TTL bị giảm xuống 0 thì nó sẽ hủy cái gói tin chứ không cho đi tiếp. Cái TTL dùng để tránh loop trong mạng có router (mạng switch thì đã có spanning tree).
Giá trị TTL mà bạn thấy khi ping là giá trị TTL của gói ICMP reply mà máy bạn nhận được từ máy kia, nó được tính bằng số TTL xuất phát trừ đi số hop. Như vậy giá trị nó cao hay thấy là phụ thuộc số hop và số TTL khởi điểm. Nếu qua 10 hop chẳng hạn, mà bên kia phát gói ICMP reply với TTL = 256 thì bạn sẽ thấy Ping reply TTL=246; còn nếu xuất phát là 128 thì bạn sẽ thấy Ping reply TTL = 118.
TTL khởi điểm là mấy tùy thuộc vào IOS của thằng thiết bị bên kia. VD HĐH Windows có TTL start = 128, Linux = 64, Solaris = 256 (có thể chỉnh được)
@sontht : trong linux muốn thay đổi TTL thì sửa file /proc/sys/net/ipv4/ip_default_ttl. Còn trong windows muốn sửa TTL thì vào regedit (còn path cụ thể thì mình ko nhớ, bạn có thể search google, dễ lắm)
điều thứ 2 bạn hỏi tôi cũng đã vừa nêu với bạn invalid-password, packet qua switch thì ko bị giảm TTL, bạn tracert ra 6 IP có nghĩa là có 6 thiết bị layer 3 trở lên, còn nó nằm ở đâu (về mặt vật lý) thì dĩ nhiên mình ko biết tuy nhiên mình có thể biết được thứ tự mô hình của chúng. Do đó nếu ko có thiết bị security (firewall ..) gì thì người ta có thể thấy được phần nào mô hình cty bạn nếu muốnLast edited by vietwow; 17-12-2007, 01:33 PM.
Comment
-
Originally posted by sontht View Post4 con switch bạn nào là switch gì mà lại có thể giảm ttl? Nếu theo mình hiểu là switch bình thường (Layer 2) thì tại sao lại giảm được TTL?
Change cái TTL trong Win
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Servic es\Tcpip\Parameters, tạo cái key tên là DefaultTTL, kiểu DWORD.Last edited by invalid-password; 17-12-2007, 02:07 PM.
Comment
-
Originally posted by invalid-password View PostGiả sử ping thấy TTL = 123 thì mình có thể nghĩ là "123 gần 128, vậy chắc là khởi điểm là 128, và qua 128-123=5, chứ chẳng lẽ khởi điểm là 256 và qua tới > 100 hop !!!"
Dùng lệnh tracert sẽ thấy qua những con nào, nhưng chỉ nhìn thấy router chứ không nhìn thấy switch. Ví dụ nếu thấy TTL=118 (10 hop) mà tracert chỉ thấy 6 IP thì tức là ở giữa có 4 con switch, còn nó nằm ở đâu thì ai mà biết được. Nếu biết thì người ta nhìn thấy topo mạng của nhau à ?
Thứ nhất, mọi người đã đồng ý rằng gói tin chỉ đi qua thiết bị lớp 3 ( Router, Switch Layer 3...) mới bị trừ đi 1 đơn vị trong trường TTL nó đang mang, nên mình không nói thêm làm gì.
Thứ hai, cần phân biệt rõ:
- Trường TTL trong gói tin Reply bị giảm bao nhiêu đơn vị - đồng nghĩa với việc gói tin đi từ " Xa " về chúng ta qua bấy nhiêu thiết bị lớp 3. --> Chiều gói tin đi từ " Xa " về ta
- Câu lệnh Tracert " ip thiết bị Xa" là kiểm tra gói tin từ ta tới thiết bị " Xa " kia phải đi qua những thiết bị lớp 3 nào. --> Chiều gói tin đi từ ta đến " Xa "
Số lượng thiết bị lớp 3 mà các gói tin đi qua trong 2 trường hợp trên sẽ không phải lúc nào cũng là bằng nhau. Sẽ là khác nhau nếu trong mô hình mạng có sự thay đổi đột ngột.
Ví dụ: Gói tin đi từ ta đi đến thiết bị " Xa " phải đi qua 5 Router R1 -> R2 -> R3 -> R4 -> R5 --> thiết bị " Xa ". Khi thiết bị " Xa " nhận được yêu cầu phản hồi của gói tin Ping, mặc định nó sẽ đi theo thứ tự: R5 -> R4 -> R3 -> R2 -> R1 --> ta. Nhưng trong trường hợp gói tin đi về ta qua R4 rồi đến R3. Trong trường hợp R3 bị down, khi này thằng R4 sẽ phải tìm con đường khác để tới ta, giả sử nó phải đi qua 2 con R3' và R2' rồi mới tới R2 --> R1 và về ta. Dẫn đến số lượng thiết bị lớp 3 gói tin đi qua là nhiều hơn " so với dự kiến" --> dẫn đến có sự khác nhau giữa giá trị -TTL và Tracert.
Cần nhớ rõ ý nghĩa, tránh nhầm lẫn nhé.
Còn về vấn đề sai lệch do firewall, or... mình k bàn ở đây.Last edited by htm114; 10-01-2011, 12:38 AM.
Comment
-
Comment