BÀI 8 : THÔNG ĐIỆP ĐIỀU KHIỂN VÀ BÁO LỖI CỦA TCP/IP
2. THÔNG ĐIỆP ĐIỀU KHIỂN CỦA TCP/IP
Mục tiêu:
- Mô tả thông điệp điều khiển ICMP;
- Xác định được các loại thông điệp điều khiển ICMP được sử dụng trong mạng
ngày nay;
- Xác định nguyên nhân liên quan đến thông điệp điều khiển ICMP.
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 ,hồn tồ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.8
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
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 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.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
129
mạng với host . Như trong hình 8.9a, 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 ost biết về một gateway khác tốt hơn để đến một mạng đích nào đó.
Hình 8.9a
Trong hình 8.9b 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.9b
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 .
130
định 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).
Thơng điệp ICMP redirect/change request có cấu trúc như hình 8.9c. 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.9c
Hình 8.9d
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 .
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 ln 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).
131
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 đó. Ngồ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.
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.11 là cấu trúc của loại thơng điệp này.
Hình 8.11
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.
2.5. Thơng điệp của router
Khi có host trong mạng bắt đầu khởi động và host chưa được cấu hình Default gateway thì nó có thể tìm gateway bằng thơng điệp Router discovery. Trước tiên, host gửi thông điệp Router solicitation cho tất cả các router bằng cách dùng địa chỉ multicast là 224.0.0.2. Thông điệp này cũng có thể được gửi broadcast để gửi đến được những router khơng có cấu hình multicast .Khi nhận được thơng điệp trên, nếu router khơng có cấu hình hỗ trợ q trình này thì router sẽ khơng trả lời gì hết. Cịn nếu router có hỗ trợ q trình này thì router sẽ trả lời lại bằng thông điệp Router
advertisement .Cấu trúc của thông tin điệp Router advertisement được mô tả ở hình
8.13.
Hình 8.13
2.6. Thơng điệp Router solicitation
Host gửi thông điệp Router solicitation trong trường hợp bị mất Default
gateway.Thông điệp này được gửi multicast và đây chính là bứơc đầu tiên của quá
trình tìm router. Router sẽ trả lời lại bằng thơng điệp Router Advertisement, trong đó
có cung cấp Default gateway cho host. Hình 8.14 là cấu trúc của thơng điệp Router
132
Hình 8.14
2.7. Thơng điệp báo nghẽn và điều khiển luồng dữ liệu
Nếu có nhiều máy tính cùng lúc truy xuất vào cùng một máy đích thì máy đích có thể bị q tải .Nghẽn mạch có thể xảy ra khi lưu lượng từ mạng LAN tốc độ cao được truyền ra kết nối WAN có tốc độ thấp hơn .Nếu mạng bị nghẽn quá mức thì các gói dữ liệu sẽ bị hủy bỏ .Thơng điệp ICMP source-quence giúp làm giảm lượng dữ liệu bị hủy bỏ .Thông điệp này sẽ được gửi cho máy gửi để yêu cầu máy gửi giảm tốc độ phát gói dữ liệu .Sau khoảng thời gian ngăn ,nghẽn mạch được giải tỏa và máy gửi có thể tăng dần tốc độ truyền lên sau khi khơng cịn nhận được thông điệp source- quence nào nữa. Mặc định là đa số các Cisco router khơng thực hiện gửi thơng điệp source-quence vì có thể các thơng điệp này cịn làm cho tình trạng tắc nghẽn bị tăng thêm.
Mơ hình văn phịng nhỏ - văn phòng tại nhà (SOHO - Small Office Home
Office) là một trường hợp áp dụng tốt ICMP source-quence .Ví dụ một SOHO có một
mạng gồm 4 máy tính được nối với nhau bằng cáp Cat5 và 4 máy này chia sẻ nhau một kêt nối Internet 56K bằng moden .Chúng ta thấy rằng đường kết nối WAN với băng thơng 56K sẽ nhanh chóng bị q tải với mạng LAN băng thông 100Mbps của SOHO, kết quả là dữ liệu sẽ bị mất và phải truyền lại nhiều lần. Máy tính có kêt nối ra Internet và giữ vai trò gateway để chia sẻ đường truy cập Internet này cho các máy tính cịn lại có thể dùng thơng điệp ICMP yêu cầu các máy tính khác giảm tốc độ truyền để trách việc mất mát dữ liệu do nghẽn mạch.
133
TÀI LIỆU THAM KHẢO
[1]. Nguyễn Hồng Sơn, Hoàng Đức Hải, Giáo trình hệ thống mạng máy tính , Nhà xuất bản Lao động - Xã hội, 2006.
[2]. Đặng Quang Minh, Bùi Nguyễn Hồng Long, Phạm Đình, CCNA Labpro
2012, Nhà xuất bản Thông tin và truyền thông, 2012.
[3]. Wendell Odom, CCNA Official Exam Certification Library, Cisco Press,
2007.
[4]. Todd Lammle, CCNA:Cisco® Certified Network Associate Study Guide,