Skip to content
dev-marco-song
Go back

전송계층 프로토콜 정리

Edit page

전송계층 프로토콜 정리

전송 계층은 OSI-7 계층에서 4번째 층에 해당하는 계층이다.

OSI 7은 국제표준화기구(ISO)에서 개발한 통신 모델로, 컴퓨터 네트워크의 프로토콜 디자인과 통신을 계층별로 나누어 설명한 것이다.

1층인 physical layer부터, 7층인 application layer까지 있으며, 낮은 층일수록 하드웨어, 높은 층일수록 소프트웨어에 가깝다.

위키피디아 https://en.wikipedia.org/wiki/OSI_protocols


전송 계층의 서비스는 프로그래밍 인터페이스를 통해 어플리케이션에 제공된다. 일반적으로 소켓을 전송계층의 인터페이스로 많이 사용한다.

전송계층 프로토콜에는 다음과 같은 기능들이 있다. ※주의 : 아래 기능이 반드시 쓰이는 것은 아니다. UDP에서는 아래의 기능을 사용하지 않는다.

연결 지향 통신 : 두 개체가 논리적으로 연결된 상태를 유지하며 통신. 사용자 입장에서 통신의 상대와 하나의 전용선이 존재하는 것처럼 보인다. http://www.ktword.co.kr/abbr_view.php?m_temp1=476

순서 보장 : 데이터에 번호를 붙여 순서를 보장

신뢰성 보장 : checksum, ACK, 재전송을 통해 데이터의 무손실 보장

흐름 제어 : 받는 측이 감당할 수 있을 속도만큼만 데이터 전송

혼잡 방지 : 혼잡이 방지하면 전송 속도를 늦추어 다시 시작.

멀티플렉싱 : 하나의 포트/소켓으로 여러 클라이언트와 통신


아래는 대표적인 전송계층 프로토콜들이다. 하나씩 연구해보자

https://en.wikipedia.org/wiki/Transport_layer

FeatureUDPUDP-LiteTCPMultipath TCPSCTPDCCPRUDP[a]
Packet header size8 bytes8 bytes20–60 bytes50–90 bytes12 bytes[b]12 or 16 bytes14+ bytes
Typical data-packet overhead8 bytes8 bytes20 bytes?? bytes44–48+ bytes[c]12 or 16 bytes14 bytes
Transport-layer packet entityDatagramDatagramSegmentSegmentDatagramDatagramDatagram
Connection-orientedNoNoYesYesYesYesYes
Reliable transportNoNoYesYesYesNoYes
Unreliable transportYesYesNoNoYesYesYes
Preserve message boundaryYesYesNoNoYesYesYes
DeliveryUnorderedUnorderedOrderedOrderedOrdered / UnorderedUnorderedUnordered
Data checksumOptionalYesYesYesYesYesOptional
Checksum size16 bits16 bits16 bits16 bits32 bits16 bits16 bits
Partial checksumNoYesNoNoNoYesNo
Path MTUNoNoYesYesYesYes?
Flow controlNoNoYesYesYesNoYes
Congestion controlNoNoYesYesYesYes?
Explicit Congestion NotificationNoNoYesYesYesYes?
Multiple streamsNoNoNoNoYesNoNo
Multi-homingNoNoNoYesYesNoNo
Bundling / NagleNoNoYesYesYesNo?

Edit page
Share this post on:

Previous Post
RDBMS 개념 정리
Next Post
12. 11~ 12. 17 개발 4주차 개발 노트