[Network] TCP란?

2023. 4. 12. 14:38·Network

TCP(Transmission Control Protocol)
  - 전송 제어 프로토콜
  - 클라이언트에서 데이터를 전송하면 서버에서 데이터가 잘 도착했는지 응답을 해줘서 데이터 전달이 보증된다.
  - 클라이언트에서 데이터를 서버로 전송할때 데이터의 순서가 보장된다.

TCP/IP 패킷 정보
  - 송신자 IP 주소, 수신자 IP 주소, 송신자 포트 번호, 수신자 포트 번호, 패킷에 포함된 데이터, 그리고 패킷 길이 등의 정보가 포함된다.
  - 기존 IP패킷정보의 한계인 비신뢰성과 비연결성을 TCP 정보를 추가함으로써 한계를 극복했다.
  
TCP/IP 패킷 전달 과정
  1. 어플리케이션 프로그램(클라이언트)이 Socket 라이브러리를 사용해서 운영체제쪽에 "hello world"라는 메세지를 넘긴다.
  2. 운영체제에서는 해당 메세지에 TCP 정보를 씌우고, IP정보를 또 씌운다.
  3. TCP/IP 패킷이 생성된다.
  4. 서버에 데이터가 전달된다.
  
TCP 3 Way Handshake 참고 사항
  - 연결할 상대와 연결되기 전에 가상 연결을 해서 패킷으로 보내서 확인하는 동작이다.
  - 논리적으로 연결이 된거지 실제로 연결이 된것은 아니다.
  
TCP 3 Way Handshake 동작 방식
  1.   클라이언트가 SYN(접속 요청)이라는 메세지를 보내 서버에게 접속요청 수락을 요청한다.
  2-1. 서버에서는 클라이언트로부터 요청 받은 접속요청을 수락하겠다고 ACK(요청 수락)라는 메세지를 클라이언트에게 보낸다.
  2-2. 서버 또한 클라이언트에게 접속을 수락해달라고 SYN(접속 요청)을 보낸다.
  3.   클라이언트 또한 서버로부터 받은 접속요청을 수락하겠다고 ACK(요청 수락)를 보낸다.

'Network' 카테고리의 다른 글

[Network] IP란?  (0) 2023.04.12
'Network' 카테고리의 다른 글
  • [Network] IP란?
꾸준2
꾸준2
  • 꾸준2
    꾸준2
    꾸준2
  • 전체
    오늘
    어제
    • 분류 전체보기 (157)
      • 복습 프로젝트 (3)
      • 어드민 프로젝트 (4)
      • 프로젝트 리팩토링 (4)
      • Database (0)
      • Java Library (2)
      • Java (4)
      • Java(JVM) (1)
      • 자바 문제 (13)
        • 이론 (6)
        • 실습 (7)
      • IDE (2)
        • IntelliJ (2)
      • 인강 (13)
        • SpringBoot(JPA활용1) (0)
        • 자바(기본편) (6)
        • 자바(중급1편) (3)
        • 자바(중급2편) (1)
        • 자바 ORM 표준 JPA 프로그래밍 - 기본편 (3)
      • Network (2)
      • Node (3)
      • CS (0)
      • amCharts4 (5)
      • 오류 모음 (4)
        • 리눅스 (1)
      • 기타지식 (2)
      • 자주 사용하는 기능 (4)
      • Vue (11)
      • Javascript (13)
      • Javascript-메서드 (3)
      • CSS (6)
      • 라이브러리 (4)
      • 자료구조 (11)
      • 알고리즘 (4)
      • Vue-프로젝트 (20)
      • Vue-bitcoin프로젝트 (6)
      • 블로그클론 프로젝트 (11)
      • 면접 (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
꾸준2
[Network] TCP란?
상단으로

티스토리툴바