본문 바로가기

network10

[Network] Web Socket 목차0. 프롤로그1. 다양한 통신 방법2. WebSocket 통신 원리 3. HTTP vs WebSocket4. WebSocket의 한계와 해결 방법 0. 프롤로그지금까지 프로젝트를 하면서 사용했던 통신은 클라이언트가 먼저 요청을 보내면 서버가 응답을 보내주는 방식이었다. 이 말은, 서버는 클라이언트가 먼저 말을 걸어주지 않으면(요청이 없으면) 선톡을 할 수 없다는 의미이다. 이를 반이중 통신(half duplex communication)이라고 한다.채팅, 주식과 같이 데이터가 실시간으로 바뀌는 기능. 노션이나 피그마에서 팀원의 마우스가 화면에 보이는 기능은? 이와 같은 실시간 통신을 구현하기 위해 전통적인 HTTP 통신을 선택했다가는 뭐 가능이야 하겠지만 조금만 생각해 봐도 명확한 한계가 보인다. 클.. 2024. 5. 24.
[Network] 물리 계층(L1)과 데이터 링크 계층(L2) 목차1. 이더넷2. NIC와 케이블3. 허브4. 스위치 이번 글에서는 물리 계층(L1)과 데이터 링크 계층(L2)에 쓰이는 장비들에 대해 알아본다. 우선, 두 계층을 구분하는 기준은 주소 개념의 유무이다. 물리 계층은 주소 개념이 없다. 물리 계층에서는 호스트와 통신 매체 간의 연결과 통신 매체상의 송수신만 이루어지기 때문에 물리 계층의 네트워크 장비는 송수신되는 정보를 조작하거나 판단하지 않는다. 반면 데이터 링크 계층에는 주소 개념(ex. MAC 주소)이 있다. 데이터 링크 계층NIC, 스위치물리 계층케이블, 허브 1. 이더넷두 대의 컴퓨터가 서로 정보를 주고받으려면 케이블과 같은 매체로 연결되어 있어야 한다. 이때 이 통신 매체의 규격들과 송수신되는 프레임의 형태, 프레임을 주고받는 방법 등이 정의.. 2024. 5. 6.
[Network] 네트워크 시작하기! 목차1. 네트워크 거시적 관점   - 네트워크의 기본 구조   - 네트워크의 분류2. 네트워크 미시적 관점   - 프로토콜   - 네트워크 참조 모델   - 캡슐화와 역캡슐화3. 트래픽과 네트워크 성능 지표 1. 네트워크 거시적 관점에서 보기 ① 네트워크의 기본 구조네트워크는 그래프 형태, 즉 노드가 간선으로 연결된 구조로 호스트, 네트워크 장비, 통신 매체로 구성된다.  호스트가장자리 노드, 즉 네트워크 정보를 최초로 송신하거나 최종으로 수신하는 노드를 호스트라고 한다. 우리가 친구에게 메시지를 보낼 때, 내 스마트폰도 호스트, 그 메시지를 받은 친구의 스마트폰도 호스트이다. 네트워크를 통해서 정보를 보내고, 전달받은 정보를 최종적으로 수신했기 때문이다. 요즘에는 스마트폰, 노트북, 데스크탑, 서버 컴.. 2024. 5. 4.
[TaskStock] 인증/인가 로직 설계하기 with JWT 프롤로그프로젝트 TaskStock기간 기획, 개발 : 2023.11.7~ 베타테스트 : 2024.2.22~3.14 정식 출시 : 2024.3플랫폼iOS, Android언어FE: TypeScript / BE: JavaScript프레임워크 FE: React Native / BE: Node.js Express라이브러리Redux Toolkit TaskStock은 실제로 사용자를 받을 것을 염두하고 만든 서비스다 보니 보안에 신경을 많이 썼다. 우리가 JWT를 쓰면서 어떤 고민을 거쳐 어떤 로직을 설계했는지 소개해보려고 한다. 로직 설계 과정1. 일반로그인 로직 설계 이메일, 사용자 이름, 비밀번호를 받고 이메일은 unique하다. 토큰에는 유저 id가 포함되고, 개인정보와 관련된 것들은 최대한 토큰에 포함시키지.. 2024. 3. 28.