본문 바로가기

network10

[Network] 소켓 목차- 소켓은 통신에 필요한 데이터를 담는 파일이다!- TCP socket 동작 방식 - UDP socket 동작 방식  1. 소켓은 통신에 필요한 데이터를 담는 파일이다!1.1. L4(전송 계층)와 포트 번호전송 계층(L4)는 네트워크 계층(L3)에서 전송된 데이터를 애플리케이션 계층으로 전달하는 역할을 한다. 여기서 포트 번호를 통해 송신지와 수신지의 특정 애플리케이션을 식별한다. 즉, 포트 번호는 애플리케이션에서 동작하는 부분과 시스템 레벨에서 동작하는 부분을 연결해주는 중요한 역할을 한다. TCP나 UDP 프로토콜은 패킷의 헤더에 포함된 포트 번호를 통해 송신자와 수신자의 애플리케이션을 구분하여 네트워크 상의 데이터를 올바른 애플리케이션에 전달하게 된다.   1.2. 소켓과 애플리케이션 - 시스템.. 2024. 9. 6.
[Network] 네트워크 계층 (L3): 멀리 있는 컴퓨터와의 연결 목차- LAN을 넘어선 통신- L3의 프로토콜- 라우팅 테이블 및 전송 과정 1. LAN을 넘어선 통신1.1. 네트워크 계층물리 계층(L1), 데이터 링크 계층(L2)은 주로 LAN 내에서의 통신을 담당한다. 즉, 주로 같은 네트워크 세그먼트 또는 같은 물리적 네트워크 내에서의 통신을 처리한다. L2에서는 MAC 주소를 사용하여 같은 네트워크 내에서 기기 간의 통신이 이루어진다.  여러 네트워크 간에 통신하기 위해서는 L1, L2만으로는 부족하다. 여러 네트워크에 속한 모든 호스트의 MAC 주소를 파악하는 것은 너무나 어려운 일이기 때문이다. 그래서 더 먼 거리의 통신을 위해서는 네트워크 계층(L3)에서의 라우팅 과정이 필요하다. 라우터가 라우팅 테이블과 IP 주소를 사용하여 목적지까지의 최적의 경로를 .. 2024. 8. 19.
[WebRTC] 다대다 화상회의: OpenVidu를 도입하기까지의 자료조사 목차- Short Review- 1:1 통신- 그럼 다대다 화상회의는?- Kurento- Openvidu - 디스코드 클론코딩 1. Short Review - 1:1 통신지난번엔 WebRTC로 1:1 화상회의가 구현되는 flow를 정리해 봤다. 간단하게 복습해 보자. WebRTC: 화상 회의를 구현하는 방법목차- 프롤로그- WebRTC의 동작 원리- Signaling Flow - 마치면서  1. 프롤로그채팅을 구현하기 위해서는 지속적인 연결을 유지하는 웹소켓을 사용한다. 웹소켓에서는 A가 B에게 채팅을 보낼 때 두 사hwanheejung.tistory.com 1.1. 연결이 수립되기까지의 Flow크게 SDP Offer/Answer 과정과 ICE Candidate 교환 과정으로 나눌 수 있다. 이 두 과정.. 2024. 7. 21.
[WebRTC] 화상 회의를 구현하는 방법 (1:1) 목차- 프롤로그- WebRTC의 동작 원리- Signaling Flow - 마치면서  1. 프롤로그채팅을 구현하기 위해서는 지속적인 연결을 유지하는 웹소켓을 사용한다. 웹소켓에서는 A가 B에게 채팅을 보낼 때 두 사용자가 직접 연결되어 있는 것이 아니라 서버의 중개를 통해 대화를 나누게 된다. 그러니까 A가 채팅을 보내면, 서버로 전송되고, 서버는 해당 채팅방을 구독하고 있는 사용자들에게 메시지를 보내주는 것이다. 이 방식은 클라이언트의 수가 늘어날수록 서버에게 큰 부담이 된다. 간단한 텍스트를 보낼 때는 오버헤드가 작을 수도 있지만, 주고받는 데이터가 영상이나 오디오처럼 용량이 크다면 서버의 부담이 엄청날 것이다.  WebRTC(Web Real-Time Communication)는 서버의 중개 없이 클.. 2024. 7. 5.
[DizzyCode] WebSocket+JWT 시나리오 채팅방에 들어와서 채팅을 한다고 가정해 보자. jwt 토큰을 검사해야 하는 시점은 ①웹소켓으로 업그레이드할 때, ②STOMP 연결할 때, ③메시지를 전송할 때 등등이다. 2, 3은 별로 문제가 되지 않는데, 1번에서 문제가 생긴다. 어떤 문제인지 알아보고, 최적의 시나리오를 짜보자!  1. 웹소켓 업그레이드 시 무엇이 문제인지 보려면 우선 웹소켓 업그레이드 과정을 이해해야 한다.  ① 초기 HTTP 요청: WebSocket 연결은 초기 HTTP GET 요청을 통해 시작되며, 이 요청은 WebSocket 프로토콜로 업그레이드할 것을 요청하는 Upgrade 헤더와 함께 전송된다. GET /ws HTTP/1.1Host: localhost:8080Upgrade: websocketConnection: Upgrad.. 2024. 5. 29.
WebSocket+STOMP: 개념 이해부터 구현까지 [목차]- 프롤로그- STOMP- STOMP의 Prefix- 채팅 흐름을 이해해 보자  0. 프롤로그우선, 웹소켓이 처음이면 아래 글을 참고하자!  [Network] Web Socket목차0. 프롤로그1. 다양한 통신 방법2. WebSocket 통신 원리 3. HTTP vs WebSocket4. WebSocket의 한계와 해결 방법 0. 프롤로그지금까지 프로젝트를 하면서 사용했던 통신은 클라이언트가 먼저 요청을 보내hwanheejung.tistory.com 프로젝트를 시작하기 전 구글링으로 다른 사람들의 채팅 프로젝트를 구경했는데 프로토콜, 라이브러리에 대한 전반적인 이해 없이는 깔끔하게 코드를 관리하기가 힘들겠다는 생각이 들었다. STOMP, 메시지브로커, 메시지큐... 등등 알아들을 수 없는 말들이 .. 2024. 5. 29.