TCP가 하는 일
TCP은 인터넷에 연결된 컴퓨터에서 실행되는 프로그램 간에 통신을 안정적으로, 순서대로, 에러 없이 교환할 수 있게 한다.
TCP의 안정성을 필요로 하지 않는 애플리케이션의 경우 일반적으로 TCP 대신 UDP을 사용한다.
TCP는 UDP보다 안전하지만 느리다. -> 체감은 못함 이론상 느림
TCP는 통신을 하면서 계속해서 상대방이랑 연결 상태를 물어본다. (보내도 돼? 안돼? 지금 보내는 건 중요한 거야)
TCP 프로토콜의 구조
Source Port
출발지 포트
Destination Port
도착지 포트
Sequence Number
Acknowledgment Number
Offset
헤더의 길이, 4로 나눈 값을 쓴다.
Reserved
사용하지 않는다
TCP Flags
C E U A P R S F
Window
데이터를 얼마큼 보내야 할지 물어볼 때 사용한다.
Checksum
헤더의 오류를 검사한다.
Urgent Pointer
TCP 플래그 중 U가 활성화되면 데이터 중 어디서부터 긴급 데이터인지 알려줌, 몰라도됌
TCP Options
일반적으로는 잘 안 붙지만 붙더라도 4byte씩 붙는다. 최대 10개까지 붙을 수 있다. 최대 60byte까지 늘어날 수 있다.
TCP 플래그
U A P R S F 만 알면 된다.
TCP는 통신을 하면서 계속해서 상대방이랑 연결 상태를 물어본다. (보내도 돼? 안돼? 지금 보내는 건 중요한 거야) 여러 가지 형태로 데이터를 보낸다. 그때 나타내는 것이 플래그 값이다. 어떤 플래그 값을 보내느냐에 따라 다르다.
U
긴급 비트, 내가 보내는 데이터가 우선순위가 높은 데이터가 포함되어 있다.
A
승인 비트, 상대방이 물어봤을 때 승인을 할 때 사용하는 비트이다.
P
밀어 넣기 비트
R
초기화 비트, 상대방과 연결이 돼 있는 상태에서 추가적으로 데이터를 주고받으려고 하는데 문제가 생겨 연결을 초기화할 때 사용
S
동기화 비트, 상대방과 연결을 시작할 때 사용하는 비트
F
종료 비트, 데이터를 다 주고받은 다음 연결을 끊을 때 사용하는 비트
'네트워크 기초' 카테고리의 다른 글
TCP 상태전이도 (0) | 2022.03.08 |
---|---|
TCP를 이용한 통신과정 (0) | 2022.03.08 |
비연결지향형 UDP 프로토콜 (0) | 2022.03.08 |
컴퓨터의 프로그램끼리는 이렇게 데이터를 주고 받는다 - 4계층 이론 (0) | 2022.03.07 |
조각화 실습 (0) | 2022.03.07 |