본문 바로가기

Network

(3)
JWT와 토큰 기반 인증 방식에 대해 알아보겠습니다. 정의JWT(Json Web Token) 는 RFC 7519 에 명세되어 있는 국제 표준으로써, 통신 양자간의 정보를 JSON 형식을 사용하여 안전하게 전송하기 위한 방법입니다. 이는 정보가 토큰 자체에 포함된 (Self-Contained) 토큰입니다.구성요소JWT는 '.' 구분자를 사용하여 Header, Payload, Signature 의 3부분으로 구분되며, 각 부분은 Base64 로 인코딩 되어 표현됩니다. (Base64 은 Binary Data 를 6 bit 씩 자른 뒤 6 bit 에 해당하는 문자를 색인표에서 찾아 Text 로 변경하는 인코딩 방법입니다. ) 1. 헤더(HEADER)는 해싱 알고리즘(alg) 과 토큰 타입 (typ) 의 정보를 지니고 있습니다.- alg : 기본적으로 HMAC, ..
[Network] 소켓과 소켓 통신 인터넷 프로토콜 스택 4계층을 공부 중 "애플리케이션 계층에서 데이터가 소켓 라이브러리를 통해 인터넷 계층으로 전송된다." 를 보고 소켓은 무엇인지에 대한 의문이 생겼다. 소켓이란? 소켓의 등장 통신이 일어나는 과정을 단계별로 파악하기 위해서 네트워크에서 통신이 일어나는 과정을 7단계로 나누어 네트워크를 관리한다.이를 OSI 7계층이라고 하며, 계층 간에 존재하는 네트워크 통신을 위한 규약인 레이어별 프로토콜이 있다. 하지만, 네트워크를 관리하기 위해서 계층만 나누는 걸로는 한계가 있다. 레이어별 프로토콜은 일종의 통신 규약일 뿐 프로토콜 구현을 위해 안에 들어갈 구체적인 구현부인 함수가 필요하기 때문이다. 소켓은 이러한 함수들의 body를 제공한다. 즉 프로토콜의 세부적인 명세를 일일이 정의할 필요없이..
[Network] 인터넷 프로토콜 스택 4계층으로 보는 인터넷 네트워크 인터넷 프로토콜 스택의 4계층이란? 스택이란 이름에서 알 수 있듯이 특정한 프로토콜이 아닌 프로토콜의 모임으로 인터넷에서 컴퓨터들이 서로 데이터를 주고 받는데 쓰이는 프로토콜이 모인 것이다. 4계층은 인터넷 기반의 효율적인 데이터 전송이라는 문제를 하나의 덩치 큰 프로토콜 설계로 해결하는 것이 아니고, 그 문제를 작게 나눠서 4개로 계층화한것이다. 계층은 다음과 같이 네트워크 인터페이스 계층, 인터넷 계층, 전송 계층, 애플리케이션 계층으로 나눌 수 있다. 네트워크 인터페이스 계층이란? 네트워크 인터페이스는 이름처럼 인접한 네트워크 기기 간에 데이터를 전송하는 역할을 담당하고 있다. 직접 연결된 네트워크용 하드웨어 기기 간에 데이터 전송을 제어함으로써 상위 계층은 하드웨어의 종류에 상관없이 통신할 수 있..