인터넷 네트워크

정혜윤·2021년 6월 1일
0

HTTP

목록 보기
1/3

강의 : 모든 개발자를 위한 HTTP 웹 기본 지식
강사 : 김영환 - 우아한 경제들 개발 팀장 (전: 카카오, SK플래닛)

강의에 들어가기에 앞서


개발자는 평생 HTTP 기반위에서 개발을 해야한다.
언젠가 한번은 HTTP 정리를 해야한다.
이번 기회를 통해 HTTP 개념을 다지려고 한다.

IP (인터넷 프로토콜)


복잡한 인터넷 망에서 데이터를 전송시키기 위해 필요한 주소

인터넷에서 데이터 전송 원리

  1. IP 패킷 정보 생성 - 출발지 IP, 목적지 IP, 기타 ...
  2. 클라이언트 패킷 전달 - 인터넷 내에 있는 노드들의 규칙에 따라 패킷 전달
  3. 서버 패킷 전달 - 전달받은 패킷 확인 후 클라이언트에게 보낼 패킷 생성 후 전달

IP 프로토콜의 한계

  • 비연결성
    패킷을 받을 대상이 없거나, 서비스 불능 상태여도 패킷 전송
  • 비신뢰성
    패킷이 사라질 경우
    패킷 전달 순서 문제 발생할 경우
  • 프로그램 구분
    같은 IP를 사용하는 서버에서 통신하는 application 이 여러개일 경우

TCP, UDP


IP 프로토콜의 한계를 개선해준다.

인터넷 프로토콜 스택의 4계층

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

TCP 특징

전송 제어 프로토콜
연결지향 - TCP 3 way handshake
데이터 전달 보증
순서 보장
신뢰할 수 있는 프로토콜
현재는 대부분 TCP 사용

UDP 특징

사용자 데이터그램 프로토콜
IP와 거의 같다. but, port, 체크 정도만 추가

UDP는 TCP 보다 장점이 적어보인다. 그런데 왜 쓸까?

TCP는 고정되어있는 것으로 가공할수없음.
UDP는 하얀 도화지같이 기능이 없기에 가공 할 수 있다.
최근엔 애플리케이션 내에서 확장 할 수 있는 UDP가 뜨고 있다.

PORT


한번에 둘 이상 연결해야 한다면?

PORT 는 같은 IP 내에서 프로세스를 구분 할 수 있다.
ex) 게임 서버 연결 8090
화상통화 21000
웹 브라우저 10010
IP는 아파트, port는 몇호로 비유 할 수 있다.

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

DNS

IP는 기억하기 어렵고, 변경될 수 있다.
그렇기 때문에 DNS 도메인 네임 시스템을 사용한다.

profile
frontend developer

0개의 댓글