[HTTP] Internet Network

Jane·2021년 2월 1일
2
post-thumbnail

본 글은 김영한 님의 모든 개발자를 위한 HTTP 웹 기본 지식을 수강하고 공부한 내용을 정리하기 위해 작성되었습니다.

Background

TCP/IP Protocol Stack

  • 애플리케이션 계층: HTTP, FTP
  • 전송 계층: TCP, UDP
  • 인터넷 계층: IP
  • 네트워크 인터페이스 계층

PORT

  • 운영 체제 통신의 종단점, 네트워크 서비스나 특정 프로세스를 식별하는 논리 단위
  • 같은 IP 내에서 프로세스를 구분하는 역할을 한다.
  • 아파트가 IP라면, 포트는 동호수다.

    포트의 할당

    • 0~65535 범위 내에서 할당할 수 있다.
    • 0~1023은 잘 알려진 포트로 사용하지 않는 것이 좋다.
      • FTP - 20, 21
      • TELNET - 23
      • HTTP - 80
      • HTTPS - 443

IP (Internet Protocol)

  • 송신 호스트와 수신 호스트가 패킷 교환 네트워크(Packet Switching Network)에서 정보를 주고받는 데 사용하는 정보 위주의 규약(Protocol)
    • 지정한 IP 주소에 패킷(packet)이라는 통신 단위로 데이터를 전달한다.

      packet

      • package + bucket
      • 출발지와 목적지의 IP 주소, 메시지를 담고 있다.
  • OSI 네트워크 계층에서 호스트의 주소지정과 패킷 분할 및 조립 기능을 담당한다.

IP의 한계

  • 비연결성
    • 패킷을 받을 대상이 없거나 서비스가 불능 상태여도 클라이언트가 패킷을 전송할 수 있다.
    • 클라이언트는 대상 서버가 패킷을 받을 수 있는 상태인지 파악할 수 없다.
  • 비신뢰성
    • 전송 중간에 패킷이 사라지거나 패킷이 원하는 순서로 전달되지 않을 수 있다.
  • 프로그램 구분
    • 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상일 경우

TCP (Transmission Control Protocol)

  • 전송 제어 프로토콜
  • 출발지 PORT, 목적지 PORT, 전송 제어, 순서, 검증과 관련된 정보를 포함하고 있어 IP의 한계점을 보완한다.

TCP의 특징

  • 연결 지향적이다.

    TCP 3 way handshake (가상 연결)

    • 클라이언트에서 서버로 접속 요청(SYN)을 보낸다.
    • 서버에서 요청을 수락하고(ACK), 클라이언트에게 연결 요청을 보낸다(SYN).
    • 클라이언트에서 요청을 수락한다(ACK).
    • 연결이 모두 완료되면 클라이언트에서 서버로 데이터를 보낸다.
      ※ 여기서 연걸은 물리적 연결이 아니라 논리적 연결을 뜻한다.
      ※ 데이터 양이 크고 전송 속도가 느리다는 단점이 있다.
  • 데이터 전달을 보증해준다.
  • 순서를 보장한다.

UDP (User Datagram Protocol)

  • 사용자 데이터그램 프로토콜
  • 기능이 거의 없어 하얀 도화지에 비유한다.
  • IP와 거의 동일하지만 PORT, 체크섬이 추가되었으며 단순하고 빠르다.
  • 필요 시 애플리케이션에서 기능을 확장할 수 있다.

DNS (Domain Name System)

  • 호스트의 도메인 이름을 호스트의 네트워크 주소로 바꾸거나 그 반대의 변환을 수행하기 위해 개발되었으며, 특정 컴퓨터(또는 네트워크로 연결된 임의의 장치)의 주소를 찾기 위해, 사람이 이해하기 쉬운 도메인 이름을 숫자로 된 식별 번호(IP 주소)로 변환해 준다.

    클라이언트가 DNS 서버에 도메인 이름(google.com)을 전달하면, DNS 서버가 IP 주소를 응답으로 전달해주고, 클라이언트는 해당 IP 주소를 통해 서버에 접근할 수 있다.

  • 도메인 명을 IP주소로 변환해주는 전화번호부라고 생각하면 쉽다.

Source

3개의 댓글

comment-user-thumbnail
2021년 2월 1일

Jane 많은 양을 공부하셨네요 역시 대단하세요👍🏻👍🏻 저도 강의 들으려고 하는데 강의가 어렵지는 않나요?!👀

1개의 답글