가상 ip....

공상쟁이 2007. 9. 28. 19:27 posted by 향기로운바람

2004/08/31


가상 ip...

컴퓨터끼리의 통신에 있어서,

1. 실제 ip 간의 통신은 아무 문제 없음.

2. 실제 ip는 가상 ip에 접근할 수 없으나, 가상 ip는 실제 아이피에 접근 가능함.

3. 가상 ip 끼리는 서로간의 접근이 불가....

라는 문제가 있다.

p2p 형태의 것에서 이것이 간혹 문제가 되는데,

1, 2 번의 경우에는 큰 문제는 없다. 어느 한쪽이 실제이기만 하면 일단은... ^^; 되니까.

문제는 3번인데, 이 경우에는 따로 server를 경유하는 방법이 취해진다.

이를테면 중간에서 제3의 server가 실제 ip를 갖고, 두 개의 가상 ip를 중계하는

3자 대화 방식이 되는 것이다.

자... 그럼, 제3의 server를 둘 여유가 없다면?

있다해도, 그렇게 중계자 역할로 돌리기엔 곤란하다면?

그래서... 차라리 원천봉쇄를 하자...라는 것이 되었다.

그것은, 가상 ip 주제에 p2p 상에서의 server 되지 못하게 해 버리는 것이닷.

여기서 곤란한 문제가 발생하는데, client 측에선 자신의 ip가 가상인지 알수가 없다는 것이다.

물론, 가상 ip로 사용되는 ip 그룹들이 있긴 한데, 이것이 또 곤란하게도 실제로는

실제 ip로 사용되는 것들이 있기도 하다는 것이다.


10.0.0.0 ~ 10.255.255.255
172.16.0.0 ~ 172.31.255.255
192.168.0.0 ~ 192.168.255.255


결국, 가상 ip 그룹에 속하느냐로 확인하는 것은, "가상 ip 일수도 있다..."라고 하고 마는  것이 된다.

애매한 답을 얻어 내고 만다는 것이다. 예외처리를 잘 해야 좋은 작품이 된다 ㅜㅡ

예외를 너무 많이 허용해 버리면 곤란하게 되어 버린다.

그래서...


<?
  /*********************************
  url  :
http://.../ip.php?ip=
  input  : $ip
  output : $state = "real" / "virtual"
  *********************************/

  if($ip == $REMOTE_ADDR)    $state = "real";
  else                                   $state = "virtual";

  echo("your ip : " . $ip . "<br>");
  echo("your real ip : " . $REMOTE_ADDR . "<br>");
  echo("you ip is " . $state);
?>


라고 해 버렸다.

-_- web server 에게 물어보자...

'공상쟁이' 카테고리의 다른 글

3D Character Cube  (0) 2007.09.28
온라인게임...  (0) 2007.09.28
화장실 변기...  (0) 2007.09.28
한국 이름 지어 주기  (0) 2007.09.28
릴레이 역할 소설  (0) 2007.09.28