서버 프로그램은 클라이언트를 어떻게 구별합니까?


2

포트 80에서 수신 대기하는 웹 서버가 다른 호스트에서 오는 많은 패킷과 혼동되지 않는 이유는 무엇입니까? 다른 브라우저가 서버에 동시에 액세스 할 때 동일한 호스트에서 오는 패킷을 혼동하지 않는 이유는 무엇입니까?

답변:


4

패킷에는 소스 IP 주소와 소스 포트가 있으므로 각 연결을 고유하게 식별합니다.

한 PC의 두 브라우저가 URL을 가져 오려고 할 때 운영 체제 (OS)에 연결을 설정하도록 요청하면 OS는 각 연결에 대해 임의의 소스 포트 주소를 선택합니다.


... 소켓 ( en.wikipedia.org/wiki/Network_socket )이라고합니다.
user142485

소스 포트와 포트는 여기서 다른 것입니다. httpserver와 마찬가지로 포트 80에서 실행되지만 다른 소스 포트에서 계속 수신 할 수 있습니다.
Muhammad Umer

@Muhammad : 포트는 소스 포트 (패킷 전송) 또는 대상 포트 (수신) 역할을 할 수 있습니다. TCP 연결에는 소스 포트와 대상 포트가 있습니다. 서버는 대상 포트에서 요청을받습니다. 서버의 각 서비스는 하나 이상의 미리 지정된 대상 포트를 바인딩하고 수신합니다. 사용중인 각 대상 포트는 단일 특정 서비스에 할당됩니다. 서버가 설정된 TCP 연결을 통해 응답하면 포트 역할이 바뀝니다.
RedGrittyBrick

@RedGrittyBrick 나는 IP 패킷의 소스 포트가 NAT 라우터가 아닌 OS에 의해 할당 된 포트입니다 생각
onmyway133

@entropy : 패킷의 이동 위치와 라우터가 NAT를 사용하는지 여부에 따라 달라집니다 (요즘은 라우터에서 일반적이지만 충분한 IP 주소가 할당되어 있으면 필요하지 않습니다). 프록시 등의 효과를 고려할 수도 있지만 질문의 요점을 명확히하지 않는 세부 사항입니다.
RedGrittyBrick
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.