본문 바로가기
인턴

[17일차] IP / TCP / UDP / PORT / DNS

by 당도-50% 2024. 11. 5.

* 인터넷 네트워크는 복잡하다. *

 

** IP (인터넷 프로토콜) **

• 복잡한 인터넷 망에서 정보를 전달하기 위해 IP 주소를 부여한다.

 

* IP의 역할

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

 

* IP 프로토콜의 한계

  • 비연결성 : 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷을 전송한다.
  • 비신뢰성 : 도중에 패킷이 사라지거나 (패킷 소실), 패킷 전달 순서에 문제가 발생 할 수 있다.
  •                  (약 1500바이트 이상이되면 나눠서 보내는데 )
  • 프로그램 구분 : 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 여러개라면..?

 

-> IP 프로토콜만으로는 이런 문제를 해결할 수 없다, TCP는 해결 할 수 있다.

 

 

 



 

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

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

 



 

**  TCP **

 

 

 

* TCP 특징

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

 

  • 연결지향 - TCP 3 way handshake (가상 연결) : 연결 여부를 확인 후 전송
  • 데이터 전달 보증 : 패킷 누락시 알 수 있음
  • 순서보장
  • 신뢰할 수 있는 프로토콜
  • 현재는 대부분 애플리케이션에서 TCP를 사용

 

 

- TCP 3 way handshake (가상 연결) 

 -> 중간에 수많은 s노드가 있다 (물리적으로 연결된게 아니고 논리적으로 연결된것이다.)

 

- 데이터 전달 보증

 

- 순서 보장

기본적으로 잘못된 순서부터 재요청 하지만, 서버 내부에서 최적화도 가능하다.

 

 


 

 

 

** UDP **

• 사용자 데이터그램 프로토콜 (User Datagram Protocol)

 

* UDP 특징 (http3)

  • 하얀 도화지에 비유된다. (기능이 거의 없다.)
  • 연결지향 = TCP 3 way handshake 안된다
  • 데이터 전달 보증 안됨
  • 순서보장 안됨
  • 데이터 전달 및 순서가 보장되지 않지만, 단순하고 빠르다

 

즉, IP와 거의 같고, PORT와 체크섬 정도가 추가되어있다. 애플리케이션에서 추가 작업 필요하다.

 

 


 

** PORT **

PROT는 동일 IP 내에서 프로세스 구분해준다.

 

* PORT 사용

• 0 ~ 65535 할당 가능하다.

• 0 ~ 1023 포트 번호는 잘알려진 포트로, 사용을 지양하는 것이 좋다.

 예) FTP - 20, 21

      TELNET - 23

       HTTP - 80

       HTTPS - 443

 

 


 

** DNS **

도메인 네임 시스템 (Domain Name System) : 도메인 명 등록 후 IP 주소로 변환해준다.
IP는 기억하기 어렵고, 변경이 가능하다. 

 

 

* DNS 사용

DNS 서버에 도메인을 구입후 등록한다. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'인턴' 카테고리의 다른 글

[18일차] HTML - 기본  (2) 2024.11.06
[17일차] URI 와 웹 브라우저 요청의 흐름  (0) 2024.11.05
[16일차] 로그인 유지  (0) 2024.11.04
[13일차] Next.js api route.tsx에서 JSON값받기  (0) 2024.10.30
JSON 이란?  (1) 2024.10.25