Tải bản đầy đủ (.pdf) (17 trang)

tìm hiểu về ICMPv4 , chúng ta cần tìm hiểu sơ về thế nào là một network layer network layer có mấy tầng liệu ICMPv4 có là giao thức duy nhất tại đây

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (475.29 KB, 17 trang )

BỘ GIAO THÔNG VẬN TẢI
HỌC VIỆN HÀNG KHÔNG VIỆT NAM

TIỂU LUẬN CUỐI KÌ

Mơn học:
LỚP:18DDHDDT01-010100020001

THÀNH PHỐ HỒ CHÍ MINH, NĂM 2021


THÀNH VIÊN


MỤC LỤC
A.

CƠ SỞ LÝ THUYẾT..........................................................................................................................4
I.

THẾ NÀO LÀ NETWORK LAYER ?............................................................................................4

II.

ICMPv4...........................................................................................................................................4
1.

Định nghĩa..................................................................................................................................4

2.


Một số chức năng của ICMPv4.................................................................................................6

3.

Dạng gói của ICMP...................................................................................................................7

4.

Error Reporting Messages........................................................................................................8

5.

QUERY.....................................................................................................................................14

III.

TỔNG QUÁT............................................................................................................................16


A. CƠ SỞ LÝ THUYẾT
Trước khi tìm hiểu về ICMPv4 , chúng ta cần tìm hiểu sơ về thế nào là một
Network Layer ? Network Layer có mấy tầng ? Liệu ICMPv4 có là giao
thức duy nhất tại đây ?
I.
THẾ NÀO LÀ NETWORK LAYER ?
Network layer ( hay còn gọi là tầng mạng ) là một tầng trong bảy tầng
trong mơ hình OSI.
MƠ HÌNH OSI
Application
Presentation

Session
Transport
Network
Datalink
Physical
Network layer chịu trách nhiệm cho phần chuyển giao thông tin giữa
tầng Transport và tầng Datalink. Tầng mạng đánh địa chỉ cho các thông
điệp và dịch các địa chỉ lôgic và tên sang địa chỉ vật lý. Tầng này cịn
quyết định tuyến truyền thơng từ nguồn đến đích, đồng thời quản lý
những vấn đề về giao thông, chẳng hạn như chuyển mạch, định tuyến
(routing), và khống chế sự tắc nghẽn của các gói dữ liệu.Về căn bản,
tầng mạng ( Network layer ) chịu trách nhiệm phân phát các gói dữ liệu
từ đầu này sang đầu kia (end-to-end, từ nguồn đến đích) ; trong khi tầng
liên kết dữ liệu (Datalink layer ) lại chịu trách nhiệm phân phát gói dữ
liệu từ nút này sang nút khác (hop-to-hop, giữa hai nút mạng trung gian
có đường link trực tiếp).
Vì vậy, để đảm bảo chức năng được tối ưu và chính xác , Network layer
cần có các giao thức phù hợp để hồn thiện cơng việc, bao gồm :
ICMPv4, ICMPv6, IP( IPv4 hoặc IPv6 ) , IPsec ,... mà trong đó ICMPv4
là một trong những giao thức phổ biến mà ta cần biết.
II.
ICMPv4
1. Định nghĩa


ICMPv4 (Internet Control Message Protocol version 4 ) là một
giao thức của gói Internet Protocol. Giao thức này được các thiết bị
mạng như router dùng để gửi đi các thông báo lỗi chỉ ra một dịch
vụ có tồn tại hay khơng, hoặc một địa chỉ host hay router có tồn tại
hay khơng. ICMP cũng có thể được sử dụng để chuyển tiếp các

thơng điệp truy vấn.
Đơn giản mà nói, ICMPv4 dùng để thơng báo lỗi khi thực hiện q
trình truyền đi của một gói tin trên mạng. Hoặc có thể dùng để
thăm dị và quản lí tình trạng hoạt động của mạng.
Lưu ý rằng , ICMP không phải là giao thức truyền tải gửi dữ liệu
giữa các hệ thống với nhau mà chúng được xem như bộ định
tuyến. Ngay sau khi phát hiện lỗi thì lập tức ICMP sẽ tạo và gửi
thông báo đến địa chỉ IP nguồn. Trong trường hợp có các sự cố
mạng ngăn chặn việc phân phối các IP packages hay một gateway
không thể truy cập internet được.
Các thông điệp ICMP được truyền dưới dạng các datagrams, bao
gồm một IP header đóng gói dữ liệu ICMP. CMP packets là IP
packets với ICMP trong phần dữ liệu IP. Các tin nhắn ICMP cũng
chứa toàn bộ tiêu đề IP từ tin nhắn gốc, vì vậy end system sẽ biết
được packet nào đang có vấn đề.
ICMP header xuất hiện sau IPv4 hoặc IPv6 packet header và được
xác định là IP protocol số 1. Thông thường, một giao thức phức tạp
chứa ba trường:
- Loại chính (major type) xác định ICMP message.
- Mã phụ (minor code) có chứa nhiều thơng tin hơn về type field.
- Việc kiểm tra tổng (checksum) giúp phát hiện các lỗi được phát
sinh trong quá trình truyền tải.


- Dựa theo ba trường là dữ liệu ICMP và IP header ban đầu, chúng
ta có thể xác định được các gói nào thực sự khơng thành cơng.
- ICMP đã được sử dụng để thực hiện các cuộc tấn công từ chối
dịch vụ (còn gọi là ping of death) bằng cách gửi một gói IP lớn
hơn số byte được cho phép bởi giao thức IP.
2. Một số chức năng của ICMPv4.

 Điều khiển dịng dữ liệu: Đơn giản mà nói thì đây là khả
năng mà khi trạm hoặc nguồn gửi tín hiệu/dữ liệu tới q
nhanh, khiến trạm đích khơng thể xử lý. Khi đó, trạm đích –
hay một thiết bị dẫn đường gửi trả trạm nguồn một thông
báo để trạm nguồn tạm ngừng việc truyền thông tin.
 Thông báo lỗi:
- Khi khơng tìm thấy trạm đích, một thơng báo lỗi
Destination Unreachable được Router gửi trả lại trạm nguồn.
- Nếu số hiệu cổng khơng phù hợp, trạm đích gửi thơng báo
lỗi lại cho trạm nguồn.
 Kiểm tra trạm làm việc: Khi một máy tính muốn biết rằng
một máy khác có tồn tại hay có đang hoạt động khơng, nó sẽ
gửi một tệp tin tên là Echo Request . Khi chạm đích đang
hoạt động thì khi nhận được tệp ấy , nó sẽ gửi lại một thứ
gọi là Echo Reply. Ở đây chính là lệnh ping mà chúng ta hay
sử dụng để kiểm tra kết nối.
Để thực hiện ping ta làm như sau :
Vào Start -> Run -> Gõ lệnh cmd ( với Window xp, 2K ),
lệnh command ( với Window 9x ) -> Xuất hiện cửa sổ MSDOS -> sau đó bạn gõ lệnh C:\>Ping 10.0.0.2.


Nếu màn hình xuất hiện như dưới :
Pinging 10.0.0.2 with 32 bytes of data:
Reply from 10.0.0.2: bytes=32 time<1ms TTL=64


Reply from 10.0.0.2: bytes=32 time<1ms TTL=64
Reply from 10.0.0.2: bytes=32 time<1ms TTL=64
Reply from 10.0.0.2:
Như vậy là lệnh Ping thành công và kết nối từ PC của tôi

đến 10.0.0.2 là thành công.

Nếu như xuất hiện lỗi Request time out thì đồng
nghĩa với việc máy tính mà ta ping tới khơng hoạt động
hoặc là khơng có kết nối với máy đó.
3. Dạng gói của ICMP
Trong mơ hình TCP/IP thì IP cung cấp phương pháp truyền khơng
đáng tin cậy, khơng kết nối (connectionless), nó được thiết kế để
tận dụng tối đa tài nguyên mạng. Tuy nhiên, IP khơng có cơ chế
báo lỗi hay sửa lỗi, như vậy, chuyện gì sẽ xảy ra nếu như có sự cố,
chẳng hạn router loại bỏ gói khi nó khơng tìm thấy đường đến
đích? ICMP được thiết kế để hoàn tất 2 nhiệm vụ:
 Báo lỗi
 Query


Để phục vụ nhiệm vụ này, ICMP có 2 loại gói: gói báo lỗi và gói
query, mỗi loại có nhiều thơng điệp mang ý nghĩa khác nhau:
LOẠI GĨI
BÁO LỖI

MÃ THƠNG ĐIỆP
3

QUERY

4
11
12
5

8 hay 0
13 hay 14
17 hay 18
10 hay 9

THÔNG ĐIỆP
Destination
unreachable
Source quence
Time exceeded
Parameter problem
Redirection
Echo request or
reply
Timestamp request
or reply
Address mask
request or reply
Router solicitation
or advertisement

Thông điệp echo request và reply được thiết kết cho mục đích phát
hiện và chuẩn đốn lỗi. Hoạt động của cặp thông điệp này hết sức
đơn giản: người dùng hoặc người quản trị gửi một thông điệp echo
request từ một hệ thống, hệ thống nhận được thông điệp echo
request sẽ gửi phúc đáp bằng một thông điệp echo reply cho hệ
thống gửi.
Cặp thơng điệp này có thể cho biết hai hệ thống có thể liên lạc
được với nhau ở lớp 3 hay không, đồng thời cũng cho biết các thiết
bị trung gian (router, switch) đã nhận, xử lý và chuyển được thơng

điệp IP. Nếu vì một lý do nào đó mà máy đích khơng nhận được
thơng điệp echo request thì tại thiết bị cuối cùng nhận được thơng
điệp echo request sẽ phúc đáp bằng một thông điệp lỗi cho biết lỗi
là gì.


4. Error Reporting Messages
Chức năng quan trọng nhất của ICMPv4 là báo lỗi. Mặc dù khơng
có trách nhiệm sửa lỗi nhưng nhiệm vụ này được giao cho các giao
thức cấp cao hơn.
ICMPv4 luôn gửi báo cáo lỗi đến nguồn gốc của datagram vì
datagram chỉ có hai địa chỉ trong tiêu đề, địa chỉ nguồn và địa chỉ
đích. Vì vậy, ICMPv4 sử dụng địa chỉ nguồn để báo cáo lỗi.
Có một số đặc điểm quan trọng của việc báo lỗi của ICMPv4:
 Thông báo lỗi ICMPv4 sẽ không được tạo theo thơng báo lỗi
ICMP vì điều này có thể tạo ra sự lặp lại vô hạn.
 Thông báo lỗi ICMPv4 sẽ khơng được tạo cho gói dữ liệu bị
phân mảnh nếu phân mảnh đó khơng phải là phân mảnh đầu
tiên.
 Thơng báo lỗi ICMPv4 khơng được tạo cho gói dữ liệu có
địa chỉ đặc biệt, 127.0.0.0 hoặc 0.0.0.0.
 Thơng báo ICMPv4 khơng được tạo cho các biểu đồ dữ liệu
có địa chỉ quảng bá hoặc địa chỉ đa hướng trong trường đích
của nó.
Thơng báo báo cáo lỗi ICMPv4 được phân loại thêm thành:






Điểm đến không thể truy cập (Destination Unreachable)
Nguồn Quench (Source Quench)
Thời gian quá hạn (Time Exceeded)
Các vấn đề về tham số (Parameter Problems)


 Chuyển hướng (Redirection)

Điểm đến không thể truy cập (Destination Unreachable):
Nếu một máy chủ hoặc một bộ định tuyến không thể phân phối
hoặc định tuyến gói dữ liệu, chúng sẽ loại bỏ gói dữ liệu và gửi
thơng báo lỗi khơng thể truy cập đích đến máy chủ nguồn ban
đầu nơi xuất phát gói dữ liệu.

Tham khảo hình trên, bạn sẽ thấy thông báo lỗi không thể truy
cập phần Type of destination unreachable error message là ‘3’.
Phần Mã xác định lý do hủy thư. Đối với mã tin nhắn không thể
truy cập đích nằm trong khoảng từ 0-15.


 Mã 0 - Mạng khơng truy cập được, có khả năng bị lỗi
phần cứng.
 Mã 1 - Máy chủ đích khơng thể truy cập được, có khả
năng bị lỗi phần cứng.
 Mã 2 - Giao thức không thể truy cập, tức là giao thức có
thể khơng chạy mà gói dữ liệu được sử dụng.
 Mã 3 - Không thể truy cập cổng, tức là quá trình (chương
trình ứng dụng) mà gói dữ liệu được sử dụng có thể
khơng chạy.
 Mã 4 - Nếu người gửi đã chỉ định không phân mảnh gói

dữ liệu nhưng khơng thể thực hiện định tuyến mà không
phân mảnh.
 Mã 5 - Không thể thực hiện định tuyến nguồn, tức là
không thể truy cập được một hoặc nhiều bộ định tuyến
được xác định trong tùy chọn định tuyến nguồn.
 Mã 6 - Bộ định tuyến khơng có thơng tin liên quan đến
mạng máy chủ đích.
 Mã 7 - Bộ định tuyến khơng có bất kỳ thơng tin nào về
sự tồn tại của máy chủ đích.
 Mã 8 - Máy chủ nguồn ban đầu bị cô lập.
 Mã 9 - Không thể giao tiếp với mạng đích do bị cấm
quản lý.
 Mã 10 - Khơng thể giao tiếp với máy chủ đích do bị cấm
quản lý.
 Mã 11 - Đối với dịch vụ được chỉ định, mạng không thể
truy cập được.
 Mã 12 - Đối với dịch vụ được chỉ định, máy chủ không
thể truy cập được.
 Mã 13 - Không thể liên lạc được với máy chủ đích vì
quản trị viên đã đặt bộ lọc lên máy chủ.
 Mã 14 - Do vi phạm quyền ưu tiên của máy chủ, không
thể liên lạc được với máy chủ.
 Mã 15 - Không thể truy cập máy chủ lưu trữ vì quyền ưu
tiên của nó đã bị cắt.


Thơng báo lỗi khơng thể truy cập đích với mã là 2 hoặc 3, chỉ
có thể được tạo bởi máy chủ đích và thơng báo với các mã cịn
lại được tạo bởi bộ định tuyến.
Nguồn Quench (Source Quench):

Thông báo lỗi ngắt nguồn được tạo ra để thông báo cho nguồn
biết rằng gói dữ liệu đã bị loại bỏ do tắc nghẽn trong bộ định
tuyến hoặc máy chủ đích.

Thời gian quá hạn (Time Exceeded):
Mỗi datagram đều có trường "time-to-live", trường này giảm đi
1 mỗi khi nó truy cập vào một bộ định tuyến. Có thể có hai lý
do để gửi thơng báo vượt quá thời gian đến máy chủ nguồn
được xác định bởi :
 Mã 0
 Mã 1


 Mã 0 - Khi trường thời gian tồn tại này giảm xuống 0, bộ
định tuyến loại bỏ gói dữ liệu và gửi thông báo lỗi vượt
quá thời gian đến nguồn ban đầu của gói dữ liệu.
 Mã 1 - Nếu máy chủ đích khơng nhận được tất cả các
đoạn của một sơ đồ dữ liệu trong một thời gian nhất định,
thì nó sẽ loại bỏ tất cả các đoạn và gửi thông báo lỗi đã
vượt quá thời gian đến máy chủ nguồn.
Các vấn đề về tham số (Parameter Problems):
Nếu máy chủ đích hoặc bộ định tuyến tìm thấy bất kỳ sự không
rõ ràng nào trong tiêu đề của IP datagram, thì chúng sẽ loại bỏ
datagram và gửi thơng báo lỗi sự cố tham số đến máy chủ
nguồn ban đầu của datagram.


 Mã 0 xác định rằng có sự khơng rõ ràng trong trường
tiêu đề của datagram và giá trị của trường con trỏ của
thông báo lỗi sự cố tham số, trỏ đến byte của tiêu đề

datagram, có sự cố.
 Mã 1 xác định rằng phần bắt buộc của tiêu đề bị thiếu. Ở
đây, trường con trỏ không được sử dụng.
Chuyển hướng (Redirection):
Thông báo chuyển hướng được gửi từ bộ định tuyến đến máy
chủ cục bộ trong cùng một mạng để cập nhật bảng định tuyến
của nó. Bộ định tuyến ở đây khơng loại bỏ gói dữ liệu đã nhận
thay vào đó nó chuyển tiếp nó đến bộ định tuyến thích hợp.

Mã 0 - Thơng báo có mã này chuyển hướng cho tuyến
mạng cụ thể.

Mã 1 - Thơng báo có mã này chuyển hướng cho tuyến
đường dành riêng cho máy chủ.

Mã 2 - Thông báo với mã này chuyển hướng cho tuyến
mạng cụ thể cho một loại dịch vụ cụ thể.

Mã 3 - Thông báo với mã này chuyển hướng đến tuyến
đường dành riêng cho máy chủ lưu trữ cho một loại dịch vụ cụ
thể.



5. QUERY
Thông báo truy vấn được sử dụng để xác định các sự cố mạng.
Trước đó, có năm thơng báo truy vấn, trong đó có ba thơng báo
khơng được dùng nữa. Hai thông báo truy vấn đang được sử dụng
ngày nay là:


Như phần trên đã giới thiệu về ping , ta sẽ đi sâu về 2 điều này
hơn.
ECHO REQUEST AND REPLY
Khi các thông điệp trả lời và yêu cầu echo được trao đổi từ một
máy chủ hoặc một bộ định tuyến sang một máy chủ hoặc một bộ
định tuyến khác, nó xác nhận rằng hai máy chủ hoặc bộ định tuyến
có thể giao tiếp với nhau.

Nếu một máy chủ hoặc một bộ định tuyến muốn giao tiếp với một
máy chủ hoặc một bộ định tuyến khác, thì nó sẽ gửi thông báo yêu
cầu tiếng vọng đến máy chủ hoặc bộ định tuyến tương ứng mà nó
muốn giao tiếp. Máy chủ hoặc bộ định tuyến nhận được bản tin


yêu cầu tiếng vọng sẽ chuẩn bị một bản tin trả lời tiếng vọng và
gửi đến người gửi ban đầu xác nhận rằng nó đã sẵn sàng giao tiếp.
TIMESTAMP REQUEST AND REPLY
Timestamp request and reply messages được sử dụng để tính thời
gian cho chuyến đi khứ hồi. Đó là thời gian yêu cầu của một sơ đồ
dữ liệu IP để di chuyển giữa hai máy chủ hoặc bộ định tuyến. Cặp
thông báo này cũng được sử dụng để đồng bộ hóa đồng hồ của hai
máy (máy chủ hoặc bộ định tuyến).

III.

TỔNG QUÁT
 Giao thức ICMPv4 là một giao thức lớp mạng.
 Giao thức ICMPv4 là một giao thức báo cáo lỗi và nó báo lỗi
xảy ra trong khi IP datagram di chuyển từ máy chủ nguồn đến
máy chủ đích.

 ICMPv4 là một giao thức hướng tin nhắn được sử dụng để hỗ
trợ giao thức IP vì giao thức IP thiếu trong báo cáo lỗi.
 Thơng báo ICMPv4 được đóng gói trong IP datagram trước khi
chuyển nó đến lớp liên kết dữ liệu.
 ICMPv4 chỉ có trách nhiệm thơng báo lỗi. Nó khơng tham gia
vào việc sửa lỗi vì nhiệm vụ này được để cho giao thức cấp cao
hơn.


 ICMPv4 được phân loại thành hai loại thông báo lỗi và thông
báo truy vấn cũng được phân loại thêm như bạn có thể thấy ở
trên.
Trong phiên bản 6 của bộ giao thức TCP / IP, ICMPv4 cũng được
sửa đổi và phiên bản 6 của ICMPv6 được giới thiệu. Hai công cụ
gỡ lỗi internet sử dụng ICMPv4 là ping và theo dõi.
B. MÔ PHỎNG LIÊN QUAN ĐẾN ICMPv4
I.
PING



×