본문 바로가기
네트워크

주소창에 주소를 쳤을 때 일어나는 일

by Marades 2021. 7. 31.
반응형

주소창에 www.google.com,  www.naver.com 등을 입력하면 어떤 일이 생길까?

 

이 질문에 대해 처음 들었던 대학교 시절, 나는 별다른 대답을 할 수 없었다. 당연함. 아는 게 없으니까

시간이 지난 지금, 그 시절보다는 아는 게 많아졌지만 여전히 이 질문에 대해 스스로 만족할만한 대답을 할 수 없단 걸 깨닫고 정리하는 시간을 가져보려고 한다.

 

  1. URL 검사
    1. URL 파싱
    2. HSTS(Http Strict Transport Security) 리스트 확인 -> 리스트에 해당 URL이 있다면 HTTPS로 통신한다
  2. 나의 IP 찾기
    1. 같은 서브넷에 DHCP 서버를 찾는 DHCP Discover 메세지 Broadcast
    2. DHCP가 응답 → Client의 IP, 가까운 Router IP, 가까운 DNS 서버 IP
    3. IP 충돌 여부 확인
      • Client : 할당받은 IP에 ARP Request 전송 ⇒ 응답 없으면 할당
      • Server : 할당하려는 IP에 ICMP Echo Request ⇒ 응답 없으면 할당
  3. URL(www.google.com, www.naver.com 등등) 에 해당하는 IP 찾기
    1. 브라우저 캐시 참조
    2. 로컬 캐시 참조(hosts파일)
    3. 위의 두 경우 모두 없으면 OS에게 DNS서버에 요청 지시 -> 
  4. 서버와 연결
    1. socket 시스템 라이브러리 호출 → 네트워크 계층을 타고 내려가며 헤더들이 덧씌워짐
    2. 3-way handshake
      • HTTPS면 TLS(Transport Layer Security) handshake 과정으로 세션키 획득
  5. 서버와 통신
    • HTTP Request
    • 세션이 유지되는 동안 서버에게 요청&응답
  6. 브라우저 렌더링
  7. 연결종료
    • 서버와 세션이 종료되면 4-way handshake로 연결 종료

 

위의 과정들을 요약한 그림

 

이마저도 네트워크 쪽에 치중된, 그리고 많이 생략된 프로세스이다.

하지만 사람은 이런 일들이 일어난다고 상상도 못할 정도로 빠른 속도로 모든 과정이 처리된다.

여전히 공부할 게 많다는 생각이 들지만, 당연하게 여기던 일들의 뒤에서 어떤 일이 일어나는지 아는 건 재밌는 거 같다~

 

 

Reference

Kamran Ahmed 님의 트위터: "What happens when you type in a URL in an Address bar in a browser h/t @manekinekko https://t.co/YnfbcGbIQs" / 트위터 (twitter.com)

코딩의 시작, TCP School

SantonyChoi/what-happens-when-KR: Korean translation of What-happens-when (https://github.com/alex/what-happens-when)

반응형

'네트워크' 카테고리의 다른 글

OSI 7계층과 TCP/IP 4계층  (0) 2021.07.31