Computer Science # TCP/IP

kdobro_dev·2022년 3월 26일
0

Computer Science

목록 보기
6/6
post-thumbnail

📝오늘 배운 내용

TCP/IP

오늘은 데이터를 통신하는 프로토콜 중 하나인 TCP/IP에 대해 알아보았다.
TCP/IP란 데이터가 의도된 목적지에 닿을 수 있도록 통신을 도와주는 하나의 통신 규약이다. TCP/IP는 두 가지의 프로토콜로 이루어져 있으며, 인터넷으로 디바이스를 연결하는 네트워크 프로토콜의 집합이며 개별적인 네트워크 프로토콜로도 사용될 수 있다. IP기반에 TCP가 사용되서 이렇게 불린다고 한다.
TCP가 데이터의 추적을, IP가 배달을 처리한다고 보면 된다.

TCP (Transmission Control Protocol)

  • 전송 제어 프로토콜로 주로 서버와 클라이언트간에 데이터를 신뢰성 있게 전달하는 통신 규약이다.
    TCP는 데이터 패킷에 일련의 번호를 부여함으로써, 데이터 손실을 찾아내서 교정하고, 순서를 재조합하여 클 라이언트에게 전달할 수 있게 해준다. TCP의 장점은 복잡해서 신뢰성이 높다는 점이다.

IP

  • 컴퓨터와 컴퓨터간에 데이터를 전송하기 위해서, 각 컴퓨터의 주소가 필요하다. Internet Protocol은 4 바이트로 이루어진 컴퓨터의 주소이며, 192.168.9.255와 같이 3개의 마침표로 나뉘어진 숫자로 표시된 다. IP는 TCP와는 달리 데이터의 재조합이나 손실여부 확인이 불가능하며, 단지 데이터를 전달하는 역할만 을 담당한다.

OSI 7계층과 TCP/IP 4계층

  • 네트워크 프로토콜 계층은 아래 그림과 같이 OSI 7계층과 TCP/IP 4계층으로 나눌 수 있다.
    IP 프로토콜 보다 더 높은 계층에 TCP 프로토콜이 존재하기 때문에 IP 프로토콜의 한계를 보완할 수 있다.
    TCP/IP 4계층은 OSI 7계층보다 먼저 개발되었으며, TCP/IP 프로토콜의 계층은 OSI 모델의 계층과 정확하게 일치하지는 않다.

TCP의 특징

  • 연결 지향 - TCP 3 way handshake (가상 연결)
  • 데이터 전달 보증
  • 순서 보장
  • 신뢰할 수 있는 프로토콜

TCP는 장치들 사이에 논리적인 접속을 성립하기 위하여 3 way handshake를 사용하는 연결지향형 프로토콜이다.

  1. 클라이언트는 서버에 접속을 요청하는 SYN 패킷을 보낸다.

  2. 서버는 SYN요청을 받고 클라이언트에게 요청을 수락한다는 ACK 와 SYN가 설정된 패킷을 발송하고 클라이언트가 다시 ACK으로 응답하기를 기다린다.

  3. 클라이언트가 서버에게 ACK을 보내면 이 이후로부터 연결이 성립되며 데이터를 전송할 수 있다.

  4. 만약 서버가 꺼져있다면, 클라이언트가 SYN을 보내고 서버에서 응답이 없기 때문에 데이터를 보내지 않는다.

UDP

UDP란?

  • UDP는 IP 프로토콜에 PORT, 체크섬 필드 정보만 추가된 단순한 프로토콜이다.
    앞서 TCP 특징과 비교해 보면 신뢰성은 낮지만 3 way handshake 방식을 사용하지 않기 때문에 TCP와 비교해 빠른 속도를 보장한다. HTTP3는 UDP를 사용하며 이미 여러 기능이 구현된 TCP보다는 하얀 도화 지처럼 커스터마이징이 가능하다는 장점이 있다.

UDP 특징

  • 하얀 도화지에 비유 (기능이 거의 없음)
  • 비 연결지향
  • 데이터 전달 보증 X
  • 순서 보장 X
  • 데이터 전달 및 순서가 보장되지 않지만, 단순하고 빠름
  • 신뢰성보다는 연속성이 중요한 서비스에 자주 사용됨

TCP와 UDP의 차이

profile
do your best at any moment

0개의 댓글