ARP프로토콜에 관하여

gngngng   
   조회 1596   추천 0    

안녕하십니까 저번에 라우터와 게이트웨이 차이에 대해서 설명해주셔서 다들 너무 감사했습니다. 덕분에 너무 공부 잘하고있습니다.

현재 ARP프로토콜에 대해서 공부하고있는데 ARP프로토콜을 사용하여 라우터의 MAC주소를 구하는 것은 알겠습니다.

여기서 궁금한 것은 ARP는 IP주소를 통해서 MAC주소를 구하는 것인데 이때 같은 네트워크에 있는 다른 PC에게 데이터를 전달할 때 또한 MAC주소를 알아야하는데 스위치장비는 MAC주소까지만 볼 수 있다고 배웠습니다. IP를 볼 수 없는 상황에서 ARP를 사용했을 때 어떻게 알아낼 수 있을까요? 

또한 제가 외부네트워크를 통해서 데이터를 전달하려는지 내부네트워크에서 데이터를 전달하려는지는 어떻게 구분하여 라우터 MAC주소 아니면 내부네트워크의 다른 PC의 MAC주소를 구하려하는지 구분하나요?

아시는 분 있으면 설명부탁드립니다ㅠㅠ 감사합니다!

짧은글 일수록 신중하게.
김강호 2024-02
     
gngngng 2024-02
네 맞습니다.. 제가 궁금한 것은 라우터는 프레임을 떼고 arp 패킷으로 구분할 수 있다고 하는데 스위치 장비는 프레임까지 밖에 못본다고해서요 ㅠㅠ
          
gngngng 2024-02
아 그러면 혹시 두번째 질문은 pc에서 내부네트워크 주소를 확인 후 아니면 라우터의 mac 주소를 찾아가는 것인가요?
               
엠브리오 2024-02
인터넷 통신이 패킷이라고 하는 형태로 데이터를 왜 쪼개서 처리하는지를 이해 못하신듯 하군요.

패킷 안에 데이터가 어디로 가야할지 목적지 IP주소가 적혀 있습니다.
192.168.???.??? 라고 적혀 있으면 당연히 내부망일테고, 그게 아니라면 공유기 거쳐서 밖으로 빠져나가겠죠?
          
김강호 2024-02
일단 osi 7계층부터 보시구요.. 그 다음에 계층 밑부터 차분히 보면서 올라가시기 바랍니다...
구차니 2024-02
ARP는 노드-노드 간의 통신을 위해 사용됩니다.(첨언하자면.. node-node 간에는 ip가 아닌 mac으로 통신합니다. arp는 확인용이지 직접적인 데이터를 전달하는 프로토콜은 아닙니다)
라우터를 나가면 노드-노드가 아닌 end-end로 MAC 없이 ip로만 통신합니다.

라우터도 바로 다음 단계 장비와는 node-node 니까 MAC으로 통신하겠지만
TCP 전체 경로 상에 표시되는 상대방 주소는 MAC이 아닌 IP address 입니다.

잘 쓰진 않지만 RARP 도 있습니다 reverse ARP
arp는 브로드 캐스트로 주로 작동하며 이 아이피 가지신분! 외치면 내가 그 아이피 가진 맥이다~ 라고 응답해주는 프로토콜 입니다.
dateno1 2024-02
애초에 로컬 통신은 맥만 있으면 IP 없어도 찾아갑니다

브로드케스트로 싹 뿌려버리면 끝이니까요 (...)

두번쨰 질문의 답은 서브넷
DeepSky 2024-02
데이터 발송의 흐름은 OSI 7 계층의 위에서 아래로 이해하시면 편합니다. ( 수신은 아래서 위로 가겠죠. )
ARP 기준이므로 TCP/IP 환경일테고, OSI 7 계층 중 상위 계층에서 데이터 발송을 요청하면 발송/수신 IP 주소가 데이터에 적혀있습니다.
이 때 ARP Table 확인을 합니다.

1) 동일한 서브넷의 IP 가 아니다 => 게이트웨이 / 라우터 IP 로 전달
2) 동일한 서브넷의 IP 이다 => ARP Table 확인
2-1) ARP Table 에서 알고 있는 IP 주소이다 => 해당 MAC 주소로 전달
2-2) ARP Table 에서 모르는 IP 주소이다 => ARP Broadcast Message 로 탐색 => 응답이 있으면 Table 을 갱신하고 전송, 응답이 없으면 발송 실패

어차피 동일한 서브넷의 IP 일 때만 스위치의 역활이 필요하고, 다른 서브넷의 IP 면 스위치는 게이트웨이 / 라우터 IP 로 전달합니다.
새옹지마아 2024-02
1. IP를 볼 수 없는 상황에서 ARP를 사용했을 때 어떻게 알아낼 수 있을까요?
=> ARP 브로드캐스트(broadcast)를 사용합니다. 위키피디아의 ARP에 이렇게 설명돼 있습니다.

... 이를테면, IP 호스트 A가 IP 호스트 B에게 IP 패킷을 전송하려고 할 때 IP 호스트 B의 물리적 네트워크 주소를 모른다면, ARP 프로토콜을 사용하여 목적지 IP 주소 B와 브로드캐스팅 물리적 네트워크 주소 FFFFFFFFFFFF를 가지는 ARP 패킷을 네트워크 상에 전송한다. IP 호스트 B는 자신의 IP 주소가 목적지에 있는 ARP 패킷을 수신하면 자신의 물리적 네트워크 주소를 A에게 응답한다.

2. 또한 제가 외부네트워크를 통해서 데이터를 전달하려는지 내부네트워크에서 데이터를 전달하려는지는 어떻게 구분하여 라우터 MAC주소 아니면 내부네트워크의 다른 PC의 MAC주소를 구하려하는지 구분하나요?

=> 호스트의 네트워크 설정에서 IP Address와 Net Mask 그리고 찾아가려는 타겟의 IP Address를 사용하면 동일 네트워크인지 여부를 알 수 있습니다. 동일 네트워크면 ARP로, 다른 네트워크면 라우터에게 물어봅니다.
딥마인드 2024-02
그건 IP계층에서 심도있게 다뤄저야할 문제인데
 IP 계층의 대표 장비 라우터에서는 목적지 IP가 사전 할당된 범주에 있지 않으면 외부 주소로 간주하고 ARP는 송출하지 않습니다.
 ARP는 오직 내부 이더넷 주소를 찾는데만 사용될수 있습니다.

 그런데 말입니다
 보통 라우터에서 외부 기기의 MAC를 알려주지는 않는데
 패킷 스니핑 툴로 캡처하면 원격지 기기의 MAC가 고스란히 들어있어 알아낼 방법은 있겠습니다.

..


QnA
제목Page 186/5723
2015-12   1758801   백메가
2014-05   5232096   정은준1
2024-02   2179   책먹는고양이
2024-02   2317   팰월드11
2024-02   1835   린드버그
2024-02   1716   류류류
2024-02   2796   죠슈아
2024-02   1597   gngngng
2024-02   1876   김루노
2024-02   2667   리오
2024-02   3846   핸즈
2024-02   2068   정무현
2024-02   3843   리장님
2024-02   2124   정은준1
2024-02   2319   통신버필
2024-02   1573   eu4you
2024-02   1902   눈부신아침
2024-02   1485   초보자에용
2024-02   1848   흥마
2024-02   1698   L2스위치
2024-02   2375   안형곤
2024-02   1778   군인1