Giao thức ICMP (Internetwork Control Message Protocol) cho phép việc thử nghiệm và khắc phục các sự cố của giao thức TCP/IP.
Trang 1Giao th c ICMP, ph n 1: Gi i thi u ứ ầ ớ ệ
Giao th c ICMP (Internetwork Control Message Protocol) cho phép vi c th nghi m vàứ ệ ử ệ
kh c ph c các s c c a giao th c TCP/IP ICMP đ nh nghĩa các các thông đi p đắ ụ ự ố ủ ứ ị ệ ượ c dùng đ xác đ nh khi nào m t h th ng m ng có th phân ph i các gói tin Th t ra,ể ị ộ ệ ố ạ ể ố ậ ICMP là m t thành ph n b t bu c c a m i hi n th c IP.ộ ầ ắ ộ ủ ọ ệ ự
Trong m t vài trộ ường h p, m t gateway ho c m t máy đích s c n giao ti p v i máyợ ộ ặ ộ ẽ ầ ế ớ nguôn đ báo cáo l i các l i x y ra trong quá trình x lý gói tin Trong trể ạ ỗ ả ử ường h p đó,ợ ICMP s đẽ ược dùng ICMP s d ng IP nh th nó (ICMP) n m m t m c cao h n ử ụ ư ể ằ ở ộ ứ ơ
ARP không ph i là m t giao th c l p network Nó là m t ng d ng đả ộ ứ ớ ộ ứ ụ ược vi t tr cế ự
ti p trên l p Datalink Có m t cách th c khác đ chia các lo i thông đi p này là controlế ớ ộ ứ ể ạ ệ plane, management plane và data plane
Đôi khi gói tin ping còn được g i là ICMP echo request và ICMP echo replies, nh ngọ ư
th t ra, ICMP bao g m nhi u lo i thông đi p khác nhau ậ ồ ề ạ ệ
Ping thường được dùng đ ki m tra k t n i gi a các thi t b Đây là m t giao th c r tể ể ế ố ữ ế ị ộ ứ ấ
ph bi n đ ki m tra s t n t i c a m t máy Ping cũng có th đổ ế ể ể ự ồ ạ ủ ộ ể ược dùng đ kh cể ắ
ph c nh ng v n đ ph c t p h n trong m ng Ph n l n các hi n th c c a l nh pingụ ữ ấ ề ứ ạ ơ ạ ầ ớ ệ ự ủ ệ cho phép b n thay đ i kích thạ ổ ướ ủc c a gói tin B ng dả ưới đây mô t m t vài th ng kêả ộ ố
v kích thề ước gói tin ping trong Cisco IOS và các thi t b switch Catalyst ế ị
b ng: Kích thả ước gói tin ping
Device Minimum Packet Size Maximum Packet Size Default Packet Size
Cisco Catalyst 56 bytes 472 bytes 64 bytes
Ph n l n các hi n th c c a l nh ping trên các máy g i t ng gói tin m i giây Ciscoầ ớ ệ ự ủ ệ ử ừ ỗ IOS cho phép b n g i các gói tin nhanh hay ch m tùy thu c vào kh năng c a CPU vàạ ử ậ ộ ả ủ các thi t b m ng có th truy n nó nh th nào ế ị ạ ể ề ư ế
Trang 2Có vài v n đ b n c n ph i nh n bi t khi dùng l nh ping Ping đấ ề ạ ầ ả ậ ế ệ ượ ạc t o ra và đượ c
tr l i b i CPU c a các thi t b Cisco M c dù l nh ping không có chi m nhi u th iả ờ ở ủ ế ị ặ ệ ế ề ờ gian CPU, b n ph i c n th n khi dùng các thi t b có t i l n đ tr l i ho c t o raạ ả ẩ ậ ế ị ả ớ ể ả ờ ặ ạ
l nh ping Trên các thi t b Cisco, tác v ping đệ ế ị ụ ược gán đ u tiên r t th p Vì v y, cóộ ư ấ ấ ậ
th m t thi t b đang b n r n không th tr l i l nh ping ể ộ ế ị ậ ộ ể ả ờ ệ N u m t thi t b mà b nế ộ ế ị ạ đang ping không có trong b ng ARP, gói tin ping đ u tiên thả ầ ường b time-outị Do đó,
ph n l n các ng d ng m ng dùng ping s g i ra vài gói tin ping trầ ớ ứ ụ ạ ẽ ử ước khi th c sự ự thông báo là b m t k t n i Cũng tị ấ ế ố ương t , ự b n ph i r t c n th n khi dùng l nh pingạ ả ấ ẩ ậ ệ
đ xác đ nh đ tr hay thông lể ị ộ ễ ượng c a m t h th ng m ng b i vì b n đang đo lủ ộ ệ ố ạ ở ạ ườ ng ICMP performance c a các đ u cu i ch không ph i đo hi u năng th c s c a hủ ầ ố ứ ả ệ ự ự ủ ệ
th ng m ng ố ạ [vì nó dùng gán đ u tiên th p nên nó dùng test s th c thi c a máyộ ư ấ ự ự ủ mình c n ping ch không nên dùng coi nguyên m ng đó m nh hay y u]ầ ứ ạ ạ ế
B ng dả ưới đây li t kê các lo i thông đi p ICMP quan tr ng nh t:ệ ạ ệ ọ ấ
Lo i thông đi p ICMPạ ệ M c đíchụ
Destination Unreachable Thông báo cho máy ngu n là có m t v n đ trong phânồ ộ ấ ề
ph i gói tinố Time Exceed [vượt quá] Th i gian đ chuy n m t gói tin là quá l n Gói tin b lo iờ ể ể ộ ớ ị ạ
b ỏ Source Quench [d p t t]ậ ắ Máy ngu n đang g i d li u m c nhanh h n mà máyồ ử ữ ệ ở ứ ơ
đích có th x lý Thông đi p này yêu c u máy g i g iể ử ệ ầ ử ử
ch m l i.ậ ạ Redirect Được dùng b i m t router thông báo cho m t host dùngở ộ ộ
m t đ a ch router khác t t h n cho nh ng l n g i khácộ ị ỉ ố ơ ữ ầ ử
s p t i.ắ ớ Echo Được dùng b i l nh ping đ ki m tra k t n i.ở ệ ể ể ế ố
Address/mask request/reply Được dùng đ h c và đ truy v n đ a ch IP/ mask để ọ ể ấ ị ỉ ượ c
dùng
Router Advertisement and
Selection
Được dùng đ cho phép các host h c đ a ch IP c a cácể ọ ị ỉ ủ router g n vào subnet.ắ
M i thông đi p ICMP ch a m t trỗ ệ ứ ộ ường Type và trường Code Trường type đ ch raể ỉ
lo i thông đi p trong b ng trên Trạ ệ ả ường code ng m đ nh m t lo i ki u con Ví d ,ầ ị ộ ạ ể ụ nhi u ngề ười hay mô t l nh ping nh là ICMP Echo request và ICMP Echo replyả ệ ư
nh ng trong th c t , hai lo i thông đi p trên có cùng ki u Echo nh ng khác Codeư ự ế ạ ệ ể ư (request và reply)
Trang 3Giao th c ICMP, ph n 2: Thông đi p ICMP ứ ầ ệ
Unreachable và thông đi p Time Exceed ệ
ICMP Unreachable
Khi m t thi t b nh n ra r ng m t gói tinộ ế ị ậ ằ ộ không th để ược đ a đ n đ a ch đích ghiư ế ị ỉ trong gói tin, thi t b s g i ngế ị ẽ ử ược v m t thông đi p ICMP Unreachable Đ giúp xácề ộ ệ ể
đ nh nguyên nhân sâu xa t i sao gói tin không th đị ạ ể ược phân ph i, thông đi p ICMPố ệ bao g m m t trong năm giá tr sau đ ch ra nguyên nhân c a v n đ ồ ộ ị ể ỉ ủ ấ ề
Network Unreachable Router không có đường đi trong
trong b ng đ nh tuy n trùng v iả ị ế ớ
đ a ch đích c a gói tinị ỉ ủ
Router A không có tuy n điế
v 10.1.2.0 Router A g iề ử Unreachable v Fredề Host Unreachable Gói tin đã đ n đế ược router cu iố
cùng, nh ng host không tr l iư ả ờ ARP request
Máy web b t t Router B g iị ắ ử cho Fred m t thông đi p hostộ ệ unreachable
Can’t fragment
Fragment [phân m nh]ả
M t gói tin có kích thộ ướ ớc l n h nơ MTU nh ng gói tin có bit DFư (Don’t fragment) được thi p l p.ế ậ
Router A có MTU là 1500 bytes Gói tin có kích thướ c
1600 bytes và có DF=1 Protocol Unreachable Gói tin đã đ n đế ược host đích
nh ng trên host đích không có càiư giao th c đóứ
Host Web không có cài giao
th c TCP Host web tr l iứ ả ờ Unreachable cho Fred
Port Unreachable Gói tin được g i đ n host đích.ử ế
Không có ti n trình nào l ng ngheế ắ trên port đích
Máy web đang làm vi cệ
nh ng web server không ho tư ạ
đ ng Máy web g i portộ ử unreachable v cho Fred.ề
Trang 4Thông đi p Time Exceeded ICMP ệ
Thông đi p ICMP Time Exceed l u ý m t host khi m t gói tin mà máy đó đã g i bệ ư ộ ộ ử ị
lo i b b i vì b h t th i gian (timeout) Các gói tin thạ ỏ ở ị ế ờ ường th c s không có nhãn th iự ự ờ gian, nh ng đ ngăn ng a gói tin b chuy n đi m t cách b t t n gi a các m ng, m iư ể ừ ị ể ộ ấ ậ ữ ạ ỗ gói tin có m t trộ ường TTL
Router tr giá tr TTL c a gói tin đi 1 m i khi router chuy n m t gói tin đi N u m từ ị ủ ỗ ể ộ ế ộ router nh n đậ ược m t gói tin và sau đó tr giá tr TTL xu ng còn 0, router s lo i bộ ừ ị ố ẽ ạ ỏ gói tin Đi u này mang ý nghĩa là gói tin đã đề ược đ nh tuy n đi quá lâu trong m ng.ị ế ạ Router th c hi n lo i b gói tin s làm thêm m t đ ng tác là g i ngự ệ ạ ỏ ẽ ộ ộ ử ược v m t thôngề ộ
đi p ICMP Time Exceedệ đ n máy g i ban đ u TTL t 1 - 255ế ử ầ ừ
S d ng đ c đi m này, l nh trace c a Cisco IOS cũng dùng thông đi p time Exceed vàử ụ ặ ể ệ ủ ệ
trường TTL trong c ch ho t đ ng c a nó Đ u tiên, l nh trace s g i ra ba gói tin,ơ ế ạ ộ ủ ầ ệ ẽ ử
m i gói v i giá tr TTL=1 K t qu là, thông đi p ICMP Time Exceed s b tr v b iỗ ớ ị ế ả ệ ẽ ị ả ề ở
nh ng router đ u tiên trong tuy n đữ ầ ế ường Lý do là nh ng router đ u tiên s tr giá trữ ầ ẽ ừ ị TTL đi 1, còn l i 0 Nh ng router đ u tiên chính là các router lo i b gói tin nên nóạ ữ ầ ạ ỏ truy n ngề ược thông đi p Time exceed v ngệ ề ượ ạc l i máy ngu n Nh v y, máy ngu nồ ư ậ ồ sau phép th đ u tiên đã bi t đử ầ ế ược nh ng router g n nó nh t (cách nó m t hoop) Sauữ ầ ấ ộ
đó, l nh trace trên router s ti p t c g i ra ba gói tin v i TTL b ng 2 Sau phép th l nệ ẽ ế ụ ử ớ ằ ử ầ
2, router s bi t đẽ ế ược nh ng router cách nó hai hop.ữ Router c th ti p t c g I ra cácứ ế ế ụ ử gói v I TTL=3 và c th ti p t c cho đ n khi nào nó nh n đớ ứ ế ế ụ ế ậ ược m t tr l i t máyộ ả ờ ừ đích, là máy mà nó mu n tìm đố ường đi
RouterA# trace 10.12.14
Type escape sequence to abort.
Tracing the route to 10.1.2.14
1 10.1.3.253 8 msec 4 msec 4 msec
2 10.1.2.14 12 msec 8 msec 4 msec
RouterA#
Trang 5ICMP: time exceeded (time to live) sent to 10.1.3.251 (dest was 10.1.2.14)
ICMP: time exceeded (time to live) sent to 10.1.3.251 (dest was 10.1.2.14)
ICMP: time exceeded (time to live) sent to 10.1.3.251 (dest was 10.1.2.14)
Giao th c ICMP, ph n 3 (h t): Thông đi p ICMP ứ ầ ế ệ redirect
ICMP Redirect
Thông đi p ICMP Redirect cho phép router gateway c a m t host thông báo cho localệ ủ ộ host m t router t t h n đ đ n m t đ a ch đích nào đó.ộ ố ơ ể ế ộ ị ỉ Đ th c hi n vi c đó, m tể ự ệ ệ ộ router g i ra m t thông đi p ICMP redirect đ n m t host đ nói đ a ch IP c a m tử ộ ệ ế ộ ể ị ỉ ủ ộ router t t h n Trong hình dố ơ ưới đây, PC dùng RouterB nh router m c đ nh, nh ngư ặ ị ư
đường đi v m ng 10.1.4.0/24 thông qua RouterA là t t h n ề ạ ố ơ
Các bước sau s di n ra:ẽ ễ
PC g i ra m t gói tin, đi v m ng đích 10.1.4.0/24 đ n RouterB.ử ộ ề ạ ế
RouterB chuy n gói tin d a trên b ng đ nh tuy n c a nó ể ự ả ị ế ủ
RouterB g i ICMP Redirect v PC, thông báo r ng các gói tin đi v 10.1.4.0/24 nên điử ề ằ ề thông qua routerA
PC s g i các gói tin ti p theo đi v host đó thông qua routerA ẽ ử ế ề
Trang 6Dĩ nhiên host có th b qua các thông đi p redirect và ti p t c g i v B ể ỏ ệ ế ụ ử ề