Knowledge

[Knowledge] IP란? TCP/UDP란?

Jeong Jeon
반응형

잠깐 공부했었는데 계속 확실하게 알지 못해서 다시 공부하려고 한다.

1). IP

IP(Internet Protocol)라는 이름은 네트워크를 연동하는 프로토콜이라는 뜻으로 해석하자.

  • OSI의 3 Layer(Network Layer)네트워크 계층과 Internet Protocol Suite의 3 Layer(Internet Layer)에 위치

IP 아래로는 네트워크를 만들 수 있는 다양한 하드웨어 기술 (Ethernet, WiFi 등...) 이 존재하고 있고, IP 위로는 다양한 응용 서비스(HTTP, FTP 등...)들이 동작할 수 있다.

 

간단한 예로 컴퓨터에 연결하는 랜선은 Ethernet, 모바일로 무선 네트워크를 이용하는 것은 WiFI, 개발 간 API를 호출할 때는 HTTP를 이영할 수 있는 것입니다. 이처럼 IP를 기반으로하면 어떠한 디바이스와 서버, 혹은 사용자가 사용해도 TCP/UDP와 관련된 네트워크 기능들을 사용할 수 있어진다.

  • IP 특징
    • 연결을 보장하기 위한 노력은 하지만 100% 보장해주지 않는다. 이를 Best-effort라고 표현하는데, IP 가 best-effort가 될 수 밖에 없는 이유는 서로 다른 특성의 여러 네트워크를 연동해야 되기 때문이다.

 

 

2). TCP / UDP : 전송을 제어하는 프로토콜규약

     => 인터넷상에서 데이터를 메세지의 형태로 보내기위해 IP와 함께 사용하는 프로토콜

  • OSI의 4 Layer(Transport Layer) 전송계층 에서 사용하는 프로토콜

 

2-1). TCP

TCP header에는 목적지 주소, 확인응답, 오류 검출 및 복원, 실제 데이터 등이 있다. 그 중 UDP와 구분되는 부분이 바로 확인응답(Acknowledge)이다.

즉, TCP는 신뢰성을 보장하기 위해 ACK을 기반으로 재전송과 타임아웃 방법을 이용하고 있다. => 송신측에서 수신측에 패킷을 전송할때, 수신측에서 데이터를 전송받았는지 아닌지를 확인한다!

이때 ACK가 일정 시간동안 오지않으면 송신측에서 다시 패킷을 보내게 된다.

  • TCP 특징
    • 연결형 서비스로 가상 회선 방식을 제공
    • 3-way hanshaking과정을 통해 연결을 설정하고 4-way handshaking(연결)을 통해 해제
    • 흐름제어 및 혼잡제어
    • 높은 신뢰성을 보장한다
    • UDP보다 속도가 느리다
    • 이메일, 파일전송 등 신뢰성을 요구하는 곳에 사용한다.

2-2). UDP

컴퓨터가 다른 컴퓨터와 데이터 통신을 하기 위한 프로토콜

  • UDP 특징
    • 비연결형 서비스로 데이터그램 방식 제공
    • 정보를 주고받을때 정보를 보내거나 받는다는 신호절차를 거치지 않는다
    • 신뢰성이 낮다
    • TCP보다 속도가 빠르다.
    • UDP헤더의 CheckSum 필드를 통해 최소한의 오류만 검출
    • 신뢰성을 요구하지 않는 라이브 스트리밍에 주로 사용한다.

 

TCP/UDP의 포트 목록

  • 0번 ~ 1023번: 잘 알려진 포트 (well-known port)
    • 잘 알려진 포트(well-known port)는 특정한 쓰임새를 위해서 IANA에서 할당한 TCP 및 UDP 포트 번호의 일부
  • 1024번 ~ 49151번: 등록된 포트 (registered port)
  • 49152번 ~ 65535번: 동적 포트 (dynamic port)

대부분의 유닉스 계열 운영 체제의 경우, 잘 알려진 포트를 열려면 루트 권한이 있어야 한다.

 

TCP/UDP 비교

프로토콜 종류

TCP

UDP

연결방식

연결형 서비스

비연결형 서비스

패킷 교환 방식

가상회선 방식

데이터그램 방식

전송 순서

전송 순서 보장

전송순서 바뀔수 있음

수신 여부확인

수신 여부 확인

수신여부 확인 x

통신방식

1:1 통신

1:1, 1:n or N:N통신

신뢰성

높다

낮다

속도

느리다

빠르다

 

반응형