트랜스포트 계층

시바코코개발자·2023년 7월 14일
0

호스트로 도착한 데이터를 목적지 애플리케이션으로 정확히 전달하는 역할을 하는 계층입니다.

데이터 링크계층에서는 데이터를 전달하는 기기를 구분하기 위해서 MAC주소를 사용했습니다.

반면에 네트워크 계층에서는 IP주소로 구분하였습니다.

트랜스포트계층은 호스트 내에서 애플리케이션을 구분하는 용도로 포트(Port)라는 것을 사용합니다.

TCP는 데이터에 Sequence Number와 Acknowledgement Number를 이용해 어떤 데이터를 받았고 받지 않았는지를 알 수 있기 때문에 데이터 순서가 바뀌거나 누락되어도 원래 데이터로 복원할 수 있음.
데이터를 한 번 보내고 그 데이터를 받았다는 응답을 받아야만 다음 데이터를 전송하는 방식은 너무 느리므로 흐름 제어를 통해 여러 데이터를 한 번에 보내고 한 번에 응답을 보내 속도를 올림. 한 번에 보내는 양은 Window Size로 조절.
속도를 빠르게 하려고 Window Size를 올리면 수신 측의 상황에 따라서 받지 못하는 상황이 올 수도 있는데 이때는 혼잡 제어를 통해 적절한 Window Size로 줄여서 통신함.

TCP의 개요

TCP는 커넥션 확립, 데이터 전송, 커넥션 끊기로 신뢰성 있는 데이터 전송을 하게 됩니다.

TCP는 애플리케이션에서 전송하는 데이터를 segmentaion 즉, 분할해서 전송합니다.

분할하는 첫번째 이유는 너무 큰 데이터가 분실되는 경우에 잃어버리는 데이터도 많기 때문이다.
데이터를 분할하면 일부 데이터가 분실되었더라도 그 부분만 다시 보내면 되기 때문에 효율적입니다.

두번째 이유는 데이터 링크 계층에서 보낼 수 있는 최대 크기가 정해져 있기 때문입니다.

0개의 댓글