적어도 지금 카톡 서비스들은 서버를 통할겁니다. p2p를 쓰는 기술론 보이지 않습니다.
물론 사용자가 늘어나면 서버 부담은 늘어나는 게 정상입니다.
mVOIP쪽은 기술을 잘 모르는데 아마 비슷하지 않나 싶습니다만...뭐 그래도 카카오톡은 카카오톡나름대로 광고나 판매 등 수익을 올릴 방침을 찾아나가고 있고, 스카이프같은데가 멀쩡히 돌아가는 걸 보면 그다지 문제는 없지 않나 싶습니다.
우선 mVoIP는 우리가 일반적으로 알고 있는 인터넷전화의 모바일판입니다.
그리고 사용자가 전화를 걸게 되면 User-User로 연결 되는 방식입니다.
설명을 드리면 다음과 같습니다.
1. User1이 User2에게 카톡mVoIP를 요청한다
2. 카톡mVoIP서버는 User2가 통화 가능상태인지를 확인한후 통화 가능 상태이면 User2에게 연결을 시키고 그렇지 않을 경우 User1에게 통화불가 신호를 보내줍니다. 그리고 통화가 연결되면 카톡mVoIP서버가 하는 일은 여기 까지입니다. 여기까지 카톡서버가 관여합니다. 즉 User1-카톡서버-User2에 대한 네트워크가 연결 됩니다.
3. User1과 User2가 연결 되면 이때부터 통화가 끝날때까지 사용자끼리 연결되며 인터넷 트래픽도 User1-User2끼리 연결됩니다. 그리고 VoIP특성상 실시간성으로 트래픽이 계속 발생합니다.
4. 통화가 끝나면 User1과 User2는 카톡mVoIP서버에 각각 통화가 끝나고 현재 상태가 어떤지를 통보해줍니다.
이런 식으로 연결됩니다.
참고 바랍니다.
적어도 지금 카톡 서비스들은 서버를 통할겁니다.
적어도 지금 카톡 서비스들은 서버를 통할겁니다. p2p를 쓰는 기술론 보이지 않습니다.
물론 사용자가 늘어나면 서버 부담은 늘어나는 게 정상입니다.
mVOIP쪽은 기술을 잘 모르는데 아마 비슷하지 않나 싶습니다만...뭐 그래도 카카오톡은 카카오톡나름대로 광고나 판매 등 수익을 올릴 방침을 찾아나가고 있고, 스카이프같은데가 멀쩡히 돌아가는 걸 보면 그다지 문제는 없지 않나 싶습니다.
그렇군요
좋은 답변 감사합니다.
확실하진 않지만 P2P 방식일 수도
확실하진 않지만 P2P 방식일 수도 있습니다.
일단, 카톡 등의 서비스들은 메시지의 경우, apns 나 c2dm 까지의 network latency 를 줄이기 위해.. 가능한 환경( 카톡의 경우, 번개 마크가 떠 있는 상황 ) 에서 자체 작성한 푸시 서버에서 응답을 줍니다.
이 자체 작성한 푸시 서버가 p2p 로 되어있다면, p2p 로 동작이 가능합니다.
mVoip 와 페이스타임은 p2p 일겁니다.
그리고 p2p 라고 해도 사용자가 늘어나면 서버는 늘어날 수 밖에 없습니다.
서비스는 무료라고 해도 기타 방법( 카톡은 플러스친구의 광고료나 선물하기 기능 등의 수수료) 으로 수익을 얻고 있습니다.
mVoIP의 작동환경에 대해
우선 mVoIP는 우리가 일반적으로 알고 있는 인터넷전화의 모바일판입니다.
그리고 사용자가 전화를 걸게 되면 User-User로 연결 되는 방식입니다.
설명을 드리면 다음과 같습니다.
1. User1이 User2에게 카톡mVoIP를 요청한다
2. 카톡mVoIP서버는 User2가 통화 가능상태인지를 확인한후 통화 가능 상태이면 User2에게 연결을 시키고 그렇지 않을 경우 User1에게 통화불가 신호를 보내줍니다. 그리고 통화가 연결되면 카톡mVoIP서버가 하는 일은 여기 까지입니다. 여기까지 카톡서버가 관여합니다. 즉 User1-카톡서버-User2에 대한 네트워크가 연결 됩니다.
3. User1과 User2가 연결 되면 이때부터 통화가 끝날때까지 사용자끼리 연결되며 인터넷 트래픽도 User1-User2끼리 연결됩니다. 그리고 VoIP특성상 실시간성으로 트래픽이 계속 발생합니다.
4. 통화가 끝나면 User1과 User2는 카톡mVoIP서버에 각각 통화가 끝나고 현재 상태가 어떤지를 통보해줍니다.
이런 식으로 연결됩니다.
참고 바랍니다.
좋은 답변 감사합니다.
근데 오늘 갑자기 생각났는데,
카카오톡은 p2p 방식이 아닌거 같다라는 생각이 듭니다.
p2p 로 연결하려면 ip:port 로 연결되어야 하는데, 카카오톡은 방화벽(공유기)을 통해 연결되어 있어도 연결이 잘 됩니다.
p2p 방식으로 연결되는 당나귀, 토렌트 프로그램들은 대부분 공유기에서 포트 설정을 해야 가능한것과는 달리 말입니다.
제가 잘못 알고 있는건가요?
음..
공유기에서 따로 포트포워딩이나 DMZ설정을 하지 않는 이상 p2p면 포트가 막히는게 맞겟죠..
근데 안막힌다면 아마 카톡으로 전달되는 음성 데이터가 (예를 들자면) http나 ftp같은 프로토콜로 통신하는게 아닐까요..?
막 던져 봅니다 ㅎㅎ
제대로 알고 계신 게 맞습니다. 그런데 모든
제대로 알고 계신 게 맞습니다. 그런데 모든 단말기가 항상 NAT 아래에 있는 것을 아니죠. 3G 로 서로 통신할 경우도 있고..
그렇기 때문에 보통의 im 프로토콜에서는 network 구성을 알아오는 방법을 지원합니다.
그래서 NAT 인지 아닌지 확인하고, 어떻게든 p2p 로 맺을 수 있는 환경에서는 p2p 로 메시지를 주고 받고, 그 외의 경우에서 서버에서 중계를 합니다.
NAT 환경에서 어떻게 p2p 를 동작하게 하는지에 대해서는 hole punching 이라는 키워드로 구글링해보세요.
좋은 정보 감사합니다.
p2p로 연결이 가능하다면 p2p로 연결해서 서버의 부담을 줄이고
그렇지 못할 경우에만 서버가 중계를 하는 똑똑한 방식이 사용되고 있는거군요.
홀펀칭이
홀펀칭이 그런거였군요.. 저도 좋은 정보 감사합니다!
댓글 달기