请问:要设计一个FTP程序该要准备什么知识

请教:要设计一个FTP程序该要准备什么知识?
另外,要实现多线程和断点续传应该怎么做

------解决方案--------------------
ftp通信原理
------解决方案--------------------
RFC 959
读了这个基本就差不多了
如果还有要补充的
那么读RFC 1123
直接用SOCKET编程就可以了
------解决方案--------------------
看 msdn 那上边有例子
------解决方案--------------------
ftp协议命令 我写过简单的ftp客户端
多线程断点续传 网上资料多呢