티스토리 뷰
Transport Layer
- Transport Layer is responsible for the delivery of a message from one process to another.
- 3계층과 뗄수없는 매우 밀접한 관계에 있는 계층이다. NAT의 경우 IP & PORT 의 조합으로 통신을 하게 된다.
- Network Layer : Host 간 통신
- Transport Layer : network layer에 의존한 프로세스 간 통신
- IP 주소 + Port 번호 -> Socket Address가 된다. 소켓 통신은 콘센트를 소켓에 꽂듯이 직접 연결해서 통신하는 방법이다.
트랜스포트 계층 역활
전송파트
Message를 전송할 만한 segments로 Dividing해서, Numbering하고, Sending까지 한다.
- Segments가 너무 크다면 : 전송한 패킷에 오류가 발생할 확률도 높아지고, 재전송의 오버헤드도 올라간다.
- Segments가 너무 작다면 : 고정적인 Header영역으로 인해 payload가 너무 작아져서 비효율적으로 데이터를 보내야 하는 문제가 있다.
- Numbering은 패킷의 순서를 보장하기 위해서 한다. (네트워크 상에서는 순서를 보장할 수 없으므로 도착할 때 확인해서 조합한다)
수신파트
모든 Segments를 수신받아서 Error Checking을 하고 Message로 Reassemble한다. (only TCP)
- Error Detecting & Error Resolve에는 여러가지 방법이 존재한다. FEC, CRC
TCP 계층을 이용하는 서비스 구분
UDP : IP Telephony, Streaming Video (Zoom, Netflix)
특징
- 신뢰할 수 없다.
- 전송이 빠르다.
- 손실 데이터를 재전송하지 않는다.
- 전달받은 데이터를 그대로 처리한다.
- -> Ack를 필요로 하지 않는다.
- Connection-less하다.
TCP : SMTP (e-mail), HTTP
특징
- 신뢰할 수 있다.
- 손실 데이터를 재전송해줘야 한다.
- 전달받은 데이터를 순서대로 재조합해서 처리해야한다.
- -> Ack를 필요로 한다.
- Connection-oriented하다.
기능
- Congestion Control (네트워크 혼잡제어) : 네트워크상 패킷의 오버헤드로 데이터 손실 가능성이 있을 경우 Receiver, Sender가 같이 전송을 제어하는 것.
- Flow Control (수신측 흐름제어) : Reciver에 패킷이 몰려서 데이터 손실 가능성이 있을 경우 전송측에서 제어해주는 것.
- Connection Setup : 서버-클라이언트간 원할한 전송을 위해서 미리 자원을 확보해 두는 작업.
제공하지 않는 기능
- Delay Guarantees : 데이터를 전송할 때 수신측이 얼마의 Delay내에 받을 것이라고 보장해줄 수 없다.
- Bandwidth Guarantees : 특정 서비스를 이용할 때 필요한 최소 전송속도가 있는데 이를 보장해줄 수 없다.
UDP : User Datagram Protocol
특징
- best effort
- 주어진 대역폭에서 최선을 다한다는 것으로, 네트워크 환경/상황에 맞춰서 최선을 다해서 보낼 뿐 전송을 위해 추가적인 노력을 하지 않는 것을 의미한다. 즉, 최선을 다한다는 것은 스위치/라우터가 전송을 위해 자신의 역활을 다하는 정도로 볼 수 있다.
- connectionless
- 송신자와 수신자간 handshaking 없이 통신한다.
- UDP Segment는 다른 패킷들은 고려하지 않고 무작정 보낸다.
- 사용 : 스트리밍, DNS에서 사용한다.
- UDP에서 reliable한 전송을 위해서는 클라이언트 단에서 해줘야한다. (보통 그러면 TCP를 사용한다)
Segment Header
UDP checksum
- Sender에서 보내는 세그먼트의 모든 비트를 16비트 단위씩 끊어서 숫자로 취급해서 더한다.
- 더한 값을 Segments의 checksum에 적는다.
- 수신측에서 전달받은 Segment의 모든 비트를 똑같이 16비트 씩 숫자로 더한다.
- 해당 값을 checksum과 비교해서 오류를 Detect한다. (같으면 : no error, but maybe errors, 다르면 : error)
반응형
'CS > OSI 7계층 정리' 카테고리의 다른 글
네트워크 정리 : Transport Layer _ TCP Error Control - ARQ (0) | 2021.11.07 |
---|---|
네트워크 정리 : Transport Layer _ TCP (0) | 2021.10.29 |
네트워크 정리 : Layer 4&5 주소체계와 DNS (0) | 2021.10.15 |
네트워크 정리 : Layer 2&3 주소체계 (MAC, IP) (0) | 2021.09.27 |
네트워크 정리 : 네트워크 연결과 구성요소 (0) | 2021.09.20 |
Comments
반응형
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday