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
Trang 1BỘ 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
Trang 2THÀNH VIÊN
Trang 3MỤ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
Trang 4A 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 để hoà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
Trang 5ICMPv4 (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 quá 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
Trang 6- 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 quá 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ổ MS-DOS -> 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
Trang 7Reply 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
Trang 8Để 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:
unreachable
reply
13 hay 14 Timestamp request
or reply
17 hay 18 Address mask
request or reply
10 hay 9 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 đoá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ì
Trang 94 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)
Trang 10 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
Trang 11 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
Trang 12Thô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
Trang 13 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
Trang 14 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ể
Trang 155 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
Trang 16yê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
Trang 17 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