본문 바로가기
Review/IT 채용

넥슨 신입 플랫폼 엔지니어 채용 : 인터넷 접속 과정

by M-life 2020. 3. 16.
반응형

 

문제 2) 인터넷 웹 브라우저의 url창에 다음과 같은 url을 입력하게 되면, 사용자는 어떠한 과정을 거쳐 원하는 결과를 볼 수 있게 되는 것일까요? 웹 서버는 일반적으로 TCP 전송방식을 사용하는데, 이 전송방식은 어떠한 경우에 비효율적일지 예를 들어 설명하세요. 

예시 url : https://search.naver.com/search.naver?query=nexon

  

 답안 2) IE나 Chrome 같은 웹 브라우저 상에서, 우리는 다양한 서비스들을 url을 통하여 서버에 요청하고(request) 제공받게(response) 됩니다. 그렇다면 요청한 url이 네트워크상에서 어떠한 과정을 거쳐 서버에 전달되고, 다시 사용자들은 원하는 정보를 볼 수 있게 되는지 기술해보도 록 하겠습니다. 

1. 사용자가 웹 브라우저로 원하는 서비스를 url을 통하여 요청합니다. (request) 

2. 입력한 url은 브라우저 내부의 http 프로토콜 모듈(일반적으로)에서 http 규격대로 요청을 해석합니다. 예를 들어 위의 url은 https를 사용하므로 443포트를 사용할 것이며, 서버의 도메인 명은 ‘search.naver.com’입니다. 그리고 서버 내의 search.naver의 경로에 ‘query=nexon’파라미터를 넘겨줄 것입니다. 



3. http 프로토콜은 네트워크 전송 방식 중 신뢰성 있는 TCP 방식을 사용하므로, 실제 요청 데이터 전송 전에 3way-handshaking의 과정을 거칩니다. 그리고 TCP헤더를 추가하여, 전송 도중 오류가 발생할 경우 재전송합니다. 

4. 대부분의 경우 IP는 공유기를 통해 사용하고 있는 사설 IP 일 것입니다. 외부 IP와 통신을 하기 위해서는 다시 공인 IP로 변환되어야 하므로 공유기를 거쳐 변환됩니다. 

5. 서버의 IP를 찾아가기 위해서, 서버의 IP를 알아야 하는데 이 역할을 처리하는 곳이 DNS 서버입니다. DNS 서버에서는 도메인 명인 ‘search.naver.com’에 해당하는 IP 주소를 서 버 내의 테이블에서 찾아 사용자에게 응답해 줍니다. DNS서버는 ISP업체에 따라 다른 곳 을 사용합니다. 6. 발신·수신 IP주소가 확보되었으므로, 전송할 준비가 되었습니다. 라우팅 테이블로 최적의 경로를 추출하여, 데이터를 전송합니다. 

7. IP주소는 네트워크 환경에 따라 지속적으로 변할 수 있기 때문에 가상의 주소입니다. 따라 서 목적 IP주소까지 도달하면, 해당 IP주소를 PC 고유의 MAC주소로 바꾸어야 합니다. 이 러한 역할을 ARP프로토콜이 담당하게 됩니다. 

8. 실제 주소와 포트번호(서비스 번호)를 알고 있으므로, 네이버 검색 서버의 ‘search.naver’ 서비스 경로로 요청이 성공적으로 도달하였습니다. 



9. 해당 서버에서는 사용자의 요청을 처리하며, 이 처리를 위해 또 다른 서버로부터 데이터를 받아와야한다면 위와 같은 과정을 또 거칩니다. 

10. 처리를 마친 서버는 클라이언트가 요청한 웹 페이지를 포함한 응답 정보를 생성하여 (response) 위와 같은 TCP 방식으로 클라이언트 측에 전송합니다. 11. 웹 브라우저는 응답 정보를 받아, 태그들을 파싱하여 사용자 화면에 출력하게 됩니다.

 

[http url 포맷 규약]

 

웹 서버는 위의 과정과 같이 데이터 전송 전에 클라이언트와 서버 간에 3way-handshaking 의 과정을 맺습니다. 또한, 전송 도중 데이터의 손실이 발생하면(수신 측에서는 오류제어) 재 전송을 요청합니다. 이렇게 신뢰성을 보장받는 TCP 전송으로 이루어집니다. 웹의 주 목적이 정보제공에 있기 때문에, TCP 전송 방식은 매우 다행스러운 일입니다. 그러나 만약, 사용자가 동영상이 포함된 페이지를 요청한다면 이는 문제가 될 수 있습니다. 동영상의 경우 서버로 프레임을 계속하여 요청해야 하는데, 매번 3way-handshaking의 절차 를 거치고 전송 도중 손실이 발생하여 재전송까지 해야 한다면 버퍼링은 자주 일어날 것입니 다. 따라서 사용자들이 자주 찾는 동영상의 경우, UDP 전송을 사용하는 별도의 스트리밍 서 버를 구축하여 관리할 필요가 있습니다. 

 

 

 

반응형

댓글