Q&A

  • 사이게이트를 사용한 네트웍 채팅의 경우...
안녕하세요...

도움이 필요해서 이렇게 몇자 적습니다.

도와 주세요 :)



그냥 책에 있는 채팅 프로그램을 코딩하고 테스트 하다가 갑자기 궁굼한 것이 생겼는데요.

그것이 무엇이냐...?

만약에(책에 있는 데로라면) 채팅시 먼저 서버용 채팅 프로그램을 실행시키고...<대기상태죠>

다음에 클라이언트용 채팅 프로그램을 실행키고 서버의 아피로 접속하여 채팅을 한다고 치면요.



만약 서버가 사이게이트 같은 프로그램을 통해서 인터넷을 사용하는 유저라면...

외부로 나오는 아이피는 사이게이트가 인스톨된(라우터 역할? 맞죠?) 컴퓨터의 아이피를 가지고

나오는것으로 아는데요...

그럴경우 클라이언트채팅 프로그램이 서버 채팅프로그램으로 접속하기 위해서

접속을 하려고 하면 어떻게 해야 할까요?



그러니까... 다음과 같은 경우에요





채팅서버의 내부ip

(( 192.168.0.100 ))--┐

│사이게이트 사이게이트

│서버의 내부 ip 서버의 외부 ip 채팅클라이언트ip

(( 192.168.0.200 ))--{{ 192.168.0.1 }} + {{ 211.62.13.12 }}-----((233.56.45.12))





(( 192.168.0.300 ))--┘





위와 같은경우죠...



채팅 클리이언트에서 채팅서버로접속하려면... 어떻게 해야하죠?

왠만한 책엔... 저런경우에 대해서는 없는거 같네요..

혹시라도 잘 모르시면... 저런내용을 해결할수 있는방법을 찾을수 있는곳이라도 알려주시면...

감사 하겠습니다. :)



아이구... 이거 내용이 뒤죽박죽이 되었네요...

그래도 이해는 가실거라 생각됩니다.

그럼 고수님들의 답변기댕기겠습니다. :)



음... 리플달아 주시면.. 쐬주가 꽁짜^^ -- 농담아니에요 -- ]

2  COMMENTS
  • Profile
    이경문 2001.09.22 20:39
    문제는 외부에서 211.62.13.12 로 tcp connection을 시도할 때

    sygate는 sub pc중 어느 pc에 connect하라고 forwarding할 지 모르는 것이지요.

    이런 경우 sygate에서 특정 port로 외부에서 connection을 시도하려고 할 경우

    192.168.0.1(예를 든 것임)로 무조건 forwarding하라고 setting을 해 놓아야 합니다.

    sysgate, wingate등 firewall이나 NAT지원하는 h/w, s/w의 매뉴얼을 참고하세요.



    임광운 wrote:

    > 안녕하세요...

    > 도움이 필요해서 이렇게 몇자 적습니다.

    > 도와 주세요 :)

    >

    > 그냥 책에 있는 채팅 프로그램을 코딩하고 테스트 하다가 갑자기 궁굼한 것이 생겼는데요.

    > 그것이 무엇이냐...?

    > 만약에(책에 있는 데로라면) 채팅시 먼저 서버용 채팅 프로그램을 실행시키고...<대기상태죠>

    > 다음에 클라이언트용 채팅 프로그램을 실행키고 서버의 아피로 접속하여 채팅을 한다고 치면요.

    >

    > 만약 서버가 사이게이트 같은 프로그램을 통해서 인터넷을 사용하는 유저라면...

    > 외부로 나오는 아이피는 사이게이트가 인스톨된(라우터 역할? 맞죠?) 컴퓨터의 아이피를 가지고

    > 나오는것으로 아는데요...

    > 그럴경우 클라이언트채팅 프로그램이 서버 채팅프로그램으로 접속하기 위해서

    > 접속을 하려고 하면 어떻게 해야 할까요?

    >

    > 그러니까... 다음과 같은 경우에요

    >

    >

    > 채팅서버의 내부ip

    > (( 192.168.0.100 ))--┐

    > │사이게이트 사이게이트

    > │서버의 내부 ip 서버의 외부 ip 채팅클라이언트ip

    > (( 192.168.0.200 ))--{{ 192.168.0.1 }} + {{ 211.62.13.12 }}-----((233.56.45.12))

    > │

    > │

    > (( 192.168.0.300 ))--┘

    >

    >

    > 위와 같은경우죠...

    >

    > 채팅 클리이언트에서 채팅서버로접속하려면... 어떻게 해야하죠?

    > 왠만한 책엔... 저런경우에 대해서는 없는거 같네요..

    > 혹시라도 잘 모르시면... 저런내용을 해결할수 있는방법을 찾을수 있는곳이라도 알려주시면...

    > 감사 하겠습니다. :)

    >

    > 아이구... 이거 내용이 뒤죽박죽이 되었네요...

    > 그래도 이해는 가실거라 생각됩니다.

    > 그럼 고수님들의 답변기댕기겠습니다. :)

    >

    > 음... 리플달아 주시면.. 쐬주가 꽁짜^^ -- 농담아니에요 -- ]

  • Profile
    neps 2001.09.23 00:27
    임광운 wrote:

    > 안녕하세요...

    > 도움이 필요해서 이렇게 몇자 적습니다.

    > 도와 주세요 :)

    >

    > 그냥 책에 있는 채팅 프로그램을 코딩하고 테스트 하다가 갑자기 궁굼한 것이 생겼는데요.

    > 그것이 무엇이냐...?

    > 만약에(책에 있는 데로라면) 채팅시 먼저 서버용 채팅 프로그램을 실행시키고...<대기상태죠>

    > 다음에 클라이언트용 채팅 프로그램을 실행키고 서버의 아피로 접속하여 채팅을 한다고 치면요.

    >

    > 만약 서버가 사이게이트 같은 프로그램을 통해서 인터넷을 사용하는 유저라면...

    > 외부로 나오는 아이피는 사이게이트가 인스톨된(라우터 역할? 맞죠?) 컴퓨터의 아이피를 가지고

    > 나오는것으로 아는데요...

    > 그럴경우 클라이언트채팅 프로그램이 서버 채팅프로그램으로 접속하기 위해서

    > 접속을 하려고 하면 어떻게 해야 할까요?

    >

    > 그러니까... 다음과 같은 경우에요

    >

    >

    > 채팅서버의 내부ip

    > (( 192.168.0.100 ))--┐

    > │사이게이트 사이게이트

    > │서버의 내부 ip 서버의 외부 ip 채팅클라이언트ip

    > (( 192.168.0.200 ))--{{ 192.168.0.1 }} + {{ 211.62.13.12 }}-----((233.56.45.12))

    > │

    > │

    > (( 192.168.0.300 ))--┘

    >

    >

    > 위와 같은경우죠...

    >

    > 채팅 클리이언트에서 채팅서버로접속하려면... 어떻게 해야하죠?

    > 왠만한 책엔... 저런경우에 대해서는 없는거 같네요..

    > 혹시라도 잘 모르시면... 저런내용을 해결할수 있는방법을 찾을수 있는곳이라도 알려주시면...

    > 감사 하겠습니다. :)

    >

    > 아이구... 이거 내용이 뒤죽박죽이 되었네요...

    > 그래도 이해는 가실거라 생각됩니다.

    > 그럼 고수님들의 답변기댕기겠습니다. :)

    >

    > 음... 리플달아 주시면.. 쐬주가 꽁짜^^ -- 농담아니에요 -- ]



    우선 위 상황만으로는 불가능합니다. 하지만 채팅 클라이언트와 서버 위치가 바뀌고

    TCP 로 통신하신다면 가능한 일입니다. 만약 UDP 로 통신하신다면 불가능한 일이구요

    위 사이게이트의 경우 뿐만 아니라, 대부분의 작은 회사에서 쓰는 방식이

    내부에서는 가상 IP 192.168.~... 대를 쓰구요, 사이게이트 또는 그 밖에 인터넷에

    접속하기 위해서, 공유할 수 있는 장비나 소프트웨어를 쓰고 있죠

    하지만, 회사에서 인터넷으로 채팅이 됩니다. 이것은 클라이언트에서 외부의 채팅 서버를 찾을 수 있기 때문입니다. 또한 TCP 특성상 한번 Connection 이 되면, 경로가

    유지되기 때문에 그 경로로 외부에서 Reply 문자열이 들어올 수 있습니다.

    하지만 내부에 채팅 서버가 있고, 외부에서 들어오려구 하면, 당연히 접속이 안됩니다.

    내부 IP가 만약 192.168.0.50 이라구 했을때 그 ip 를 인터넷 상에서 찾을 수

    없기 때문입니다. 하지만, 아예 방법이 없는군 아니구요, 내부 라우터의 세팅이나

    해당 장비의 세팅을 변경하면 가능하다고 합니다. 세팅 방법은 제가 아직 잘 모르겠

    구요. 참고로 채팅 프로토콜을 UDP로 하신다면, 양방향 Ping 이 되야 합니다.

    UDP 는 아시겠지만 Connection 이 없구 해당 IP,PORT 로 메세지를 그냥 날리는

    것이기 때문에 C/S 간의 통신이 확인되야 합니다.



    참고가 되셨는지요... 너무 일관성없게 늘어진것 같군요..

    자세한것은 메일로 주세요.. ^^