네트워크 기초

GoGoDev·2022년 10월 18일
0

프로그래머스

목록 보기
4/22

네트워크 과정

URL을 통해 서버 접속 -> 클라이언트 요청 -> 서버 응답 -> 연결 종료

1. URL 해석

2. DNS 조회

  • DNS: Domain Name System
  • 사람이 읽을 수 있는 도메인 이름(https://programmers.co.kr)을 IP 주소로 변환하는 시스템

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

  • 네트워크 장비 라우터를 통해 서버로 이동
  • 해당 IP가 할당된 서버가 존재하는 대역으로 이동

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

ARP(Address Resolution Protocol): 논리 주소인 IP 주소로 물리 주소인 MAC 주소를 알아오는 기능을 가진 프로토콜

  • IP 통신 내부에 MAC 주소 통신이 포함되어 있다.
  • MAC 주소는 컴퓨터에만 붙어있는게 아니라 라우터 스위치 등 통신 장비 모두에게 붙어있다
  • IP주소는 변동가능성이 있지만, MAC 주소는 절대 변하지 않는 그 기계의 고유주소번호이다.

5. TCP 통신을 통해 서버의 Socket을 연다

TCP(Transmission Control Protocol): 두 개의 호스트를 연결하고 데이터 스트림을 교환하게 해주는 중요한 네트워크 프로토콜이다 -MDN-

  • 실제 Socket을 열어서 허락받아야 데이터를 전달할 수 있다.
  • 요청이 수락되면 기기는 패킷을 받아 처리한다.

6. 데이터를 받은 서버는 요청에 따라 처리 후 응답을 반환

  • ex) URL을 입력받으면 HTML을 응답 반환

7. 브라우저 렌더링

  • 받은 HTML을 파싱 후 DOM트리 생성
  • 레이아웃 후 화면에 그려준다

번외

MAC주소와 IP 주소의 차이점

HTTPS의 탄생 이유

HTTP (Hypertext Transfer Protocol)는 인터넷 상에서 가장 많이 쓰이고 적용된 애플리케이션 프로토콜이다.

  • 프로토콜 : 신호를 보낼 때 순서, 데이터를 어떻게 표현할지 등을 정하는 규격
  • HTTP의 역사

HTTPS : HTTP + TLS or SSL ( Secure Sockets Layer)
SSL은 인터넷을 통해 전송 될 때 데이터를 안전하게하는 데 사용되는 보안 암호화 웹 프로토콜이다.
TLS (Transport Layer Security)는 SSL의 진화된 버전

HTTP의 단점으로

  • HTTP에서 사용되는 암호화 방법이 없다. 그래서 누가 데이터를 바꿀 수 있다.
  • 암호화가 안 돼 있으니 클라이언트와 서버 간 통신 시 해커가 중간에 데이터를 가로챌 수 있다.

그래서 HTTPS가 탄생했다

HTTPS의 특징

  • 인증서 : 데이터 제공자 신원 보장, 도메인 종속
  • CA (Certificate Authority) : 공인 인증서 발급 기관
  • 비대칭 키 암호화: A키로 암호화로 한다면 A키와 쌍을 이루는 B키로만 복호화 가능

HTTPS의 추가된 과정

handshake: 클라이언트와 서버가 서로 확인하고 서버가 클라이언트에게 키 전달

  • 비밀키를 만드는 암호화 과정이 추가되었다.
  • 보안 통신 과정을 통해 주고받은 비밀키를 통해서 네트워크 통신 과정을 수행하면 된다

🔗 출처

프로그래머스 데브코스
DNS
MAC과 IP
Three-way Handshake
HTTP와 HTTPS
SSL과 TLS

profile
🐣차근차근 무럭무럭🐣

0개의 댓글