네트워크 프로토콜(3계층 - IPv4 프로토콜, ICMP 프로토콜)

강연주·2023년 12월 7일
0

컴퓨터 네트워크

목록 보기
4/8

IPv4 프로토콜

네트워크 상에서 데이터를 교환하기 위한 프로토콜로, 데이터가 정확하게 전달될 것을 보장하지는 않는다.
데이터의 정확하고 순차적인 전달은 그보다 상위 프로토콜인 TCP에서 보장한다.

  • 통신 단위: 패킷(Packet)
  • 역할: 지정한 IP 주소에 데이터 전달

IPv4 프로토콜 구조

IPv4 프로토콜 구조는 패킷과 같은 의미이다.

패킷에는 식별값, 플래그 값, 상위 계층 프로토콜, 출발지 IP 주소, 목적지 IP 주소 등이 들어간다.
Data에는 상위 계층의 프로토콜로부터 캡슐화된 데이터가 들어있다.

ICMP 프로토콜

ICMP 프로토콜(Internet Control Message Protocol)은, 인터넷 제어 메시지 프로토콜로, 네트워크 컴퓨터 위의 운영체제에게 오류 메세지를 전송받는데 주로 사용된다.

  • Type
    - 0: 응답
    • 8: 메시지 확인 요청
    • 3: 목적지에 도달할 수 없다.(경로상 문제)
    • 11: 요청 시간 만료(상대방 문제)

라우팅 테이블

경로를 지도처럼 저장해놓은 것으로, 해당 테이블에 존재하지 않는 대역을 찾아갈 수 없다. 가까운 곳에서 갈 수 있는 곳까지(라우팅 테이블에 있는 거) 가므로, 게이트웨이 맥주소를 사용한다.

다른 네트워크와 통신하는 과정

총 4개의 네트워크 대역에서 A 컴퓨터가 B의 컴퓨터와 통신하는 과정이다.(ICMP로 확인만!)

  • A가 본인의 라우팅 테이블을 확인하여 B의 네트워크 대역을 확인한다.( 라우팅 테이블에 존재해야 통신 가능)
  • A는 요청하는 프로토콜을 작성해서 보낸다. (ICMP: type 8, 요청 / IPv4 / Eth: 목적지의 맥 주소는 가까운 곳에서 갈 수 있는 곳까지만 작성. 즉, 게이트웨이 맥 주소를 작성)
    • B 컴퓨터의 라우터 IP 주소(192.168.20.0/24)에 가기 위해서는, 192.168.10.1 (가장 가까운 게이트웨이)를 가라고 A의 라우팅 테이블에 작성되어 있다.)

cf. 만약 게이트웨이의 맥 주소도 알 수 없는 경우 ARP 프로토콜을 통해 알아온다.

  • 공유기는 이를 전송받아 자신의 라우팅 테이블을 확인한다. 그 후 Eth 프로토콜의 내용을 자신에게 가까운 대역에 전송되도록 바꿔서 다시 작성한다.
  • 이런 작업이 반복되다가 상대방의 게이트웨이까지 도착하고, B에 도착한다.
  • B는 응답하는 프로토콜을 작성해서 보낸다.(ICMP:type 0, 응답/ 그 외 과정은 유사)

통신 과정 정리

디캡슐화(Decapsulation): A 컴퓨터에서 데이터를 보낼 때, 데이터는 3계층인 IP 패킷으로 캡슐화되어 있습니다. 이 패킷은 이더넷 프레임 내에 실려서 전송됩니다. 라우터에 도착하면, 라우터는 이더넷 헤더를 벗겨내어(IP 패킷의 디캡슐화) IP 헤더를 검사합니다.

라우팅(Routing): 라우터는 IP 헤더에 있는 목적지 IP 주소를 확인하여 패킷이 최종 목적지인 B 컴퓨터로 어떻게 도달해야 하는지 결정합니다. 이 결정은 라우팅 테이블을 참조하여 이루어집니다.

재캡슐화(Re-encapsulation): 적절한 경로를 결정한 뒤, 라우터는 IP 패킷에 새로운 이더넷 헤더를 추가하여(재캡슐화) 다음 네트워크 대역으로 전송합니다. 새로운 이더넷 헤더에는 다음 목적지(다음 라우터 또는 최종 목적지가 직접 연결된 경우 B 컴퓨터)의 MAC 주소가 포함됩니다.

전송(Transmission): 이더넷 프레임은 다음 라우터나 스위치로 전송되며, 이 과정은 최종 목적지에 도달할 때까지 반복됩니다.

profile
백엔드 개발자 준비중

0개의 댓글