FastCGI

FastCGIFastCGI는 웹 서버와 프로그램이 상호작용(데이터를 주고 받기 위한) 다. 웹 서버는 유저가 요청한 파일을 읽어서 출력하는 것을 목적으로 하지, 데이터를 처리하는 것을 목적으로하지는 않는다. 웹 서버는 데이터의 처리를 외부 프로그램에 맡기는데, 이럴려면 외부 프로그램에 처리해야 하는 데이터를 넘기고 그 결과를 받는 가 필요하다. CGI는 ...

소켓 프로그래밍

소켓 프로그래밍이번 장에서는 네트워크 프로그래밍을 위한 기본적인 기술들을 살펴볼 것이다. 다루는 내용은 호스트와 서비스 주소를 다루는 법과 ,UDP 통신에 대한 것들이다. 그리고 GO API를 이용해서 TCP와 UCP 기반의 네트워크 프로그램을 개발하는 방법도 살펴볼 것이다.네트워크는 시리얼 링크, 구리선, 광섬유, 무선 등 다양한 매체로 구성되어 있다....

libpcap

libpcaplibpcap는 패킷 캡춰를 위한 함수를 포함하는 라이브러리다. 이 라이브러리를 이용하면 RAW Socket를 이용하는 것보다 쉽게 패킷캡춰를 필요로 하는 프로그램을 개발할 수 있다. ...

로드 밸런싱

로드 밸런싱로드밸런싱은 인터넷 트래픽을 여러 서버로 분산하기 위해서 사용하는 기술이다. 로드밸런싱을 해주는 소프트웨어 혹은 장비를 로드밸런서라고 한다. 인터넷 트래픽은 매년 100% 이상 증가하고 있지만 서버 성능은 트래픽 증가분을 따라가지 못하고 있다. 이 문제는 크게 두가지 방법으로 해결할 수 있다. 하나는 scale-up 즉 수직방향으로 CPU, 메...

nmap

nmapNmap(network Mapper)는 컴퓨터 네트워크 위에서 호스트와 서비스를 찾아서 네트워크 맵을 만들어주는 소프트웨어다. Nmap은 목적 호스트로 패킷을 보내고, 그 응답을 분석해서 맵을 그린다. ...

packet

packet데이터 통신을 할때 데이터만 보내지 않고 데이터에 여러가지 정보를 (헤더형식으로) 덧붙여서 보내는 통신방식이 있다. 가장 대표적인게 TCP/IP기반의 인터넷 통신인데, 인텟의 특성상 단일 경로를 가지지 않고 데이터가 보내어지기 때문에, 데이터앞에 데이터가 어디로 보내어지는지 데이터의 순서가 어떻게 되는지등의 정보를 포함시켜야 한다. 즉 데이터를...

STP - spanning tree protocol

STP - spanning tree protocol로 구성된 두개 이상의 컴퓨터 네트워크를 연결하기 위해서 "네트워크 브릿지"를 이용한다. 네트워크를 연결하는 브릿지는 패킷을 목적지로 보내기 위해서 연산을 해야 한다. 즉 패킷을 송신측과 동일한 네트워크 세그먼트로 보내야 하는지, 아니면 다른 세그먼트로 보내야하는지를 결정해야 한다. 이렇게 여러개의 브릿지...

Switch 네트워크 장비

Switch 네트워크 장비네트워크 스위치는 네트워크를 연결하는 일을 하는 특수목적의 컴퓨터기기다. Switch(스위치)는 자신에게 연결된 모든 기기들로 부터 들어오는 패킷을 수신하고, 이 패킷을 적당한 기기로 보내는 일을 한다. 스위치보다 단순한 네트워크 장비로 허브(hub)가 있다. 허브도 패킷을 수신하고 송신한다는 관점에서 보면 스위치와 근본적으로는 ...

TCP Wrapper

TCP Wrapper Wrapper는 호스트 기반의 네트워크 ACL 시스템으로, 리눅스나 BSD 같은 Unix-like 운영체제에서 Internet Protocol 서버로의 네트워크 접근을 필터링 하기 위해서 사용한다. TCP wrapper 그냥 줄여서 wrappers라고 부르기도 한다. 설정이 간단해서 널리 사용하고 있다.TCP wrapper를 사용하기...

ZigBee

ZigBeeZigBee는 personal area network영역에서의 고수준 커뮤니케이션 프로토콜이다. 개인영역, 즉 근거리에서의 통신을 목적으로 하기 때문에 소형, 저전력, 낮은 가격을 지향한다. IEEE 802.15 표준을 기반으로 한다. ZigBee는 저속 데이터 통신 애플리케이션을 위해서 사용한다. ZigBee는 250kbit/s의 통신속도를 ...