1. 인터넷 네트워크

KOO HEESEUNG·2021년 9월 27일
post-thumbnail

이 포스팅은 인프런 김영한 강사님의 <모든 개발자를 위한 HTTP 웹 기본 지식>을 수강하고, 공부하여 글로 정리한 것입니다. 그대로 갖다 붙여넣는 내용이 아니라 기억나는대로 작성한 후 다시 추가적으로 정리하는 방식을 취하고 있기 때문에 틀린 부분이 있을 수 있습니다. 잘못된 점은 짚어주시면 감사하겠습니다.

1. IP (인터넷 프로토콜)

IP는 인터넷 프로토콜 혹은 IP 프로토콜이라 불리며, 복잡한 인터넷 환경에서 상대방과 연결하기 위해 필요하다. IP가 있어야 누구와 연결되는지를 알 수 있다.

한계

IP는 다음과 같은 한계를 갖는다.

  1. 비연결성 : 패킷을 받을 상대가 없거나, 서비스 불능 상태여도 패킷 전송
  2. 비신뢰성 : 패킷이 중간에 누락되어도 알 수 없고, 패킷의 순서가 보장되지 않음
  3. 프로그램 구분 어려움 : 같은 IP를 사용하는 애플리케이션이 여러 개인 경우 구분하지 못함.

이러한 한계점 때문에 등장한 것이 TCP 이다.


2. TCP/UDP

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

애플리케이션 계층 - HTTP, FTP
전송 계층 - TCP, UDP
인터넷 계층 - IP
네트워크 인터페이스 계층 - 랜 드라이버, 랜 장비

1) TCP

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

특징

  1. 연결 지향 : 3 way handshake
    1. 인터넷 네트워크
    • 클라이언트에서 서버로 데이터를 전송하기 전에 서로 연결 요청과 요청 수락을 한 후 데이터를 전송하기 때문에 데이터 전송 시에 상대방이 데이터를 받을 수 있는 상태인지 미리 확인할 수 있다.
  2. 데이터 전달 보증
    • 데이터를 보냈을 때 상대방이 데이터를 잘 받았다고 다시 회신해주어 전달 상태를 확인할 수 있다.
  3. 순서 보장
    • 패킷의 순서가 잘못되었을 경우, 패킷을 받은 상대가 순서에 맞게 다시 보낼 것을 요청한다.

위와 같은 특징 때문에 TCP는 신뢰할 수 있는 프로토콜로 불리며, 현재 대부분 이 TCP를 사용한다.

2) UDP

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

UDP는 기능이 거의 없어 IP와 비슷하다. 다만 IP와의 차이가 있다면, 패킷에 PORT와 체크섬이 추가된다는 것이다.

그렇다면 기능이 거의 없는 UDP를 왜 사용할까? TCP는 그 특징상 전송 속도가 비교적 느리고, 데이터의 양도 크다는 단점이 있다. 이 때문에 최적화가 어려운 반면, UDP는 기능이 거의 없는 하얀 도화지와 같은 상태이기 때문에 애플리케이션에서 작업하여 더 최적화해줄 수 있다.


3. PORT

상기한 대로 IP는 같은 IP를 사용하는 애플리케이션이 여러 개일 때 구분이 어렵다는 단점이 있었다. 이때 PORT는 같은 IP 내에서 프로세스를 구분해주는 역할을 한다.

IP : 목적지(서버)를 찾는 주소

PORT : 같은 IP 내에서 돌아가는 애플리케이션 구분

PORT

PORT는 0~65535까지 할당이 가능한데, 0~1023까지는 잘 알려진 포트이므로, 사용하지 않는 것이 좋다.


4. DNS

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

IP 주소는 외우기 어렵다는 단점이 있다. 때문에 DNS 서버에 도메인명을 등록하고, 이를 IP 주소로 변경하여 보다 사용자 친화적으로 서버와 연결할 수 있다.

DNS

0개의 댓글