Giao thức ICMP

6 1.9K 52
Giao thức ICMP

Đang tải... (xem toàn văn)

Thông tin tài liệ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.

Giao 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 IOS 36 bytes 18024 bytes 100 bytes 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. ế ị ạ ể ề ư ế Có 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). Giao 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 đ . ồ ộ ị ể ỉ ủ ấ ềUnreachable code Ý nghĩa Ví dụ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 requestMáy web b t t. Router B g iị ắ ử cho Fred m t thông đi p hostộ ệ unreachableCan’t fragmentFragment [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 đíchMá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.ề Thô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.14Type escape sequence to abort.Tracing the route to 10.1.2.141 10.1.3.253 8 msec 4 msec 4 msec2 10.1.2.14 12 msec 8 msec 4 msecRouterA# RouterB#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)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ứ ầ ế ệ redirectICMP 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. ẽ ử ế ề Dĩ nhiên host có th b qua các thông đi p redirect và ti p t c g i v B. ể ỏ ệ ế ụ ử ề . 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 ầ ế ệ redirectICMP Redirect Thông đi p ICMP Redirect cho phép router gateway. đó,ể ạ ỗ ả ử ườ ợ 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.

Ngày đăng: 09/10/2012, 15:59

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan