1577, 79/79 회원가입  로그인  
   tseug
   tseug의 네트워크에 관한 이야기 (IP) [1]

http://www.hackerschool.org/HS_Boards/zboard.php?id=Free_Lectures&no=1330 [복사]


구차니즘에 의해서.. 강좌를 한동안 못남겼네요. (ㅇㅅㅇ)
후훗.. 오늘은 IP에 대해 배워볼까요? 멀면서도 가깝게 느껴지는것이 IP 입니다.

먼저.. 공인 아이피와 사설아이피에 대해 알아볼까요?

공인 아이피?
그말대로 공인입니다. 음.. 정식적인 아이피라고 생각하시면 되겠습니다. (언어로 따지면 표준어)

사설아이피?
공인아이피하나를 공유기등을 통해서 공유해서 사용할경우에.. 사설아이피라고 합니다. 비공인적인 아이피이죠. 따라서.. 종종.. 사용도중에 불편할떄가 있습니다.(게임에서 host 의 환경이 되지 못한다던가) (언어로 따지면.. 은어정도 되겠네요.) (보통 192.168.xxx.xxx 의 형태로 되어있습니다.)

Q 아이피는 왜 1~255 까지 4개의 숫자로 되어있을까?

A 이유는... 2진법 하실 줄 아시죠? (중1떄 배우지만.. 중1 보다 어리시거나 까먹으신분은 진리의 구글신에게 물어보시던가 부모님께 물어보세요.)

문제 하나 낼까요?
255를 2진법으로 나타내면 뭐가 될까요?
128*1+64*1+32*1+16*1+8*1+4*1+2*1+1*1=255 입니다.
11111111(2) 가 되겠네요.

컴퓨터는 뭐로 이루어져있죠?
2진수입니다. ^^: 그렇다면... 컴퓨터가 쉽게 알기위해서는 2진수를 사용하겠죠?
최대 8자리인 2진수로 된 숫자 4개로 이루어진게 IP입니다.
최대 8자리니까.. 11111111(2)=128*1+64*1+32*1+16*1+8*1+4*1+2*1+1*1=255
따라서.. 255 가 최대 값이 됩니다. (왜 2진수쓰지 구찮게 10진수로 고쳐서 하냐고 물어보시는 분은.. 2진수 계산이 쉬운가.. 10진수 계산이 쉬운가.. 생각해보시길.ㅋ)

이건 IPv4 를 기준이며..

IPv6 의 경우에는
2진수로 이루어진 최대 32자리의 4개의 숫자였던걸로 기억합니다.

Q 정확히 아이피는 어디에 사용되죠?

A ARP 라는 과정에서 사용됩니다.^^:
ARP는 IP 에서 mac 어드레스로 변환되는 과정을 의미합니다.
IP만 가지고 모든 통신을 하시는 지 아시는 분도 계시지만.. 사실 랜카드의 기계적 주소인 mac 어드레스 또한 사용됩니다. (궁금하신분은 패킷잡아보세요. ARP 하는 과정이 잡힙니다.^^:)

1) A라는 PC가 B라는 PC 에게 데이터(패킷)를 보낼려고합니다. (가정 : PC A는 PC B의 아이피를 알고있다. 가정1 : 브로드케스트 도메인(라우터를 거쳐 통신하지 않아도 된다는 소리입니다.) 내에 PC B가 있다. )

먼저 PC A가 연결된모든 PC에게 IP 111.111.111.111 누구? 라는 내용으로 패킷을 돌립니다.
패킷을 받은 PC B는 111.111.111.111 나임.ㅋㅋㅋㅋ 라고 하며.. MAC 어드레스를 적어서 PC A에게 보냅니다.. 끝~ 간단하죠?

2)A라는 PC가 B라는 PC 에게 데이터(패킷)를 보낼려고합니다. (가정 : PC A는 PC B의 아이피를 알고있다. 가정1 : 브로드케스트 도메인(라우터를 거쳐 통신해야 된다는 소리입니다.) 밖에 PC B가 있다. )

PC A가 연결되있는 모든 PC 에게 IP 111.111.111.111 누구? 라는 내용으로 패킷을 돌립니다. 연결되어있는 라우터가 패킷을 받습니다. 라우터가 생각합니다. "111.111.111.111 이라? 내 내부의 네트워크 할당된 IP는 111.111.112.1~255 이니까. 내 내부의 네트워크가 아니네? 그럼.. PC A가 100번이구 1000번이구 패킷을 보내도 응답하지 않겠네(다른 브로드케스트 도메인 에있으니..)?  라우터가 불쌍한 PC A에게 데이터를 보냅니다. "야 나라우터인데. 여기 내 MAC어드레스 PC B랑 통신할래면 나한테 보내."  대강 이런식입니다. PC A가 라우터한테 PC B한테 할말을 보내면 라우터는 PC B와 연결된 라우터를 찾아서. 그 라우터에게 패킷을 보내고.. 또 그 라우터가 PC B에게 받은 패킷을 줍니다.

간단하죠?
훗.. 궁금하신점있으면 물어보세요. (아는 범위에 한해서 답해드립니다.^^:)
태클은 환영입니다. (공부한지가.. 3개월이나(-_-)되다보니까 틀린내용이 있을수도(확인많이했는데도..).. 머리가 나쁩니다. 죄송해요~)

P.S : 다음강좌의 주제는 뭐로 해볼까요? (네트워크 아니라도 좋아요~ 공부한 내용이라면 해드리도록 하겠습니다.^^:)

  Hit : 6681     Date : 2009/11/04 02:51
[불법/스팸글로 신고하기]



    
commio0 IPv6 는 2진수로 128자리로 128bit의 크기이며, 현제 할당되어있는건 20%정도..? ( 맞으려나... )
대충 계산해보면 지구가 탄생하고 1초에 1나씩 IP주소를 나눠줘도 아직 한참 남아있을 정도의 숫자..
외부에 통신을 할때, 컴퓨터가 알아서 게이트웨이한테 보냄..
ARP를 메세지를 브로드 캐스트로 뿌리더라도 자기 IP주소가 아니면 게이트웨이는 쌩까요.
그러니 PC A 아이피가 192.168.0.1 이고 게이트웨이가 192.168.0.254 일때, 123.123.123.123 이랑 통신하려고 하면 PC A는 123.123.123.123 의 mac주소는 뭥미? 라고 묻지 않고
알아서 192.168.0.254 의 mac 주소는 뭥미? 하면서 브로드 캐스트해요..
2009/11/04  
tseug commio0 //
사설 아이피와 공인 아이피가 통신할경우에.. 말씀이신가요?..
2009/11/04  
commio 사설과 공인이 아니고 다른 네트워크로 가기위해서죠,
123.123.123.123 에서 234.234.234.234 로 가기위해서 123.123.123.123 은 234.234.234.234 (IP주소)를 가지고 ARP 브로드캐스팅하지 않습니다. ( 왜냐면 234.234.234.234 를 가진 컴퓨터가 없기 때문에 누구도 응답해오지 않기 때문입니다. ) 따라서 123.123.123.123 의 게이트워이가 123.123.123.254라면 알아서 123.123.123.254 를 가지고 ARP 브로드캐스팅을하게되고 123.123.123.254의 MAC주소를
알아낸다음 src_IP 123.123.123.123 dst_IP 234.234.234.234 src_mac 자신 dst_mac 123.123.123.254의 맥주소 를 넣어서 123.123.123.254 로 보내게됩니다.
2009/11/05  
commio 이 패킷을 받은 게이트웨이는 ( 당연히 라우팅기능이 있기 때문에 ) 어라? 이거 234.234.234.234 로 가는거네? 하면서 234.234.234.234 로 가기위한 라우터 혹은 기타 다른 라우팅 장비에 그 라우터의 mac주소를 넣어서 보내게됩니다 이때 패킷은
src_IP 123.123.123.123 dst_IP 234.234.234.234 src_mac 자신 dst_mac 다음 라우팅장비의 맥주소 를 넣어서 다음 라우팅장비에게 보내게됩니다.
2009/11/05  
tseug 음.. 전 일단 PC가 브로드케스트를 하면.. 라우터가.. 브로드케스트로 온 패킷을 보고..
로컬쪽이 아닐경우에.. 자신의 mac 주소를 주는 건지 알고있었는데..
commio님께서 하시는 말씀 들어보니까.. 라우터또한.. 자신에게 온 브로드케스트 패킷이 아니면..
무시한다는 말씀 같으시네요.. 따라서.. PC가 게이트웨이의 IP를 적어서.. 패킷을 보낸다..
음... 제가 이때까지 잘못 알고있던건가요?
2009/11/05  
연습생 라우터가 브로드캐스트를 받을때 해당 아이피가 로컬이 아니면 arp를 브로드캐스팅한 PC한테 해당 아이피는 로컬이 아니니까 그 아이피랑 통신할려면 나한테 보내 하면서 유니캐스트로 자신의 MAC을 써서 보내는걸로 알고있는데 ㅋㅋ... 그 후로 PC는 Destination MAC을 라우터(게이트웨이)꺼 적고 목적지 아이피는 통신하고자 하는 PC 아이피 적어서 패킷 날림 2009/11/17  
17   < 리눅스 참조 가이드 > 1     사용중
08/02 6447
16   #01 Protel CAD - 서문     아이프리드
11/21 9958
15   완벽하게 파일을 지우는 방법     koresong
10/18 8798
14   리눅스(9) 리눅스 명령어 1~8     사용중
08/02 7589
13   네 트 워 크 강 좌[17]     소유
10/05 17096
12   노즈의 해커스쿨 ftz게임탐방기 LEVEL 2 !! [2]     xownsdk2
08/02 7035
11   [자작] C 강좌 [2] - Memory Allocation[1]     wolverine
07/05 6473
10   [자작] 1. c 언어는 무엇인가(1)[1]     whdgusdl1220
08/16 6529
  tseug의 네트워크에 관한 이야기 (IP) [1][6]     tseug
11/04 6680
8   해킹기법? (기발하다고 해야하나,웃기다고 해야하나)[35]     whqkdnf000
07/31 11620
7     C언어3-메모리와 변수(추가용어)     sihun1113
05/01 5711
6   웹 해킹에대해서 알아보자 (5)[2]     사용중
08/03 8073
5   웹 해킹에대해서 알아보자 (4)      사용중
08/03 7316
4   ;cat 을 사용하는 이유 .[3]     bugfixer2
05/18 9609
3   < 리눅스 참조 가이드 > 4     사용중
08/02 6724
2   리눅스(9) 리눅스 명령어 6. 압축/해제[2]     사용중
08/02 6987
1   버퍼오버플로우 왕기초편 pdf 파일 어디서 구할 수 있나요?     duduwon
02/08 8896
[1]..[71][72][73][74][75][76][77][78] 79

Copyright 1999-2022 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org & Wowhacker.com