192 Trong hình 8.1.9 là cấu trúc của thông đ i ệ p “Parameter Problem”.Trong đ ó có phần Pointer .Khi giá trị Code là 0 ,phần Pointer cho biết octet nào trong gói dữ liệu bị lỗi . Hình 8.1.9 8.2.Thông điệp điều khiển của TCP/IP 8.2.1.Giới thiệu về thông điệp điều khiển ICMP là một phần của bộ giao thức TCP/IP .Thực tế là tất cả các hệ thống IP đ ề u phải bao gồm ICMP .Lý do của vi ệ c này hết sức đơ n giản .Trước hết là IP không có cơ chế nào đ ể đ ả m bảo là dữ liệu đ ã đư ợ c chuyển tới đ ích ,hoàn toàn không thông báo gì cho host biết khi sự cố xảy ra .IP không có cơ chế cung cấp thông đ i ệ p thông báo hoặc đ i ề u khiển cho host .Và ICMP đ ã thực hiện việc này cho IP . Hình 8.2.1 Không giống như thông đ i ệ p báo lỗi ,thông đ i ệ p đ i ề u khiển không phải đư ợ c tạo ra là do mất gói dữ liệu hay do lỗi của quá trình truyền dữ liệu .Mà các thông đ i ệ p đ i ề u khiển đư ợ c dùng đ ể thông báo cho host biết về tình trạng nghẽn 193 mạch trên mạng hay thông báo cho host biết là có một gateway tốt hơn dẫn đ ế n mạng đ ích …Cũng giống như tất cả các gói ICMP khác ,thông đ i ệ p đ i ề u khiển đư ợ c đ óng gói trong gói IP .ICMD sử dụng gói IP đ ể truyền thông đ i ệ p trên mạng . ICMP có rất nhiều loại thông đ i ệ p đ i ề u khiển khác nhau .Một số loại thường gặp nhất đư ợ c thể hiện ở hình 8.2.1. 8.2.2.Thông điệp ICMP redirect/change request Thông đ i ệ p đ i ề u khiển ICMP thường gặp nhất là redirect/change request.Loại thông đ i ệ p này đư ợ c tạo ra bởi gateway mà thông thường đ ó chính là router .Tất cả các host khi muốn thông tin liên lạc với các mạng IP đ ề u phải đư ợ c cấu hình default gateway. Default gateway là đ ị a chỉ của một cổng trên router kết nối vào cùng một mạng với host .Như trong hình 8.2.2a ,một host đư ợ c nối vào router và router này có kết nối ra Internet.Host B đư ợ c cấu hình default gateway là đ ị a chỉ IP của cổng Fa0/0trên router.Host B sẽ sử d ụ ng đ ị a chỉ IP này đ ể đ ế n các mạng khác .Bình thường host B chỉ kết nối đ ế n một gateway.Tuy nhiên cũng có trường hợp một host kết nối vào mạng 2 hay nhiều router.Trong trường hợp đ ó , default gateway của host sẽ cần dùng redirect/change request đ ể thông báo cho host biết về một gateway khác tốt hơn đ ể đ ế n một mạng đ ích nào đ ó. Hình 8.2.2a 194 Trong hình 8.2.2b là một ví dụ cho trường hợp cần sử dụng ICMP redirect.Host H gửi dữ liệu cho Host C trong mạng 10.0.0.0/8 .Vì mạng đ ích không kết nối trực tiếp vào Host H nên Host H gửi gói đ ế n default gateway của nó là Router R1 .Router R1 tìm trên bảng đ ị nh tuyến đ ể tìm đư ờ ng đ ế n m ạ ng 10.0.0.0/8 thì thấy rằng đ ể chuyển gói tới đ ích router phải gửi gói này ngược trở ra cổng mà nó vừa mới nhận gói dữ liệu vào .Khi đ ó router R1 sẽ chuyển gói dữ liệu đ i và đ ồ ng thời gửi thông đ i ệ p ICMP redirect/change request tới Host H đ ể thông báo là Host H nên sử dụng Router R2 làm gateway cho tất cả các gói dữliệu đ ế n mạng 10.0.0.0/8 . Hình 8.2.2b Default gateway chỉ gửi thông đ i ệ p ICMD redirect/change request khi gặp các đ i ề u kiện sau : • Cổng mà router nhận gói dữ liệu vào cũng chính là cổng mà router sẽ chuyển gói dữ liệu đ i. • Đ ị a chỉ IP của máy nguồn là cùng một mạng /subnet với đ ị a chỉ IP của trạm kế tiếp . • Gói dữ liệu nhận đư ợ c không phải gửi ng ư ợ c lại máy nguồn . • Con đư ờ ng mà router thực hiện thông báo cho host không phải là đư ờ ng mặc đ ị n h của router và cũng không phải là của một ICMP redirect nào khác. • Router phải đư ợ c cấu hình đ ể thực hiện redirect.(Mặc đ ị nh là Cisco router thực hiện gửi ICMP redirect.Bạn có thể dùng lệnh no ip redirect đ ể tắt chức năng này trên một cổng nào đ ó của router ). 195 Thông đ i ệ p ICMP redirect /change request có cấu trúc như hình 8.2.2c.Trong đ ó phần Type có giá trị là 5 ,phần Code có giá trị là 0,1,2 hoặc 3. Phần Router Internet Address chứa đ ị a chỉ IP của gateway mới .Ví dụ như trên : trong thông đ i ệ p redirect của Router R1 gửi cho Host H ,phần Router Internet Address sẽ có giá trị là 172.16.1.200,đây là đ ị a chỉ IP của cổng E0 trên Router R2 . Hình 8.2.2c Hình 8.2.2d 8.2.3.Đồng bộ đồng hồ và ước tính thời gian truyền dữ liệu Bộ giao thức TCP/IP cho phép hệ thống mạng này kết nối với hệ thống mạng khác ở cách nhau rất xa thông qua nhiều hệ thống mạng trung gian .Mỗi một hệ thống mạng có một cơ chế đ ồ ng bộ đ ồ ng hồ riêng .Do đ ó khi một host ở mạng khác sử dụng phần mềm cần đ ồ ng bộ thời gian đ ể thực hiện liên lạc thì có thể sẽ gặp rắc rối .Thông đ iệp ICMP Timestamp đư ợ c thiết kế đ ể giải quyết vấn đ ề này . Thông đ i ệ p ICMP timestamp request cho phép một host hỏi giờ hiện tại trên một máy khác .Máy đư ợ c hỏi sẽ dùng thông đ i ệ p ICMP timestamp reply đ ể trả lời . 196 Phần Type trong thông đ i ệ p ICMP timestamp có giá trị là 13 (timestamp request )hoặc 14(timestamp reply ) .Ph ầ n Code luôn có giá tr ị là 0 vì loại thông đ i ệ p này không có gì khác hơn. Phần Originate timestamp là thông tin về giờ hiện tại trên máy gửi ngay trước khi thông đ i ệ p ICMP timestamp request đư ợ c gửi đ i .Phần Recive timestamp là thời đ i ể m mà máy đ ích nhận đư ợ c yêu cầu request .Phần Transmit timestamp là th ờ i đ i ể m trên máy trả lời ngay trước khi máy này gửi thông đ i ệ p ICMP timestamp reply. Tất cả 3 thống số về thời gian trên đ ề u đư ợ c tính bằng số mili giây tính từ thời đ i ể m nửa đ êm theo giờ Quốc tế (Univesal Time -UT). Hình 8.2.3 Tất cả các thông tin ICMP timestamp reply đ ề u có đ ầ y đ ủ 3 thông số :thời đ i ể m gửi gói request ,thời đ i ể m nhận đư ợ c request và thời đ i ể m gửi gói reply .Dựa vào 3 thông số này host có thể ư ớ c lượng đư ợ c khoảng thời gian dữ liệu truyền trên mạng từ máy nguồn đ ế n máy đ ích bằng cách lấy giá trị của phần Originate Timestamp trừ cho giá trị của phần Transmit timestamp.Kết quả này cũng chỉ mang tính chất ư ớ c lượng thôi vì thời gian truyền thật sự còn phụ thuộc vào lưu lượng truyền thực tế trên mạng lúc đ ó .Ngoài ra ,host còn có thể ư ớ c tính đư ợ c giờ hiện t ạ i trên máy đ ích . Thông đ i ệ p ICMP timestamp là một cách đơ n giản đ ể uớc đ oán giờ trên máy đ ích và ư ớ c tính tổng thời gian truyền trên mạng nhưng đ ây chưa phải là cách tốt nhất .Giao thức Network Time Protocol (NTP) ở lớp trên của giao thức TCP/IP thực hiện đ ồ ng bộ đ ồ ng hồ theo cách tin cậy và chính xác hơn. 8.2.4.Thông đ i ệ p Information request và reply Thông đ iệp ICMP information request và reply cho phép host xác đ ị nh đ ị a chỉ mạng của nó .Hình 8.2.4 là cấu trúc của loại thông đ i ệ p này. 197 Hình 8.2.4 Phần Type có 2 giá trị :giá tr ị 15 tương ứ ng với thông đ i ệ p Information reply .Loại thông đ i ệ p này của ICMP đư ợ c xem là đ ã quá lỗi thời .Hiện nay ,các giao thức BOOTP và DHCP đư ợ c sử dụng nhiều đ ể cung cấp đ ị a chỉ mạng cho host . 8.2.5 Thông điệp Address Mask Khi người quản trị mạng dùng một đ ị a chỉ IP lớn chia ra thành nhiều subnet ,các subnet sẽ có subnet mask tương ứ ng .Subnet mask đư ợ c sử dụng đ ể xác nhận các bit của phần Network .Subnet và các bit của thành phần Host trong đ ị a chỉ IP .Nếu một host biết đ ị a chỉ IP của router thì nó gửi yêu cầu tới trực tiếp của router ,còn nếu không thì nó sẽ quảng bá yêu cầu của nó .Khi router nhận đư ợ c yêu cầu này ,router sẽ dùng thông đ i ệ p Address mask reply đ ể trả lời .Trong thông đ i ệ p Address mask reply sẽ có subnet mask chính xác cho host.Ví dụ : môt host trong mạng lớp B có đ ị a chỉ IP là 172.16.5.2 .Host này không biết subnet mask của mình nên nó broadcast thông đ iệp Address mask request như sau : Source address:172.16.5.2 Destination address:255.255.255.255 Protocol :ICMP =1 Type :Address Mask Request =AM1 Code :0 Mask:255.255.255.0 Router 172.16.5.2 nhận đư ợ c thông đ i ệ p trên và trả l ờ i bằng thông đ i ệ p Address mask reply như sau : . muốn thông tin liên lạc với các mạng IP đ ề u phải đư ợ c cấu hình default gateway. Default gateway là đ ị a chỉ của một cổng trên router kết nối vào cùng một mạng với host .Như trong hình. đ ị nh đ ị a chỉ mạng của nó .Hình 8.2.4 là cấu trúc của loại thông đ i ệ p này. 197 Hình 8.2.4 Phần Type có 2 giá trị :giá tr ị 15 tương ứ ng với thông đ i ệ p Information reply .Loại. redirect nào khác. • Router phải đư ợ c cấu hình đ ể thực hiện redirect.(Mặc đ ị nh là Cisco router thực hiện gửi ICMP redirect.Bạn có thể dùng lệnh no ip redirect đ ể tắt chức năng