[Network] TCP와 UDP

nero_luv03·2020년 5월 22일
0

CS

목록 보기
3/11

TCP와 UDP!



TCP와 UDP는 OSI 7계층에서 보았던 친구들이다. 어느 계층일까요?
바로 전송 계층이다.


전송계층에서 하는 일을 간단히 말하자면 송신자, 수신자를 연결하는 통신 서비스로 데이터의 전달을 담당하는 계층이다.


그렇다면 TCP와 UDP는 대체 전송계층의 어느 부분에서 쓰이는 것일까요?
바로 데이터의 전달시 데이터를 보내기 위해 사용하는 프로토콜 이 바로 오늘의 주인공 TCP와 UDP이다.



TCP(Transmission Control Protocol)

= 전송을 제어하는 프로토콜

인터넷상에서 데이터를 메세지의 형태로 보내기위해 IP와 함께 사용하는 프로토콜

TCP의 정의를 알아보았고 이제 특징에 대해서 알아봅시다

저번에 TCP의 특징을 신뢰성과 연결지향성이라고 했던 것 기억나시나요?
기억이 나지 않으신다면 OSI 7계층 을 한번 읽어보시고 오는 것도 좋습니다.

  • 신뢰성
    TCP는 패킷을 성공적으로 전송하면 Acknowledgement(ACK)라는 신호를 날립니다. 그때 신호가 제 시간에 도착하지 않으면 Timeout이 발생하여 다시 전송해줍니다.

  • 연결지향성
    TCP는 3-way-handshaking를 통해 연결 후 통신을 시작합니다.

  • 흐름 제어와 혼잡 제어를 지원해서 데이터의 순서를 보장한다.
  • UDP보다 속도가 느리다



UDP(User Datagram Protocol)

= 사용자 데이터그램 프로토콜

데이터를 데이터그램 단위로 처리하는 프로토콜

UDP는 이런 뜻을 가지고 있습니다. 근데 또 다시 OSI 7계층에 대해 생각해봅시다. 제가 비신뢰성, 비연결성, 실시간이 UDP의 특징이라고 말했었는데 그 특징에 대해서도 알아봅시다

  • 비신뢰성
    혼잡제어를 하지 않아 데이터 전송에 대한 보장을 하지 않기 때문에 패킷 손실이 발생할 수 있습니다.

  • 비연결성
    TCP와 달리 연결설정이 없어 TCP보다 빠릅니다.

  • 실시간
    비신뢰성이 특징인만큼 신뢰성보다는 연속성이 중요한 서비스에 주로 사용됩니다.



profile
iOS developer

0개의 댓글