186 Router C nhận đư ợ c gói dữ liệu từ Máy 1, nó chỉ biết đư ợ c đ ị a chỉ IP nguồn đ ích của gói dữ liệu thôi. Router C không thể biết chính xác con đư ờ ng mà gói dữ liệu đ ã đ i đ ế n đư ợ c Router C. Do đ ó khi gửi thông báo lỗi thì Router C chỉ có thể gửi cho Máy 1 chứ không gửi cho Router A và B. Như vậy là thông báo ICMP chỉ gửi cho thiết bị nguồn của gói dữ liệu chứ không gửi cho các router. 8.1.3.Truyền thông điệp ICMP Thông đ i ệ p ICMP đ ự ơ c đ óng gói giống như các dữ liệu khác khi truyền đ i bằng IP. Hình 8.1.3 cho thấy dữ liệu của ICMP đư ợ c đ óng gói trong gói IP như thế nào. Thông đ i ệ p ICMP cũng đư ợ c truyền đ i nh ư các gói dữ liệu khác cho nên nó cũng có thể gặp sự cố. Đ i ề u này dẫn tới một vấn đ ề là nếu một thông đ i ệ p báo lỗi gặp sự cố thì sẽ làm phát sinh thêm các thông đ i ệ p báo lỗi nữa và đ i ề u này làm cho mạng càng bị nghẽn hơn khi sự cố vốn đ ã xảy ra và còn đ ang tồn tại trên mạng. Chính vì vậy, các thông đ i ệ p báo lỗi của ICMP sẽ không tạo thêm các thông đ i ệ p báo lỗi cho chính nó .Như vậy thì các thông đ i ệ p báo lỗi cũng có khả năng là không bao giờ đ ế n đ ế n đư ợ c máy nguồn của gói dữ liệu. Hình 8.1.3 8.1.4. Mạng không đến được Đ ể thực hiện đư ợ c việc thông tin liên lạc trên mạng thì các đ i ề u kiện cơ bản cần phải có đ ủ .Trước tiên là thiết bị gửi và nhận dữ liệu phải đư ợ c cấu hình đ úng bộ giao thức TCP/IP.Việc này bao gồm cài đ ặ t bộ giao thức TPC/IP và cấu hình đ ị a chỉ IP.,subnet mask cho thiết bị .Ngoài ra bạn cần phải khai báo Defoult gateway nếu thiết bị cần truyền dữ liệu ra ngoài phạm vi cục bộ .Thư hai là các thiết bị trung gian phải thực hiện việc đ ị nh tuyến đ úng đ ể chuyển gói từ nguồn đ ế n đ ích .Router là thiết bị thực hiện nhiệm vụ này .Do đ ó router phải 187 đư ợ c cấu hình bộ TCP/IP cho các cổng giao tiếp và sử dụng giao thức đ ị nh tuyến thích hợp . Nếu 2 đ i ề u kiện trên không đư ợ c đ áp ứ ng thì hệ thống mạng không thể thực hiện thông tin liên lạc đư ợ c .Ví dụ như khi m ộ t thiết bị gửi dữ liệu đ ế n một đ ị a chỉ IP không tồn tại hoặc là thiết bị đ ích đ ã bị ngắt kết nối ra khỏi mạng . Router cũng là nguyên nhân của sự cố nếu cổng giao tiếp trên router bị ngắt hoặc router không có thông tin cần thiết đ ể tìm ra đ ư ờ ng tới mạng đ ích .Những trường hợp như vậy đ ề u đư ợ c xem là mạng đ ích không đ ế n đư ợ c . Hình 8.1.4 minh họa cho trường hợp router không thể gửi gói dữ liệu đ ế n đ ích do router không biết đư ờ ng đ ế n mạng đ ích , router gửi thông đ i ệ p ICMP về cho máy nguồn đ ể thông báo là mạng đ ích không đ ế n đư ợ c . Hình 8.1.4 8.1.5 Sử dụng lệnh ping để kiểm tra xem địa chỉ đích có đến được không Giao thức ICMP có thể đư ợ c sử dụng đ ể kiểm xem có đ ế n đư ợ c một đ ị a chỉ nào đ ó hay không .ICMP sẽ gửi thông đ i ệ p echo request đ ế n máy đ í ch .Nếu máy đ ích nhận đư ợ c echo request thì sẽ trả lời lại thông đ i ệ p echo reply cho máy nguồn .Nếu máy nguồn nhận đư ợ c echo reply thì đ i ề u đ ó khặng đ ị nh là máy đ ích có thể đ ế n đư ợ c bằng giao thức IP. 188 Lệnh ping khởi tạo các thông đ i ệ p echo request .Ví dụ như hình 8.1.5a và 8.1.5b ,chúng ta sử dụng lệnh ping với đ ị a chỉ IP đ ích .Lệnh ping gửi đ i 4 gói echo request và nhận về 4 gói echo reply xác nhận kết nối IP giữa 2 thiết bị hoạt đ ộ n g tốt. Hình 8.1.5a Hình 8.1.5b 8.1.6. Phát hiện đường dài quá giới hạn Gói dữ liệu khi truyền đ i trên mạng có thể bị truyền lòng vòng và không bao giờ đ ế n đư ợ c đ ích .Đi ề u này có thể xảy ra khi thông tin đ ị nh tuyến bị sai ,ví dụ nh ư 2 router cú gửi m ộ t gói dữ liệu qua lại cho nhau vì router này ngh ĩ r ằ ng router kia mới là trạm kế tiếp đ ế n đ ích . 189 Giao thức đ ị nh tuyến có quy trình có quy đ ị nh giới hạn đ ể xác đ ị nh mạng đ ích không đ ế n đư ợ c .Ví dụ như RIP có số hop giới hạn là 15 .Điều này có nghĩa là gói dữ liệu chỉ đư ợ c phép đ i qua tối đ a 15 router. Khi con đư ờ ng mà gói dữ liệu đ i qua bị lặp vòng hoặc có quá nhiều hop thì khi gói dữ liệu vượt qua giá trị hop tối đ a ,giá trị Time-to-live (TTl)của gói dữliệu cũng hết thời gian vì giá trị TTL đư ợ c cài đ ặ t khớp với số hop tối đ a đ ã đư ợ c đ ị nh nghĩa của giao thức đ ị nh tuyến.Mỗi một gói dữ liệu đ ề u có một giá trị TTL .Mỗi router sau khi xử lý gói dữ liệu sẽ giảm giá trị TTL đ i 1 .Khi giá trị TTL b ằ n g 0 thì router sẽ hủy bỏ gói dữ liệu đ ó .Khi đ ó ICMP dùng thông đ i ệ p “Time exceeded” đ ể thông báo cho máy nguồn biết là TTL của gói dữ liệu đ ã bị hết thời gian . 8.1.7.Thông điệp echo Như bất kỳ các loại gói dữ liệu khác ,thông đ i ệ p ICMP cũng có đ ị nh dạng riêng .Mỗi một loại thông đ i ệ p ICMP có một đ ặ c đ i ể m riêng nhưng tất cả các gói ICMP đ ề u bắt đ ầ u bằng 3 phần : • Type • Code • Checksum Phần type cho biết loại thông đ i ệ p nào của ICMP đư ợ c gửi đ i. Phần Code cho biết chi tiết hơn về loại thông đ i ệ p ICMP .Phần checksum cũng tương tự như trong các loại gói dữ liệu khác ,phần này đư ợ c sử dụng đ ể kiểm tra lỗi cho dư liệu. Trong hình 8.1.7a là cấu trúc của thông đ i ệ p ICMP echo request và echo reply .Trong đ ó chỉ số Type và Code tương ứ ng với mỗi loại thông đ i ệ p .Phần Identifier và Sequence Number sẽ khác nhau đ ố i với từng gói echo request và echo reply .Chỉ số trong 2 phần này đư ợ c sử dụng đ ể xác đ ị nh echo reply tương ứ ng với echo request nào.Còn phần Data chứa các thông tin bổ sung của thông đ i ệ p echo request và echo reply. 190 Hình 8.1.7a Hình 8.1.7b 8.1.8.Thông điệp “Destination Unreachable” Không phải lúc nào gói dữ liệu cũng chuyển đư ợ c đ ế n đ ích .Ví dụ như hư hỏng ph ầ n c ứ ng ,cấu hình giao thức không đ úng ,cổng giao ti ế p bị ngắt ,thông tin đ ị n h tuyên sai… là nh ữ ng nguyên nhân có thể gây ra làm cho gói dữ liệu không thể chuyển đư ợ c tới đ ích .Trong những trường hợp như vậy thì ICMP gửi thông đ i ệ p “Destination Unreachable” cho máy gửi đ ể thông báo là gói dữ liệu không chuyển đư ợ c tới đ ích . Trong hình 8.1.8a là cấu trúc của thông đ i ệ p “Destination Unreachable”. Giá trị 3 trong phần Type cho biết đ ây là thông đ i ệ p “Destination Unreachable” .Giá trị trong phần Code sẽ cho biết nguyên nhân tại sao không chuyển đư ợ c gói dữ liệu đ ế n đ ích .Ví dụ như phần Code có giá trị 0 có nghĩa là mạng đ ích không đ ế n đư ợ c . 191 Hình 8.1.8a Hình 8.1.8b Khi gói dữ liệu đ ự ơ c chuyển từ mạng Token-ring ra mạng Ethernet thì thường phải phân mảnh ra thành các gói nhỏ hơn .Nếu gói dữ liệu không cho phép phân mảnh thì gói dữ liệu không thể chuyển ra đư ợ c ,khi đ ó thông đ i ệ p “Destination Unreachable” sẽ đư ợ c gửi đ i.Thông đ i ệ p ICMP này cũng đư ợ c gửi đ i khi các dịch vụ liên quan đ ế n IP như FTP ,Web không tim thấy .Điều quan trong khi xử lý sự cố mạng IP là bạn cần phải hiểu đư ợ c các nguyên nhân khác nhau tạo nên thông đ i ệ p ICMP “Destination Unreachable”. 8.1.9.Thông báo các loại lỗi khác Khi thiết bị xử lý gói dữ liệu không chuyển gói dữ liệu đ i đư ợ c do một số lỗi ở phần Header của gói dữ liệu .Loại dữ liệu này không liên quan gì đ ế n host đ ích hay mạng đ ích nhưng nó vẫn làm cho gói dữ liệu không thể chuyền đư ợ c đ ế n đ ích .Trong trường hợp này ,thông đ i ệ p ICMP “Parameter Problem”,Type 12 sẽ đư ợ c gửi về cho máy nguồn. . đư ợ c bằng giao thức IP. 188 Lệnh ping khởi tạo các thông đ i ệ p echo request .Ví dụ như hình 8.1.5a và 8.1.5b ,chúng ta sử dụng lệnh ping với đ ị a chỉ IP đ ích .Lệnh ping gửi đ i. thiết bị gửi và nhận dữ liệu phải đư ợ c cấu hình đ úng bộ giao thức TCP /IP. Việc này bao gồm cài đ ặ t bộ giao thức TPC /IP và cấu hình đ ị a chỉ IP. ,subnet mask cho thiết bị .Ngoài ra bạn. tra lỗi cho dư liệu. Trong hình 8.1.7a là cấu trúc của thông đ i ệ p ICMP echo request và echo reply .Trong đ ó chỉ số Type và Code tương ứ ng với mỗi loại thông đ i ệ p .Phần Identifier