TCP/IP와 UDP

뾰족머리삼돌이·2023년 12월 21일
0

WEB

목록 보기
4/10

TCP/IP

IP ( Internet Protocol )

전송위치 특정 및 데이터분할/조립 + 양측 IP정보 저장

  • 패킷( 데이터그램 )을 이용하여 정보를 주고받는데 사용하는 규약
  • 네트워크 계층에 속하며, 호스트 주소지정 ( IP ) 과 패킷으로의 분할 및 조립을 담당

특징

  • 비신뢰성
    • 정보전달이 정상적으로 이루어졌는지 보장하지 않음
  • 비연결성
    • 데이터를 전송하기전에 특별한 과정을 필요로 하지않음
    • 일단 주소가 특정되면 보내고본다

TCP ( Transmission Control Protocol )

전송된 데이터의 신뢰성 보증 + 양측 port정보 지정

  • 전송받은 패킷데이터의 이상유무를 판단
  • 전송 계층에 속하며, 세그먼트를 생성
  • 데이터 송수신측 간의 연결이 확립되어야 데이터를 주고받음

특징

  • 연결성
    • 데이터 송수신측 간의 연결이 확립되어야 데이터 주고받기 가능
    • 데이터를 주고받기전에 필요한 전처리과정 제공
    • handshake 과정을 통해 연결 설정 및 해제
  • 신뢰성
    • 데이터의 손실확인 시 재요청
    • 전송한 순서대로 전달받음을 보장
  • 흐름 제어 / 혼잡제어 / 오류 감지
    • 데이터의 처리속도 조절을 통한 오버플로우 방지
    • 네트워크 내의 패킷 수 관리

3 way handshake

Connection을 수립하기 위한 검증
양측간에 정상적으로 통신이 가능한지 사전점검

  • SYN : 연결 요청
  • ACK : 요청 수락

4 way handshake

Connection을 종료하기위한 양측간의 확인

  • FIN : 연결 종료 요청
  • ACK : 요청 수락

ServerClientACK을 받으면 연결을 종료한다
ClientFIN을 보내고나면 FIN-WAIT상태가 되며 ServerFIN을 받으면 일정시간을 기다린 후 연결을 종료한다


UDP ( User Datagram Protocol )

Port번호만 알려줄테니 데이터 검증은 알아서 해

  • TCP와 비교해서 Header크기가 줄어들었으며 데이터를 쪼개지않는다
    • Application layer에서 잘라준다
    • header가 작아진만큼 더 작은단위로 데이터를 전송하는게 가능해졌다
  • 데이터 전송전에 연결을 수립하지 않는다 ( 전송속도가 빠르다 )
  • TCP의 문제였던 HOLB의 문제가없어 HTTP/3.0 에서 사용된다

TCP와 비교하여 최소 데이터의 크기가 작고, 연결수립과정이 없으므로 더 빠른 전송이 가능하다
데이터가 정상적으로 동작했는지 확인하지 않기때문에 속도가 중요한 통신에서 사용하기좋다 ( SNS, 게임 )


알아두면 좋은 포트번호

0개의 댓글