처음으로 적는 네트워킹 포스팅이다
4학년때 들은 수업 이후? 아닌가 마지막 면접 이후? 매우 오랜만에 시작하는 네트워킹 공부!
네트워킹은 다른 CS 과목에 비해 내용이 참 방대하고 깊은 것 같아서 꽤 오랜 시간 투자해야 하지 않을까 싶다..!
TCP, UDP 는 매우 방대한 내용을 담고 있기 때문에 오늘은 우선 TCP 와 UDP 의 기본적인 개념과 차이점에 대해 이해하고 3-way, 4-way handshaking, 혼잡 제어, DNS 등에 대해서 구체적으로 포스팅을 작성한 이후에 다시한번 TCP와 UDP를 포괄적으로 정리해 보겠다!
TCP 와 UDP는 모두 OSI 7 계층 중 전송 계층 (transport layer) 에서 사용되는 통신 프로토콜인데, 전송 계층이 어떠한 계층인지 간단히 알아보자면,
전송 계층 (Transport Layer)
IP에 의해 전달되는 패킷의 오류를 검사, 재전송 요구등의 제어를 담당하는 계층이다.
즉, 데이터의 전달을 담당하는 계층
TCP 란 Transmission Control Protorol 을 말하는데, 반드시 클라이언트와 서버가 안정적으로 연결된 상태에서 데이터 전송이 일어나게 된다
때문에 반드시 데이터가 안정적으로 전송 되어야 하는 경우에 사용하는 프로토콜이고, 자연스럽게 데이터 전달 순서 역시 보장된다
반면 UDP 란 User Datagram Protocol 을 말한다. TCP와 반대로 데이터를 주고 받고자 할 때 안정적인 연결이 이루어 졌는지 별도의 검사 없이 데이터 전달이 이루어지게 된다. 연결 형성 과정이 없기에 자연스레 빠른 속도를 자랑하지만, TCP 와 같은 신뢰할 수 있는 데이터 전송을 보장하지 못한다!
이처럼 주저리 적는 것 보다 아래 그림을 보며 빠르게 이해할 수 있을 것 같다!
적어놓은 설명이 보다 잘 와닿을 것이다
TCP는 연결이 확실하게 형성되면, 데이터를 보내고
UDP 는 그런거 없다, 그냥 겁나 보낸다 빨리 빨리!
하지만 이 두 프로토콜 모두 패킷을 한 컴퓨터에서 다른 컴퓨터로 전달하는 IP 프로토콜을 기반으로 구현되어 있다.
세부적인 특징들을 간단히 비교해 적어보면서 이번 포스팅을 마무리 한다!