본문 바로가기

TCP/IP11

Nagle 알고리즘 출처 : http://depiness.egloos.com/772710 : http://www.joinc.co.kr/modules/moniwiki/wiki.php/man/12/Nagle 1. 일반 네트워크 통신 방법 일반적인 통신 알고리즘은 데이터는 패킷으로 만들어 보낸다는 것이며 수신 호스트는 이에 대한 ACK를 보낸다는 것이다. 예를 들어 A,B 두 호스트가 통신을 한다고 했을때 A는 B에게 'Nagle' 라는 데이터를 보내기 원하면, 먼저 'N'이라는 데이터 를 패킷으로 만들어 출력 버퍼로 보내고 ACK를 받고 안받고 관계없이 'a'를 패킷으로 만들어 보내고 이어서 'g', 'l','e' 각 데이터를 패킷으로 만들어 보낸다. 수신호스트로부터의 ACK가 언제 오는가는 전혀 관계가 없고, 언제 오든지 오.. 2011. 5. 2.
getsockopt() , setopt () 함수 출처 : http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/Network_Programing/Documents/SocketAPI 네트워크 환경은 매우 다양하며, 예측하기 힘든 경우도 많이 발생한다. 떄문에 네트워크 프로그램의 종류에 따라서 소켓의 세부사항을 조절해야 하는 경우가 발생한다. 이러한 소켓 옵션 설정ㅇ르 위해서 소켓은 getsockopt() 와 setsockopt() 두개의 함수를 제공한다. 이름에서 알 수 있듯이 getsockopt는 현재 소켓옵션값을 가져오기 위해서 ,setsockopt는 소켓옵션값을 변경하기 위해서 사용한다. 예를 들자면 동일한 네트워크 프로그램이라도 ATM망에서 작동하는 것과 인터넷망 PPP에서 작동하는 것은 환경에 있어서 .. 2011. 5. 2.
ioctl : 장치 제어 함수 참조 : http://wiki.kldp.org/KoreanDoc/html/EmbeddedKernel-KLDP/device-understanding.html 참조 : http://blog.naver.com/hajiheon/19411640 참조 : http://ieplab.snu.ac.kr/~alphard/work/dynamic_kernel_1.html ioctl(unsigned int fd,unsigned intrequest, long argument) ioctl은 input/output contrl을 의미하며 파일 디스크립터 (filedescriptor)를 가지고 캐릭터 디바이스 (character device)를 조종하는데 사용된다. (캐릭터 디바이스는 파일로 볼 수 있는, 읽어 들이거나 써넣을 수 있.. 2011. 4. 29.
소켓 함수 및 헤더들 -------------------------------------------------------------------- * connect : 함수는 생성한 소켓을 통해 서버로 접속을 요청합니다. 원형 : int connect (int sockfd, const struct sockaddr* serv_addr, socklen_t addrlen); int sockfd : 소켓 디스크립터 struct sockaddr * serv_addr : 서버 주소 정보에 대한 포인터 socklen_t addrlen : struct sockaddr * serv_addr 포인터가 가르키는 구조체의 크기 성공 시 0 return 실패시 -1 리턴 --------------------------------------------.. 2011. 2. 7.