[HTTP] 01. 인터넷 네트워크

somyeong·2022년 4월 4일
0

HTTP

목록 보기
1/8
post-thumbnail

이 글은 [모든 개발자를 위한 HTTP 웹 기본 지식]을 듣고 정리한 내용입니다

📌 IP (인터넷 프로토콜)

IP(인터넷 프로토콜)의 역할

  • 지정한 IP 주소(IP Address)에 데이터 전달
  • 패킷(Packet)이라는 통신 단위로 데이터 전달
  • IP패킷 정보에는 출발지 IP, 목적지 IP, 메세지가 있다.

IP 프로토콜의 한계

  • 비연결성
    • 패킷을 받을 대상이 없거나 서비스 불가 상태여도 패킷을 전송한다.
  • 비신뢰성
    • 전송하는 중간에 패킷이 사라질 수도 있다.
    • 패킷이 순서대로 전송되지 않을 수도 있다.
  • 프로그램 구분 모호
    • 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이면 구분할 수가 없다.
      ex) 한 PC에서 노래들으면서 게임하는 경우 각 애플리케이션 구분 불가

📌 TCP, UDP

  • 인터넷 프로토콜 스택의 4계층
  • 프로토콜 계층에서의 데이터 전송 흐름
  • 패킷(packet) = 패키지(package) + 버킷(bucket)

TCP 특징

  • IP 에다가 TCP를 올려서 보완해준다고 생각하면 된다.

  • TCP는 전송 제어 프로토콜이다. (Transmission Control Protocol)

  • 1.연결 지향적이다. - TCP 3 way handshake (가상 연결)
    - 연결을 하고 나서, 메세지를 보낸다

  • 2.데이터 전달을 보증해준다.
    - 패킷이 중간에 누락 되었으면 내가 알 수 있다.

  • 3.순서를 보장해준다.

  • 신뢰할 수 있는 프로토콜이다.

  • 현재 대부분의 애플리케이션에서 TCP를 사용한다.


🌱 TCP 3 way handshake

    1. 클라이언트에서 서버로 SYN(요청)을 보낸다.
    1. 서버에서 클라이언트한테 SYN+ACK (요청+수락) 을 보낸다.
    1. 클라이언트에서 서버에게 ACK(수락)을 보낸다.
    1. 연결이 되고 나면 데이터를 전송한다.
  • 이 과정을 거치기 때문에, 중간에 응답이 없으면 문제가 있음을 인지하고 연결이 안된다. -> 메세지를 안보낸다.
  • 요즘엔 최적화가 돼서 세번째 과정에서의 ACK을 보낼 때 데이터도 같이 전송한다.
  • 3 way handshake는 진짜로 연결된 것이 아니라 개념적으로만 연결된 것이다.

🌱 데이터 전달 보증

  • TCP가 붙게되면, 클라이언트에서 서버에게 데이터를 전송했을 때, 서버에서 잘 받았다는 응답을 보내준다.
  • 응답이 없으면, (클라이언트는) 문제가 있음을 인지 할 수 있다.

🌱 순서 보장

  • 패킷 순서가 잘못됐으면, 서버에서 잘못된 순서부터 다 버리고, 잘못된 패킷부터 다시 보낸다.
  • 그럼 클라이언트는 그 패킷부터 다시보내면 된다.
  • 이는 TCP 데이터 안에 전송제어, 순서, 검증 정보 등이 추가가 되었기 때문에 가능한것이다.

UDP 특징

  • 기능이 거의 없다.
  • TCP 3 way handshake X, 데이터 전달 보증 X, 순서 보장 X
  • 장점: 단순하고 빠르다.
  • IP와 거의 같고, PORT와 체크섬 정도가 추가 되어있음.

📌 PORT

  • 영어로 PORT는 '항구' 라는 뜻이다.
  • 한 PC에서 여러개의 애플리케이션을 사용중이라면, 이것들을 각각 구분해야 할 필요가 있다.

🌱 IP와 PORT

  • IP : 목적지 서버를 구분하는 것
  • PORT : 서버 안에서 돌아가는 애플리케이션들을 구분하는 것
    ex) 아파트를 IP라고 하면, PORT는 호수 이다.

패킷 정보

  • TCP와 IP를 합쳐서 TCP/IP 패킷이라 한다.
  • TCP/IP 패킷에는 출발지ip, 출발지 port, 목적지 ip, 목적지 port, 전송 데이터 등등이 담겨져 있다.

PORT 번호

  • 0~65535: 할당 가능
  • 0~1023: 잘 알려진 포트, 사용하지 않도록 하자.
  • FTP: 20,21
  • TELNET: 23
  • HTTP: 80
  • HTTPS: 443

📌 DNS

IP 문제점

  • IP는 기억하기 어렵다
  • IP는 변경될 수 있다. (변경되면 접근 못하는 일 발생)

DNS

  • 도메인 네임 시스템(Domian Name System)
    • 전화번호부
    • 도메인 명을 IP 주소로 변환


1. 도메인 이름을 구매해서 DNS 서버에 등록한다.
2. DNS서버를 통해 해당 도메인 명에 해당하는 IP주소를 찾을 수 있다.
3. IP주소가 변경되면, DNS서버에서 이를 관리, 갱신 해준다.

profile
공부한 내용 잊어버리지 않게 기록하는 공간!

0개의 댓글

관련 채용 정보