-
TCP Socket vs WebSocket프로젝트/WebSocket 2023. 6. 23. 00:01728x90
TCP Socket이란?
네트워크상 서버와 클라이언트 두 개의 프로그램이 특정 포트를 통해 양뱡향 통신이 가능하도록 만들어주는 소프트웨어 장치입니다.
intranet 바운더리(조직 내 네트워크)에서 작업하는 경우에는 해당 네트워크의 컴퓨터를 제어하고 TCP 연결에 적합한 포트를 열 수 있기 때문에 TCP 소켓을 통해 통신하는 것이 더 쉽습니다.
WebSocket이란?
하나의 TCP 접속에 전이중 통신 채널을 제공하는 컴퓨터 통신 프로토콜입니다.
HTTP나 HTTPS 위에서 동작하도록 설계되었으며 포트를 80번 443번 사용합니다.
이에 따라 HTTP를 통해 연결을 시작하되 TCP 소켓과 유사한 통신 stream을 허용합니다.
둘은 무엇이 다를까?
위의 둘은 서로 상반되는 개념이 아닙니다.
다만 소켓 통신을 기반으로 웹 애플리케이션에서 사용하기 쉬운 형태로 발전시키고 표준 프로토콜로 정의하여 웹소켓을 사용합니다.
추상화 정도
TCP Socket은 저수준이다.
웹소켓은 추상화되어있다.
protocol
TCP Socket은 4 계층(전송계층)에 위치에서 위치하여 동작합니다.
WebSocket은 HTTP에 기반하므로 7 계층(애플리케이션 계층)에서 동작합니다.
Data 전송방법
TCP Socket은 바이트스트림을 통한 데이터 전송을 사용합니다.
WebSocket은 구조화된 메시지 형식의 데이터를 다루게 됩니다.
방화벽
TCP Socket은 방화벽에 의해 차단될 수 있는 새 TCP 포트를 열어야 합니다.
웹소켓 통신은 TCP 포트 번호 80(또는 TLS 암호화 연결의 경우 443)을 통해 이루어지므로 방화벽을 사용하여 웹이 아닌 인터넷 연결을 차단하는 환경에 유용합니다.
참고자료
https://medium.com/kifi-engineering/websockets-vs-regular-sockets-b3b8e7ea0708
'프로젝트 > WebSocket' 카테고리의 다른 글
RSocket이란? (0) 2023.07.20 WebSocket Scale Out - 이론편 (0) 2023.06.24 Spring WebSocket 활용 (0) 2023.06.12 Spring Websocket 이론과 간단한 구현 (1) 2023.06.11 QR코드 인증방식 원리 (0) 2023.06.02