Advanced network Programming

Advanced network Programming 리얼타임 시그널, kqueue, C10K, epoll 등 최신 네트워크 프로그래밍 기술에 대한 내용들 커널 2.4를 기준으로 작성된 예전 문서들은 2.6에 맞게 수정 C10K 문서를 위주로...

비 동기 입출력 프로그래밍

비 동기 입출력 프로그래밍비동기 입출력 프로그래밍에 대해서 다룰 계획임. POSIX AIO도 함께.소켓 응용 프로그램을 개발하다보면 종종 봉쇄(blocking) 소켓, 비 봉쇄(non-blocking) 소켓이란 말을 듣는다. 봉쇄 소켓 보다 비 봉쇄 소켓이 성능이 좋다느니, 이런 경우에는 비 봉쇄 소켓을 사용해야 한다느니 하는 것들이 그것이다. 특히 요즘...

Tcpdump와 WireShark를 이용한 패킷 분석

Tcpdump와 WireShark를 이용한 패킷 분석네트워크 관리자는 아니라서 tcpdump를 달고사는 건 아니지만 간혹 네트워크 프로그램 디버깅 목적으로 사용하곤 합니다. 그 때마다 드는 생각이 있죠. "왜 리눅스에는 윈도우의 wireshark와 같은 GUI 기반의 분석툴이 없을까. ?".클라우드 관련일을 하다보니, 패킷을 분석해야할 일이 많아진 요즘에...

윈도 사이즈와 소켓 버퍼

윈도 사이즈와 소켓 버퍼TCP는 데이터의 신뢰성을 보장한다. 신뢰성 보장의 핵심은 전송 패킷에 대한 ACK 응답이다. 내가 보낸 데이터에 대해서 일정 시간동안 응답이 없다면, 상대측이 데이터를 받지 못한 것으로 간주 하고 재 전송하는 식이다.TCP의 전송 <-> 응답시스템은 신뢰성을 보장해주는 매우 좋은 방식이긴 하지만, 비 효율적일 수 있다는 문제가 발...

epoll - 커널 2.4 기준

epoll - 커널 2.4 기준이 문서는 kernel2.4를 기반으로한 오래된 문서입니다. 기술적인 내용만 참고하고 으로 변경사항을 확인하면 될 것 같습니다. 일단 2.6은 커널패치나 라이브러리 없이 epoll을 지원하기 때문에, 2.6을 사용하는 지금은 라이브러리와 커널 설정 부분은 읽을 필요가 없습니다. 작성일 수정일 언제 날 잡아서 2.6에 맞...

Pcap을 이용한 패킷캡쳐 응용

Pcap을 이용한 패킷캡쳐 응용...

libpcap을 이용한 프로그래밍

Libpcap(이하 pcap)은 "Portable Packet Capturing Library"의 줄임말이며, 해석그대로 "간단하게 패킷을 캡쳐하기 위한 함수모음(라이브러리)" 이다. 물론 pcap 외에도 패킷캡쳐를 위한 도구들이 있기는 하지만, 대부분의 경우 운영체제에 종속적이여서, 운영체제별로 코드를 다시 짜야 한다는 불편함이 있다. 대표적인 도구로는 ...

Port Scannig 검사툴

Port Scannig 검사툴...

네트워크 프로그래밍 기초 문서들

네트워크 프로그래밍 기초 문서들네트워크 프로그래밍과 관련된 문서들의 모음입니다....

인터넷 주소 변환

인터넷 주소 변환이번 글은 도메인주소 그리고 점 표기 방식주소 (xxx.xxx.xxx.xxx), 32 bit 주소간의 변환이 어떻게 이루어지는지에 대한 내용을 담고 있다.이들에 대한 이해는 인터넷 관련 어플리케이션을 제작하는데 많은 도움을 줄것이다.IPv4에서 인터넷(1019811872 대신에 www.joinc.co.kr을 사용하는 식이다. 도메인 주소는...