[네트워크] TCP/IP, UDP 간단 정리

glow_soon·2022년 6월 4일
0

TCP/IP, UDP

TCP와 UDP: TCP/IP 4계층의 전송계층에서 사용되는 프로토콜, 전송계층에는 IP에 의해 전달되는 패킷의 오류를 검사하고 재전송 요구등의 제어를 담당한다.

TCP

TCP의 가장 큰 특징은 신뢰성, 이러한 신뢰성을 구성해주는 방법으론 흐름제어, 혼잡제어, 오류제어가 있다.

흐름제어

수신측과 송신측의 데이터처리의 속도차이를 해결하기 위한 기법
송신측의 전송량이 수신측의 수신량보다 큰 경우 전송된 패킷은 수신측의 큐를 넘어서 손실될 수 있기 때문에 송신측의 패킷 전송량을 제어한다

Stop-and-wait

매번 전송하는 패킷에 대해 확인 응답(ack)를 받으면 다음 패킷을 전송하는 방법

Sliding-window

수신측에서 설정한 윈도우 크기만큼 송신 측에서 확인 응답 없이 패킷을 전송 할 수 있게하여 데이터 흐름을 동적으로 조절


혼잡제어

송신측의 데이터 전달과 네트워크의 데이터 처리 속도를 해결하기 위한 기법
한 라우터에게 데이터가 몰려 모든 데이터를 처리할 수 없는 경우, 호스트들은 재전송을 하게 되고 결국 혼잡만 가중시켜 오버플로우나 데이터 손실이 발생한다 
이런 네트워크의 혼잡을 피하기 위해 송신측에서 보내는 데이터의 전송 속도를 제어한다.

AIMD

합증가/곱 방식, 처음에 패킷을 하나씩 보내고 문제없이 도착하면 윈도우의 크기를 1씩 증가시키며 전진

Slow start

윈도우의 크기를 1,2,4,8...과 같이 지수적으로 증가 시키다가 혼잡이 감지되면 윈도우 크기를 1로 줄이는 방식

빠른 재전송

중복 ack를 3개 받으면 재전송

빠른 회복

혼잡한 상태가 되면 윈도우 크기를 1로 줄이지 않고 반으로 줄이고 선형 증가 시키는 방법


오류제어

오류검출(error detection)과 재전송(retransmission)을 포함
ARQ 기법을 활용하여 프레임이 손상되었거나 손실되었을 경우 재전송을 통해 오류를 복구


TCP vs UDP

신뢰성이 요구되는 애플리케이션에서는 TCP를 사용, 간단한 데이터를 빠른속도로 전송하고자 하는 애플리케이션에서는 UDP를 사용한다.

  • 공통점 - 포트번호를 이용하여 주소를 지정, 데이터 오류 검사를 위한 체크섬 존재
TCP(Transfer Control Protocol)UDP(User Datagram Protocol)
연결이 성공해야 통신가능(연결형 프로토콜)비연결형 프로토콜(연결없이 통신가능)
데이터의 경계를 구분하지 않음데이터의 경계 구분함
신뢰성 있는 데이터 전송(데이터 재전송 존재)비신뢰성 데이터 전송
일대일 통신일대일, 일대다, 다대다 통신
profile
나는야 코린이

0개의 댓글