- 1、本文档共29页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux课程设计 ftp服务器
嵌入式课程设计
课题: Ftp 服务器
一、程序介绍
本程序实现一个 FTP 文件传输功能,分为服务器端和客户端两部分。完成文
件在客户端和服务器端的传送。程序将源文件复制到目的目录,其中服务器端和
客户端都可以作为源文件端,实现 FTP 的下载与上传功能。如果目的端已经存在
该文件,则覆盖原始文件。
嵌入式课程设计 131040048 张梦迪
二、网络编程原理
linux 下进行网络编程的基础是 TCP/IP 协议族,虽然 TCP/IP 名称只包含了
两个协议,但实际上,TCP/IP 是一个庞大的协议族,它包括了各个层次上的众多
协议(见图一):
图 1 TCP/IP 协议族
· ARP:用于获得同一物理网络中的硬件主机地址。
· MPLS:多协议标签协议,是很有发展前景的下一代网络协议。
· IP:负责在主机和网络之间寻址和路由数据包。
· ICMP:用于发送报告有关数据包的传送错误的协议。
· IGMP:被 IP 主机用来向本地多路广播路由器报告主机组成员的协议。
· TCP:为应用程序提供可靠的通信连接。适合于一次传输大批数据的情况。并
适用于要求得到响应的应用程序。
· UDP:提供了无连接通信,且不对传送包进行可靠的保证。适合于一次传输少
量数据,可靠性则由应用层来负责。
1.TCP
同其他任何协议栈一样,TCP 向相邻的高层提供服务。因为TCP 的上一层就是
应用层,因此,TCP 数据传输实现了从一个应用程序到另一个应用程序的数据传
递。应用程序通过编程调用 TCP 并使用 TCP 服务,提供需要准备发送的数据,用
来区分接收数据应用的目的地址和端口号。
通常应用程序通过打开一个 socket 来使用 TCP 服务,TCP 管理到其他 socket
的数据传递。可以说,通过 IP 的源/ 目的可以惟一地区分网络中两个设备的关联,
通过 socket 的源/ 目的可以惟一地区分网络中两个应用程序的关联。
TCP 对话通过三次握手来初始化的。三次握手的目的是使数据段的发送和接收
同步,告诉其他主机其一次可接收的数据量,并建立虚连接。
· 初始化主机通过一个同步标志置位的数据段发出会话请求。
· 接收主机通过发回具有以下项目的数据段表示回复:同步标志置位、即将发
送的数据
段的起始字节的顺序号、应答并带有将收到的下一个数据段的字节顺序号。
1
嵌入式课程设计 131040048 张梦迪
· 请求主机再回送一个数据段,并带有确认顺序号和确认号。
TCP 实体所采用的基本协议是滑动窗口协议。当发送方传送一个数据报时,它
将启动计时器。当该数据报到达目的地后,接收方的 TCP 实体向回发送一个数据
报,其中包含有一个确认序号,它意思是希望收到的下一个数据报的顺序号。如
果发送方的定时器在确认信息到达之前超时,那么发送方会重发该数据报。
2.UDP
UDP 即用户数据报协议,它是一种无连接协议,因此不需要像 TCP 那样通过三
次握手
来建立一个连接。同时,一个UDP 应用可同时作为应用的客户或服务器方。由于
UDP 协议并不需要建立一个明确的连接,因此建立 UDP 应用要比建立 TCP 应用简
单得多。
UDP 协议从问世至今已经被使用了很多年,虽然其最初的光彩已经被一些类似
协议所掩盖,但是在网络质量越来越高的今天,UDP 的应用得到了大大的增强。
它比 TCP 协议更为高效,也能更好地解决实时性的问题。如今,包括网络视频会
议系统在内的众多的客户/服务器模式的网络应用都使用 UDP 协议。
3.协议的选择
协议的选择应该考虑到以下 3 个方面。
(1)对数据可靠性的要求
对数据要求高可靠性的应用需选择 TCP 协议,如验证、密码字段的传送都是
不允许出错的,而对数据的可靠性要求不那么高的应用可选择 UDP 传送。
(2)应用的实时性
由于TCP 协议在传送过程中要进行三次握手、重传确认等手段来保证数据传
输的可靠性。使用 TCP 协议会有
文档评论(0)