인터넷 네트워크

Chori·2021년 9월 1일
0

IP(Internet Protocol)

  • 지정한 IP 주소(IP Address)에 데이터 전달
  • 패킷(Packet)이라는 통신 단위로 데이터 전달

보내는 서버 IP, 받는 서버 IP
그 중간에 여러 노드를 통해 데이터를 주고 받는 것이 인터넷.

IP 프로토콜의 한계

  • 비연결성
    패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송
  • 비신뢰성
    중간에 패킷이 사라지거나, 패킷이 순서대로 전달되지 않을 수 있다.
  • 프로그램 구분
    같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이면 구분이 안된다.

TCP / UDP

TCP

  1. 프로그램이 Hello, world 메시지 생성
  2. SOCKET 라이브러리를 통해 전달
  3. TCP 정보 생성, 메시지 데이터 포함
  4. IP패킷 생성, TCP 데이터 포함

IP 패킷(출발지 IP, 목적지 IP 등)
TCP 세그먼트(출발지 PORT, 목적지 PORT, 전송제어, 순서, 검증정보 등)

IP만으로는 정상적인 연결이 어렵지만 TCP를 사용함으로 데이터 전송이 원활하다.

특징

  • TCP 3 Way Handshake
  • 데이터 전달 보증
  • 순서 보장

UDP

하얀 백지와 같다.(기능이 없지만 원하는대로 기능을 추가하여 사용할 수 있다.)
IP에 PORT와 체크섬 정도 추가된 프로토콜.
데이터 전달 및 순서가 보장되지 않지만, 단순하고 빠르다.

PORT

한번에 둘 이상 연결해야 하면?
같은 IP내에서 프로세스 구분
보내는 출발지 port와 받는 도착지 port의 정보를 갖고 있기 때문에, 내부 IP구분 및 통신 시 문제가 없다.

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

  • FTP - 20, 21
  • TELNET - 23
  • HTTP - 80
  • HTTPS - 443

DNS(Domain Name System)

IP는 기억하기 어렵고, 변경될 수 있다.
DNS서버에 등록한 IP에 도메인 명을 부여하여 도메인에 등록된 IP로 서버접근이 가능하다.

해당 글은 인프런 김영한 님의 강의 [모든 개발자를 위한 HTTP 웹 기본 지식]을 보고 정리한 내용입니다.

profile
꾸준한 성장

0개의 댓글