우선 이 답글에서는, 라우터와 게이트웨이, 두 단어를 함께 사용하면, 개념에 혼동이 있을 수 있으니 라우터라는 단어만 사용합니다.
대개의 경우, IP 패킷에는 IP 주소 이외에는 목적지를 나타내는 정보가 없습니다. 라우터는 IP 주소만을 가지고 패킷을 보내게 됩니다. 라우터는 라우팅 테이블이라는 데이터베이스를 가지고 있습니다. 라우터는 아니지만, 일반 리눅스 시스템에서도 route라는 명령을 치면 라우팅 테이블 비슷한 걸 볼 수 있습니다. 실제 두개 이상의 네트웍카드를 장착해서 라우터로 만들 수도 있구요.
라우팅 테이블을 보면, IP 주소 111.222.*는 어떤 네트웍 포트(인터페이스)로 보내라는 식으로 되어 있죠. 네트웍 edge에서 사용되는 access router의 경우 라우팅 테이블이 간단하기 때문에 관리자가 직접 설정하면 되고, backbone이나 core에 사용되는 라우터의 경우 여러가지 라우팅 프로토콜을 사용하여 라우팅 테이블이 동적으로 자동 관리됩니다.
라우터는 자신의 라우팅 테이블을 참고하여, 패킷들을 해당 포트로 보냅니다. 이때 IP 패킷을 그 포트를 통하여 그대로 가는 것이 아니라, 2계층(MAC) 프레임으로 변환되는데, 2계층 프레임의 헤더에 상대편 라우터의 2계층 주소가 포함되어 있습니다. 그리고 IP 패킷은 2계층 프레임의 payload가 됩니다.
라우터 끼리는 어떻게 통신하느냐는 IP 레이어(3계층) 문제가 아니라, MAC 레이어(2계층)에서 해결하는 문제라, 네트웍의 레이어 개념을 아시는게 도움이 될 겁니다.
좋은 답변이 다수 나왔습니다. 저도 하나..... tcptraceroute라는게 있는데, 검색해보면 많이 나옵니다.
근래에는 파이어월들에서 UDP나 ICMP 패킷을 필터링하는 경우가 라우팅 경로에 다수 있을 수 있습니다. 이 경우 tcp 패킷을 사용하여 이러한 필터링에
대비한 traceroute를 구현할 수 있습니다.
기본 구현원리는 NMAP(PORT SCAN 도구)과 유사한 메카니즘입니다.
대충 찍어보면(믿거나 말거나..)
"SYN패킷을 보내고 SYN/ACK나 RST패킷을 기대하는 TCP 3way hadshake에 기초한 기본 메카니즘이지요. 또한, 그냥 PSH 패킷을 보내고,..., Stealth 스캐닝 기법을 응용해 볼 수도 있겠지요."
* 자세한것은 소스나 기타 문서를 보시길...
[url]http://myhome.naver.com/complex6/ne
http://myhome.naver.com/complex6/network_3.htm
arp와 ip routing에 대해 전반적으로 이해하셔야 합니다.
구글링하니 위의 주소가 나오던데요
참고하시면 도움이 되실것 같네요 :)
『 아픔은.. 아픔을 달래줄 약이 무엇인지 알면서도 쓰지 못할 때 비로소 그 아픔의 깊이를 알수가 있음이다. 』
『 for return...』
라우팅
우선 이 답글에서는, 라우터와 게이트웨이, 두 단어를 함께 사용하면, 개념에 혼동이 있을 수 있으니 라우터라는 단어만 사용합니다.
대개의 경우, IP 패킷에는 IP 주소 이외에는 목적지를 나타내는 정보가 없습니다. 라우터는 IP 주소만을 가지고 패킷을 보내게 됩니다. 라우터는 라우팅 테이블이라는 데이터베이스를 가지고 있습니다. 라우터는 아니지만, 일반 리눅스 시스템에서도 route라는 명령을 치면 라우팅 테이블 비슷한 걸 볼 수 있습니다. 실제 두개 이상의 네트웍카드를 장착해서 라우터로 만들 수도 있구요.
라우팅 테이블을 보면, IP 주소 111.222.*는 어떤 네트웍 포트(인터페이스)로 보내라는 식으로 되어 있죠. 네트웍 edge에서 사용되는 access router의 경우 라우팅 테이블이 간단하기 때문에 관리자가 직접 설정하면 되고, backbone이나 core에 사용되는 라우터의 경우 여러가지 라우팅 프로토콜을 사용하여 라우팅 테이블이 동적으로 자동 관리됩니다.
라우터는 자신의 라우팅 테이블을 참고하여, 패킷들을 해당 포트로 보냅니다. 이때 IP 패킷을 그 포트를 통하여 그대로 가는 것이 아니라, 2계층(MAC) 프레임으로 변환되는데, 2계층 프레임의 헤더에 상대편 라우터의 2계층 주소가 포함되어 있습니다. 그리고 IP 패킷은 2계층 프레임의 payload가 됩니다.
라우터 끼리는 어떻게 통신하느냐는 IP 레이어(3계층) 문제가 아니라, MAC 레이어(2계층)에서 해결하는 문제라, 네트웍의 레이어 개념을 아시는게 도움이 될 겁니다.
^^
답변들 너무나두 감사합니다. 도움이 많이 되었어요.^^
근데 간단한거 하나만 좀 더 여쭤봐두 될까요...?
제가 제 호스트로부터 특정 서버에 텔넷으로 접속이 되길래,
어떤 라우터들을 따라서 제 패킷이 가는지, tracert 프로그램을
이용해서 그 길을 알아보려하는데, 왜 초반 몇개 게이트웨이의
주소는 뜨는데 그 담엔, request timed out만 뜨죠.ㅡ.ㅡ;
제 호스트로부터 원격 호스트까지 어떠어떠한 호스트들을 거쳐서
가는지 알수 있는 방법은 없을까요?
알려주시면 감사하겠습니다..
traceroute 는 ping 명령어의 어떤 응용된 부분입니다.각
traceroute 는 ping 명령어의 어떤 응용된 부분입니다.
각 HOP마다 핑을 보내서 TTL expired 되는 응답 메세지를 받아서
중간 경유지를 유추하는 방법을 쓰는데,,
모든 라우터가 ping에 대한 응답을 하는것은 아닙니다.
그래서 응답을 받지 못하기 때문에 timeout이 걸립니다.
좋은 답변이 다수 나왔습니다. 저도 하나.....[b]tcptrace
좋은 답변이 다수 나왔습니다. 저도 하나.....
tcptraceroute라는게 있는데, 검색해보면 많이 나옵니다.
근래에는 파이어월들에서 UDP나 ICMP 패킷을 필터링하는 경우가 라우팅 경로에 다수 있을 수 있습니다. 이 경우 tcp 패킷을 사용하여 이러한 필터링에
대비한 traceroute를 구현할 수 있습니다.
기본 구현원리는 NMAP(PORT SCAN 도구)과 유사한 메카니즘입니다.
대충 찍어보면(믿거나 말거나..)
"SYN패킷을 보내고 SYN/ACK나 RST패킷을 기대하는 TCP 3way hadshake에 기초한 기본 메카니즘이지요. 또한, 그냥 PSH 패킷을 보내고,..., Stealth 스캐닝 기법을 응용해 볼 수도 있겠지요."
* 자세한것은 소스나 기타 문서를 보시길...
^^
답변들 감사합니다.
댓글 달기