반응형

인터넷 통신

 - 크게 클라이언트서버로 구성되어 있는데, 그 사이에 수많은 노드 서버들이 존재하여 노드들을 거쳐서 통신하게 된다.

IP

인터넷 프로톸콜 역할

 - 지정한 IP 주소(IP Address)에 데이터 전달

 - 패킷이라는 통신 단위로 데이터 전달

 

* IP 패킷 정보 데이터(출발지 IP, 목적지IP, 기타...)

IP 프로토콜의 한계

비연결성

 - 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송된다.

비신뢰성

 - 중간에 패킷이 사라질수 있다.

 - 패킷이 순서대로 도착 안 할 수 있다.

프로그램 구분

 - 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이면 어떻게 구분할 것인가?

 

 

* IP 프로토콜의 한계를 극복하고자 TCP UDP 프로토콜 등장

 

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

  1. 애플리케이션 계층 - HTTP, FTP
  2. 전송 계층 - TCP, UDP
  3. 인터넷 계층 - IP
  4. 네트워크 인터페이스 계층

TCP 프로토콜

* TCP 세그먼트 정보(출발지 PROT, 목적지 PORT, 전송 제어, 순서, 검증 정보 ...)

 

TCP 특징

전송 제어 프로토콜(Transmission Control Protocol)

  • 연결 지향 - TCP 3 way handshake (가상 연결)
  • 데이터 전달 보증
  • 순서 보장

 - 신뢰할 수 있는 프로토콜

 - 현재는 대부분 TCP 사용

 

 

TCP 3 way handshake

 - IP 프로토콜 비연결성 해결

데이터 전달 보증

 - IP 프로토콜 비신뢰성 해결

순서 보장

 - IP 프로토콜 순서 비신뢰성 해결

 

UDP 특징

  • 기능이 거의 없음
  • 데이터 전달 및 순서가 보장되지 않지만, 단순하고 빠름
  • IP 프로토콜과 거의 같다 + PORT + 체크섬 정도 추가
  • 애플리케이션 추가 작업 필요
  • 요새 TCP의 SYN, ACK 과정들을 줄이기 위해서 다시 관심받고 있다.

 

PORT

 - 같은 IP 내에서 프로세스 구분

 - IP 프로토콜 프로그램 구분 해결

 - 예) IP가 아파트 한동이라면 PORT는 호수

 

* IP는 기억하기 어렵고, 바뀔 가능성이 있다. 그래서 DNS 등장

DNS

도메인 네임 시스템(Domain Name System)

- 도메인 명을 IP 주소로 변환

 

 

 

 

참고

inflean 강의 (모든 개발자를 위한 HTTP 웹 기본 지식, 김영한)

728x90
반응형

'Network' 카테고리의 다른 글

URI, URL, URN  (0) 2021.09.06

+ Recent posts