로컬 네트워크에 대한 질문입니다. (ㅡㅡ; 질문이 좀 많습니다.
LAN network에서 Router는 외부에서 전송되는 패킷의 IP를 확인하여
Router가 관리하는 LAN network 내부로 향하는 패킷으로 확인되면
Router가 가지고 있는 '네트워크 테이블'을 참조하여 해당되는 host의 MAC 주소를
패킷의 물리 헤더에 destination MAC address part에 기록하고
연결된 Main Switching Hub로 전달하게됩니다.
Main Switching Hub에서는 다시 Hub의 동작 방식에 따라 host를 찾아가도록
할텐데요.. (여기서도 router와 마찬가지의 table을 사용할 거라고 생각합니다.)
그럼 Router의 이 '네트워크 테이블'을 유지하기 위해 모든 host는 자신의 IP주소와
MAC address를 담은 패킷을 Router를 목적지로하여 전달할 거라고 생각합니다.
물론 여기에 사용되는 통신 프로토콜이 존재하겠지요..
여기에 사용하는 프로토콜이 뭔가요? 정확한 명칭이 필요하답니다.
가능하다면 그 프로토콜에 대한 설명도 있으면 좋겠구요..
^^ 이게 첫번째 질문입니다.
두번째 질문은 라우터와 허버의 동작방식에 대한 질문입니다.
네트워크 랜카드의 경우 커널에서 소켓 버퍼가 전달되면 기계적으로 패킷의 기계헤더에 있는 source MAC address에 자신의 MAC address를 기록하고 전달하게 되는데 라우터나 허브의 경우에도 같은가하는 점입니다.
라우터나 허부의 경우 개념적으로 외부 포트와 내부 포트(여러개이겠지요) 간의 통신이 내부적으로 지원되서 패킷을 전달해주는 브릿지 기능이 있을 텐데
이런 경우에도 반대편 포트로 전송할때 나가는 쪽 포트에서 자신의 MAC 주소로 패킷의 source MAC address를 변경하는냐 하는게 두번재 질문입니다.
그리고 세번째 질문은 허브가 MAC address를 가질수 있느냐는 점입니다.
제 생각에는 있을 거라고 생각하지만 라우터 처럼 IP를 갖는 것도 아니기 때문에 MAC주소가 없을 수도 있다는 생각에서 입니다.
1. ARP2. yes. maybe3. no.;-)
1. ARP
2. yes. maybe
3. no.
;-)
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
ARP는????
ARP(Address Resolution Protocol)은 주소 해석 아닌가요. IP 주소를 MAC address로 변환 시키기 위한 프로토콜인데 제가 알고 싶은 것은 라우터의 '네트워크 테이블'을 구성시키위해 라우터로 자기 IP와 MAC주소를 전달할 때 쓰는 프로토콜을 알고 싶은거랍니다...
ARP 는 로컬네트웍에서만 사용가능합니다.즉 LAN 에서만 사용이
ARP 는 로컬네트웍에서만 사용가능합니다.
즉 LAN 에서만 사용이 된다는 얘기지요..
ARP 는 로컬네트웍의 허브, 스위치, 라우터에게 나의 IP 는 이거고 나의 MAC 은 이거다.
는 것을 알려줍니다.
실제 캡처를 해보면 무수히 많은 ARP 패킷이 왔다갔다 함을 알 수있습니다.
라우터간에는 MAC 어드레스를 사용하지 않습니다.
라우팅프로토콜은 RIP, OSPF 가 있는데 현재는 대부분 OSPF 를 쓰지요.
라우터의 네트웍테이블에는 MAC 어드레스가 없습니다.
IP 만으로 해당 포트를 식별하여 해당하는 포트로 날려주게 되고.
최후 말단(end network) 에서 ARP 를 통해 MAC 어드레스로 매핑 됩니다.
졸업한지 오래되어 가물하지만 맞을거에요 ^^
----------------------------
www.nate.com
----------------------------
[quote]ARP(Address Resolution Protocol)은
라우터의 '네트워크 테이블'을 구성시키위해
동적 라우팅에 대해 이야기 하시는 건지요.
동적 라우팅이라면, jinushun님이 이야기 하신 OSPF 프로토콜을 사용 합니다만,
이것은 MAC와 상관 없는 프로토콜 입니다.
자신의 IP와 MAC을 알리기 위해서 사용 하는 프로토콜이 ARP 프로토콜 입니다.
라우터는 그렇습니다만, 허브는 그렇지 않습니다.
라우터의 동작 방식은 host와 동일합니다.
라우터는 라우팅 기능만 넣어 만든 host라고 생각 하시면 됩니다.
일반적으로 허브라고 하는 더미허브의 경우는 단순히
모든 포트를 연결 시켜주는 역활만 합니다.
(브릿지와 비슷합니다. 허브에는 브릿지, 리피터의 기능이 내장 되어 있는 경우가 많습니다.)
스위칭 허브는 조금 더 똑똑해서 목적지에 해당하는 포트끼리만 연결시킵니다.
고가의 허브나 스위치의 경우 모니터링 목적으로 포트에 IP를 셋팅 할 수 있습니다.
주로 SNMP를 이용하기 위해서 인데,
저가형 모델인 경우 이런 기능을 빼고 가격을 낮춘거죠.
L4~7 스위치의 경우는 다릅니다만 여기까지 하죠.
기본적으로 허브는 MAC, IP와 무관합니다.
오라일리에서 나온
책이 있습니다.
참고하시면 좋을듯 하네요.
OSI 7 Layer에 대해서
질문하신 내용은 프로그래밍과는 좀 거리가 있지만,
답변해 드린다면,
우선 허브와 라우터의 차이를 말씀드리겠습니다.
허브는 OSI 7 Layer에서 2계층에서 작동하며, 라우터는 3계층에서 작동합니다.
Layer2를 간단하게 번지라고 생각하고 Layer3를 마을이라고 생각하시면 됩니다.
한 마을이 있습니다. 이 마을a에는 철수와 영희가 살고 있습니다.
그리고 그 마을a에는 이장1이 있으며 이장1은 동네 사람들을 모두 번지로 찾아갑니다.
그리고 철수가 다른 마을 마을b 사람 경수에게 말을 전할 일이 있다고 생각합시다.
그러면 철수는 경수를 자기 마을 방송으로 찾을 수 없기 때문에 이장1에게 전해달라고 요청합니다.
그러면 이장1은 철수가 말해준 경수의 마을b를 알고 있기 때문에 찾아가 그 마을 이장2에게 전해 줍니다.
그러면 이장2는 방송을 해서 경수를 찾아 말을 전하게 됩니다.
이런 식으로 한 마을(네트워크, LAN) 내에서는 동네 방송을 통해서 의사 소통이 가능하며, 다른 마을에 대해서는 이장(Router)을 거쳐야 말을 전할 수 있게 됩니다.
이것이 OSI 7 Layer의 2,3 계층의 구조이며,
한 동네의 번지에 해당하는 것이 MAC어드레스입니다.
그리고 마을에 해당하는 것이 IP어드레스(좀더 세밀하게는 네트워크 어드레스)입니다.
그리고 동네에서 동내방송을 통해서 사람을 찾는 것이 ARP 이며, 이장은 동네 사람이 사는 위치를 알기 위해서 동네방송(ARP)를 사용하게 됩니다.(실제와 차이점이라면, 동네 방송은 아무나 하지 못하지만, 네트워크에서는 아무나 한다는 것)
그리고 이장은 자기 마을이름(IP 네트워크)을 알며, 자기 옆 동네 및 읍네를 알고 있습니다.
그리고 다시 말씀하신 어드레스테이블을 생각하면, 마을사람은 자기 동네 사람들의 번지(MAC어드레스)를 기억하고 있으며(Mac Address Table), 또 자기마을명(IP 네트워크)을 알고 있습니다.
그리고 라우터는 자기동네 사람들의 번지를 알고 있으며, 자기 마을명과 옆 동네 마을 명을 알고 있습니다.
그리고 추가로(Default Route) 마을사람은 이장의 주소를 알고 있으며, 이장은 읍내의 주소도 알고 있습니다.
그리고 라우팅 테이블에 대해서 ......
라우터에서 라우팅 테이블은 위의 예에서 마을 이름에 해당하는 것이며,
기본적으로 Connected, Static, Dynamic한 마을 이름을 알고 있습니다.
Connected는 자기가 있는 마을을 말하며,(IP 주소는 192.168.1.1이며, 네트워크는 192.168.1.0/255.255.255.0 인경우 라우터(192.168.1.1)은 192.168.1.0 마을을 알고 있다)
Dynamic은 앞글 들에서도 나왔듯 RIP, OSPF, BGP같은 것인데, 동네 이장이 자기가 아는 마을 명을 다른 마을 이장에게 알리는 것이죠.(192.168.2.1이란 이장이 자기가 192.168.2.0/255.255.255.0마을을 안다고 192.168.1.1에게 알려 주듯이....)
Static은 자기 근처 동네를 이장이름으로 기억하는 것이죠...(192.168.2.1이란 동네는 192.168.1.2가 알고 있다.... 그러나 이것은 192.168.1.2가 192.168.1.1에게 알려준 것이 아닌 사용자가 지정한 것이죠..)
조잡스럽게 답변을 올렸더라도 재미있게 읽어 주십시오...
댓글 달기