티스토리 뷰
당신이 인터넷으로 웹 페이지에 접속 할 때 어떤 네트워크 작용이 일어나는지 설명하는 것. "어느정도로 자세히 설명해야하는가?" 에 대한 명확한 기준은 없지만, 대학 시절 배운 지식만으로도 충분히 자세히 설명할 수 있다.
▶네이버의 IP주소를 직접 입력하여 접속한 모습, nslookup 명령어로 DNS서버에서 IP주소를 찾았다.
▶DNS서버의 역할을 한눈에 나타낸 그림. 브라우저는 DNS를 통해 도메인에 해당하는 IP주소를 알아낸다.
이러한 도메인 정보를 담고 있는 서버가 바로 DNS 서버이다. DNS 서버는 IP주소와 도메인의 매핑정보를 관리하면서, 도메인 혹은 IP 주소를 묻는 요청이 오면 이에 응답한다. 게다가 DNS에도 캐시가 있어서, 자주 요청을 받는 정보는 캐시로 관리를 한다.
당신이 브라우저로 웹사이트에 접속할 때 일어나는 일은 요약하면,
"브라우저에 도메인을 입력하면 → DNS서버에 IP주소를 요청 → 수신한 IP주소에 해당하는 웹서버에 접속"
실제 면접 상황에서 이렇게 대답을 하기에는 조금 아쉬운 면이 있다고 생각할 것이다.(수박 겉핥기..) 포스팅을 더 이어서, 더 자세한 과정을 아래에 설명한다.
1. 로컬PC의 hosts파일 확인
로컬PC의 C:\Windows\System32\drivers\etc 경로(윈도우 설치 경로에 따라 조금 차이가 있을 수 있음)에는 hosts라는 파일이 있다. 이 파일을 메모장으로 열어보면, IP주소와 도메인 주소를 설정할 수가 있다. 이 파일은 PC의 자체 DNS역할을 하며, 브라우저는 가장 먼저 이 파일을 확인하여 입력한 도메인의 매핑정보가 존재하는지 확인한다.
▶로컬 PC의 hosts 파일 내용
2. DHCP&ARP
대부분 가정집에서는 DHCP로 인터넷 접속을 하고 있을 것이다. DHCP는 Dynamic Host Configuration Protocol의 약자로, 호스트의 IP주소 및 TCP/IP 설정을 클라이언트에 자동으로 제공하는 프로토콜이다. 사용자의 PC는 DHCP서버에서 사용자 자신의 IP주소, 가장 가까운 라우터의 IP주소, 가장 가까운 DNS서버의 IP주소를 받는다. 이후, ARP 프로토콜을 이용하여 IP주소를 기반으로 가장 가까운 라우터의 MAC주소를 알아낸다.
▶DHCP Server의 동작 개념도. 클라이언트가 인터넷 접속을 시도하면, IP와 기본정보를 제공해준다.
3. IP 정보 수신
2의 과정을 통해 외부와 통신할 준비를 마쳤으므로, DNS Query를 DNS 서버에 송신한다. DNS 서버는 이에 대한 결과로, 웹 서버의 IP 주소를 사용자 PC에 돌려준다. DNS서버가 도메인에 대한 IP 주소를 송신하는 과정은 약간 복잡하다. (더보기 클릭)
4. 웹 서버 접속
이제 웹 서버의 IP주소까지 알았다. Http Request를 위해, TCP Socket을 개방하고, 연결한다. 이 과정에서 3-Hand-Shaking이 일어난다. TCP 연결에 성공하면, Http Request가 TCP Socket을 통해 보내진다. 이에 대한 응답으로, 웹 페이지의 정보가 사용자의 PC로 들어온다.
-끝-
출처및참고
https://merzcharmy.wordpress.com/
http://blog.daum.net/haionnet/560
http://studyforus.tistory.com/209
'IT > 기술면접' 카테고리의 다른 글
[IT 기술면접 준비자료] 대칭키, 공개키 방식과 SSL(TLS) (0) | 2017.02.19 |
---|---|
[IT 기술면접 준비자료] 라이브러리와 프레임워크의 개념 (0) | 2017.02.05 |
[IT 기술면접 준비자료] 상호배제(Mutual Exclusion)와 상호배제 알고리즘 (7) | 2017.01.08 |
[IT 기술면접 준비자료] JAVA의 Collection framework (0) | 2016.12.25 |
[IT 기술면접 준비자료] 가상메모리의 동작과 페이지폴트(Page Fault) (0) | 2016.12.11 |