IT 109

tcp 알고리즘

1. Piggybacked Ack(Delayed Ack) 데이터를 수신하면 Ack delay 타이머를 작동시켜서 일정 시간동안 기다리는 중 송신 데이터가 있으면 Ack 과 같이 전송을 하는 방법. 만약 Ack delay 이후에도 송신 데이터가 없으면 Ack 만 전송한다. 2. Naggle Algorithm 세그먼트의 크기가 일정 크기가 될 경우만 데이터를 전송해서 네트워크의 효율성을 올리기 위한 방법이다 3. Karn Algorithm 패킷 전송후 RTO(Retransmission TimeOut) 이후에 재 전송을 한경우 이후에 수신된 Ack 가 어떤 녀석의 Ack 인지 구분할 수가 없다(첫 Packet 인지 재전송된 Packet 인지). 이를 해결하기 위해 재전송이 이루어진 경우는 재전송에 대한 Ack..

IT/Doc 2007.11.06

C로 구현하는 MIME Parser (4)

C로 구현하는 MIME Parser (마지막회) MIME Parser의 실제 구현 이번 호는 연재의 마지막으로 실제 MIME Parser를 구현해볼 것이다. 비록 제한된 지면으로 인해 모든 것을 다 설명할 수는 없지만 MIME Parser의 핵심만큼은 이해할 수 있도록 설명할 것이다. 이번 호의 내용이 쉽게 이해된다면 자신만의 MIME Parser를 구현하는 것은 시간 문제일 것이다. 그럼, MIME Parser를 실제로 구현해보도록 하자. (주)넷사랑컴퓨터 조한열 hanyoul@netsarang.com 1. MIME Parser의 자료 구조 프로그램을 만들 때, 가장 중요한 것 중의 하나가 자료 구조이다. 자료 구조만 보면 프로그램의 모든 것을 본 것과 같다라는 명언이 있을 정도로 프로그램을 설계할 때..

IT/Tips 2007.10.17

C로 구현하는 MIME Parser (3)

C로 구현하는 MIME Parser (3) MIME Message를 이해하자. 이번 호에서는 지난 호에서 살펴보았던 내용들을 토대로 MIME Message를 어떻게 구성하는지, 또 구성된 MIME Message에서 어떻게 우리가 원하는 데이터를 끄집어내는지에 대해서 자세히 살펴볼 계획이다. 이번 호가 끝나면 MIME Parser를 구현하기 위한 기본 내용을 모두 숙지하게 된다. 이를 기초로 하여 마지막 호인 다음 호에서는 실제로 MIME Parser를 구현해 보도록 하자. (주)넷사랑컴퓨터 조한열 hanyoul@netsarang.com 1. 제일 간단한 MIME Message 리스트 1의 메일 메시지는 MIME Message이다. 왜? 이유는 단 한가지이다. MIME-Version이란 MIME 헤더가 R..

IT/Tips 2007.10.17

C로 구현하는 MIME Parser (2)

C로 구현하는 MIME Parser (2) MIME과 7bit 인코딩 전자메일을 통해 바이너리 파일을 전송하거나, 다양한 민족국가의 언어를 전송하기 위해서는 8bit 전송이 필수적이다. 이번 호에서는 MIME의 개괄적 이해와 7bit 인코딩에 대한 내용을 알아보도록 하자. (주)넷사랑컴퓨터 조한열 hanyoul@netsarang.com 1. MIME MIME이란 그 말뜻 그대로, 다양한 목적을 위해 전자메일 메시지 형식을 확장시킨 것을 말한다. 지난 호에서도 언급했지만 미국에서 군사적인 목적으로 연구 개발되어 사용되던 인터넷이 전세계로 확산되면서 인터넷에 대한 다양한 요구들이 늘어나기 시작했다. 이러한 요구들 가운데에는 물론 전자메일을 그 대상으로 하는 것도 많았다. 그 중 대표적인 것이 전자메일을 통해..

IT/Tips 2007.10.17

C 로 구현하는 MIME Parser (1)

C로 구현하는 MIME Parser (1) 메일의 동작 원리와 메일 형식 메일과 MIME에 대해 이해를 하고, 스스로 MIME Parser를 구현해보면 추후에 어떤 MIME 버전이 나오더라도 어렵지 않게 새로운 버전을 자신의 애플리케이션에 적용시킬 수 있을 것이다. 이러한 의도를 가지고 메일과 MIME Parser 구현에 관한 연재를 하고자 한다. (주)넷사랑컴퓨터 조한열 hanyoul@netsarang.com 인터넷이 등장하면서 가장 많이 사용되어 왔으며 앞으로도 그 확고한 지위를 놓치지 않을 애플리케이션이 바로 전자메일이다. 월드 와이드 웹(WWW)이 급속도로 성장하고 있지만 전자메일을 따라잡을 수는 없을 것이고, 이는 앞으로도 꽤 오랫동안 마찬가지일 것이다. 오히려 전자메일은 웹의 편리성을 자신에게..

IT/Tips 2007.10.17

일본어메일 송신

의외로 한국의 큰 소프트 개발회사에서 개발한 일본어 소프트에서도 위와같은 사례를 많이 보아왔습니다. 아래의 내용은 PHP뿐만아니라 C, PERL, JAVA로 개발을 하더라도 해당이 되는 부분입니다. 일본어 메일은 반드시 JIS코드로 송신해야합니다. 메일 해더의 캐릭터셋은 ISO-2022-JP로 합니다. 일본어가 들어간 송신자이름, 수신자이름, 제목, 파일명은 반드시 ISO-2022-JP코드로 64B인코딩해야합니다. (예,Subject: =?ISO-2022-JP?B?GyRCI1cjRSNCRVBPPyROJCpDTiRpJDsbKEI=?=) RFC규정에 Quoted Printable 인코딩 방법이 있는데 이 인코딩 방법은 일본어 메일 헤더내에 절대로 사용하지 않아야 합니다. 의외로 이 인코딩 방법을 쓰는 메일들..

IT/Tips 2007.10.04

FTP 응답 부호.

FTP 기능 그룹별 응답 부호. 1. 200 명령 OK 2. 500 구문 요류, 명령이 인식되지 않았음. [여기에는 너무 긴 명령행과 같은 오류가 포함될 수도 있다.] 3. 501 매개변수나 인자에서는 구문 오류. 4. 202 명령이 장소(site)에서 구현되지 않고, 불필요함 5. 502 명령이 구현되지 않았음. 6. 503 명령들이 순서가 잘못되었음. 7. 504 그 매개변수에 대하여 명령이 구현되지 않았음. 8. 110 재개시 표시기 응답. 이 경우 텍스트는 정확하고 특정 구현의 여지가 없다; 이 것은 다음 사항을 읽어야 한다: MARK yyyy = mmmm 여기서 yyyy는 사용자-프로세스 데이타 열 표시기이고, mmmm은 서버의 동등한 표시기(equivalent marker)이다.(표시기와 “=..

IT/Tips 2007.07.20

Ftp Protocol (active mode and pasv mode)

active 모드와 pasv 모드의 Data 전송 구조에 대한 간략한 설명이다. 접속방법과 Command 사용법은 다른 곳에서 참고 하기 바랍니다. 근데 왱? 한가지 방법으로 안하겅.. active 모드와 pasv 모드 두가지를 지원할까요???? 함 생각해 봅시당...음... 용어 설명 PI The protocol interpreter. The user and server sides of the protocol have distinct roles implemented in a user-PI and a server-PI. DTP The data transfer process establishes and manages the data connection. The DTP can be passive or act..

IT/Tips 2007.05.08