Tại sao ICMP được phân loại là giao thức lớp 3? [đóng cửa]


11

ICMP được phân loại là giao thức lớp 3 trong mô hình OSI, nhưng theo như tôi có thể nói nó không đáp ứng định nghĩa của giao thức lớp mạng.

Nó không cung cấp địa chỉ hoặc định tuyến gói (nó sử dụng IP cho việc này), vì vậy tất cả những gì nó làm là gửi thông tin từ một nút đến một nút khác, giống như một giao thức truyền tải. Vì vậy, cho rằng, tại sao ICMP được phân loại là giao thức lớp 3?


Nó cũng có thể cho bạn biết lưu lượng truy cập đi theo hướng nào, xác nhận sự tồn tại của máy chủ, thông báo cho người gửi các vấn đề và trên hết, để hoạt động, nó cần địa chỉ IP
NickW

tất cả những điều bạn đề cập tôi tin rằng chỉ là hình thức di chuyển thông tin về. Tôi đồng ý rằng nó cần IP, nhưng chắc chắn đây là một lý do để nó được đặt trong một lớp trên IP trong ngăn xếp.
Robbie Mckennie

1
Có quá nhiều lớp dù sao :)
NickW

1
Tôi cho rằng tôi đã đánh lạc hướng khi tôi nói nó NÊN ở trong tầng vận chuyển. Tôi có nghĩa là nó dường như nằm ngoài vị trí trong lớp mạng, vậy lời giải thích cho nó nói ở đó là gì? Tất nhiên tôi cho rằng mọi thứ đều có lý do, đôi khi tôi sai.
Robbie Mckennie

7
Điều quan trọng là bạn phải nhận ra rằng Internet không phù hợp với việc làm sạch trong mô hình OSI. Trong thực tế, RFC (3439 2.4) đề cập rằng họ coi việc xếp lớp là có hại khi mọi người cố gắng quá nghiêm ngặt về nó. ICMP về cơ bản là cần thiết cho IP, vì vậy người ta có thể lập luận rằng nó thuộc về một phần của IP. ICMP về cơ bản là tính năng thông báo lỗi của IP. TCP / UDP sử dụng IP cho các thông báo lỗi (không thể truy cập cổng). PMTU được thực hiện bởi ICMP. Vì vậy, ICMP chắc chắn hạ thấp TCP / UDP. Bạn cần đơn giản chấp nhận rằng trong TCP / IP không có đường viền cứng giữa các lớp . Nó chỉ quan trọng rằng một cái gì đó hoạt động.
Zoredache

Câu trả lời:


15

ICMP thực sự nằm ở "trên cùng" của lớp 3. Nó sử dụng giao thức IP để truyền dữ liệu đến một máy chủ từ xa. Nói cách khác, các thông điệp ICMP phải được gói gọn trong các gói IP.

Coi nó tương tự như ARP có thể được coi là "ở trên cùng" của lớp 2, trong khi sử dụng giao thức Ethernet để thực sự gửi các gói.

ICMP được triển khai như một phần của lớp IP để việc xử lý ICMP có thể được xem là xảy ra song song hoặc là một phần của xử lý IP. Do đó, trong chủ đề về mạng lớp dựa trên TCP / IP, ICMP được hiển thị dưới dạng giao thức lớp 3.

@Robbie Mckennie

Lớp ICMP nào thuộc về chủ đề tranh luận gay gắt. Tiêu đề ICMP ở lớp 4, giống như TCP và UDP nên mọi người cho rằng nó thuộc lớp 4. Tuy nhiên, những người khác cho rằng ICMP là giao thức lớp 3, vì nó hỗ trợ IP và không có khái niệm về cổng.

Đối với tôi, việc phân loại một giao thức thuộc về một lớp nhất định trong mô hình OSI phụ thuộc vào cách thức giao thức hoạt động. Một ví dụ:

BGP được sử dụng để định tuyến ở lớp 3, nhưng bản thân BGP được thực hiện bởi TCP (và tất nhiên là IP)


Vì vậy, bạn đang nói rằng nó được phân loại là giao thức lớp 3 vì cách nó được xử lý trong ngăn xếp chứ không phải vì nó làm gì?
Robbie Mckennie

3
Không, Nó hoạt động ở lớp 3. Đối với mọi thứ nó làm, nó ở lớp 3. Điều quan trọng bạn nên tự hỏi,What is the "data unit of layer 4 protocol"?
cuonglm

Tôi thậm chí không biết câu hỏi đó có nghĩa gì. Tôi chỉ suy nghĩ theo các định nghĩa tôi đã đọc cho các lớp khác nhau, có lẽ ý tưởng của tôi về cách mô hình lớp
osi

1
Ops, chỉ là một gợi ý. data unit of layer 1 is bits, data unit of layer 2 is frames, data unit of layer 3 is packets. Lớp 4 thì sao?
cuonglm

Để trả lời cuonglm: PDU của lớp 4 là một "phân đoạn"
lobi

6

ICMP (và ICMPv6, IGMP, v.v.) đều quản lý các kết nối Lớp Mạng. Chúng không (thường) được sử dụng bởi người dùng cuối, mà bởi Hệ điều hành. Vì lý do đó, nó thuộc Lớp 3 (Mạng) mặc dù nó dựa vào IP để xác định địa chỉ và xác định đường dẫn (định tuyến).

Mô hình OSI phần lớn được viết từ triển vọng kết nối người dùng (người thực tế hoặc máy chủ ứng dụng). Tất cả các giao thức quản lý và không có gì phù hợp với mô hình OSI, nhưng dường như sẽ không hoàn toàn khớp với ngôn ngữ vì chúng không (thường) phục vụ người dùng trực tiếp.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.