라우터, 방화벽을 다루다보면 MTU와 MSS 두 단어를 흔히 접하게 된다. 비슷한 의미를 가지고 있기에 헷갈리고 있어 이 기회에 정리한다.

그동안 데이터플레인 개발만 하고 있었는데 이제 컨트롤플레인 개발을 할 필요가 있어서 gRPC에 대해서 들여다보았다. 꼭 gRPC를 사용하겠다는 결정을 하기는 이르지만 etcd 등 클라우드 네이티브 환경에서는 gRPC를 많이 사용하니까 `gRPC가 바이너리, 양방향 통신을 지원하는 언어 무관 RPC 프레임워크다` 라는 것 보다는 조금 자세히 알 필요가 있다.

라우팅은 패킷을 전달할때 패킷을 내보낼때 어느 인터페이스로 어느 Next-hop 주소로 보낼지를 결정한다.

UDP는 connectionless이기에 TCP와 달리 데이터 주고받을 때에 고려해야 할 다음과 같은 경우들이 있다. 보낸 요청에 대해서 다른 IP로부터 응답이 돌아오는 경우, 서버가 IP주소를 여러개 가지고 있을 때, 받은 요청에 대해 응답을 할 IP를 결정하는 경우

잠시 사용하던 윈도우에서 다시 리눅스로 돌아가고자 한다. 랩탑에 설치하는 것은 처음이다. 윈도우와 최대한 유사하게 꾸며보기로 한다.

Azure의 VNET(Virtual Network)은 클라우드상의 네트워크 환경이다. AWS의 VPC (Virtual Private Cloud)에 대응한다. VNET에 할당된 주소범위(CIDR)를 구분하여 서브넷을 만들고, 서브넷간의 라우팅이 가능하다. VNET은 독립된 네트워크인데 주소범위가 겹치지 않는다면 여러 VNET을 연결(peering)하여 구성이 가능하다. 이러면 VPC사이에서도 라우팅이 가능하다.

안녕하세요! 오늘은 OpenAI에서 개발한 최신 언어 모델, ChatGPT-3에 대해 이야기해볼께요. GPT (Generative Pretrained Transformer) 구조의 세 번째 버전인 ChatGPT-3은 NLP (Natural Language Processing) 세계를 휩쓸었습니다. 이 고급 언어 모델은 다양한 인터넷 텍스트로 교육되었기 때문에, 놀랍도록 정확하게 인간처럼 텍스트를 생성합니다.

OpenSSL 3.0의 큰 설계방향은 개발의 편의성을 위해서 모듈화/추상화를 만들어 넣은 건데, 반대급부로 성능이 많이 떨어졌습니다. 모듈이 복잡해지면 공유자원 사용을 위한 락이 많이 사용되는 경향이 있기 때문에, 스레드(코어)가 많아질수록 CPU 락 경합때문에 발생하는 성능 저하 현상이 문제가 됩니다.

일반적인 사용자들의 패스워드는 40 비트 정도의 엔트로피를 가진다고 합니다. 40 비트 키는 매우 취약하다는 이야기 많이 들어보셨을거에요. 랜덤하게 만들어도 72 비트 이상가기가 어렵다고 하는데요. 그래서 PBKDF2를 반복(iteration)해서 적용하여 안전한 키를 만듭니다.

TLS 1.2 미만 (SSL*, TLS1.0, TLS1.1)은 그 보안취약점으로 인해 IETF가 2021년 3월에 정식으로 관뚜껑에 못질을 하였습니다.

오늘은 비대면 시대의 보안기술로 제로트러스트와 함께 이야기 되고 있는 보안 서비스 엣지에 대해서 간단히 소개를 드려볼까 합니다. 사용자와 모든 정보자산이 사내망에 있고, 방화벽으로 내부와 외부를 격리하는 전통적인 보안 모델이 클라우드 시대에는 맞지 않게 되었어요. 보안을 하려면 검사및 조치를 하는 중앙지점이 필요한데, 사람은 안에도 있고 밖에도 있고요, 업무 자산도 사내망에도 있고...

eBPF를 꼭 커널 프로그래머들만 사용해야하는가? 꼭 그렇지많은 않다. 커널의 주요 실행 포인트들에서 eBPF를 위한 후킹 포인트를 제공하고 있기 때문에 종래의 top, iostat, vmstat, perf등보다 상세한 시스템 모니터링을 위해 사용할 수 있다. 넷플릭스 SRE팀의 브렌단 그렉이 eBPF를 이용한 여러가지 도구를 만들어 발표한 이후 SRE, 데브옵스 직무로부터 많은 관심을 받고 있다.

만든 프로그램이 장애가 발생하면 한시라도 빨리 그 내용이 개발자에게 전달이 되어야겠으나, 일터에서 만든 프로그램의 환경은 주로 폐쇄망이어서 결국 전화나 메시지로 전달을 받고 있다. 프로그램의 버젼과 관련정보, 스택트레이스등을 자동적으로 받을 수 있는 그 날이 언제인가..

parent project에서 child project를 git submodule로 사용할 때, child의 hash를 바꾼 parent를 체크아웃해도 로컬 child는 변하지 않는다.