스카이프

ksh98·2024년 4월 22일

네트워크

목록 보기
14/25

스카이프에 관한 토막글입니다.

스카이프

  • 고유의 응용계층 프로토콜을 사용한다.
  • 스카이프는 클라이언트끼리 직접 연결된다.
    • P2P적인 요소가 있는 것이다.
    • 당연히 논리적으로 연결되는 것이다.

슈퍼 노드

클라이언트끼리 연결을 할 때 제일 문제점은 클라이언트가 사설 ip주소를 사용한다는 것이다. 한 쪽만 사설이라도 양방향 직접 통신이 불가능하다.

스카이프에서는 슈퍼 노드끼리 오버레이 네트워크를 만들고 이를 통해 클라이언트끼리 논리적으로 연결한다.

슈퍼 노드와 클라이언트의 연결은 서비스를 종료할 때까지 계속 유지된다.

작동 과정

  1. 먼저 자신의 슈퍼 노드와 tcp 연결을 한다. 이때 슈퍼 노드는 클라이언트의 ip 주소를 캐싱한다.
  2. 클라이언트가 로그인 서버를 통해 로그인을 한다.
  3. 상대방의 ip 주소를 자신의 슈퍼 노드를 통해 알아낸다. 슈퍼 노드끼리는 오버레이 네트워크를 구성하여 서로 ip를 물어볼 수 있다. 클라이언트의 슈퍼 노드가 상대방의 슈퍼 노드에게 상대방의 ip를 물어보고 클라이언트에게 알려준다.
  4. 상대방의 공용 ip 주소를 알았으니 상대방과 직접 연결할 수 있다.

이런 방식으로 스카이프는 사설 ip 때문에 생기는 문제를 해결했다.

profile

0개의 댓글