[네트워크] TCP/IP 그리고 UDP

·2022년 9월 30일
0

IP

IPv4

  • xxx.xxx.xxx.xxx의 형식을 갖추고 있다.
  • 10진수로 표기되어 있지만, 마침표로 구분된 4개의 8비트 필드(8자리 2진수 4개)로 구성되어 있다.
  • 8비트 필드는 1바이트를 나타내며, 이 주소 체계는 점으로 구분된 10진수 형식이라고도 한다.
  • 네트워크 파트 : 어떤 네트워크인지 알 수 있는 정보가 담겼다.
  • 호스트 파트 : 네크워크 안의 특정 컴퓨터를 지칭하는 정보다.
  • 8자리의 2진수 묶음을 옥텟이라고 부른다. 처음부터 1옥텟, 2옥텟, 3옥텟, 4옥텟이라고 한다.

서브넷 마스크

  • 어떠한 로직에 따라 IP주소를 나눈 작은 네트워크 조각

  • IPv4 주소에서 네트워크 파트가 어디까지인지 나타내는 것.

    💡IP주소는 호스트부를 변경해 가며 IP를 할당한다.

    IP프로토콜의 한계

  • 비연결성 : 특정한 이유로 서비스 불능 상태에 빠져도 데이터를 받을 상대의 상태 파악이 불가능하여 패켓을 그대로 전송하는 비연결성 문제

  • 비신뢰성 : 중간에 패킷이 사라지더라도 보내는 기기 측에는 이러한 상태를 알 수 없다. 서로 다른 노드를 거쳐서 전송되는 특성으로 인해 보내는 기기측에서 의도한 순서대로 데이터가 도착하지 않는다.

TCP와 UDP

TCP/IP 4계층 모델

  • 4층 응용 계층 : 애플리케이션에 맞추어 통신한다.
  • 3층 전송 계층 : IP와 어플리케이션을 중개해 데이터를 확실하게 전달한다.
  • 2층 인터넷 계층 : 네트워크 주소를 기반으로 데이터를 전송한다.
  • 1층 네트워크 접근 계층 : 컴퓨터를 물리적으로 네트워크에 연결해서 기기 간에 전송이 가능하게 한다.

💡 TCP와 UDP는 인터넷 계층의 상위에서 동작한다.
전송계층에 속하는 TCP와 UDP는 2계층에서 동작하는 IP 와 4계층에서 동작하는 애플리케이션(http 등)을 중개하는 역할을 합니다.

TCP와 UDP의 차이

TCPUDP
서비스 타입연결 지향적 프로토콜데이터그램 지향적 프로토콜
신뢰성데이터 전송 표적기기까지의 전송을 보장표적 기기까지의 전송이 보장되지 않는다.
순서 보장전송하는 패킷들이 순서가 보장된다.패킷순서 보장이 안된다. 패킷 순서를 보장하고 싶다면 애플리케이션 레이어에서 관리되어야 한다.
속도UDP와 비교해 느리다.TCP와 비교해 빠르고, 단순하며 더 효율적인 속도를 가지고 있다.

💡 TCP는 통신 신뢰성을 높일 수 있는 기능이 있고 UDP는 신뢰성을 높이는 기능이 없는 대신 높은 속도와 효율성을 제공한다.
❓ 웹 애플리케이션에서 많이 사용되는 HTTP는 어떤 프로토콜을 쓸까?
모든 데이터를 제대로 송수신이 가능해야 하기 때문에 TCP를 사용한다.

PORT

포트번호는 대상 IP기기의 특정 애플리케이션을 특정하는 번호

  • TCP와 UDP도 포트번호를 사용한다.
  • IP프로토콜 만으로는 한IP에서 여러 애플리케이션이 동작할 때 특정 애플리케이션을 특정해 통신할 수 없다. 이러한 점을 보완하기 위해 포트번호를 사용한다.
  • 특정 서버에 요청을 보낼 때, 포트번호를 사용해 요청을 받는 서버를 특정한다.

💡특정 주요한 서버들은 정해진 포트번호가 있다.
EX. HTTP : 80, HTTPS : 443, DNS : 53 등

profile
🧑‍💻백엔드 개발자, 조금씩 꾸준하게

0개의 댓글