ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [CS study] TCP / UDP
    네트워크/CS Study 2023. 8. 21. 14:24

    송신자와 수신자를 연결하는 통신서비스를 제공하고 IP에 의해 전달되는 패킷의 오류를 검사하며 재전송 요구 제어 등을 담당하는 계층에서 사용되는 프로토콜 (OSI 4계층, 전송계층)

    데이터의 전달을 담당한다

    공통점

    포트번호를 이용하여 주소를 지정하고 데이터 오류검사를 위한 체크이 존재한다

    차이점

    TCP는 정확성 (컴퓨터가 서로 보냈습니다, 받았습니다 와 같은 메세지를 주고받음으로써 통신의 신뢰도를 높인다 웹, 메일, 파일 공유 등과 같이 데이터를 누락시키고 싶지 않은 서비스에서 주로 사용됨) UDP(VoIP와 같이 시간 동기가 필요한 서비스들에 많이 사용되며 데이터를 보내면 그것으로 끝이므로 신뢰성은 없지만 신속성은 높다)는 신속성을 추구하고 있다

     

    포트번호로 서비스를 식별한다 0 ~ 65535까지의 숫자로 되어있으며 well-known-port registered port dynamic port 3가지로 나뉘면서 각각 일반적으로 우리가 아는 소프트웨어(웹서버 메일서버), 제조업체의 독자적인 서버 소프트웨어, 서버가 클라이언트를 식별하기 위해 사용하는 서버 이런게 있는게 그냥 포트번호로 서비스를 식별한다는 것만 알아두자

     

    TCP

    연결지향적 프로토콜로써 클라이언트의 연결요청을 서버에서 수락해야함 서로 통신을 할 수 있다(통신선로가 고정된다) 이후 모든데이터들이 순차적으로 전달된다. -안정적인 이유

    아까말한 보냈습니다 받았습니다는 패킷을 통해서 성공적으로 전송했을 때 ACK 신호를 주고 제시간에 도착하지 않는다면 Timeout을 발생시켜 손실된 패킷을 다시 전송해주는 것을 말한다 - 많이 사용되는 이유가 있다

     

    단점

    연결이 되야만 데이터 전송가능하고 1대1통신만 가능하고 전송속도가 느림 (상대적)

     

    특징
    신뢰성있는 데이터 전송, 순서보장, 연결형 서비스(연결해야만 사용 가능), 데이터의 경계를 구분하지 않음, 데이터 흐름 및 혼잡 제어, 연결의 설정(3way handshake)과 해제, 전이중, 점대적 서비스 

     

    연결의 설정(3way handshake )

    통신을 하기 위해서 port를 확인하고 3번의 요청/응답 후에 연결되는 것을 말함

    속도가 느려지는 주요 원인으로 지목됨

    연결 요청 ( Client -> Server) SYN 데이터를 보냄

    Server에서 수신했다면 해당 포트가 LISTEN상태에서  SYN을 받아서  SYN_RCV로 바꿈

    요청받았다는 의미로 ASK와 Client의 port도 열어달라고 SYN을 보냄

    CIinet에서 둘 다받아서 ASK를 서버에 다시 보냄 (ESTABLISHED 상태로 변경)

    Server도 ASK 받고 ESTABLISHED로 바뀜

     

     

     

    UDP

    전송계층의 비연결 지향적 프로토콜

    신뢰성은 없지만 TCP에 비해 빠르다는 장점이 있지만 먼저보낸 패킷이 느린 선로를 이용한다면 나중에 도착할 수도 있고 중간에 유실되어도 재전송을 하지 않기 때문에 뭔가 어디다 쓸지 감이 안오는 자식

    전화나 온라인게임 머리미디어 스트리밍에서 사용된다는데? 재전송을 하면 지연시간이 생기니깐 그런거 아닌애들 잠시 렉걸리면 중요한 타이밍 놓치는데 그 느낌이 이것때문인 듯

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    헤더정보와 제어비트에 관한 정보는 여기서 확인 https://coding-factory.tistory.com/614

     

    댓글

Designed by Tistory.