상세 컨텐츠

본문 제목

Protocol : TCP

네트워크(Network)

by 주스로그 2024. 10. 14. 11:31

본문

728x90
반응형

네트워크 프로토콜 TCP에 대해 설명하고자 한다.

 

2024.02.20 - [네트워크(Network)] - TCP/IP 4 Layer

 

TCP/IP 4 Layer

네트워크는 장비를 특정 매체를 통해 연결하여쉽고 간편하게 정보를 공유할 수 있는 환경을 말한다.  네트워크는 보다 안정적인 통신과 네트워크 간의 호환을 위해 국제 표준으로 계층적인

zuchnology.tistory.com

Transport 계층은 목적지를 구분하는(=서비스를 구분하여) 계층으로,

두 가지의 프로토콜 종류가 있는데 먼저 TCP의 구성에 대해 알아보고자 한다


L4 TCP Protocol의 구성

TCP 헤더의 구성은 위와 같다

TCP란 Transmission Control Protocol로, 4계층의 프로토콜 종류이다.

연결지향성, 신뢰성, 흐름 제어 라는 특징을 가지고 있으며,

신뢰성을 위하여 3way handshake 절차를  가진다.

이를 중요한 필드(field)위주로 간단하게 설명하려고 한다.

구체적인 TCP의 기능적 설명은 TCP/IP 4 layer 포스팅을 참고

 

1) Source Port Address(2byte)

출발지 포트주소

 

2) Destination Port Address(2byte)

목적지 포트주소

 

3) Sequence Number(4byte)

순서화된 일련번호로서 순차적인 데이터 전송을 돕는다

초기 순서번호는 랜덤으로 설정한다(ISN - Initial Sequence Number)

 

4) Acknowledgment Number(4byte)

확인 응답 번호로서 데이터를 정상적으로 수신한 뒤 예상하는 다음 sequence number를 알려줌

-받은 일련번호 숫자 + payload의 크기

 

5) Data Offset(4bit)

TCP Header의 길이 값

4개의 bit로 표현되고, 4byte 단위로 표시함(최대 길이값은 60byte)

 

6) Reserved(4bit)

예약된 필드(사용X)

 

7) TCP Flages(1byte)

TCP의 논리적인 연결회선을 제어하고 데이터 관리를 위해 사용함

TCP  메세지의 종률르 명시

1bit 씩 메세지 종류가 지정되어 해당 bit 값이 설정되면 지정 기능을 수행

(C,E를 제외한 6bit로 결정)

C E U A P R S F

U : urgent, 긴급데이터

A : ack, 응답데이터

P : push, 약속된 버퍼 사이즈가 충족되지 않았어도 바로 데이터를 처리

R : reset, 초기화(강제 종료)

S : syn, 새로운 연결 요청(수신자가 동의 할 때 까지 수신 시작이 되지 않음)

F : fin, 데이터 전송 완료(정상종료)

 

8) Window

능동적인 흐름제어를 위해 사용됨

Window Size limits how mush unacklowledgeed data can be sent
-Sliding Window기법 사용
: 데이터를 넣을 수 있는 공간을 알림(수신자가 알려야함)

 

9) Checksum

TCP Header의 오류를 검사할 수 있는 값

10) Urgent Pointer

긴급 포인터, TCP payload 내에 어떤 곳에 긴급 데이터가 있는지 명시함

제어 bit URG가 1로 설정되어있을 경우에 유효한 포인터 값

11) TCP Options

MMS : 버퍼 여유용량 알림
SACK (선택적 확인응답) : 기능 사용여부


이렇게 TCP 프로토콜에 대해 알아보았다

보다 신뢰성과 연결성을 중요시하는 프로토콜인 만큼 체크하고 기능수행을 하는 부분이 많이 포함되어있다

다음에는 이와 대비되게 신속성과 비연결성을 가진 UDP에 대해 알아보고자 한다.

 

모두에게 도움이 되길 바라며

728x90
반응형

'네트워크(Network)' 카테고리의 다른 글

Protocol : UDP  (1) 2024.10.15
Protocol : ICMP  (0) 2024.10.11
Protocol : ARP  (0) 2024.09.27
Protocol : IP  (2) 2024.09.26
Protocol : Ethernet  (0) 2024.09.26

관련글 더보기