- 연결 지향형
- 안정적으로, 순서대로, 에러 없이 교환
- UDP보다 안전하지만 느리다
- offset : 헤더의 길이, 4로 나눈걸 저장
- window : 데이터 얼마만큼 더 보내. 니가 1MB 한번에 보내면 나 그정돈 받을수있어. 남아있는 TCP 버퍼 공간 의미
- CEUAPRSF가 있음
- TCP는 계속해서 연결 상태를 물어보는데, 현재 상태에 대한 플래그임
U
: urgent 긴급비트, 지금 보내는거 우선순위 좀 높아, urgent pointer랑 세트A
: ACK 승인비트, 물어본거에 대한 응답P
: TCP 버퍼에 데이터가 있는지 없는지와 상관없이 그냥 데이터 보내겠다는 거R
: 초기화 비트, 연결되어있는 상태에서 연결관계 resetS
: SYN, 연결시작할 때 무조건 사용함, 동기화를 사용한다F
: FIN 종료 비트, 연결 끊을 때 사용
- 프로세스와 프로세스를 연결하기 위해 가장 먼저 수행되는 과정
- 클라이언트 -> 서버 : SYN 요청 패킷
- 서버 -> 클라이언트 : ACK, SYN 플래그 세팅해서 보냄
- 클라이언트 -> 서버 : ACK 응답 패킷
- TCP를 이용한 데이터 통신을 할 때 단순히 TCP 패킷만을 캡슐화해서 통신하는 것이 아닌 페이로드를 포함한 패킷을 주고 받을 때의 일정한 규칙
- 보낸쪽에서 또 보낼때는 SEQ, ACK 그대로
- 받는쪽에서 SEQ는 ACK번호가 됨
- 반는쪽에서 ACK는 받은 SEQ번호+ 데이터 크기
- LISTEN : 포트번호를 사용하고 있는 상태
- ESTABLISHED : 연결 수립된 상태