Skype는 전 세계적으로 7 천 5 백만 명이 넘는 사람들에게 무료 전화를 걸 수있는 소프트웨어 응용 프로그램입니다. 그 결과, Skype는 인터넷 역사상 가장 빠르게 성장하는 서비스가되었습니다. 최근이 회사는 eBay에 인수되었으며, Skype를 세계 최대의 통신 회사로 만드는 최종 목표를 달성하기위한 또 다른 단계로 나아갔습니다..
Skype는 설치 및 사용이 쉽습니다. 사용자는 위치에 상관없이 맑은 통화를 할 수 있고, 인스턴트 메시지를 보내고, 문자 및 음성 통신간에 원활하게 전환하고, 화상 통화, 전화 회의, 파일 전송, 유선 전화 및 휴대폰 통화를 단 몇 분 만에 할 수 있습니다. 전통적인 전화. Skype는 진정으로 우리가 의사 소통하는 방식으로 혁명을 일으키고 있습니다..
Skype 예 - Georgia Tech - 소프트웨어 개발 프로세스
그러나 실제로 어떻게 작동합니까? 이 기사에서는 Skype 네트워크와 그 기술에 대해 설명합니다..
Skype는 Kazaa 파일 공유 프로그램을 기반으로하는 피어 - 투 - 피어 Voice-Over-IP 클라이언트 유형입니다. 스카이프 개발자들은 MSN과 야후 메신저와 같은 유사한 애플리케이션보다 우수한 음질을 제공한다고 주장한다. 또한 엔드 - 투 - 엔드 통화를 암호화합니다..
Skype 네트워크에는 일반 호스트 (Skype 클라이언트)와 수퍼 노드 (SN)의 두 가지 유형이 있습니다. 일반 호스트는 응용 프로그램을 설치하고 다른 사용자와 통신하기 위해 네트워크에 연결하는 일반 사용자의 컴퓨터입니다. 슈퍼 노드는 네트워크의 일반 호스트의 종점입니다. 즉, 일반 호스트는 수퍼 노드에 연결됩니다. 공용 IP 및 적절한 하드웨어 구성을 가진 컴퓨터는 모두 SN이 될 수 있습니다. 일반 호스트는 수퍼 노드에 연결해야하며 성공적인 로그인을 위해 자체를 Skype 로그인 서버에 등록해야합니다. Skype 로그인 서버는 전체 네트워크의 유일한 중앙 장치입니다. 모든 Skype 사용자의 사용자 이름과 암호를 저장합니다. Nslookups는이 서버가 덴마크에 있음을 확인했습니다. 모든 수퍼 노드는 클라이언트의 사용자 이름 암호를 확인하기 위해 로그인 서버에 연결합니다. Skype 이름, 전자 메일 주소 및 암호화 된 암호 표현을 저장합니다..
일반 Skype 사용자의 경우 컴퓨터는 수퍼 노드에 연결되는 ';일반 호스트';로 간주됩니다. 슈퍼 노드는 세계의 다른 지역에 위치한 서버입니다. 그러나 Skype 클라이언트는 연결해야하는 SN을 알아야합니다. 따라서 모든 Skype 클라이언트 (SC)는 IP 및 슈퍼 노드의 해당 포트를 포함하는 로컬 테이블을 유지 관리합니다. 이를 호스트 캐시라고하며 지정된 SC의 Windows 레지스트리에 저장됩니다. 따라서 기본적으로 Skype를로드 할 때마다 호스트 캐시에서 날짜를 읽고 거기에서 첫 번째 IP 및 포트를 가져 와서이 SN에 연결을 시도합니다. 몇 가지 이유로 연결이 실패한 경우 (SN이 오프라인이고 더 이상 네트워크에 속하지 않음 등) 테이블에서 다음 행을 읽습니다. 나열된 IP 중 하나에 연결할 수없는 경우, Skype는 시작시 로그인 오류를 반환합니다. 따라서 응용 프로그램이 네트워크에 연결되어 제대로 작동하려면 호스트 캐시에 하나 이상의 유효한 항목이 있어야합니다. 유효한 항목은 온라인 수퍼 노드의 IP 주소 및 포트 번호를 의미합니다. Windows 레지스트리의 테이블 경로는 HKEY_CURRENT_USER / SOFTWARE / SKYPE / PHONE / LIB / CONNECTION / HOSTCACHE입니다. 시작 메뉴를 열어 컴퓨터에서 확인한 다음 실행을 클릭하고 대시없이 ';regedit';를 입력하십시오. 물론 정확한 경로는 응용 프로그램의 다음 버전에서 다를 수 있습니다..
개념적으로 슈퍼 노드는 3 세대 P2P 네트워크에 도입되었습니다. 검색 성능 향상, 파일 전송 대기 시간 감소, 네트워크 확장 성 및 중단 된 다운로드를 다시 시작하고 여러 피어에서 한 파일의 세그먼트를 동시에 다운로드 할 수 있습니다. 기본적으로 일반 호스트가 서로 연결하고 암호화 된 네트워크 트래픽을 효율적으로 안내하는 데 도움을줍니다..
슈퍼 노드는 또한 ';글로벌 인덱싱';을 담당합니다. 이 기술을 사용하면 네트워크의 다른 사용자를 검색 할 수 있습니다. 회사는 지난 72 시간 동안 사용자가 등록되어 있고 로그인 한 사용자를 찾을 것을 보증합니다..
Skype 네트워크에 대한 매우 흥미로운 순간은 ';자체 수정 가능';하다는 것입니다. 응용 프로그램을 설치 한 경우 컴퓨터의 성능에 눈에 띄지 않는 영향을 미치기 때문에 모르는 사이에 슈퍼 노드가 될 수 있습니다. SN은 기본적으로 음성, 텍스트 또는 파일 전송 데이터를 전송하지 않고 최대 수백 명의 Skype 사용자의 주소를 저장합니다. 그렇게하면 더 많은 Skype 사용자가 온라인 상태가 될수록 더 많은 수퍼 노드가 네트워크 용량을 확장 할 수있게됩니다.
Skype는 최적의 데이터 전송 경로를 선택하여 트래픽을 지능적으로 라우팅합니다. TCP 또는 UDP 프로토콜을 사용하기 때문에 전체 데이터 스트림을 별도의 패킷으로 분할합니다.이 패킷은 최종 대상과 다른 경로를 사용할 수 있습니다. 최종 배열은 수신단에서 수행됩니다..
안전 및 개인 정보 보호에 관한 한 Skype는 미국 정부 기관에서도 민감한 데이터를 보호하기 위해 사용하는 Rijndel이라는 고급 암호화 표준을 사용합니다. Skype는 256 비트 암호화를 사용합니다..
Skype의 프로그래머는 광대역 코덱을 구현하여 32kb / s의 대역폭에서 양호한 음질을 유지하고 5-8,000Hz의 주파수를 통해 저수지를 통과시킬 수 있습니다.
연락처 목록, 응용 프로그램은 Windows 레지스트리에 저장됩니다. 이를 버디 목록이라고하며 다시 한번 디지털 암호화됩니다. 따라서 목록은 모든 컴퓨터에 대해 로컬이거나, 즉 중앙 서버에서 다운로드되지 않았습니다..
Skype 클라이언트의 작업을 간략하게 설명합시다. 먼저 네트워크에 연결합니다. 그런 다음 들어오는 호출에 대한 특정 포트를 수신하고, 호스트 캐시 테이블을 새로 고치고, 광대역 코덱을 사용하고, 버디 목록을 유지 관리하고, 메시지를 암호화하고, 방화벽이 있는지 여부를 결정합니다..
로그인 프로세스 :
로그인 프로세스가 가장 중요하며 여러 단계로 구성됩니다. 언급 한 바와 같이 SC는 중앙 서버와의 사용자 이름과 암호를 인증하기 위해 유효한 SN에 연결해야합니다.
Skype는 호스트 캐시에서 주먹 IP를 가져 와서 UDP 패킷을 보내고 응답을 기다립니다. 5 초 후에 응답이 없으면 TCP 패킷을 동일한 IP로 전송합니다. HC IP 주소와 포트 80 (HTTP 포트)에 대한 TCP 연결을 설정하려고 시도합니다. 여전히 실패한 경우 IP 주소 및 포트 443 (HTTPS 포트)에 연결을 시도합니다. 이것이 작동하지 않으면, HC의 다음 주소를 읽습니다. Skype가 SN에 연결할 수없는 경우 로그인 실패를보고합니다.
응용 프로그램에는 부트 스트랩 수퍼 노드라고하는 여러 노드의 여러 빌드 주소가 있습니다.
연결 시도가 성공하면 클라이언트는 모든 사용자 이름과 암호를 보유하고 전체 네트워크에서 고유 한 Skype 로그인 서버로 사용자 이름과 암호를 인증해야합니다. 응용 프로그램이 SN에 연결되면 최신 활성 SN 목록을 수신하므로 가장 최신 정보를 갖습니다.
미디어 전송 프로세스 :
SKype을 통한 화상 / 음성 통신은 UDP를 통해 이루어집니다. 여기의 트릭은 꽤 자주 사용자 중 하나가 방화벽이나 라우터 뒤에 있기 때문에 실제 IP 주소를 가지고 있지 않습니다. 그러나 두 개의 Skype 클라이언트가 모두 실제 IP 상에있는 경우 미디어 트래픽은 UDP를 통해 직접 전달됩니다. 음성 패킷의 크기는 67 바이트이며 실제로는 UDP 페이로드의 크기입니다. 1 초의 대화로 대략 140 개의 음성 패킷이 양방향으로 교환되거나 3-16 킬로바이트 / 초.
피 호출자 중 하나 또는 둘 다 공용 IP를 가지고 있지 않으면 UDP 또는 TCP를 통해 다른 온라인 Skype 노드로 음성 트래픽을 전송합니다. Skype 개발자는 가능한 한 음성 전송을 위해 UDP를 사용하는 것을 선호했습니다..
흥미로운 사실은 양측이 말을하지 않더라도 음성 패킷이 여전히 그들 사이에 흐를 것입니다. 이러한 소위 ';자동 패키지';의 목적은 연결을 유지하는 것입니다..
결론:
Skype의 성공을 책임지는 몇 가지 요인이 있습니다. 우선, 음성 품질은 다른 응용 프로그램에 비해 좋습니다. 방화벽이있는 컴퓨터에서는 문제없이 작동합니다. 설치 및 사용이 매우 쉽습니다. Skype의 보안 또한 큰 이점입니다. 네트워크를 통해 전송되는 모든 내용은 개인 정보를 보호하기 위해 암호화됩니다. 그 결과 해커가 전송중인 데이터를 가로채는 경우에도 해커가 해독 할 수 없게됩니다..
Skype 응용 프로그램에는 애드웨어 또는 스파이웨어가 포함되어 있지 않습니다. 그러나 타사가 Skype뿐 아니라 그러한 기능을 추가 할 수있는 경우가 있으므로 적절한 장소에서 다운로드하는 것이 매우 중요합니다. 따라서 공식 웹 사이트 또는 존경받는 사이트 (http://www.freesecuredownloads.com/skype/index.html)에서 확인하십시오..