Giao thức bản tin điều khiển liên mạng ICMP

Một phần của tài liệu Các giao thức định tuyến cổng nội trong mạng IP (Trang 58 - 65)

1.8.3.1 Giới thiệu

Giao thức bản tin điều khiển liên mạng ICMP đợc xem nh một phần của lớp IP, nó thông tin về các bản tin lỗi và các điều kiện khác để yêu cầu sự chú ý. Các bản tin ICMP thờng hoạt động dựa trên lớp IP hoặc giao thức lớp cao hơn. Một số bản tin ICMP lại gây lỗi cho tiến trình ngời dùng. Các bản tin ICMP đợc phát trong IP datagram .

IP header ICMP message

Phạm Văn Hiến - Đ01VT

IP datagram

Hình 1.33 Đóng gói bản tin ICMP trong IP datagram

0 7 8 15 16 31 8bit

type code8bit 16bit checksum

Hình 1.34 Định dạng bản tin ICMP

Bốn byte đầu của các bản tin ICMP giống hệt nhau nhng phần còn lại phụ thuộc vào mỗi loại bản tin khác nhau. Trờng type có 15 giá trị khác nhau nhằm xác định bản tin ICMP đặc biệt. Một vài loại bản tin ICMP sử dụng thêm trờng code để xác định thêm điều kiện. Trờng checksum tính tổng kiểm tra cho toàn bộ bản tin ICMP .

1.8.3.2 Vai trò của ICMP

Phần mềm IP cung cấp dịch vụ không tin cậy, chuyển dữ liệu phi kết nối bằng cách dàn xếp cho mỗi bộ router chuyển dữ liệu. Nếu một router không thể chuyển đi một datagram hay nó phát hiện một dấu hiệu không bình thờng có ảnh hởng đến việc chuyển dữ liệu, router cần thông báo cho nơi gửi datagram. Mỗi bộ router hoạt động một cách tự quản, chuyển tiếp hay gửi datagram đến đích mà không cần sự phối hợp với nơi gửi ban đầu. Hệ này làm việc tốt nếu mọi máy tính hoạt động một cách chính xác và thống nhất với nhau về việc định tuyến.

Sự khác biệt giữa một mạng đợc cài đặt với phần cứng nhất định với một Internet đợc cài đặt với phần mềm ở chỗ: Đối với thực hiện trên, ngời thiết kế có thể thêm phần cứng đặc biệt để thông báo cho các máy nối mạng khi có lỗi, còn trong một Internet không có cơ chế phần cứng này nên nơi gửi không thể biết việc phát chuyển không đợc là do các máy địa phơng hay các máy ở xa. Do đó, việc bắt lỗi trở thành công việc khó khăn, bản thân giao thức IP không chứa gì nhiều để giúp nơi gửi kiểm tra mối liên kết hay biết về các lỗi này.

ICMP đợc xem nh một phần bắt buộc của IP và phải có trong mọi cài đặt IP. Giống nh các giao dịch khác, các bản tin ICMP di chuyển qua Internet trong phần dữ liệu của IP datagram . Tuy nhiên, đích đến cuối cùng của một thông điệp ICMP không phải là một chơng trình ứng dụng hay ngời sử dụng máy đích mà là phần mềm IP trên máy đó. ICMP cho phép router gửi thông báo lỗi và thông báo điều kiện đến các bộ router khác hoặc máy khác. Một máy bất kỳ có thể gửi thông báo ICMP tới bất kỳ máy khác. ICMP cung cấp phơng tiện thông tin liên lạc giữa phần mềm IP trên các máy. Ưu

điểm chính của việc cho phép máy tính sử dụng ICMP là nó cung cấp chỉ một cơ chế đ- ợc dùng cho mọi thông báo thông tin và điều khiển.

ICMP là một cơ chế thông báo lỗi, nó cung cấp cho router một phơng pháp để khi gặp lỗi sẽ thông báo cho nguồn đầu tiên. Khi một datagram gây ra lỗi, ICMP chỉ có thể thông báo điều kiện lỗi trở về nguồn ban đầu của datagram , nguồn này phải liên hệ lỗi này với từng chơng trình ứng dụng hoặc thực hiện thao tác khác để sửa lỗi. ICMP chỉ có thể thông báo ngợc về nguồn ban đầu vì hai lý do. Thứ nhất, datagram chỉ gồm những vùng xác định địa chỉ nguồn, địa chỉ đích mà không có hồ sơ đầy đủ về đờng đi của nó qua Internet. Thứ hai, thay vì huỷ bỏ datagram một cách im lặng, router sử dụng ICMP để thông báo cho nguồn về vấn đề xảy ra và tin tởng rằng chơng trình quản trị máy sẽ hợp tác với chơng trình quản trị mạng để xác định và sửa lỗi.

1.8.3.3 Các loại bản tin ICMP

Loại bản tin ICMP đợc chỉ ra bởi trờng ‘type’ trong bản tin ICMP. Cần có sự phân biệt giữa bản tin thông báo lỗi và bản tin truy vấn vì chúng đợc xử lý rất khác biệt. Ví dụ nh một bản tin lỗi không bao giờ đợc tạo ra để trả lời cho một bản tin lỗi, vì nếu cứ một bản tin lỗi tạo ra một bản tin lỗi, thì số bản tin lỗi sẽ tăng theo cấp số nhân.

Khi một bản tin ICMP đợc gửi đi, nó luôn chứa tiêu đề IP và 8 byte đầu tiên của IP datagram đã gây ra lỗi khiến bản tin lỗi ICMP đợc tạo ra. Nó cho phép modul ICMP đang thu kết hợp bản tin này với một giao thức đặc biệt (TCP hoặc UDP đợc xác định trong trờng loại giao thức của tiêu đề IP datagram ) và một tiến trình ngời dùng đặc biệt (từ số cổng lấy từ 8 byte dữ liệu IP đầu tiên chứa tiêu đề TCP hoặc UDP).

Một bản tin lỗi ICMP không bao giờ đợc tạo ra để trả lời cho: ♦ Một bản tin lỗi.

♦ Một datagram có đích là địa chỉ IP broadcast hay multicast. ♦ Một datagram đợc gửi nh một broadcast lớp link.

♦ Một fragment không phải là fragment đầu tiên.

♦ Một datagram mà địa chỉ nguồn của nó không xác định một host đơn, điều đó có nghĩa là địa chỉ nguồn không thể là địa chỉ toàn 0, địa chỉ loopback, địa chỉ broadcast hay địa chỉ multi cast.

Các luật trên nhằm tránh ‘broadcast storms’ khi bản tin lỗi đợc gửi đi để trả lời cho các gói broadcast.

1.8.3.4 Một số loại bản tin ICMP

Yêu cầu và trả lời mặt nạ địa chỉ

Hệ thống không đĩa sử dụng bản tin yêu cầu mặt nạ địa chỉ ICMP (ICMP address mask request ) để đạt đợc mặt nạ mạng con của nó (subnet mask) trong thời gian mồi. Hệ thống đang yêu cầu này thực hiện broadcast bản tin ‘ICMP request ‘của nó. Một giải pháp để một hệ thống không đĩa đạt đợc mặt nạ mạng con của nó là sử dụng giao thức BOOTP.

0 7 8 15 16 31 Type

(17 or 18)

Code(0) checksum

Identifier Sequence number 32bit subnetmask

Hình 1.35 Định dạng bản tin yêu cầu và trả lời mặt nạ địa chỉ ICMP

Các trờng identifier và sequence number đợc thiết lập đến một giá trị bất kỳ bởi phía gửi trong bản tin request và các giá trị này đợc gửi ngợc trở về từ phía thu trong bản tin reply. Nó cho phép phía gửi xác nhận bản tin reply nào là trả lời cho bản tin request nào.

Yêu cầu và trả lời nhãn thời gian ICMP

0 7 8 15 16 31 Type

(13 or 14) Code(0) checksum Identifier Sequence number

32bit originate timestamp 32bit receive timestamp 32bit transmit timestamp

Hình 1.36 Định dạng bản tin yêu cầu và trả lời nhãn thời gian ICMP

Yêu cầu nhãn thời gian ICMP (ICMP timestamp request ) cho phép một hệ thống truy vấn hệ thống khác ở thời điểm hiện tại. Giá trị nhãn thời gian đợc quay vòng về 0 sau một vài ms kể từ lúc nửa đêm. Đặc tính tốt của bản tin ICMP là nó cung cấp độ phân giải cỡ ms trong khi một số giải pháp khác cung cấp độ phân giải cỡ giây. Trở ngại chỉ xảy ra lúc nửa đêm.

Phía yêu cầu điền vào trờng ‘originate timestamp’ và gửi đi yêu cầu. Hệ thống trả lời điền vào ‘receive timestamp’ khi nó thu đợc request và điền vào ‘transmit

timestamp’ khi nó gửi đi reply. Thực tế thờng hai trờng này đợc lập cùng một giá trị. Nguyên nhân để cung cấp 3 trờng là để cho phía gửi tính thời gian để request và tính riêng thời gian reply đợc gửi.

1.8.3.5 Xử lý các bản tin ICMP

Vì ICMP bao phủ một vùng rộng các điều kiện, từ các bản tin thông báo lỗi đến các bản tin thông tin, nên bản tin ICMP đợc xử lý khác nhau, thậm chí trong một thực hiện cho trớc. Tuỳ loại bản tin mà bản tin ICMP đợc xử lý bởi nhân hay đợc gửi đến tất cả các tiến trình ngời dùng đăng ký với nhân để đọc các bản tin ICMP thu đợc. Nếu không có các tiến trình ngời dùng này thì bản tin bị huỷ bỏ một cách im lặng. Các tiến trình ngời dùng này cũng thu một bản sao của tất cả các bản tin ICMP kể cả các bản tin đợc xử lý bởi mạng lõi, nhng chỉ sau khi mạng lõi xử lý bản tin. Một số bản tin bị huỷ bỏ.

1.9Các cơ chế truyền tải

TCP và UDP là hai giao thức ở tầng giao vận, hoạt động trên IP, có các đặc điểm khác nhau. Nếu sự tin cậy quan trọng hơn độ trễ thì TCP/IP đợc sử dụng ngợc lại thì dùng UDP/IP.

TCP: cung cấp dịch vụ kết nối có hớng liên kết (connection-oriented) cho các lớp

trên. TCP có cơ chế báo nhận (Acknowledge) và truyền lại các gói bị lỗi hay mất, có cơ chế điều khiển luồng. Dữ liệu đợc truyền theo luồng liên tục, có đảm bảo sắp xếp tuần tự các đơn vị dữ liệu (segment).

Một tiến trình ứng dụng trong một host truy nhập vào các dịch vụ của TCP đợc cung cấp thông qua một cổng (port). Một cổng kết hợp với một địa chỉ IP tạo thành một socket duy nhất trên liên mạng để trao đổi thông tin. Nhiều cổng đợc dành riêng cho các ứng dụng cơ bản nh FTP, WWW, Telnet...

Trong phần báo hiệu H323 của VoIP, TCP dùng để đảm bảo sự tin cậy khi thiết lập cuộc gọi. Tuy nhiên, TCP không đợc dùng để mang lu lợng thoại.

UDP: Ngợc lại với TCP, UDP là giao thức kết nối “không liên kết”,có phần tiêu đề

nhỏ hơn và ít chức năng hơn nên UDP có xu hớng hoạt động nhanh hơn TCP. Do đó UDP đợc dùng để mang lu lợng thoại, việc báo nhận và truyền lại gói trong TCP làm cho trễ quá lớn và chất lợng thoại không chấp nhận đợc. Ngoài ra, UDP cũng có cơ chế gán và quản lí các số hiệu cổng để định danh các ứng dụng

Kết Luận

Chơng này trình bày đợc những khái niệm cơ sở về mạng IP với các chức năng và thành phần cơ bản của nó.Các vấn đề đợc trình bày bao gồm :

 Khái niệm cơ bản về hai mô hình OSI và TCP/IP, chức năng các lớp trong mỗi mô hình, sự giống và khác nhau giữa hai mô hình này.

 Giao thức IP : khái niệm cơ bản,chức năng, địa chỉ IP, các phơng pháp gán địa chỉ IP, cấu trúc gói dữ liệu IP, quá trình đóng gói, phân mảnh, hợp nhất các gói IP, IPv6,

 Định tuyến IP.

 Các giao thức khác trong lớp Internet: ARP, RARP, ICMP.

 Các cơ chế truyền tải.

Trong chơng kế tiếp chúng ta sẽ

Chơng 2

kĩ thuật định tuyến trong mạng IP

Một phần của tài liệu Các giao thức định tuyến cổng nội trong mạng IP (Trang 58 - 65)

Tải bản đầy đủ (DOC)

(113 trang)
w