12. 연결지향형 TCP 프로토콜

김아름·2021년 12월 24일
0

네트워크 기초

목록 보기
12/15

🐳 TCP 프로토콜

1. TCP가 하는일

  • 전송 제어 프로토콜 ( Transmission Control Protocol )
  • 인터넷에 연결된 컴퓨터에서 실행되는 프로그램 간에 통신을 안정적으로, 순서대로, 에러없이 교환할수 있게 함
  • TCP의 안정성을 필요로 하지 않는 애플리케이션의 경우 일반적으로 TCP 대신 비접속형 사용자 데이터그램 프로토콜 ( UDP )을 사용함
  • TCP는 UDP보다 안전하지만 느림

2. TCP 프로토콜의 구조

  • 출발지 포트번호 ( 2바이트 ) / 목적지 포트번호 ( 2바이트 )
  • 일반적으로 20바이트인데 TCP Oprions가 붙는것에 따라 60바이트까지 늘어날 수 있음
  • TCP Options은 일반적으로 잘 안붙고 붙더라도 4바이트씩 총 10개까지 붙을수 있음
  • Offset은 길이인데 4로 나눠서 씀
  • Reserved 예약된필드 - 사용X, Checksum
  • Window는 사용공간이 얼마만큼 남았는지 알려주는 것 - 연결지향형
    : TCP 버퍼 공간을 알려줌
  • Urgent Pointer : TCP Flags와 같이 보자



🐳 TCP 플래그

  • TCP가 계속해서 통신하면서 연결상태를 물어보는데
  • 어떤 플래그를 세팅해서 보내느냐에 따라서 연결하려고 물어보는건지 데이터를 보내도된다고 대답을 하는건지 연결을 종료하려고 하는지 연결 초기화하는건지 데이터를 보내는건지 급한건지아닌지 지정하는 것
  • TCP의 주된 기능은 플래그로 나눠짐

🐠 U

  • 긴급 비트
  • Urgent Pointer랑 세트 - 어디서부터가 긴급데이터인지 알려주는 위치값

🐠 A

  • 승인 비트
  • 중요하고 많이 사용됨
  • 물어본것에 대해 응답을 해줄 때

🐠 P

  • 밀어넣기 비트 - 많이사용X
  • TCP 버퍼가 일정한 크기만큼 쌓여야 하는데(내가 받을수 있는 공간이 있어야 패킷을 추가적으로 전송하는데) 그거랑 상관없이 데이터를 밀어넣음

🐠 R

  • 초기화 비트
  • 문제가 생겨서 둘사이의 연결관계를 리셋하자

🐠 S

  • 싱크 ( 동기화 ) 비트
  • 상대방이랑 연결을 시작할 때 무조건 사용함
  • 서로 상태를 주고받으면서 계속 동기화시킴

🐠 F

  • 종료 비트
  • 데이터를 다 주고받은다음 연결을 끊음

  • 패킷캡쳐해서 플래그를 보면
  • 위의 네모는 잘 안쓰고 밑의 것을 많이 쓰는데 현재는 Syn만 세팅됨
  • 동시에 여러개가 세팅되기도 함



🏈 네트워크 기초

https://www.youtube.com/watch?v=cOK_f9_k_O0&list=PL0d8NnikouEWcF1jJueLdjRIC4HsUlULi&index=21

profile
쿄쿄쿄

0개의 댓글