개발자/IOT-m2m

사물인터넷 09. 전송 계층 프로토콜 Transport Layer Protocols

지구빵집 2021. 12. 13. 10:23
반응형

 

 

 

 

전송은 OSI 레벨 4 계층이며 TCP-IP 모델에서 동일한 이름으로 인식됩니다. 물리 계층, 데이터 링크 계층 및 네트워크 계층과 마찬가지로 이 계층도 IOT 참조 아키텍처의 인프라 계층의 일부입니다. 이전 자습서에서는 물리적 및 데이터 링크 계층 프로토콜과 네트워크 계층 프로토콜에 대해 설명했습니다.

 

컴퓨터 및 모바일 장치 네트워킹에 일반적으로 사용되는 물리적 및 데이터 링크 계층 프로토콜에 대해 알아보려면 컴퓨터 및 모바일 장치를 위한 물리적 및 데이터 링크 계층 프로토콜 – 이더넷 BLE Wi-Fi Wi-Fi Direct WPA  포스팅을 확인하세요.

 

LPWAN용으로 개발된 물리적 및 데이터 링크 계층 프로토콜에 대해 알아보려면 아래 포스팅을 확인하십시오. LPWAN용 물리적 및 데이터 링크 계층 프로토콜 포스팅입니다.

 

PAN, HAN 및 LAN용으로 개발된 물리적 및 데이터 링크 계층 프로토콜에 대해 알아보려면 LAN, HAN 및 PAN을 위한 물리적 및 데이터 링크 계층 프로토콜 포스팅을 확인하세요.

 

IoT 애플리케이션의 RFID 및 모바일 표준에 대해 알아보려면 물리적 및 데이터 링크 계층 프로토콜 - RFID 및 모바일 표준 프로토콜을 확인하세요.

 

다양한 네트워크 계층 프로토콜에 대해 알아보려면 네트워크 계층 프로토콜 포스팅을 참고하세요.

 

이 자습서에서는 전송 계층 프로토콜에 대해 설명합니다. 라우팅 계층이라고도 하는 전송 계층은 네트워크를 통한 데이터 패킷 라우팅을 담당합니다. 이 계층에서 패킷 순서 지정, 오류 감지 및 데이터 패킷 전달의 수정이 수행됩니다. 일반적으로 사용되는 전송 계층 프로토콜에는 다음이 포함됩니다.

 

• TCP

• UDP

• DCCP

• SCTP

• RSVP

• DTLS

• TLS

• RPL

• CARP

• CORPL

• QUIC

• uIP

• ROLL

• Aeron

• CCN (Content Centric Networking)

• NanoIP

• TSMP (Time Synchronized Mesh Protocol)

 

 

전송 계층 프로토콜 비교표(출처: 위키백과)

 

기능 및 특성  UDP UDP 라이트 TCP SCTP DCCP RUDP
패킷 헤더 크기 8 바이트 8 바이트 20-60 바이트 12 바이트 12 또는 16 바이트  
전송 계층 패킷 형태 데이터그램 데이터그램 세그먼트 데이터그램 데이터그램 데이터그램
연결 지향 아니요 아니요
신뢰할 수 있는 전송 아니요 아니요 아니요
신뢰할 수 없는 전송 아니요
메시지 경계 보존 아니요
전달 순서 보장 아니요 아니요 아니요
순서 없이 전달 아니요
데이터 체크섬 선택 불확실
체크섬 크기 (비트) 16 16 16 32 16 불확실
부분 체크섬 아니요 아니요 아니요 아니요
경로 MTU 아니요 아니요 불확실
흐름 제어 아니요 아니요 아니요
혼잡 제어 아니요 아니요 불확실
ECN 지원 아니요 아니요  
다중 스트림 아니요 아니요 아니요 아니요 아니요
NAT 지원

 

TCP – TCP(Transmission Control Protocol)는 연결 지향적이고 무거운 프로토콜입니다. 이 프로토콜에서는 클라이언트가 TCP 프로토콜을 통해 서버로 패킷을 보낼 때 승인을 받기 때문에 안정적인 통신에 적합합니다. 패킷이 TCP 프로토콜을 통해 전송되는 경우 데이터는 다른 쪽 끝에서 전송되도록 보장되어야 합니다.

 

프로토콜은 연결 설정, 데이터 전송 및 연결 닫기의 3단계로 작동합니다. TCP 연결은 끝점(물리적)에 있는 인터넷 소켓에 의해 관리되며 다양한 상태 변경이 발생합니다.

 

이 프로토콜에서는 패킷 오버헤드가 매우 큽니다. TCP는 장치에서 더 많은 전력을 소비하고 오버헤드가 크기 때문에 제한된 환경의 저전력 장치에는 적합하지 않습니다. 따라서 UDP는 낮은 오버헤드를 위한 연결이 적은 프로토콜로 선호됩니다.

 

The Internet protocol suite https://www.khanacademy.org/computing/ap-computer-science-principles/the-internet/x2d2f703b37b450a3:the-internet-protocol-suite/a/the-internet-protocols

 

UDP – 사용자 데이터그램 프로토콜은 연결이 적은 프로토콜이며 보장된 데이터 전송에 대해 신뢰할 수 없습니다. 그러나 UDP 프로토콜은 데이터 전송 중 패킷 손실을 감당할 수 있는 경우 서버에 데이터를 보내는 가장 좋은 프로토콜입니다. UDP 프로토콜은 경량 프로토콜이며 무선 센서 네트워크 통신에 적합합니다. UDP는 실시간 성능을 위해 특별히 조정된 응용 프로그램에서 자주 사용됩니다.

 

DCCP – DCCP(Datagram Congestion Control Protocol)는 메시지 지향 전송 계층 프로토콜입니다. 이 프로토콜은 TCP 프로토콜보다 더 안전합니다. 각 패킷에 대해 단일 바이트 길이의 ID를 갖는 TCP에 비해 패킷 ID는 DCCP에서 48비트 길이(6바이트)입니다. 이것은 공격자가 데이터 패킷을 해킹하기 어렵게 만듭니다. 이 프로토콜은 일반적으로 미디어 스트리밍 및 VoIP와 같은 시간이 중요한 데이터 전송에 사용됩니다.

 

SCTP – SCTP(Stream Control Transmission Protocol) 프로토콜은 메시지 지향 전송 계층 프로토콜이며 정체 제어를 사용하여 네트워크를 통해 데이터를 안정적으로 전송합니다. 12바이트 헤더와 함께 전송되는 데이터는 4-way 핸드셰이크를 사용하여 보호됩니다. 다중 호밍으로 인해 데이터가 대상으로 안정적으로 전송됩니다.

 

RSVP – RSVP(Resource Reservation Protocol)는 주로 유니캐스트 및 멀티캐스트 데이터 전송에 사용되는 제어 프로토콜입니다. 실제로 데이터를 전송하지 않지만 데이터 스트림에 대한 서비스 품질(QoS)을 보장하는 데 사용됩니다.

 

DTLS – TLS(전송 계층 보안) 프로토콜을 기반으로 하는 DTLS(데이터그램 전송 계층 보안)는 스트림 지향 전송 계층 프로토콜입니다. 이것은 메시지 위조, 변조 및 도청에 대해 설계된 보안 프로토콜입니다. 그러나 큰 패킷 크기, 패킷 재정렬 및 ​​데이터그램 손실은 이 프로토콜 스택의 주요 단점 중 일부입니다.

 

TLS – TLS(전송 계층 보안)는 대칭 암호화를 사용하여 데이터를 보호하는 보안 프로토콜입니다. 이 프로토콜은 이제 보안 고려 사항으로 인해 사용이 금지되었습니다.

 

RPL – 저전력 및 손실 네트워크용 IPv6 라우팅 프로토콜은 6LoWPAN 네트워크용으로 개발된 전송 계층 프로토콜입니다. 이 프로토콜 스택은 제약 네트워크용으로 특별히 설계되었습니다. 프로토콜은 알려지지 않은 패킷 손실을 처리하고 네트워크의 에너지 소비를 최소화하도록 설계되었습니다. 프로토콜은 노드 그래프(Destination Oriented Directed Acyclic Graph, DODAG)를 사용하여 가장 최적의 경로를 통해 데이터를 라우팅하므로 데이터가 최소 대기 시간으로 전달됩니다. 또한 패킷이 라우팅될 때 대상 엔드포인트에 도달할 수 없거나 사용할 수 없는 상황을 처리하도록 설계되었습니다. 그럼에도 불구하고 엔드포인트가 깨어나면 데이터 패킷을 전달할 수 있습니다.

 

노드는 네트워크에 노드가 포함되었음을 확인하는 DAO 승인(DAO-ACK)으로 응답하는 루트 장치에 DODAG 정보 요청(DIS) 요청을 전송하여 네트워크에 참여할 수 있습니다. 다양한 노드를 통해 데이터를 라우팅하고 대상 노드 또는 끝점에 전달하는 방법을 결정하는 것은 루트입니다.

 

6LoWPAN뿐만 아니라 RPL(또는 Ripple)은 다양한 다른 저전력 데이터 링크 계층 프로토콜과 함께 사용할 수 있습니다. IPv6 표준을 기반으로 하므로 모든 IOT 애플리케이션에 매우 적합합니다.

 

CARP – CARP(Channel-Aware Routing Protocol)는 수중 네트워크용으로 개발된 전송 계층 프로토콜입니다. 이 프로토콜의 헤더 크기가 매우 작기 때문에 이 프로토콜은 IOT 구현에 매우 적합합니다. 프로토콜은 데이터 통신 기록을 추적하여 데이터 전송을 위한 노드를 선택합니다. 이 프로토콜의 초점은 데이터 패킷을 안정적이고 안전하게 전달할 수 있는 품질 링크를 구축하는 것입니다. 데이터 전송은 네트워크 초기화 및 데이터 전달의 두 단계로 이루어집니다. 네트워크 초기화 단계에서 싱크 노드(센서 데이터를 요청하는 노드)는 네트워크의 모든 노드에 HELLO 패킷을 보냅니다. 그런 다음 데이터 전달 단계에서 센서의 데이터는 각 홉이 데이터를 독립적으로 라우팅하는 한 홉에서 다른 홉으로 싱크 노드로 라우팅됩니다.

 

CORPL – 인지 RPL(CORPL)은 인지 네트워크용으로 개발된 RPL 프로토콜의 확장입니다. 또한 인지 네트워크에 맞게 수정이 거의 없는 DODAG(Destination Oriented Directed Acyclic Graph) 토폴로지를 기반으로 합니다. CORPL에는 기회주의적 포워딩이 있습니다. 데이터를 전달할 최상의 노드를 선택할 수 있는 여러 전달자(전달자 집합이라고 함)가 있습니다. 부모 노드뿐만 아니라 각 노드는 전달자 집합을 유지 관리합니다. 노드는 DAO(Destination Advertisement Object) 메시지를 전송하여 전달자 세트의 변경 사항을 전달합니다.

 

QUIC – QUIP(빠른 UDP 상호 연결)는 사용자 데이터그램 프로토콜을 기반으로 하는 프로토콜 스택으로, 이 프로토콜을 TLS 프로토콜로 보호하는 추가 기능을 제공합니다. 지연 시간과 데이터 손실이 최소화되도록 소스와 대상 간에 다중화된 연결 집합을 사용합니다.

 

uIP – 작은 8비트 및 16비트 마이크로컨트롤러와 함께 사용할 수 있는 오픈 소스 TCP-IP 프로토콜 스택입니다.

 

ROLL – ROLL(저전력 및 손실 네트워크를 통한 라우팅)은 저전력 및 손실 네트워크용으로 설계된 RPL을 기반으로 하는 IPv6 라우팅 프로토콜입니다.

 

Aeron – Aeron은 UDP 유니캐스트 및 UDP 멀티캐스트용으로 설계된 프로토콜 스택입니다. 일반적으로 스트리밍 데이터에 사용되는 높은 처리량과 낮은 대기 시간의 통신 프로토콜입니다.

 

CCN – 콘텐츠 중심 네트워킹(CCN) 또는 정보 중심 네트워킹(ICN)은 콘텐츠 배포를 위해 설계된 네트워크 아키텍처 및 프로토콜 스택입니다. 이 프로토콜 스택에서 데이터는 네트워크에서 사용할 수 있는 메모리에 저장되는 명명된 패킷으로 전달됩니다. 콘텐츠 또는 정보의 자동 및 응용 프로그램 중립적 캐싱을 통해 프로토콜은 데이터를 전달하기 위해 응용 프로그램 계층 프로토콜 또는 서비스의 필요성을 제거합니다.

 

NanoIP – TCP-IP를 기반으로 하는 NanoIP는 센서 및 임베디드 장치용으로 개발 중인 프로토콜 스택입니다.

 

TSMP – TSMP(Time Synchronized Mesh Protocol)는 모트 또는 센서 노드용으로 개발된 프로토콜 스택입니다. 센서가 타임슬롯에서 서로 데이터를 통신할 수 있도록 무선 센서의 네트워킹에 사용됩니다. 시분할 다중화와 유사한 접근 방식을 가지고 있습니다.

 

다음 포스팅에서는 서비스 제공 프로토콜에 대해 설명합니다.  

 

 

 

 

반응형