예를 들어보겠습니다:
PC 1 (1.1.1.1)
|
|----- **Router 1** (IP 3.3.3.3) ------------- **Router 2** --- Google Server(8.8.8.8 for eg)
|
PC 2 (2.2.2.2)
이 시나리오에서는 두 PC가 모두 Google에 인증되었으며 할당된 쿠키가 각각 Cookie1과 Cookie2라고 가정하겠습니다.
이제 두 PC 모두 "gmail.com"을 동시에 엽니다. 이제 Google 서버가 요청을 수신하면 두 패킷 모두의 패킷 소스 IP는 3.3.3.3입니다(제가 알고 있는 내용입니다).
따라서 라우터 1이 Google 서버로부터 응답 패킷을 수신하면 대상 IP는 동일합니다(예: 3.3.3.3). 그렇다면 라우터는 패킷이 PC1 또는 PC2로 전송될지 어떻게 알 수 있습니까?
PC1의 메일을 PC2로 보낼 수 있지만 그렇지 않습니다. 어떻게?
답변1
TCP 연결에는 소스 포트와 대상 포트가 모두 포함됩니다. 소스 포트는 대상 포트와 관련이 없으며 NAT 뒤에 있는 여러 장치를 추적하는 데 사용될 수 있습니다(NAT의 경우). 각각은 서로 다른 소스 포트를 가질 가능성이 높기 때문입니다(그렇지 않더라도 라우터는 추적을 위해 이를 다시 작성할 수 있습니다)