가상 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 |