`
varsoft
  • 浏览: 2422625 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

[转]基本应用层的TCP/IP协议介绍 (HTTP/FTP/POP/SMTP)

阅读更多

基本应用层的TCP/IP协议介绍 (HTTP/FTP/POP/SMTP)

来源:http://www.networkdictionary.com/chinese/protocols/tcpip.php

HTTP:超文本传输协议

更详细的HTTP协议头信息参考我blog之前的文章。

HTTP:超文本传输协议
HTTP:Hypertext Transfer Protocol

  超文本传输协议(HTTP)是应用层协议,由于其简捷、快速的方式,适用于分布式和合作式超媒体信息系统。自 1990 年起, HTTP 就已经被应用于 WWW 全球信息服务系统。

  HTTP 允许使用自由答复的方法表明请求目的,它建立在统一资源识别器(URI)提供的参考原则下,作为一个地址(URL)或名字(URN),用以标志采用哪种方法,它用类似于网络邮件和多用途网际邮件扩充协议(MIME)的格式传递消息。

  HTTP 也可用作普通协议,实现用户代理与连接其它 Internet 服务(如 SMTP 、 NNTP 、 FTP 、 GOPHER 及 WAIS )的代理服务器或网关之间的通信,允许基本的超媒体访问各种应用提供的资源,同时简化了用户代理系统的实施。

  HTTP 是一种请求 / 响应式的协议。一个客户机与服务器建立连接后,发送一个请求给服务器,请求的格式是:统一资源标识符(URI)、协议版本号,后面是类似 MIME 的信息,包括请求修饰符、客户机信息和可能的内容。服务器接到请求后,给予相应的响应信息,其格式是:一个状态行包括信息的协议版本号、一个成功或错误的代码,后面也是类似 MIME 的信息,包括服务器信息、实体信息和可能的内容。

  HTTP 的第一版本 HTTP/0.9 是一种简单的用于网络间原始数据传输的协议。而由 RFC 1945 定义的 HTTP/1.0 ,在原 HTTP/0.9 的基础上,有了进一步的改进,允许消息以类 MIME 信息格式存在,包括请求 / 响应范式中的已传输数据和修饰符等方面的信息。但是, HTTP/1.0 没有充分考虑到分层代理服务器、高速缓冲存储器、持久连接需求或虚拟主机等方面的效能。相比之下, HTTP/1.1 要求更加严格以确保服务的可靠性。关于安全增强版的 HTTP (即S-HTTP),将在相关文件中再作介绍。


协议结构

   HTTP报文由从客户机到服务器的请求和从服务器到客户机的响应构成。请求报文格式如下:

请求行 通用信息头 请求头 实体头 报文主体

  请求行以方法字段开始,后面分别是 URL 字段和 HTTP 协议版本字段,并以 CRLF 结尾。SP 是分隔符。除了在最后的 CRLF 序列中 CF 和 LF 是必需的之外,其他都可以不要。有关通用信息头,请求头和实体头方面的具体内容可以参照相关文件。

  应报文格式如下:


状态行 通用信息头 响应头 实体头 报文主体

  状态码元由3位数字组成,表示请求是否被理解或被满足。原因分析是对原文的状态码作简短的描述,状态码用来支持自动操作,而原因分析用来供用户使用。客户机无需用来检查或显示语法。有关通用信息头,响应头和实体头方面的具体内容可以参照相关文件。

相关协议 WWW、FTP、STMP、NNTP、Gopher、WAIS、DNSS-HTTP
组织来源 HTTP 定义在 IETF (http://www.ietf.org) 的 RFC 1945和2616中。
相关链接 http://www.javvin.com/protocol/rfc1945.pdf :Hypertext Transfer Protocol – HTTP 1.0
http://www.javvin.com/protocol/rfc2616.pdf :Hypertext Transfer Protocol – HTTP 1.1

FTP:文件传输协议

FTP:文件传输协议
(FTP:File Transfer Protocol)


  文件传输协议(FTP)使得主机间可以共享文件。 FTP 使用 TCP 生成一个虚拟连接用于控制信息,然后再生成一个单独的 TCP 连接用于数据传输。控制连接使用类似 TELNET 协议在主机间交换命令和消息。

  FTP 的主要功能如下:

  • 提供文件的共享(计算机程序 / 数据);
  • 支持间接使用远程计算机;
  • 使用户不因各类主机文件存储器系统的差异而受影响;
  • 可靠且有效的传输数据。

  FTP ,尽管可以直接被终端用户使用,但其应用主要还是通过程序实现。

  FTP 控制帧即指 TELNET 交换信息,包含 TELNET 命令和选项。然而,大多数 FTP 控制帧是简单的 ASCII 文本,可以分为 FTP 命令或 FTP 消息。 FTP 消息是对 FTP 命令的响应,它由带有解释文本的应答代码构成。


协议结构


命令 描述
ABOR 中断数据连接程序
ACCT <account> 系统特权帐号
ALLO <bytes> 为服务器上的文件存储器分配字节
APPE <filename> 添加文件到服务器同名文件
CDUP <dir path> 改变服务器上的父目录
CWD <dir path> 改变服务器上的工作目录
DELE <filename> 删除服务器上的指定文件
HELP <command> 返回指定命令信息
LIST <name> 如果是文件名列出文件信息,如果是目录则列出文件列表
MODE <mode> 传输模式(S=流模式,B=块模式,C=压缩模式)
MKD <directory> 在服务器上建立指定目录
NLST <directory> 列出指定目录内容
NOOP 无动作,除了来自服务器上的承认
PASS <password> 系统登录密码
PASV 请求服务器等待数据连接
PORT <address> IP 地址和两字节的端口 ID
PWD 显示当前工作目录
QUIT 从 FTP 服务器上退出登录
REIN 重新初始化登录状态连接
REST <offset> 由特定偏移量重启文件传递
RETR <filename> 从服务器上找回(复制)文件
RMD <directory> 在服务器上删除指定目录
RNFR <old path> 对旧路径重命名
RNTO <new path> 对新路径重命名
SITE <params> 由服务器提供的站点特殊参数
SMNT <pathname> 挂载指定文件结构
STAT <directory> 在当前程序或目录上返回信息
STOR <filename> 储存(复制)文件到服务器上
STOU <filename> 储存文件到服务器名称上
STRU <type> 数据结构(F=文件,R=记录,P=页面)
SYST 返回服务器使用的操作系统
TYPE <data type> 数据类型(A=ASCII,E=EBCDIC,I=binary)
USER <username>> 系统登录的用户名


标准 FTP 信息如下:


响应代码 解释说明
110 新文件指示器上的重启标记
120 服务器准备就绪的时间(分钟数)
125 打开数据连接,开始传输
150 打开连接
200 成功
202 命令没有执行
211 系统状态回复
212 目录状态回复
213 文件状态回复
214 帮助信息回复
215 系统类型回复
220 服务就绪
221 退出网络
225 打开数据连接
226 结束数据连接
227 进入被动模式(IP 地址、ID 端口)
230 登录因特网
250 文件行为完成
257 路径名建立
331 要求密码
332 要求帐号
350 文件行为暂停
421 服务关闭
425 无法打开数据连接
426 结束连接
450 文件不可用
451 遇到本地错误
452 磁盘空间不足
500 无效命令
501 错误参数
502 命令没有执行
503 错误指令序列
504 无效命令参数
530 未登录网络
532 存储文件需要帐号
550 文件不可用
551 不知道的页类型
552 超过存储分配
553 文件名不允许


相关协议 TELNET
组织来源 FTP 由 IETF(http://www.ietf.org)在 RFC 959 中,并由2228、2640 和 2773 重新更新。
相关链接 http://www.javvin.com/protocol/rfc959.pdf :File Transfer Protocol(FTP)


POP & POP3:邮局协议(邮局协议第3版)

POP & POP3:邮局协议(邮局协议第3版)
POP & POP3:Post Office Protocol

  POP 协议允许工作站动态访问服务器上的邮件,目前已发展到第三版,称为 POP3 。 POP3 允许工作站检索邮件服务器上的邮件。 POP3 传输的是数据消息,这些消息可以是指令,也可以是应答。

  创建一个分布式电子邮件系統有多种不同的技术支持和途径: POP (邮局协议)、 DMSP (分层式电子邮件系统协议)和 IMAP (因特网信息访问协议)。其中, POP 协议创建最早因此也最为人们了解; DMSP 具有较好的支持“无连接”操作的性能,但其很大程度上仅限于单个应用程序(PCMAIL ); IMAP 提供了 POP 和 DMSP 的扩展集并提供对远程邮件访问的三种支持方式:离线、在线和无连接。

  POP 协议支持“离线”邮件处理。其具体过程是:邮件发送到服务器上,电子邮件客户端调用邮件客户机程序以连接服务器,并下载所有未阅读的电子邮件。这种离线访问模式是一种存储转发服务,将邮件从邮件服务器端送到个人终端机器上,一般是 PC 机或 MAC 。一旦邮件发送到 PC 机或 MAC 上,邮件服务器上的邮件将会被删除。

  POP3 并不支持对服务器上邮件进行扩展操作,此过程由更高级的 IMAP4 完成。 POP3 使用 TCP 作为传输协议。


协议结构

  POP3 是发送在客户机和服务器间的 ASCII 信息。POP3 命令摘要:

命令 描述
USER 用户名
PASS 用户密码
STAT 服务器上的邮件信息
RETR 获取的信息数
DELE 删除的信息数
LIST 显示的信息数
TOP <messageID> <nombredelignes> 从头开始(包含协议头)打印X行信息
QUIT 退出POP3服务器

可选POP3命令:

APOP name digest AUTHORIZATION 状态有效;

TOP msg n TRANSACTION 状态有效;

UIDL [msg]

POP3 Replies:

+ OK

- ERR。


相关协议 SMTPIMAP4TCPPOP
组织来源 POP3 由 IETF(www.ietf.org)定义在 RFC 1939中。
相关链接 http://www.javvin.com/protocol/rfc1939.pdf:Post Office Protocol – Version 3

SMTP:简单邮件传输协议

SMTP:简单邮件传输协议
(SMTP:Simple Mail Transfer Protocol)

  SMTP 是一种提供可靠且有效电子邮件传输的协议。 SMTP 是建模在 FTP 文件传输服务上的一种邮件服务,主要用于传输系统之间的邮件信息并提供来信有关的通知。

  SMTP 独立于特定的传输子系统,且只需要可靠有序的数据流信道支持。 SMTP 重要特性之一是其能跨越网络传输邮件,即“ SMTP 邮件中继”。通常,一个网络可以由公用互联网上 TCP 可相互访问的主机、防火墙分隔的 TCP/IP 网络上 TCP 可相互访问的主机,及其它 LAN/WAN 中的主机利用非 TCP 传输层协议组成。使用 SMTP ,可实现相同网络上处理机之间的邮件传输,也可通过中继器或网关实现某处理机与其它网络之间的邮件传输。

  在这种方式下,邮件的发送可能经过从发送端到接收端路径上的大量中间中继器或网关主机。域名服务系统(DNS)的邮件交换服务器可以用来识别出传输邮件的下一跳 IP 地址。


协议结构

  SMTP 命令是发送于 SMTP 主机之间的 ASCII 信息,可能命令如下所示:

命令 描述
DATA 开始信息写作
EXPN <string> 在指定邮件表中返回名称
HELO <domain> 返回邮件服务器身份
HELP <command> 返回指定命令中的信息
MAIL FROM <host> 在主机上初始化一个邮件会话
NOOP 除服务器响应确认以外,没有引起任何反应
QUIT 终止邮件会话
RCPT TO <user> 指明谁收到邮件
RSET 重设邮件连接
SAML FROM <host> 发送邮件到用户终端和邮箱
SEND FROM <host> 发送邮件到用户终端
SOML FROM <host> 发送邮件到用户终端或邮箱
TURN 接收端和发送端交换角色
VRFY <user> 校验用户身份

相关协议 POP3IMAP4TCPPOPFTP
组织来源 SMTP 由 IETF(www.ietf.org)定义在 RFC2821中。
相关链接 http://www.javvin.com/protocol/rfc2821.pdf:Simple Mail Transfer Protocol

分享到:
评论

相关推荐

    TCP/IP协议与网络编程技术

    主要内容有应用层常用协议DNS、FTP、Telnet、HTTP、POP和SMTP的格式、工作原理、协议实例等内容。 第6章:简要的介绍了一下TCP/IP协议在Windows和LINUX操作系统下的实现原理TCP/IP协议的二进制代码。 下篇包含以下6...

    TCP/IP教程TCP/IP基础

    3.2.4 应用层 25 3.2.5 传输层 25 3.2.6 网络层 25 3.2.7 链路层 25 3.3 远程登录(Telnet) 25 3.4 文件传输协议(FTP) 25 3.5 普通文件传输协议(TFTP) 26 3.6 简单邮件传输协议(SMTP) 26 3.7 网络文件系统(NFS) 26 ...

    TCP/IP技术大全

    3.2.4 应用层 25 3.2.5 传输层 25 3.2.6 网络层 25 3.2.7 链路层 25 3.3 远程登录(Telnet) 25 3.4 文件传输协议(FTP) 25 3.5 普通文件传输协议(TFTP) 26 3.6 简单邮件传输协议(SMTP) 26 3.7 网络文件系统(NFS) 26 ...

    TCP/IP技术大全(中文PDF非扫描版)

    3.2.4 应用层 25 3.2.5 传输层 25 3.2.6 网络层 25 3.2.7 链路层 25 3.3 远程登录(Telnet) 25 3.4 文件传输协议(FTP) 25 3.5 普通文件传输协议(TFTP) 26 3.6 简单邮件传输协议(SMTP) 26 3.7 网络文件系统(NFS) 26 ...

    TCP-IP技术大全

    TCP/IP概述 20 3.1 TCP/IP的优点 20 3.2 TCP/IP的层和协议 21 3.2.1 体系结构 21 3.2.2 传输控制协议 21 3.2.3 IP协议 23 3.2.4 应用层 25 3.2.5 传输层 25 3.2.6 网络层 25 3.2.7 链路...

    TCP/IP详解

    3.2.4 应用层 25 3.2.5 传输层 25 3.2.6 网络层 25 3.2.7 链路层 25 3.3 远程登录(Telnet) 25 3.4 文件传输协议(FTP) 25 3.5 普通文件传输协议(TFTP) 26 3.6 简单邮件传输协议(SMTP) 26 3.7 网络文件系统(NFS) 26 ...

    PassWordKnife

    PassWordKnife是基于WINPCAP的应用层协议密码分析工具,支持ARP欺骗功能,能在交换环境下截获密码,目前支持30种应用层协议 作者个人网站:www.horseb.org BBS:www.horseb.net PasswordKnife帮助: 这是一个GUI...

    TCP IP协议和网络安全实验手册

    TCP IP协议和网络安全实验手册 详细阐述TCP/IP的层次结构,以及每层包含的协议,讲解了传输层两个协议TCP和UDP协议的应用场景,应用层协议和传输层协议的关系,应用层协议和服务之间的关系。并且演示了在Windows ...

    winsock四个网络程序源代码

    应用层 HTTP, SMTP, FTP, POP3协议 传输层/网络层 IP/ICMP协议(TCP/IP) 链路层 Ethernet ppp点对点协议 1)ARP协议为地址解析协议 2)RARP协议为反向地址解析协议 3)ICPM协议(网络报文控制协议) 2.1)inet_addr(...

    网络试卷.zip

    下面协议中不属于应用层协议的是( ) A、FTP、TELNET B、 ICMP、ARP C、SMTP、POP3 D、 HTTP、 SNMP 10. Spanning Tree 算法用来解决( ) A、拥塞控制问题 B、广播风暴问题 C、流量控制问题 D、数据冲突问题

    中软吉大网络协议仿真系统

    网络协议仿真教学系统(通用版)为高校相关专业讲授计算机网络,特别是TCP/IP协议族,提供了一套实践教学平台。通过对各种数据帧的灵活编辑、仿真发送、捕获解析和会话分析,学生可以深入地理解和掌握网络协议的内部...

    杭电研一 徐明 高级计算机网络 复习资料,有学姐的知识总结 考试

    应用层包含了一些常用的、基于传输层的网络应用协议,如Telnet、DNS、DHCP、FTP、SMTP、POP3、HTTP、SNMP、RIP、BGP等。 传输层:传输层位于IP层之上,为两台主机上的应用程序提供端到端的通信服务。目前,应用最...

    计算机网络应用基础习题带答案.docx

    16.在TCP/IP协议集中,应用层的各种服务是建立在传输层所提供服务的基础上实现的,( B ) 协议需要使用传输层的TCP协议建立连接。 计算机网络应用基础习题带答案全文共12页,当前为第4页。 、DHCP、FTP 、SMTP、HTTP ...

    21世纪计算机网络技术系

    第12章主要介绍应用层协议与应用,内容主要包括DNS、SMTP、POP3、TELNET、FTP等;第13章主要介绍了网络管理和网络安全技术,内容主要包括网络管理协议、常见的盗窃数据或侵入网络的万法、网络病毒及其防杀和防火墙的...

    TCPIP协议详解(4-1)

    TCP/IP概述 20 3.1 TCP/IP的优点 20 3.2 TCP/IP的层和协议 21 3.2.1 体系结构 21 3.2.2 传输控制协议 21 3.2.3 IP协议 23 3.2.4 应用层 25 3.2.5 传输层 25 3.2.6 网络层 25 3.2.7 链路...

    2021年计算机应用基础(二)作业4.docx

    同轴电缆 题目8 TCP/IP协议分层模型中,______定义了TCP和UDP协议。 a. 运输层(或称传输层) b. 应用层 c. 网络层 d. 物理层 题目9 应用层可以支持的为________。 a. UDP协议和SMTP协议 b. HTTP协议和SMTP协议 c. ...

    计算机应用基础(二)作业4.docx

    同轴电缆 题目8 TCP/IP协议分层模型中,______定义了TCP和UDP协议。 a. 运输层(或称传输层) b. 应用层 c. 网络层 d. 物理层 题目9 应用层可以支持的为________。 a. UDP协议和SMTP协议 b. HTTP协议和SMTP协议 c. ...

    C#基于TCP协议的服务器端和客户端通信编程的基础教程

    运行在TCP之上常见的网络应用协议有比如HTTP、FTP、SMTP、POP3、IMAP。 TCP是TCP/IP体系中最重要的传输协议,它提供全双工和可靠交付的服务,是大多数应用协议工作的基础。 TCP是一种面向连接(连接导向)的,可靠的,...

    计算机应用基础(二)作业4(同名20889).docx

    同轴电缆 题目8 TCP/IP协议分层模型中,______定义了TCP和UDP协议。 a. 运输层(或称传输层) b. 应用层 c. 网络层 d. 物理层 题目9 应用层可以支持的为________。 a. UDP协议和SMTP协议 b. HTTP协议和SMTP协议 c. ...

Global site tag (gtag.js) - Google Analytics