본문 바로가기

자격증/정보보안기사

[네트워크 보안] TCP

1. TCP

 가. 개요

  1) 연결지향

    □ 가상의 연결통로를 통해서 통신하는 방식(가상회선방식)

    □ 전송순서보장(순서제어)

    □ 스트림 기반의 전송 수행(데이터를 정해진 크기로 전송 X, 임의의 크기로 나누어 연속 전송)

  2) 신뢰성

    □ 흐름제어 : Window Sliding 방식(수신 측이 받을 수 있는 범위 내에서) 사용

       (tcp는 기본적으로 송/수신측 모두 버퍼가 존재)

    □ 오류제어 : 오류 혹은 누락 발생 시 재전송 수행

    □ 혼잡제어 : 혼잡 정도에 따라 송시낮가 데이터 전송량을 제어 

 나. 구조

  1) 32bit * 6행

  2) 1행

Source Port(16bit) Destination Port(16bit)

  3) 2행

Sequence Number(32bit)

   □ Sequence Number : 전송하는 데이터의 시작 바이트 순서 번호

  4) 3행 

ACK Number(32bit)

   □ ACK Number : 상대방이 다음에 전송해야 할 순서번호

  5) 4행

HLEN(4bit) Reserved(6bit) Controlbit(6bit) Window Size(16bit)

   □ HLEN : 헤더 길이. 기본 20Byte / 옵션 헤더 최대 40Byte

   □ Reserved : 예약 (사용 X)

   □ Control Bit : U(URG) , A(ACK) , P(PSH) , R(RST) , S(SYN) , F(FIN)

   □ Window Size : 수신 측이 송신 측에 보내는 수신 버퍼의 여유 공간

  6) 5행

CheckSum(16bit) Urgent Pointer(16bit)

  7) 6행 

Options(32bit)

 다. 분할 및 재조립

  □ MSS(Maximum Segment Size) 

   - TCP Segment Data 부의 최대 바이트수

   - MSS = " MTU - IP Header - TCP Header "

   - 상위계층(Application) 에서 넘어온 데이터를 MSS 에 맞게 분할