이것을 P2P 연결이라고 부를 수 있습니까?

이것을 P2P 연결이라고 부를 수 있습니까?

두 개의 클라이언트가 있으며 서버와 상호 작용합니다.

어떤 시점에서 서버는 연결을 만들기 위해 클라이언트에게 서로에 대한 정보를 보냅니다.

두 클라이언트는 서로 소켓 연결을 하여 서버를 통하지 않고 직접 데이터를 교환합니다.

P2P 연결인가요?

답변1

예, P2P 연결입니다. 자세한 내용은 다음을 참조하세요.http://en.wikipedia.org/wiki/BitTorrent_(프로토콜)

답변2

방금 설명한 것을 "홀 펀칭"이라고 합니다. 둘 다 가능해요TCP와 UDP프로토콜.이 기사이것이 어떻게 작동하는지 설명하는 데 정말 훌륭합니다.

이 작업이 완료되면 피어는 서로 통신할 수 있습니다. 이 방법을 사용하려면 연결을 초기화하기 위해 중앙 서버가 필요합니다. 그러나 이에 대해 최소한 약간의 연구를 수행한 것 같습니다.

답변3

"클라이언트", "서버" 및 "피어 투 피어"라는 용어는 모두 다소 모호하며 이들 간의 경계가 모호합니다.

서버인 특정 엔터티 X는 일반적으로 연결을 시작하지 않지만 클라이언트가 연결될 때까지 기다립니다. 반대로 클라이언트는 연결을 수신하지 않고 지정되거나 검색된 서버에 대한 연결을 시작합니다.

피어 투 피어는 X가 연결을 시작하거나 수신할 수 있는 곳입니다.

이제 여기의 X는 프로세스, 프로세스의 일부, 프로세스의 스레드 등이 될 수 있지만 모두 동일한 서비스여야 합니다. 때로는 프로세스나 프로그램이 한 서비스 유형의 클라이언트인 동시에 다른 서비스 유형의 서버이기도 합니다. 따라서 이것은 실제로 "P2P"가 아니라 클라이언트(한 유형)이자 서버(다른 유형)인 프로그램일 뿐입니다.

제공한 예에는 검색 프로세스와 데이터 전송 프로세스라는 두 가지 작업이 진행됩니다. 따라서 두 가지 다른 프로토콜 또는 프로토콜의 일부가 진행됩니다. "피어 투 피어"인 대부분의 모든 것은 이와 같은 일종의 하이브리드이며, 피어가 서버의 도움 없이 데이터를 거래할 수 있더라도 검색을 위해서는 여전히 서버와 같은 것이 필요합니다.

관련 정보