내일배움캠프 Node.js 스탠다드 반 - 7

김선우·2024년 11월 9일
post-thumbnail

OSI 7계층 - 응용 계층

  • 컴퓨터 네트워크 프로그래밍에서 인터넷 프로토콜(IP) 컴퓨터 네트워크를 통하는 프로세스 간 통신 접속을 위해 설계되어 통신 프로토콜과 방식을 위해 보유된 추상 계층.
  • 일반적으로 서비스를 요청하는 측을 클라이언트, 서비스를 제공하는 측을 서버라 함.
    • 웹 브라우저, 메일 프로그램 = 클라이언트
    • 웹 서버 프로그램, 메일 서버 프로그램 = 서버
  • 5계층의 세션 계층과 6계층의 표현 계층을 포함

HTTP (HyperText Transfer Protocol):

  • 웹 서비스에서 클라이언트(웹 브라우저)와 웹 서버 간에 정보를 주고받기 위해 사용되는 네트워크 프로토콜.
  • 80번 포트를 사용해 HTTP통신을 함.
  • 클라이언트가 HTTP 요청(request)을 보내고 서버에서 HTTP 응답(response)을 반환.
    • ex) 요청 예시: GET/index.html HTTP/1.1 응답 예시: HTTP/1.1 200 OK
  • 1.0 버전에서 요청을 보낼때마다 연결했다 끊는 작업을 반복해 웹페이지가 느리게 보임.
    => 1.1버전에서 keepalive라는 기능이 추가.
    • keepalive : 연결을 한 번 수립하면 데이터 교환을 마칠 때까지 유지하고, 데이터 교환을 모두 끝내면 연결을 끊는 구조.
      • 요청을 순서대로 처리.

FTP(File Transfer Protocol, 파일 전송 프로토콜):

  • 서버와 클라이언트 간에 파일을 전송하기 위한 프로토콜. 일반적으로 통신 포트는 제어 용도로는 21번을 사용하고 데이터 전송 용도로는 20번 포트를 사용함.

SMTP(Simple Mail Transfer Protocol, 단순 메일 전송 프로토콜):

  • 인터넷에서 메일을 송신하는 데 사용하는 프로토콜. 통신 포트는 일반적으로 25번을 사용한다. SMTP를 지원하는 서버를 SMTP 서버라고 함.

POP3(Post Office Protocol version 3):

  • 인터넷에서 메일을 수신하는 데 사용하는 프로토콜. 통신 포트는 일반적으로 110번을 사용한다. POP3를 지원하는 서버를 POP3 서버라고 함.

DNS(Domain Name System, 도메인 이름 시스템):

  • 네트워크에서 호스트 이름을 IP 주소로 변환하는 데 사용하는 시스템(서비스). DNS 서비스가 동작하는 컴퓨터(서버)를 DNS 서버라고 함.
  • https://www.google.com와 같이 컴퓨터나 네트워크를 식별하기 위해 붙여진 이름을 도메인 이름, 앞에있는 www는 호스트 이름(서버 이름)이라 함.
  • 전 세계에 흩어져 있고 모두 계층적으로 연결됨.

DNS의 이름 해석(name resolution)

  • 숫자로만 되어 있는 IP 주소를 기억하기 어렵기 때문에 https://www.google.com과 같은 주소를 사용하여 접속하도록 돕는 것.

컴퓨터와 DNS 서버 간에 일어나는 IP 주소 교환

  1. 컴퓨터에서 "이 도메인 이름의 IP 주소는 무엇인가요?"라고 DNS 서버에 질문.
  2. DNS 서버는 해당 요청에 해당하는 도메인 이름의 IP 주소를 알려줌.
  3. 컴퓨터가 IP주소로 해당 웹 서버에 접속.
  • 요청한 첫번째 DNS 서버가 도메인의 IP주소를 모르는 경우
    1. 첫번째 DNS서버가 다른 DNS서버에 질의.
    2. 다른 DNS 서버로부터 받은 IP 주소를 다시 클라이언트에게 전달.

0개의 댓글