네트워크 기초 📡

Woogie·2022년 10월 18일
0

브라우저에 url을 입력하면 일어나는 순서만 간략히 적겠다.

Step1. URL 해석

scheme://(user):(password)@(host):(port)/(url-path)

Step2. DNS를 조회

DNS는 도메인과 IP주소를 서로 변환시켜준다.

Step3. 해당 IP가 존재하는 서버로 이동

DNS 조회 단계에서 변환된 IP가 존재하는 서버로 이동
라우터를 통해 이동한다.

Step4. ARP를 이용하여 MAC 주소로 변환

ARP(Address Resolution Protocol)란?
논리주소인 IP주소를 물리주소인 MAC주소로 변환하는 프로토콜

실제 통신을 위해 기기 고유의 물리주소인 MAC주소가 필요하다.

Step5. TCP 통신을 위해 Socket 열기

네트워크를 통해 해당 기기로 패킷을 전달한다.

Step6. 서버는 응답을 반환

요청에 따른 적절한 응답 값을 반환
ex) index.html

Step7. 브라우저 렌더링

응답 받은 html을 읽어 DOM Tree를 구축한다.
스크립트 파일이 있다면 여기서 실행된다.


선택과제 😀

1. http가 있음에도 불구하고 https가 왜 탄생했나요?

http는 텍스트 교환이다.
html페이지도 텍스트다.
바이너리 데이터로 되어있는 것도 아니고 단순 텍스트를 주고 받기 때문에 누군가 네트워크에서 신호를 가로채어 본다면 내용이 노출된다.
이런 보안상의 문제를 해결하기위해 HTTPS가 탄생했다.
참고 https://jeong-pro.tistory.com/m/89

2. https가 생기면서 기존 과정에 무엇이 추가되었나요?

HTTPS는 Hypertext Transfer Protocol Secure의 준말로, 네트워크를 통한 보안 통신에 사용되고 SSL(Secure Socket Layer)을 사용하여 암호화된다.
HTTPS 프로토콜을 사용하기 위해서는 인증기관으로부터 SSL 인증서를 발급받아야한다.
참고 https://nuritech.tistory.com/m/25

  • HTTP통신의 과정에서 요청과 응답을 받을 때 serverSSL 인증서가 들어있는 Certificate라는 내용의 패킷을 보낸다.
  • clientSSL 인증서를 검증한 후, CA 공개키대칭키(비밀키)를 생성한다.
  • 생성된 대칭키(비밀키)server에게 전달한다.
  • 서버와 클라이언트 모두 동일한 대칭키를 갖고 있으므로 통신할 준비가 완료된다.
profile
FrontEnd Developer

0개의 댓글