Victoree's Blog

왜 넷플릭스는 비디오 스트리밍에 UDP 대신 TCP를 쓰는가? 본문

Hobby

왜 넷플릭스는 비디오 스트리밍에 UDP 대신 TCP를 쓰는가?

victoree 2022. 6. 25. 15:02
728x90

들어가며

이번에는 무슨 글을 쓸까 고민하다, 갑작스레 한 친구가 넷플릭스는 왜 스트리밍 서비스를 제공할때 UDP 대신 TCP를 쓰냐는 질문을 던져주었다. 
엥? 그래?? 하고 검색해보니 ㅇㅇ 그러했다. 내가 너무 UDP는 스트리밍! TCP는 메세지! 이런 식으로 TCP는 스트리밍에 불리하다고 알고있어서 아예 사용을 안할거라 생각하고 있었던 것 같다..
그래서 다시 UDP, TCP에 대해 정리해보려 한다.  

UDP VS TCP

UDP - User Datagram Protocol

UDP는 많은 양의 데이터를 소비하는 웹사이트에서 네트워크의 효율성을 증대시키는 것에 컴퓨터 네트워크에서 아주 중요한 역할을 한다. 
UDP는 TCP에 비해 보안적으로 덜 안전하지만 훨씬 빠르다. UDP는 비연결형 프로토콜로 연결을 설정하고 해제하는 과정이 존재하지 않기 때문이다. 

UDP는 빠르고 안정적인 인터넷 어플리케이션 사용과 데이터 전송을 목적으로 하며, 데이터 확인 및 보안 단계를 요구하지 않는다.
UDP는 대역폭과 대기 시간이 적어, 특정 시간에 대규모 사용자가 정보를 제공하거나 트래픽을 관리하고 응답을 해야할 때, 게임이나 비디오 스트리밍, 온라인 회의 등에 분야에서 UDP 기술을 사용한다. 

 

TCP - Transmission Control Protocol

TCP는 3 핸드 쉐이크로 연결, 4 핸드쉐이크로 연결 해제!

TCP의 기본적인 용도는 서버에서 대상 목적지로 데이터 패킷을 전송하는 것이다. TCP는 대량의 인터넷 연결을 보장하고 올바른 순서로 패킷을 전송하기 위해 IP의 오버헤드를 처리한다. TCP는 데이터를 많이 사용하는 어플리케이션에서 통신이 지연될 수 있으며, 데이터 변동에도 대기 시간이 필요하다. 

TCP의 가장 중요한 특성은 데이터 보안과 검증에 가장 큰 포커스를 맞추고 있다는 점이다. UDP가 상대적으로 덜 안전하게 프로세스간의 데이터 패킷을 전송한다면, TCP는 호스트 간 메시징을 사용하여 안전한 네트워크 환경을 제공한다. TCP는 IP 헤더를 활성화하여 오류나 손상없는 데이터를 순차적으로 생성함으로 수신자가 신뢰할 수 있는 데이터를 받을 수 있도록 보장한다. (데이터의 흐름제어나 혼잡 제어같은 기능도 제공한다)

 

자. 그럼 넷플릭스는 왜 UDP가 아니라 TCP를 사용하는 걸까.

넷플릭스는 스트리밍 서비스에 TCP 를 사용하는데, TCP는 시간에 민감하고 포트 포워딩이 필요하지 않기 때문이다. TCP는 네트워크의 전체 대역폭을 활성화하는 데 도움이 된다. 더 많은 데이터를 한번에 압축할 수 있고, 재로딩된 데이터 패킷도 문제가 되지 않는다. TCP는 종단간 연결을 사용하여 버퍼링이나 실시간 스트리밍 문제를 줄여 비디오 품질을 높이고 네트워크 정체 문제를 줄일 수 있다. 

TCP의 온라인 정체 제어는 동시에 다른 링크를 만들어 트래픽을 우회하도록 시도한다. 또한 데이터 패킷의 재전송을 통해서 악성 코드나 장애 발생시 오류 복구를 보장한다. 그중에서도 TCP를 사용하는 가장 중요한 이유는 출발지와 목적지 사이의 대역폭을 모니터링하고 그에 따라 스트리밍 프로그램의 비디오 품질을 조정하는 것이 매우 용이하기 때문이다. 

 

참고 문서

https://www.geeksforgeeks.org/why-does-netflix-use-tcp-but-not-udp-for-streaming-video/

 

Why does Netflix use TCP but not UDP for streaming video? - GeeksforGeeks

A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.

www.geeksforgeeks.org

 

  

 

728x90

'Hobby' 카테고리의 다른 글

[Ae] #1 심심할 땐 영상제작이지  (0) 2021.06.08
Comments