내가 까먹을까봐 만든 블로그

전체 글

Computer Science/Software Engineering

[Server] CGI, WSGI, ASGI와 Gunicorn, Uvicorn의 관계

규모가 크지 않은 서버를 구현할 때 Python을 이용하는 것은 생산성 측면에서 이득이 있다. 그래서 Flask를 이용하여 종종 API 서버를 구현하곤 했지만 최근 새 프로젝트에 FastAPI를 이용해 직접 API 서버를 구현해 보았다. 이때까지는 wsgi, asgi 등 콘솔창에 찍히는 로그를 별로 신경 안 쓰고 넘어갔었다. 이외에도 gunicorn, uvicorn 등 이제는 알고 넘어가야 할 때인 듯하여 이번 기회에 정리를 해본다. 일반적으로 Python으로 서버를 구현할 때 Nginx와 연동하여 배포한다. 여기서 주의할 점은 파이썬 웹 서버 프레임워크는 웹 서버가 아니라는 것이다. 물론 개발 중에는 Flask나 Django에 내장된 WSGI compatible server를 이용하는 것이 생산성에 도..

Computer Science/Computer Network

[네트워크 실습] 네트워크 구성 - OSPF(Open Shortest Path First)

1. 주요 개념 OSPF(Open Shortest Path First) Backbone Area DR(Designated Router) OSPF(Open Shortest Path First)는 계층구조 동적 라우팅 프로토콜로 주로 대규모 네트워크에서 area를 이용하여 분할 관리할 수 있다. RIP는 Hop Count 만을 보고 경로를 결정하는 반면 OSPF는 많은 요소를 고려하여 경로를 선택하기 때문에 훨씬 효율적인 경로 선택 가능하다. OSPF의 장점은 RIP에선 30초마다 업데이트가 발생하므로 convergence time(수렴 시간)이 길지만 OSPF는 링크에 변화가 생겼을 때만 발생하므로 상대적으로 convergence time이 RIP에 비해 짧다. 또한 OSPF는 ABR(Area Border..

Computer Science/Computer Network

[네트워크 실습] 네트워크 구성 - RIP(Router Interchange Protocol)

1. 주요 개념 RIP(Router Interchange Protocol) DV(Distance Vector) Auto Summary RIP(Router Interchange Protocol)는 거리 벡터(Distance Vector, DV) 라우팅 프로토콜로서 거리인 홉(hop)의 개수와 홉의 방향으로 길을 찾아가는 방식을 사용한다. 즉, 경유할 가능성이 있는 라우터를 홉수로 수치화하여 DVA(Distance Vector Algorithm)라는 알고리즘으로 인접 호스트와의 경로를 동적으로 교환하는 방식의 프로토콜이다. RIP는 30초마다 주기적으로 인접 라우터에게 자신의 정보를 광고(Advertise)한다. 동적 라우팅 프로토콜이므로 어떤 최단 경로가 차단되면 우회하여 다음 최단 경로를 찾아준다. RI..

Computer Science/Computer Network

[네트워크 실습] 네트워크 구성 - Static routing

1. 주요 개념 AD(Administrative Distance) Static routing Static routing 실습을 진행하기 전 VyOS나 실습 환경이 아직 세팅되지 않았다면 아래 포스팅을 참조하기 바란다. 2023.01.03 - [Computer Science/Computer Network] - [네트워크 실습] VyOS를 이용한 라우팅 프로토콜 실습 환경 세팅 AD(Administrative Distance) 네트워크 내에서는 AD(Administrative Distance, 관련 거리) 값이라는 것이 존재한다. 이 값이 낮을수록 우선순위가 높다. AD는 여러 라우팅 프로토콜이 함께 동작하는 상황 속 각각 동일 목적지 네트워크 경로를 다르게 학습하여, 다른 정보를 줄 때 관리 측면에서 신뢰..

Computer Science/Computer Network

[네트워크 실습] VyOS를 이용한 라우팅 프로토콜 실습 환경 세팅

1. 주요 개념 VyOS CentOS VyOS는 Debian GNU/Linux 기반의 오픈 소스 네트워크 운영 체제로 무료로 라우팅 플랫폼을 제공한다. 주요 기능은 아래와 같다. BGP (IPv4 and IPv6), OSPF (v2 and v3), RIP and RIPng, policy-based routing. IPsec, VTI, VXLAN, L2TPv3, L2TP/IPsec and PPTP servers, tunnel interfaces (GRE, IPIP, SIT), OpenVPN in client, server, or site-to-site modes, WireGuard. Stateful firewall, zone-based firewall, all types of source and desti..

Computer Science/Computer Network

[통신] V2X(Vehicle to Everything) 통신

주요 개념 V2X(Vehicle to Everything) 5G 지능형 교통체계(Intelligent Transport Systems, ITS) 보안 및 프라이버시 세간에 자율주행(Autonomous Driving) 자동차를 생산하고 판매하는 기업들이 이슈가 되고 있고 이전보다 우리 삶에 더욱 가깝게 다가오고 있다. 하지만 이와 함께 여러 가지 법제도 마련에 대한 논의와 안정성 문제에 관한 논의가 오가고 있다. 또한 5G와 같은 통신기술 발달에 따라 많은 기업들이 교통정보를 실시간으로 수집하거나 교통수단의 수송효율을 높이기 위해 지능형 교통체계(Intelligent Transport Systems, ITS)에 주목하고 있다. 이미 자율주행 기술은 ADAS시스템(카메라, 레이더, 라이다 등)과 각종 최첨단..

AlienCoder
외부 저장소
loading