HTTP 강의 정리 1 - 인터넷 네트워크

Updated:

김영한님의 인프런 강의 - 모든 개발자를 위한 HTTP 웹 기본 지식
위 강의를 정리한 내용입니다.

I. IP(인터넷 프로토콜)

기능

  • 클라이언트와 서버는 각각 IP를 부여
  • 지정한 IP주소에 패킷 통신 단위로 데이터를 전달
  • 패킷 내에 출발IP, 목적IP, 메세지 등을 담아 인터넷으로 전달
  • 인터넷 내의 노드들이 패킷을 다른노드로 전달하며 최종적으로 목적IP에 도달

한계

  • 비연결성
    패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송 -> 마치 일방적으로 편지를 보내듯

  • 비신뢰성
    패킷을 전송했을 때, 확실히 도착했다는 것을 보장할 수 없음
    순서대로 도달하지 않을 수 있음

  • 프로그램 구분
    같은 IP로 여러 애플리케이션을 사용할 때, 어떤 애플리케이션에 도착한 패킷인지 알 수 없음




II. TCP

기능

  • IP패킷 내부에 TCP정보를 넣어 전달
  • 출발지PORT, 목적지PORT, 전송 제어, 순서, 검증 정보, 전송 데이터 등으로 구성

특징

  • 연결지향
    일단 목적지와 연결이 이루어진 후에 데이터 전달

  • 데이터 전달 보증
    메세지가 정상적으로 전달됐는지 알 수 있음

  • 순서 보장
    보낸 정보가 순서대로 도착

TCP 3 way handshake (논리적인 가상 연결)

  1. SYN - 클라이언트가 서버에게 접속 요청

  2. ACK + SYN - 서버가 클라이언트에게 요청 수락 / 접속 요청

  3. ACK - 클라이언트가 서버에게 요청 수락 -> 서로 신뢰할 수 있다.

  4. 데이터 전송 (3번과정에서 이루어지기도 함)




III. UDP

특징

  • TCP와 같은 계층이지만, 기능이 거의 없음
  • 데이터 전달 및 순서가 보장되지 않으나, 단순하고 빠름
  • IP와 거의 같으나, PORT와 체크섬 정도만 추가
  • 애플리케이션에서 추가 작업이 필요




IV. PORT

기능

  • IP만 사용한다면 패킷이 전송됐을 때 어느 애플리케이션이 필요로하는지 알 수 없음
  • 같은 IP 내에서 프로세스를 구분하는 역할

구분

  • 0~65535 : 할당 가능
  • 0 ~ 1023 : 잘 알려진 포트, 사용하지 않는 것이 좋음

V. DNS (Domain Name System)

역할

  • IP주소는 기억하기 어렵고, 변경될 수 있다.
  • DNS서버에게 도메인명을 전송하면, 접속할 수 있는 IP주소를 응답해준다.

Tags:

Categories:

Updated:

Leave a comment