[컴퓨터네트워크] TCP 특성과 동작, TCP 세그먼트에 대해 알아보자 본문

여니의 프로그래밍 study/네트워크

[컴퓨터네트워크] TCP 특성과 동작, TCP 세그먼트에 대해 알아보자

안녕하세요

 

오늘은 TCP에 대해 알아보려고 해요!

TCP는 전송계층에서 사용하는 프로토콜인데요 종단대 종단 관계에 대해서 정의합니다.

TCP가 IP보다 더 넓은 범위를 다루고 있다고 할 수 있죠

 

 

세그먼트는 뭘까요?

세그먼트는 TCP프로토콜 사이에서 사용하는 전송단위입니다.

 

신뢰성 있는 정보를 위해서 사용자 데이터 세그먼트와 확인 응답용 ACK 세그먼트를 사용하는데,

TCP는 신뢰성 있는 스트림 전송 서비스 제공이 목적이에요!

 

TCP의 특성

TCP의 특성은 총 4가지가 있습니다.

스트림 지향성 / 연결 지향성 / 버퍼를 이용한 전송 / 전이중 양방향 전송을 지원

 

TCP는 데이터 전송 시 순서가 있고, 데이터의 지속적이고 연속적인 흐름에 적합해요!

그리고 양방향으로 데이터 전송이 가능하고, 물론 반대방향으로도 전송이 가능하답니다.

 

TCP 세그먼트는 전송 포트, 수신포트, 순서번호, ACK 번호, 헤더길이, 예약, 플래그비트 등으로 이루어져 있어요

 

윈도우 크기는 흐름 제어를 위해 사용됩니다!

 

 

TCP는 3방향 교신 절차에 따라 연결을 설정하는데, 

전송지 측에서 SYN(순서 번호 동기화)를 수신지 측으로 보냅니다.

그리고 수신지에서는 SYN과 ACK를 전송지 측에 다시 전송합니다.

그러면 전송지 측에서는 ACK를 다시 수신지 측으로 전송하게 돼요!

 

 

TCP의 흐름제어

TCP의 흐름제어에는 2가지 방식이 존재합니다.

정지대기 방식과 슬라이딩 윈도우 방식이죠!

 

슬라이딩 윈도우 방식이 정지대기 방식의 단점을 개선한 방식이에요!

수신지에 전송지에서 보낸 ACK가 도착하면, 

윈도우의 오른쪽 경계가 오른쪽으로 이동하면서

윈도우의 크기가 넓어져요

그래서 더 많은 데이터 전송이 가능하게 되죠

 

그리고 데이터를 전송하고 난 뒤에는 윈도우의 왼쪽 경계가 오른쪽으로 이동하면서

윈도우의 크기가 다시 작아집니다.

 

여기서 중요한 것은

수신지 윈도우와 혼잡 윈도우의 값을 서로 비교한 뒤,

가장 작은 값으로 윈도우 크기를 결정을 해야 합니다.

 

 

TCP의 혼잡제어

TCP 혼잡제어에는 3가지 알고리즘이 존재합니다.

느린 출발 알고리즘과 혼잡회피 알고리즘, 혼잡 감지 알고리즘이 존재하는데요

느린 출발 알고리즘은 지수적으로 윈도우 크기가 점점 증가하는 방식입니다.

혼잡회피 알고리즘은 1씩 증가하는 방식이고요

마지막으로 혼잡 감지 알고리즘은

느린 출발 알고리즘과 혼잡회피 알고리즘이 서로 연동하는 방식인데,

만약 타임아웃이 되면, 느린 출발 알고리즘이 수행되고

ACK가 3개 연속으로 수신이 된다면 혼잡 회피 알고리즘을 사용합니다.

 

 

출처 : 초연결 사회의 데이터통신과 네트워킹

 

Comments

댓글쓰기 폼