ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • TCP(Transmission Control Protocol) 이란?
    Engineer information security 2020. 11. 9. 04:05
    반응형

    TCP는 흐름 제어 / 혼잡 제어 / 오류 제어를 통해 데이터 전송의 신뢰성을 보장하는 프로토콜이다.

    위의 세 가지를 설명하면 아래와 같다.

     

    흐름 제어 : 송신자와 수신자 간에 데이터를 효율적으로 전송하는 것이다. 이것은 Sliding Window(슬라이딩 윈도우) 방식을 통해 진행된다. Sliding Window란 송신자와 수신자 간의 수신 가능한 크기를 정한 뒤, 그 범위에서 데이터를 전송하는 방식이다.

    혼잡 제어 : 네트워크의 상황이 혼잡할 때 송신자가 데이터 전송량을 조절하는 것이다. 수신자가 데이터를 받을 수 없는 상태에서 송신자가 계속 데이터를 보낸다면 수신자가 받지 못한 데이터는 손실 또는 누락된다. 

    오류 제어 : 데이터를 전송할 때 오류가 발생하면 재전송하여 신뢰성을 보장한다.

    TCP의 기능을 알기 위해서는 TCP Header 구조를 확인해봐야 한다. 프로토콜의 Header 구조를 알고 있으면 프로토콜의 기능에 대한 이해가 훨씬 빠르다. TCP Header 이미지와 함께 각 필드에 대한 설명을 적어 보겠다.

    TCP 헤더
    TCP Header

     

    Source Port Address : 출발지 포트 주소

    Destination Port Address : 도착지 포트 주소

    Sequence Number : 순서 번호, 전송 데이터의 시작 순번이 기록되어 있는 필드이다. 이것은 수신자와 연결 협상(3 Way Handshake)에서 결정되며 번호는 랜덤으로 지정된다(0부터 시작하면 취약점이 발생하기 때문이다)

    Acknowledgment Number : 상대방이 전송할 순서 번호, 데이터를 상대방이 수신하고 난 뒤 상대방이 전송할 Sequence Number이다. 

    Header Length(HLen) : Offset 이라고도 한다. TCP Header의 길이를 표시

    Reserved : 예약, 현재는 사용하지 않는 필드이다.

    TCP Flags(URG / ACK / PSH / RST / SYN /FIN) 

    URG : 긴급 데이터, Urgent Pointer에서 긴급 데이터 위치를 확인한다.

    ACK : 수신 확인 응답 데이터, 어떤 데이터를 받았다면 응답을 보낼때 ACK도 함께 보내진다.

    PSH : 데이터를 즉시 전송 처리 

    RST : 강제 연결 종료

    SYN : 연결 요청

    WIndow : 통신 대상에게 자신이 받을 수 있는 여유 공간 크기를 전송. 이 크기를 확인함으로써 흐름 제어가 진행될 수 있다.

    Checksum : Segment(4계층) 전체에 대한 오류 값 검사

    Urgent Pointer : TCP Flags에서 URG가 설정된 경우 긴급 데이터 위치 값을 나타낸다.

     

    TCP는 헤더 안에 전송 체크 / 전송 사이즈 체크 / 오류값 검사 등을 하는 필드가 있으므로 신뢰성을 보장할 수밖에 없는 프로토콜이다. 시험에 등장한 적 있는 부분은 특별히 체크해 두었으므로 반드시 기억하자.

     

    반응형

    'Engineer information security' 카테고리의 다른 글

    멀웨어(Malware) 알아보기  (0) 2020.11.13
    UDP(User Datagram Protocol)란?  (0) 2020.11.11
    TCP 와 UDP의 차이  (0) 2020.11.08
    4계층 Transport layer  (0) 2020.11.03
    Router CLI 기본설정  (0) 2020.11.02

    댓글

Designed by Tistory.