[네트워크 통신]

 

내 PC(192.168.0.2:12345)가 www.example.com(93.184.216.34:80)에   접속한다고 가정해보겠습니다. 통신 방식은 다음과 같습니다. 

 

1. 내 PC에서 요청

: 사용자가 브라우저에 www.example.com을 입력하면 DNS를 통해 IP로 변환되며 TCP 소켓 연결이 생성됩니다. 요청은 [내 PC IP:12345 -> 서버IP:80]로 실시됩니다.

 

2. LAN 내부 통신

: 내 PC(사설IP : 192.168.0.2)가 공유기(192.168.0.1)에게 패킷을 전송합니다. 이때 이더넷 프레임 안에서는 내 PC의 MAC 주소와 공유기의 MAC 주소가 출발지, 목적지로 포함되어 있습니다.

 

3. NAT 변환

: 공유기(라우터)는 내부 사설 IP(192.168.0.2:12345)를 자신의 공인 IP(220.x.x.x:50001)로 변환시켜 인터넷으로 전송합니다. 이렇게 변환되어야 다른 네트워크 대역이 현재 존재하는 네트워크 대역을 알 수 있습니다.

 

4. 인터넷 통신

: 공인 IP(220.x.x.x)를 출발지로 하여 여러 라우터를 거쳐, 목적지 서버(93.184.216.34)까지 이동합니다. 경로 상에는 IP 주소 기반 라우팅만 일어나고, MAC 주소는 각 구가간마다 변경됩니다.

 

5. 서버 응답

: 서버는 요청을 받은 뒤, 응답 패킷을 목적지(220.x.x.x:50001)로 돌려보냅니다.

 

6. 공유기의 NAT 역변환

: 공유기는 응답을 받아서 다시 내부 클라이언트(192.168.0.2:12345)로 매핑합니다. 이 덕분에 여러 PC(192.168.0.3, 192.168.0.4, ...)가 동시에 인터넷을 사용해도 통신간 혼동이 발생하지 않습니다.

 

7. 내 PC에서 응답 수신

: 공유기가 응답을 내 PC MAC 주소로 전달합니다. 브라우저가 서버 응답(HTML, 이미지 등)을 받아 웹사이트를 표시해줍니다.

+ Recent posts