RPC - Remote procedure call

RPC - Remote procedure callRemote prodecure call (이하 RPC)는 다른 주소공간에서 서브루틴이나 프로시져를 실행시키기위한 컴퓨터 프로그래밍 기술이다. 이 기술을 이용하면 프로그래머는 마치 로컬에서 프로그램을 돌리는 것과 같은 결과를 얻어올 수 있다. 이렇게 여러대의 컴퓨터에 프로시져를 분산하고, 결과를 취합하는 모델...

SMTP - Simple Mail Transfer Protocol

SMTP - Simple Mail Transfer Protocol 미완성SMTP는 거의 모든 email 소프트웨어 들이 사용하는 프로토콜로, 와 함께 지금의 인터넷이 있게한 일등공신이라 할 만하다. SMTP가 나온게 1981년 경이니, (2013년 현재)30년이 훌쩍넘은 프로토콜이다. SMTP가 국내에서 상업적으로 가장 주목받았던 시기는 1990년...

Socket API

Socket API완성이 되면 docbook(네트워크 환경은 매우 다양하며, 예측하기 힘든경우도 많이 발생한다. 때문에 네트워크프로그램의 종류에 따라서 소켓의 세부사항을 조절해야 하는 경우가 발생한다. 이러한 소켓옵션 설정을 위해서 소켓은 getsockopt()와 setsockopt()두개의 함수를 제공한다. 이름에서 알 수 있듯이 getsockopt는 ...

소켓 전달을 통한 prefork 서버 구현

소켓 전달을 통한 prefork 서버 구현fork()는 새로운 자식프로세스를 실행시키기 위해서 사용하며, 다수의 클라이언트를 동시에 처리하기 위해서 입출력다중화(이 방식의 단점이라면 fork()로 새로운 프로세스를 생성시키는 자체에 많은 비용이 들어간다는 점이 될 것이다. 이 문제를 해결하기 위해서 적당한 수만큼 프로세스를 미리 할당시켜 놓고, 새로운 연...

예제로 알아보는 소켓 프로그래밍

예제로 알아보는 소켓 프로그래밍 예제가 쓸데 스럽게 복잡함. 예제 프로그램을 echo 로 바꿔야 겠음. -- 2011/02/22 --이문서에서 소켓(여기에서는 이 사이트의 취지에 맞도록 가장 간단하게 접근할수 있는 방법, 즉 "문고리"를 잡는데에 까지만을 설명하도록 하며, Unix(Linux) 상에서가장 널리, 그리고 일반적으로 사용되는 INET(TCP/...

소켓 타임아웃

소켓 타임아웃서버 / 클라이언트 모델 구축을 위해서 우리는 보통 Socket API 를 사용하게 된다. 이 Socket API 는 전송계층 레벨에서 통신을 가능하도록 도와주며, 매우 신뢰성있게 작동한다. 대부분의 read/write 작업을 할때 문제가 생기면 문제 상황을 리턴해 주기 때문에 문제상황에 대처하기도 쉽다.그러나 네트워크 단절, 클라이언트 프로...

subnet 기초

sub-networking 을 이해하려면 우선 IP( 번가 어떻게 만들어지고 관리되어지는지 알고 있어야 한다. 이러한 IP 번호에 대해서는 TCP/IP 개요(2) 에서 간단하게 알아본적이 있는데 이번장에서는 IP 번호에 대해 좀더 자세한 내용을 알아보도록 할것이다....

네트워크 프로그래밍 : connection Time 얻어오기

네트워크 프로그래밍 이 문서는 여러분이 TCP( 최근 QOS(그러나 이러한 임시의 방법은 다음과 같은 문제점을 가진다. 1. connection time 은 구할 수 없다. 1. 다양한 클라이언트에서의 데이터 응답시간을 얻어낼 수 없다. QOS 관점에서 보자면, 이러한 문제점은 치명적이다. QOS를 위한다면, 다양한 지역과 도메인에서의 정확한 con...

네트워크 TIME_WAIT 다루기

네트워크 TIME_WAIT 다루기 연결을 종료하기 위해서는 FIN패킷 교환이 이루어진다. 이때 우아한 종료가 이루어지기 위해서는 총 4번의 패킷교환이 필요하다. 우아한 종료라는 것은 연결된 호스트 양쪽이 모두 연결이 종료되었음을 알게 되는 상태다. 만약 FIN 패킷을 보냈는데, 상대 호스트에서 ACK 패킷을 보내지 않고 종료해버리는 경우 FIN을 보낸측은...

UDP 응답시간 체크하기.

이글은 TCP, IP, UDP 그리고 libpcap에 대한 내용을 알고 있을 것이라는 가정하에 작성되었다. TCP 프로토콜과는 달리 UDP 프로토콜은 별도의 연결과정을 거치지 않고, 그냥 데이터를 전송하고 받는다. 또한 흐름제어를 위한 SQE ACK, ACK를 가지지 않는다. 그러므로 단지 Src IP, Src Port, Dst IP, Dst Port 만을...