네트워크 프로그래밍 : TCP/IP 개론

TCP/IP 가 나타난 이유는 컴퓨터간 통신을 위해서 이다. 통신을 얘기할때 빠지지 않는것이 통신의 역사인데 - 언어, 북, 연기, 전화.. 이런식으로 발전을 해왔다. 여기에서 발전을 하게된 계기는 새로운 도구의 발견(혹은 발명)이 결정적인 역할을 하고 있음을 알 수 있다. TCP/IP 는 가장최근에 발명된 컴퓨터와 컴퓨터간의 지역네트워크(LAN) 혹은 광...

traefik

물리서버를 사용 할 때, 그리고 VM을 사용 할 적에도 다이나믹한 proxy server는 그다지 필요하지 않았다. 왜냐하면 그들 물리서버와 VM이 다이나믹하지 않았기 때문이다.proxy server(특히 reverse proxy server)는 인터넷 서비스에서 가장 중요한 인프라 중 하나다. 클라이언트와 백앤드 중간에서 보안 감시자의 역할을 해주며, 트...

IoT에서 DNS-SD(Avahi) 응용

이글을 읽기전에 를 읽어보자. DNS-SD과 Avahi에 대한 기본적인 이해를 끝낸 상태라고 가정한다. IoT는 크게 2개의 네트워크로 구분할 수 있다.지금 내가 관심있는 영역은 Local Network에 있는 (디바이스에 설치된)애플리케이션들이 어떻게 서로를 찾아서 데이터를 교환할 수 있을지에 대한 거다. 디바이스 종류는 "가정에서 사용하는 것"으로 한정...

NAT

참고 ...

AWS를 이용한 Global 서비스 인프라 설계

약 2년 정도 AWS 위에서 2개의 서비스를 개발했고, 서비스 아키텍처로 참여했다. 운 좋게 이들 서비스는 전 세계를 대상으로 하는 서비스였고 복잡한 서비스 였으며, 역시 운이 좋게도 (스타트업이나 인터넷 서비스 기업이 아닌)기성기업의 요구를 만족하는 서비스여야 했다.전 세계를 대상으로 하는 복잡한 서비스라면 배울게 많으니 운이 좋다라고 생각할 수 있겠는...

도커 네트워크

컨테이너들은 같은 노드에 있는 컨테이너들, 다른 노드에 있는 컨테이너들과 통신을 해야 한다. 이렇게 하기 위해서는 컨테이너를 위한 네트워크를 구성해야 한다. 이 문서에서는 다양한 네트워크 구성들을 살펴볼 것이다. VirtualBox로 아래와 같은 테스트 환경을 만들었다. 1. 호스트 운영체제 즉, 개인 테스크탑 운영체제의 IP는 192.168.56.1 이...

NFS - Network File System

Network File System은 네트워크 상에 파일 시스템을 구현하는 것으로 1984년 Sun Microsystems에서 개발한 프로토콜이다 그 뒤 에서 네트워크로 파일시스템을 확장하기 위한 용도로 널리 사용있다. NFS는 서버/클라이언트 모드로 작동합니다.Ubuntu Linux 11.04를 기준으로 설명합니다. 예전에는 NFS 설정하는 것도 꽤 복잡...

Container 기반 가상화 시스템에서의 Service Discovery

컨테이너(Container)를 기반 가상화 시스템이라고 해서 가상머신(Virtual machine) 기반 가상화 시스템과 다를 점은 없다. 컨테이너 가상화를 위한 네트워크, 스토리지 가상화 기술은 가상머신 가상화에서 이미 완성됐다. 단지 머신을 가상화 하느냐 하지 않느냐의 차이만 있을 뿐이다. 그러므로 컨테이너 기반 가상화 시스템을 만든다고 하면, 기존에 ...

PowerDNS

컨테이너 기반의 PaaS에서는 다양한 서비스들이 네트워크로 연결된다. 이들 서비스를 연결해서 완성된 애플리케이션으로 만들기 위해서는 각 서비스들이 서로를 discovery 할 수 있어야 한다. 가장 쉬운 방법은 서비스에 도메인 이름을 붙여주는 것이다. 예를 들어 워드프레스 애플리케이션을 실행한다고 가정해 보자. 워드프레스를 실행하기 위해서는 PHP+Apac...

Architecture

이번 장에서는 분산 시스템을 위한 주요 아키텍처에 대해서 다룬다. 소프트웨어적인 결과물을 만들기 위해서는 만들고자 하는 소프트웨어에 대한 아이디어를 가지고 있어야 한다. 아이디어 없는 결과물이란 있을 수 없다. 그리고 소프트웨어에 대한 아이디어를 만들기 위해서는 소프트웨어가 작동하는 환경에 대한 지식을 가지고 있어야 한다. GUI 프로그램과 batch 프로...