4-1/인터넷프로토콜

ARP와 ICMP 그리고 멀티캐스트

개발자 덕구🐾 2022. 4. 12. 09:50
728x90

슈퍼네팅

; 여러개의 c클래스를 모아 하나의 네트워크로 사용

⇒ 2의 지수 개수, 연속적으로 모아야함

CIDR(classless inter-domain Routing)

클래스을 기준으로 IP주소를 할당받는게 아닌 bit별로

IP주소를 할당

네트워크 식별자 범위를 자유롭게 지정

 

 

ARP(address resolution protocol)

  • 네트워크 계층 프로토콜
  • 상대방의 IP주소를 이용해 상대방의 MAC주소를 알수있게 하는 프로토콜

request, response가 있다.

  • 동일한 네트워크에 있을 때
    1. request로 브로드 캐스팅한다.
    2. 해당 호스트가 자신의 MAC주소를 담아 response를 보낸다.
  • 다른 서브넷에 있는 호스트의 MAC주소를 알고 싶을 때
  • 라우터가 중계해야하므로 라우터 자신의 MAC주소를 보낸다.

 

[MAC 해더 , request/response]

MAC헤더에는 (1) 송신 MAC주소, (2)수신 MAC주소

body에는 (3) 송신 MAC, (4)송신 IP, (5)수신 MAC, (6)수신 IP주소가 있다.

(1)에는 브로트 캐스팅이므로 1111으로 채워서 보내고 (5)은 정확하게 모르므로 0으로 보낸다.

 

ICMP (internet control message protocol)

 

  • 네트워크 계층 프로토콜이지만 ip_h로 캡슐화된다.
  • 오류메세진 전달, 네트워크 진단의 역할을 한다.

 

시간 초과 - 이유 1. TTL 이 0이 되어서 , 2. 재조립 한계시간을 초과할 경우 

목적지 도착 불가 : 에러가 발생해 가지 못할경우 패킷이 중도 폐기 시

(재지정)redirection message :

동일한 네트워크에서 다른 라우터에서 라우팅 하는 것이 더 효율적 일것같으면 ICMP 재지정 메세지를 보내 알려줌

내가 받은 패킷은 더 효율적으로 일할 수 있는 라우터에게 직접 보낸다. 

 

> ICMP를 발생시키지 않는 패킷의 종류 

 

1. ICMP 패킷

2. 분할된 패킷 중 첫번째 패킷이 아닌 경우 

3. 특별한 주소의 경우 (루프백 주소, 0.0.0.0)의 경우 

4. 멀티캐스트나 브로드캐스트 패킷의 경우  

 

 

멀티캐스트

  • 멀티캐스팅 라우터를 이용
  • 한명의 송신자가 여러 수신자에게 보낼 때 , 동일한 패킷을 많이 보내서 송신지가 부하가 높아지고 대역폭이 낭비된다.
  • 멀티케스트를 사용하면 대역폭 낭비를 줄이고 시간 지연문제를 줄일 수 있다. (이유는?)
  • D클래스를 이용 (1110으로 시작) 

IP 주소를 그대로 MAC주소로 이용한다.

이미 멀티캐스틀 위한 MAC주소는 처음 25 bit가 정해저 있기 때문에 IP주소가 조금 잘린다. 

그래서 원하지 않는 호스트에서 멀티캐스트를 수신할 수 있다. 

그러나 IP 헤더를 열어보면 정확한 그룹 주소가 나와있기에 IP에서 폐기해서 괜찮다.

 

 

 

IGMP ( group management protocol)

MR이 멀티캐스트 그룹에 가입한 호스트들을 관리하는데 사용하는 protocol

0x11 그룹 문의 : MR이 호스트들에게 지속적으로 물어봄

0x16 그룹 보고 : 호스틀이 새롭게 듣거나, 지속적으로 들을거라고 말해줌 

충돌을 피하기 위해 각 호스트는 일정 시간을 기다린 후 전송 서로 기다림텀을 둠

0x17 그룹 탈퇴 : 호스트가 그룹을 탈퇴 - 내가 그룹 탈퇴 마지막인 걸 알거나 마지막인지 잘 모르거나

반응형