I. 신뢰성 있는 데이터 통신 지원, TCP의 개요
가. TCP(Transmission Control Protocol)의 정의
- 응용 계층과 네트워크 계층 사이에 위치하여 응용프로그램과 네트워크 동작 사이의 매개체로 사용되는 프로토콜
나. TCP의 전송 특성
특성 |
설명 |
스트림지향성 |
TCP는 옥텟(Octets)또는 바이트를 기본단위로 데이터를 스트림 형태로 처리 |
가상회선 연결 |
연결 설정하는 과정을 실행하여 연결이 정상적으로 설정되면 데이터 전송 |
버퍼를 이용한 전송 |
트래픽 혼잡을 최소화하고 효율적으로 전송이 되도록 버퍼를 이용하여 데이터 블록을 채운 후에 전송하는 방식 |
전이중 전송 연결 |
반대되는 방향성을 갖는 두개의 독립적인 스트림을 생성 |
II. TCP 세그먼트
가. TCP 세그먼트의 정의
- OSI 7 Layer 4계층에 속하는 전송 프로토콜인 TCP의 계층상에서 데이터를 전달하는 정보의 최소 단위
나. TCP 세그먼트 구조
Source/Destination Port |
IP주소 + 포트번호 = 소켓번호, 양측 호스트 내 종단 프로세스 식별 |
순서번호 |
각 세그먼트의 첫 번째 바이트에 부여되는 번호 (바이트 단위) |
확인/응답 |
수신하기를 대기하는 다음 바이트 번호 |
헤더 길이 필드 |
4바이트 단위로 표시 (TCP 헤더 길이는 총 60바이트 이하) |
Flag Bits |
TCP 세그먼트 전달과 관련하여 TCP 회선 및 데이터 관리 제어기능을 하는 플래그 |
윈도우 크기 |
흐름제어를 위해서 허용하는 16비트 |
체크섬 |
세그먼트의 오류 검증 용 |
옵션 |
최대 40바이트까지 옵션 데이터 포함 가능 |
III. TCP 연결관리
가. TCP 연결관리의 정의
- 송/수신단간에 신뢰성 있는 데이터 통신을 수행하기 위해 연결부터 종료까지의 TCP 연결 관리체계
나. TCP 연결관리의 대상
대상 |
설명 |
TCP 연결 |
종단 호스트 내 프로세스간에만 존재하는 연결 (3 Way-Handshake) |
TCP 세션관리 |
흐름제어, 오류제어 수행 |
TCP 종료 |
4 Way-Handshake |
다. TCP 연결관리
연결설정 |
개념도 |
설명 |
|
3 Way- Handshake |
세그먼트 1(SYN) |
||
세그먼트 2(SYN+ACK) |
|||
세그먼트 3(ACK) |
|||
2 Way- Handshake |
목적 |
연결이 시작되고 옵션이 교환 되었음을 알림 |
|
주요정보 |
ISN (초기순번), 수신 윈도우 크기, 옵션 정보 |
||
4 Way- Handshake |
- TCP는 안정적이고 연결 지행적인 전송계층 프로토콜 - 세션의 설정을 위해 3 Way-Handshake 통해 회선개설 - 데이터 전송 완료 - 4번의 패킷 교환으로 회산 연결 종료 |
IV. TCP Timer
구분 |
설명 |
재전송 타이머 |
TCP가 신뢰성 있는 전송을 위해 사용, 패킷 전송과 동시에 재전송타이머 동작 |
지속 타이머 |
윈도우 크기가 0인 세그먼트를 수신하게 되면 새로운 세그먼트 전송 중지 |
Keep Alive Timer |
데이터 교환 없이 오랜 시간 Idle 상태로 있는 것 방지 |
Time-Waited 타이머 |
TCP 연결 해지 용도, 마지막 세그먼트 수신 후 즉시 종료하는 것이 아닌 Time-Waited 시간까지 연결 유지 |
'IT기술노트 > 디지털네트워크' 카테고리의 다른 글
SCTP(Stream Control Transmission Protocol) (0) | 2021.02.22 |
---|---|
UDP(User Datagram Protocol) (0) | 2021.02.22 |
TCP 소켓통신 (0) | 2021.02.22 |
MPTCP(Multipath TCP) (0) | 2021.02.22 |
ARP(Address Resolution Protocol) (0) | 2021.02.22 |
IPv4 to IPv6 (0) | 2021.02.22 |
IPv6 (0) | 2021.02.22 |
DHCP (0) | 2021.02.21 |
댓글