07. ICMP 프로토콜 - 멀리있는 컴퓨터끼리는 이렇게 데이터를 주고받는다

김아름·2021년 12월 20일
0

네트워크 기초

목록 보기
7/15

🍂 ICMP 프로토콜

1. ICMP가 하는일

  • Internet Control Message Protocol 인터넷 제어 메시지 프로토콜
  • 특정대상과 내가 통신이 잘 되는지 확인
  • 네트워크 컴퓨터 위에서 돌아가는 운영체제에서 오류 메시지를 전송받는데 사용
  • 프로토콜 구조의 Type과 Code를 통해 오류 메시지를 전송 받음

2. ICMP 프로토콜의 구조

  • Type은 대분류, Code는 소분류
  • Type 중 0, 8번 / 3, 11번 / 5번은 알아둬야함
  • 0,8번은 통신을 확인하는 것 : 8번은 요청, 0번은 응답
  • 3은 목적지에 도달하지 못한 것, 11번은 요청시간이 만료되었습니다.
  • 3번은 보통 목적지까지 가지못함, 11번은 목적지까지 갔는데 응답X
  • 보통 3번일 때 가는경로에서 문제있고 11번은 상대방이 문제가 있을 때
  • 3번의 예로는 라우터 경로설정 잘못, 11번의 예로는 상대방이 방화벽 켜놨을 때
  • 5번은 원격지에 있는 상대방의 라우팅 테이블을 수정할 때 사용, 남의것을 수정하기 때문에 보안상 문제 때문에 요즘은 잘 안씀



👻 실습 (IPv4, ICMP 프로토콜)

  1. ping 하고 와이어샤크에서 내가 ping 보낸 것중 ICMP를 확인해보자

  • 8바이트인데 아주길다? 자기자신만 가는게 아니라 뒤에 쓸데없는 것을 붙여서 보낸다.
  • 요청이니까 08로 시작
  1. IPv4를 확인해보자
  • 버전 4니까 맨앞에 4, 20바이트니까 4로 나눠서 5를 써준다
  • TOS는 안쓰니까 00

  • Total Length는 페이로드까지 합친길이
  • ICMP 8바이트 + 쓸데없는데이터 abcd... + IPv4 자기자긴 20바이트
  • 총 60바이트니까 60바이트 16진수로 바꿔서 써줌
  • id값은 다 다름

  • flag는 총 3비트로 조각화가 되었나 안되었나 알려주는데
    첫번째꺼는 안쓰는거고, 조각화가 필요한데 안하겠다라고 명시하는 것인데 둘다 잘 안씀, 세번째꺼는 조각화 된것 뒤에 있다고 알려주는건데 지금은 ping만 보내서 큰데이터가 없으니까 전부 0임
  • offset도 데이터가 얼마만큼 떨어져잇나 알려주는 것인데 지금은 데이터가 없으니 0

  • 네트워크 장비 하나씩 돌아다닐때마다 1씩 줄어드는 것
  • 이것은 보낸거니까 하나도 안지났음
  • 윈도우는 처음부터 128로 설정 되어있어서 128임
  • 상위프로토콜 지정하는 것은 ICMP니까 01
  • checksum은 헤더에 있는 여러가지 값 계산하는건데 여기선 사용X

  • 출발지 IP주소이고
  • 뒤에는 목적지 IP주소
profile
쿄쿄쿄

0개의 댓글