OSI 7 layer의 ICMP에 대해 설명하고자 한다.
개괄적인 설명은 이전 글 참고
2024.02.16 - [네트워크(Network)] - OSI 7-Layer
OSI 7-Layer
네트워크는 장비를 특정 매체를 통해 연결하여쉽고 간편하게 정보를 공유할 수 있는 환경을 말한다. 네트워크는 보다 안정적인 통신과 네트워크 간의 호환을 위해 국제 표준으로 계층적인 모
zuchnology.tistory.com
Network 계층은 실질적인 목적지까지 도달하여 통신이 이루어지는 계층이기 때문에
라우팅을 주 목적으로 하여 최적의 경로를 지정하여 도착을 보장한다.
다른 신뢰성이나 연결성보다 목적지에 도착하는 것이 가장 우선되는 계층이기 때문에
이를 보완하기 위한 프로토콜이 있어야한다.
이때, 위의 단점을 해결하고 네트워크 관리 및 오류보고를 위해 사용할 수 있는 프로토콜이 있다면?
이번에는 ICMP에 대해 알아볼 것이다
구성은 위와 같은데,
ICMP는 Internet Control Message Protocol로, ARP와 같이 surport protocol이다.
위에 말했듯
네트워크 관리 및 오류 보고를 위해 사용하기도 하고,
IP의 비신뢰성, 비 연결성의 단점을 보완하기 위해 사용되는 프로토콜이다.
(예를 들어 우리에게 친숙한 ping, 이 바로 특정 프로그램에 의해 호출되었을 때 하는 동작이다)
중요한 필드(field)위주로 간단하게 설명하려고 한다.
ICMP 메세지의 종류를 알려주는 값이다.
종류로는
- 8번 : ICMP Echo Request Message(ping.exe)
- 0번 : ICMP Echo Reply Message(응답)
- 11번 : ICMP Time Exceed(시간초과)
- 그 외 번호 : 나머지 타입의 번호들은 Error Message 용으로 사용함
메세지 종류에 따라 상세원인이나 세부정보가 필요한 경우 추가하는 값
기본값은 0
- type의 세부 code가 있다 = Code 값 0의 정보를 의미
- type의 세부 code가 없다 = Code 값 null을 의미
>> Network Troubleshooting(오류점검)시 Code값을 이용해서 정보를 알아낸다
ICMP Header의 오류 검사를 할 수 있는 값
선택적으로 추가 정보가 부여되는 필드
메세지의 종류에 따라 필드 구성이 달라지고, 추가로 필요한 정보가 지정됨
> Echo Message : 연속으로 여러 번 보내기 때문에 식별 값이나 순서 번호 등등을 적어줌
> Redirect Message : 경로 재설정에 대한 정보를 적어줌
MTU 최소 사이즈를 맞춰주기 위해 header뒤에 쓰레기 값을 채워넣음
> ex) Error Message의 경우 원본 데이터의 IP header + Payload 중 앞의 8byte 정보를 입력
이렇게 프로토콜 ICMP에 대해 알아보았다.
ICMP 또한 ARP처럼 서포트 프로토콜이라 헷갈리고 구분하기 어려워하는데
잘 살펴보면 ICMP는 철저하게 IP주소와 packet으로 PDU를 구성한다
L4의 port address나 segment와의 관계보다는 훨씬 L3에 가깝기에
굳이 계층 안에 넣어야 한다면 L3에 포함이 되는게 맞다고 생각한다.
모두에게 도움이 되길 바라며
Protocol : UDP (1) | 2024.10.15 |
---|---|
Protocol : TCP (1) | 2024.10.14 |
Protocol : ARP (0) | 2024.09.27 |
Protocol : IP (2) | 2024.09.26 |
Protocol : Ethernet (0) | 2024.09.26 |