CS 지식/네트워크(Network)
-
OSI 7 layer와 TCP/IP 4 layerCS 지식/네트워크(Network) 2023. 5. 25. 00:23
OSI 7 layer vs TCP/IP Model - OSI : Open Systems Interconnection - TCP/IP : Transmission Control Protocol / Internet Protocol OSI 7 Layer - 각 layer는 다음 높은 layer에 service를 제공해야 한다. - 한 layer를 수정한다고 해서 다른 layer들도 수정해야 하는 것은 아니다. - conceptual/theoretical model. - 문제를 분석하고 문제의 원인을 분리하는데 도움이 됨. 모델의 어느 특정 계층으로 문제를 좁힐 경우 불필요한 많은 작업을 피할 수 있음. 유지보수 편함. - ISO(국제 표준 기구)에 의해 개발됨. - interface, service, proto..
-
세션 기반 인증 vs 토큰 기반 인증CS 지식/네트워크(Network) 2023. 5. 12. 14:43
세션 기반 인증 - HTTP는 stateless 프로토콜이기 때문에 누가 요청을 했는지, 인증된 client인지를 확인할 수 없음 => server 측에 client의 접속 상태를 저장하는 세션 기반 인증 활용 - 요청마다 session storage에 저장된 유효한 세션인지 확인해야 함. 토큰 기반 인증 - JWT(JSON Web Token)을 가장 많이 사용 - token에 사용자 인증을 위한 정보가 담겨있기 때문에 서버에 사용자 정보를 저장하지 않고, 전달받은 token의 서명과 데이터를 검증하는 것만으로 인증이 가능. - 사용자의 인증(ID/PW)이 완료되면 서버는 비밀키 또는 공개/개인 키를 이용해 서명한 token을 client에게 전달. - client는 토큰을 보관하고 있다가(가장 쉬운 방..
-
대칭키 vs 공개키CS 지식/네트워크(Network) 2023. 5. 5. 21:28
대칭키 대칭키 : 암호화에 사용되는 키와 복호화에 사용되는 키가 동일. 송신자와 수신자가 동일한 키를 소유하고 있기 때문에 두 사람 모두 키에 대한 비밀을 유지해야 함. => 키의 비밀 유지가 가장 중요하며 이 키를 '비밀키'라고 함. * 아래의 디지털 서명 예시와 같이 꼭 공개키로만 암호화해야만 하고 개인키로는 복호화만 해야 하는 것은 아님. 장점 : 암호화와 복호화를 수행하는데 소모되는 시간이 매우 짧음. => 하드디스크에 저장된 파일을 암호화하는 데 사용 => 파일이나 이메일 등을 암호화하는데 효과적. 그러나 멀리 떨어져 있는 사람과 암호화된 파일이나 이메일을 송, 수신하기 위해서는 비밀키를 전달할 수 있는 방법이 제공되어야 함. => 확장성이 떨어짐 *이런 비밀키 전달을 위해 공개키 암호 알고리즘..
-
Load Balancing(로드밸런싱) 과 ProxyCS 지식/네트워크(Network) 2023. 5. 1. 19:58
서버로 traffic이 몰릴 때 해결법 1) scale-up : 서버의 하드웨어를 고성능으로 바꾸어 해결 2) scale-out : 복수의 서버를 사용하여 처리 분담. 여러 대의 웹 서버를 설치하고 한대가 담당하는 사용자의 수를 줄이는 방법 Load Balancing 서버로 요청하는 client 수가 늘어나서 access가 증가할 때 사용. application을 지원하는 리소스 풀 전체에 네트워크 트래픽을 균등하게 배포하는 방법. Load Balancing : 해야 할 작업을 나누어서 서버의 부하를 분산시키는 것 Load Balancer : 여러대의 서버가 분산처리 할 수 있도록 요청을 나누어주는 서비스 Load Balancer가 요청을 분배할 때의 판단 근거 - 웹 서버의 부하 상태 => 시험 패킷과..
-
쿠키 vs 세션CS 지식/네트워크(Network) 2023. 4. 21. 17:42
Cookie(쿠키) - user의 computer에 저장이 되는 작은 text file이다. - Cookie의 file size는 최대 4KB이다. - 사용자가 처음 웹사이트를 방문하면 사이트가 data packet를 cookie 형태로 사용자 computer로 보낸다. - client 측에 아무나 볼 수 있는 text 형태로 저장되기 때문에 상대적으로 안전하지 않다. - String data type만 저장한다. - 필요에 따라 cookie를 enable 하거나 disable 할 수 있다. - cookie가 저장되는 경로는 브라우저에 의해 결정될 수 있지만 보통 internet explorer는 주로 Temporal Internet File Folder에 저장한다. - 브라우저마다 저장되는 쿠키가 달라..
-
HTTP 프로토콜(Hypertext Transfer Protocol)CS 지식/네트워크(Network) 2023. 4. 18. 17:00
HTTP : 클라이언트 - 서버 프로토콜. - 헤더를 통해 확장가능 - 상태를 저장하지 않는 Stateless. 동일한 연결 상에서 연속하여 전달된 두 개의 요청 사이에는 연결고리가 없음. - 그래서 상태가 있는 세션은 있음. 각 요청들에 세션을 만들도록 HTTP 쿠키가 추가됨. - 연결이 필수는 아니지만 연결 기반인 TCP표준에 의존. HTTP 주요 버전들 HTTP/1.0 (아래 요청, 응답 구성 사진들에 해당) - 각 요청/응답에 대해 별도의 TCP 연결을 염. 요청이 보내져야 할 때마다 커넥션이 매번 새로 생성. 응답이 도착한 이후에는 연결을 닫음. (단기 커넥션) 단점 : 새로운 연결을 맺는데 시간이 상당, TCP 기반 커넥션 성능은 오직 커넥션이 예열된 상태일 때만 나아진다는 것. 여러 요청을 ..