第10章应用层协议 学习要点 应用层协议 Te|net协议 ·FTP协议 SMTP协议 POP协议 ·IMAP协议 HTTP协议
第10章 应用层协议 学 习 要 点 • 应用层协议 • Telnet协议 • FTP协议 • SMTP协议 • POP协议 • IMAP协议 • HTTP协议
10.1应用层协议概述 ·应用层位于0S的最高层,为最终用户提供服务。 ·在TGP/IP协议中,把0S的3个高层简化为1个应用层。 ·TcP/P协议簇中的应用层直接与用户打交道。 目前应用层协议多达数百种,每一种协议都有一个相 应的服务,这些协议都在相应的RF文档中定义。 应用层由若干应用程序和支持应用程序的通信组件组 成,其内容就是规定应用程序或进程在通信时所遵循 的协议
10.1 应用层协议概述 • 应用层位于OSI的最高层,为最终用户提供服务。 • 在TCP/IP协议中,把OSI的3个高层简化为1个应用层。 • TCP/IP协议簇中的应用层直接与用户打交道。 • 目前应用层协议多达数百种,每一种协议都有一个相 应的服务,这些协议都在相应的RFC文档中定义。 • 应用层由若干应用程序和支持应用程序的通信组件组 成,其内容就是规定应用程序或进程在通信时所遵循 的协议
10.1.1应用层协议的工作机制(P215) ·每个应用层协议旨在解决某一类应用问题,具体是通过位于 不同主机中的多个进程之间的通信和协同工作来实现的。 ·TcP/IP采用客户/服务器模式使两个应用进程之间能够通信。 ·客户机是主叫方,可与多个服务器进行通信。 ·服务器软件是一种专门用来提供某种服务的程序,可同时处 理多个远程客户的请求。 应用层 发起连接建立请求 应用层 (客户) (服务器) 传输层 接受连接建立请求 传输层 网络层 网络层 网络接口层 网络接口层 客户与服务器通信关系的建立
10.1.1 应用层协议的工作机制(P215) • 每个应用层协议旨在解决某一类应用问题,具体是通过位于 不同主机中的多个进程之间的通信和协同工作来实现的。 • TCP/IP采用客户/服务器模式使两个应用进程之间能够通信。 • 客户机是主叫方,可与多个服务器进行通信。 • 服务器软件是一种专门用来提供某种服务的程序,可同时处 理多个远程客户的请求。 应用层 (客户) 传输层 网络层 网络接口层 应用层 (服务器) 传输层 网络层 网络接口层 接受连接建立请求 发起连接建立请求 客户与服务器通信关系的建立
应用层协议的工作机制 · Internet客户/服务器体系 Web浏览器 Web服务器 FTP客户 FTP服务器 E-mai客户 Internet Emai服务器 News客户 News服务器 Tene客户 Telnet服务器 每一种应用层协议都要规范报文的结构和用于侦听服务请 求的公认端口。HTTP-80、FTP-2120、SMTP-25、 POP110、IMAP--143、 telnet--23
应用层协议的工作机制 • Internet客户/服务器体系 Internet Web浏览器 Web服务器 FTP客户 FTP服务器 E-mail客户 Email服务器 News客户 News服务器 Telnet客户 Telnet服务器 每一种应用层协议都要规范报文的结构和用于侦听服务请 求的公认端口。HTTP----80、FTP----21 20、SMTP----25、 POP----110、IMAP----143、telnet----23
10.1.2应用层协议的种类(P216) 支撑协议:为应用提供服务的协议 DNS(域名服务系统)-53端口 DHCP(动态主机配置协议)-6867端囗 SNMP(简单网络管理) ·应用协议:实现具体应用业务的协议 HTP(超文本传输协议) FTP(文件传输协议) SMTP(简单邮件传输协议 Telnet(远程登录)
10.1.2 应用层协议的种类(P216) • 支撑协议:为应用提供服务的协议 –DNS(域名服务系统)----53端口 –DHCP(动态主机配置协议)----68 67端口 –SNMP(简单网络管理) • 应用协议:实现具体应用业务的协议 –HTTP(超文本传输协议) –FTP(文件传输协议) –SMTP(简单邮件传输协议) –Telnet(远程登录)
10.2 Telnet协议(P216) Telnet tElecommunication Netwoek Protoco|的缩写,作为一种著名的、历史较长的 Internet协议,能让用户远程登录到一台主机, 执行各种操作,就像直接在这台主机上工作一样。 Telent主要由RFG854 TELNET PROT0c0L SPEC|F|GAT0N”(May1983)和RFc855 TELNET 0 PTION SPEC|F|AT|0Ns”(May1983)定义
10.2 Telnet 协议(P216) • Telnet 是Telecommunication Netwoek Protocol的缩写,作为一种著名的、历史较长的 Internet协议,能让用户远程登录到一台主机, 执行各种操作,就像直接在这台主机上工作一样。 • Telent主要由RFC854“TELNET PROTOCOL SPECIFICATION ”(May 1983)和RFC855“TELNET OPTION SPECIFICATIONS ”(May 1983)定义
10.2.1 Telnet概述(P216) Telnet协议提供了双向的、面向字符的通信方式。 最初它被用作终端与面向终端的进程之间通信的标准, 后来它也用于终端之间的点对点通信,以及在分布式环 境下进程间的通信。 Te net工作在TCP/IP模型的应用层,其下层传输协议是 TCP,是面向连接的协议。 Telnet基于客户/服务器模式,在本地系统运行 telnet 客户进程,在远程主机运行 telnet服务器进程。 Telnet服务器默认的TcP端口为23 Telnet能够运行在不同操作系统的主机之间
10.2.1 Telnet概述(P216) • Telnet协议提供了双向的、面向字符的通信方式。 • 最初它被用作终端与面向终端的进程之间通信的标准, 后来它也用于终端之间的点对点通信,以及在分布式环 境下进程间的通信。 • Telnet工作在TCP/IP模型的应用层,其下层传输协议是 TCP,是面向连接的协议。 • Telnet基于客户/服务器模式,在本地系统运行telnet 客户进程,在远程主机运行telnet服务器进程。 • Telnet服务器默认的TCP端口为23。 • Telnet能够运行在不同操作系统的主机之间
Telnet概述 Te|ne基于3个主要设想 网络虚拟终端( Net virtual terminal,NT)概念 选项协商( Option Negotiation)原则 终端与进程的对称性 Te|ne的应用 能够实现远程登录和远程交互式计算 网络设备配置与测试、服务器远程控制与管理、网络 服务测试等
Telnet概述 Telnet基于3个主要设想: –网络虚拟终端(Net Virtual Terminal,NVT)概念 –选项协商(Option Negotiation)原则 –终端与进程的对称性 Telnet的应用 –能够实现远程登录和远程交互式计算 –网络设备配置与测试、服务器远程控制与管理、网络 服务测试等
10.2.2Tene工作机制(P217) Tene客户进程 Tele服务器进程 终端用户 终端驱动TCPP栈 TCPP栈伪终端驱动 操作系统 操作系统 TCP连接 Telnet通过客户进程和服务器进程之间的选项协商机制, 确定通信双方可以提供的功能。 ·终端用户从键盘输入的数据提交给操作系统的终端驱动进 程,由终端驱动进程将用户的输入交给 Te net客户进程。 · Telnet客户进程将收到的数据传送给TCP,由TCP在客户端 和服务器之间建立TCP连接,然后将数据通过TCP连接传送 给服务器,服务器的TP层将收到的数据传送到相应的 Te|net服务器进程
10.2.2 Telnet工作机制(P217) • Telnet通过客户进程和服务器进程之间的选项协商机制, 确定通信双方可以提供的功能。 • 终端用户从键盘输入的数据提交给操作系统的终端驱动进 程,由终端驱动进程将用户的输入交给Telnet客户进程。 • Telnet客户进程将收到的数据传送给TCP,由TCP在客户端 和服务器之间建立TCP连接,然后将数据通过TCP连接传送 给服务器,服务器的TCP层将收到的数据传送到相应的 Telnet服务器进程 Telnet客户进程 Telnet服务器进程 终端驱动 TCP/IP栈 TCP/IP栈 伪终端驱动 终端用户 TCP连接 操作系统 操作系统
10.2.3网络虚拟终端(P217) 网络虚拟终端(NT)是为Te|ne适应异构环境而提出的概念 ·NT定义了数据和命令在 Internet上的传输方式 ·数据离开客户端或服务器之后就转换为NT字符集进行传输。 NT字符集分为数据字符集和远程控制字符集两种类型(见 P218表10-1)。 终端用户)Tene客户端 Tele服务器 伪终端驱动 网络连接 k本地计算机字符集外 NVT字符集 远程计算机字符集州
10.2.3 网络虚拟终端(P217) • 网络虚拟终端(NVT)是为Telnet适应异构环境而提出的概念 • NVT定义了数据和命令在Internet上的传输方式 • 数据离开客户端或服务器之后就转换为NVT字符集进行传输。 NVT字符集分为数据字符集和远程控制字符集两种类型(见 P218表10-1)。 Telnet客户端 Telnet服务器 网络连接 终端用户 伪终端驱动 本地计算机字符集 NVT字符集 远程计算机字符集