第七章 Internet网络应用
Internet网络应用 内容提要: 7.1 网络应用模式 7.2 电子邮件系统 7.3 域名系统 7.4 文件传输协议FTP 7.5 万维网 7.6 动态主机配置协议 7.7 远程终端协议 1
7.1 网络应用模式 (1)应用层协议的特点: 每个应用层协议都是为了解决某一类应用问题,而问题的解决又往往是通过位于不同主机中的多个应用进程之间的通信和协同工作来完成的。 应用层的具体内容是规定应用进程在通信时所遵循的协议。 应用层的许多协议都是基于客户服务器方式。 客户(client)和服务器(server)都是指通信中所涉及的两个应用进程。 2
7.2 电子邮件系统 (1)电子邮件系统的组成部分: 用户代理:(User Agent,UA)是用户与电子邮件系统的接口 邮件服务器:(Message Transfer Agent,MTA)是电子邮件的核心组成部分,其功能是发送和接收邮件,并向发信人报告邮件的有地情况。 电子邮件传输所用的协议:SMTP协议,用于发送邮件;POP3和IMAP4协议,用于读取邮件。 3
7.2.1邮件系统的组成与邮件收发过程 (1)邮件传输过程(SMTP和POP3方式) (2)基于web的邮件传输过程
7.2.2 简单邮件传输协议 (1)SMTP协议: 默认TCP端口为25,配置了SMTP协议的电子邮件服务器称为SMTP服务器, (Simple Mail Transfer Protocol,简单邮件传输协议)是电子邮件的发送方向接收方传递邮件时使用的单向传输协议, 默认TCP端口为25,配置了SMTP协议的电子邮件服务器称为SMTP服务器, SMTP服务器只能接收客户机发送的电子邮件,或者向别的SMTP服务器发送电子邮件但不能从别的SMTP服务器接收电子邮件。 5
(2) SMTP的基本命令: 例1:这封信是Smith在主机Alpha.ARPA发给主机Beta.ARPA 上的Jones,Green和Brown,假定两台主机在同一个网络上。 S: MAIL FROM:<Smith@Alpha.ARPA> R: 250 OKx S: RCPT TO:<Jones@Beta.ARPA> R: 250 OK S: RCPT TO:<Green@Beta.ARPA> R: 550 No such user here S: RCPT TO:<Brown@Beta.ARPA> S: DATA R: 354 Start mail input; end with <CRLF>.<CRLF> S: Blah blah blah... S: ...etc. etc. etc. S: <CRLF>.<CRLF>
7.2.3 POP3和Imap4 POP3(Post Office Protocol Version 3,第3版的邮局协议)是电子邮件接收方向电子邮件服务器发出接收邮件请求时使用的单向传输协议,默认协议使用TCP端口号为110。 配置了POP3协议的电子邮件服务器称为 POP3服务器。POP3服务器只能将电子邮件发送给客户机或者从别的POP3服务器接收电子邮件,但不能向别的POP3邮件服务器发送电子邮件。
(1)POP3协议命令 pass lrs123--------------------------------------------- 输入用户码 user lrs123------------------------------------------------ 输入用名 stat ----------------------------------------------------------- 邮箱状态 list ------------------------------------------ 列出每封邮件的字节数 dele 1 ------------------------------------------------- 删除第 1 封件 RETR 2 --------------------------------------------------读取邮件 quit ------------------------------------------------------------ 结束会话
(3)IMAP协议命令 IMAP(Internet消息访问协议)是一个用于客户机对邮件服务器上的邮件可以进行远程管理的协议,默认使用TCP端口为143,目前的版本为IMAP4。 但它与POP3协议的主要区别是用户可以不用把所有的邮件全部下载下来,可以通过客户端直接对服务器上的邮件进行操作。
7.2.4 MIME协议 MIME协议 由于电子邮件协议SMTP不能传送可执行文件或其他二进制对象只能传送7位的ASCII码。 当使用SMTP发送非ASCII码的二进制数据时,必须先采用某种编码方式将其“编码”成为可打印的ASCII码字符后,再作为邮件格式的内容。 因此通用互联网邮件扩展(MIME)在1996年成为互联网的草案标准,解决了这类问题。
(1) MIME协议 用户进程 用户进程 非ASCLL码 非ASCLL码 MIME MIME ASCLL码 ASCLL码 SMTP SMTP
7.3 域名系统DNS 许多应用层软件经常直接使用域名系统DNS(Domain Name System),但计算机的用户只是间接而不是直接使用域名系统。 因特网采用层次结构的命名树作为主机的名字,并使用分布式的域名系统 DNS。 名字到 IP 地址的解析是由若干个域名服务器程序完成的。域名服务器程序在专设的结点上运行,运行该程序的机器称为域名服务器。
(1)树状结构的 DNS 域名服务器 … 根域名服务器 abc.com 域名服务器 y.abc.com 域名服务器 根域名服务器 org 域名服务器 com 域名服务器 edu 域名服务器 顶级域名服务器 abc.com 域名服务器 abc 公司有两个 权限域名服务器 权限域名服务器 y.abc.com 域名服务器 13
7.3.1 因特网的域名结构 因特网采用了层次树状结构的命名方法。 任何一个连接在因特网上的主机或路由器,都有一个唯一的层次结构的名字,即域名。 域名的结构由标号序列组成,各标号之间用点隔开: … . 三级域名 . 二级域名 . 顶级域名 各标号分别代表不同级别的域名。
(1)顶级域名 TLD (Top Level Domain) 国家顶级域名 nTLD:如: .cn 表示中国,.us 表示美国,.uk 表示英国,等等。 通用顶级域名 gTLD:最早的顶级域名是: .com (公司和企业) .net (网络服务机构) .org (非赢利性组织) .edu (美国专用的教育机构) .gov (美国专用的政府部门) .mil (美国专用的军事部门) .int (国际组织)
… … … … (2)因特网的域名结构 根 com net org edu gov aero cn uk 顶级域名 bj edu com cctv ibm hp 二级域名 pku tsinghua … 三级域名 mail www 四级域名 mail … www
7.3.1 域名解析 主机向本地域名服务器的查询一般都是采用递归查询。 本地域名服务器向根域名服务器的查询通常是采用迭代查询。 当根域名服务器收到本地域名服务器的迭代查询请求报文时,要么给出所要查询的 IP 地址,要么告诉本地域名服务器。
(1)本地域名服务器采用迭代查询 迭代查询 根域名服务器 顶级域名服务器 dns.com 本地域名服务器 dns.xyz.com 权限域名服务dns.abc.com 递归 查询 y.abc.com 的 IP 地址 需要查找 y.abc.com 的 IP 地址 m.xyz.com
(2)本地域名服务器采用递归查询 递归查询 顶级域名服务器 dns.com 根域名服务器 本地域名服务器 dns.xyz.com 权限域名服务dns.abc.com y.abc.com 的 IP 地址 递归 查询 需要查找 y.abc.com 的 IP 地址 m.xyz.com
7.4文件传输协议FTP 网络环境下复制文件的复杂性: 计算机存储数据的格式不同。 文件的目录结构和文件命名的规定不同。 对于相同的文件存取功能,操作系统使用的命令不同。 访问控制方法不同。
(1) FTP的特点 文件传送协议 FTP 只提供文件传送的一些基本的服务,它使用 TCP 可靠的运输服务。 FTP 使用客户服务器方式。一个 FTP 服务器进程可同时为多个客户进程提供服务。FTP 的服务器进程由两大部分组成:一个主进程,负责接受新的请求;另外有若干个从属进程,负责处理单个请求。
FTP的工作原理 主服务器 控制 控制进程 进程 进程 fork fork (21)(1817) 数据传输过程 数据传输 文件 系统 过程 控制连接(会话) 主服务器 进程 控制 进程 控制进程 (21)(1817) 数据传输(连接) 数据传输过程 文件 系统 数据传输 过程 (20)(1818) 数据传 输进程 22
(2) 主进程的工作步骤 打开熟知端口(端口号为 21),使客户进程能够连接上。 等待客户进程发出连接请求。 启动从属进程来处理客户进程发来的请求。从属进程对客户进程的请求处理完毕后即终止,但从属进程在运行期间根据需要还可能创建其他一些子进程。 回到等待状态,继续接受其他客户进程发来的请求。主进程与从属进程的处理是并发地进行。
(3) FTP协议的两个连接 控制连接在整个会话期间一直保持打开,FTP 客户发出的传送请求通过控制连接发送给服务器端的控制进程,但控制连接不用来传送文件。 实际用于传输文件的是“数据连接”。服务器端的控制进程在接收到 FTP 客户发送来的文件传输请求后就创建“数据传送进程”和“数据连接”。 数据传送进程实际完成文件的传送,在传送完毕后关闭“数据传送连接”并结束运行。
(4) FTP使用的两个TCP连接 因特网 TCP 控制连接 FTP 服务器端 FTP 客户端 TCP 数据连接 用户界面 控制进程 数据传送 进程 数据传送 进程 FTP 服务器端 FTP 客户端 TCP 数据连接
7.5万维网 WWW 1.万维网概述 万维网 WWW (World Wide Web)并非某种特殊的计算机网络。 万维网是一个大规模的、联机式的信息储藏所。 万维网用链接的方法能非常方便地从因特网上的一个站点访问另一个站点,从而主动地按需获取丰富的信息。 这种访问方式称为“链接”。
(1)万维网提供分布式服务 链接到 链接到 链接到 链接到 链接到 链接到 万维网 站点 A 万维网站点 B 万维网 站点 C 万维网站点 D 万维网站点 E
7.5.1 万维网工作原理 为了使超文本的链接能够高效率地完成,需要用 HTTP 协议来传送一切必须的信息。 从层次的角度看,HTTP 是面向事务的(transaction-oriented)应用层协议,它是万维网上能够可靠地交换文件(包括文本、声音、图像等各种多媒体文件)的重要基础。
(1)万维网的工作过程 请求文档 响应文档 HTTP HTTP 使用此 TCP 连接 因特网 建立 TCP 连接 链接到URL的链接 计算机 学院主页 服务器 www.hlbrc.cn 浏览器 程序 服务器 程序 客户 HTTP HTTP 使用此 TCP 连接 因特网 建立 TCP 连接 请求文档 HTTP 请求报文 响应文档 HTTP 响应报文 释放 TCP 连接
7.5.2 统一资源定位符 URL 统一资源定位符 URL 是对可以从因特网上得到的资源的位置和访问方法的一种简洁的表示。 只要能够对资源定位,系统就可以对资源进行各种操作,如存取、更新、替换和查找其属性。 URL 相当于一个文件名在网络范围的扩展。因此 URL 是与因特网相连的机器上的任何可访问对象的一个指针。
由以冒号隔开的两大部分组成,并且在 URL 中的字符对大写或小写没有要求。 <协议>://<主机>:<端口>/<路径> ftp —— 文件传送协议 FTP http —— 超文本传送协议 HTTP News —— USENET 新闻
<协议>://<主机>:<端口>/<路径> (2)URL 的一般形式(续) 由以冒号隔开的两大部分组成,并且在 URL 中的字符对大写或小写没有要求。 URL 的一般形式是: <协议>://<主机>:<端口>/<路径> <主机> 是存放资源的主机 在因特网中的域名 32
<协议>://<主机>:<端口>/<路径> (3)URL 的一般形式(续) 由以冒号隔开的两大部分组成,并且在 URL 中的字符对大写或小写没有要求。 URL 的一般形式是: <协议>://<主机>:<端口>/<路径> 有时可省略 33
(4)使用 HTTP 的 URL 这表示使用 HTTP 协议 使用 HTTP 的 URL 的一般形式 http://<主机>:<端口>/<路径> 这表示使用 HTTP 协议 34
(5)使用 HTTP 的 URL 这里写主机的域名 使用 HTTP 的 URL 的一般形式 http://<主机>:<端口>/<路径> 这里写主机的域名
(6)使用 HTTP 的 URL HTTP 的默认端口号是 80,通常可省略 使用 HTTP 的 URL 的一般形式 http://<主机>:<端口>/<路径> HTTP 的默认端口号是 80,通常可省略 36
(7) 使用 HTTP 的 URL 若再省略文件的<路径>项,则 URL 就指到因特网上的某个主页(home page)。 http://<主机>:<端口>/<路径> 若再省略文件的<路径>项,则 URL 就指到因特网上的某个主页(home page)。 37
7.5.1 超文本传输协议 万维网是分布式超媒体(hypermedia)系统,它是超文本(hypertext)系统的扩充。 一个超文本由多个信息源链接成。利用一个链接可使用户找到另一个文档。 超媒体与超文本的区别是文档内容不同。超文本文档仅包含文本信息, 超媒体文档还包含其他表示方式的信息,如图形、图像、声音、动画,甚至活动视频图像。 38
7.6 动态主机配置协议 能够自动分配IP地址的服务器称为DHCP服务器。 能够实现DHCP服务的设备有: (1)安装有windows2000 server/linux/unix等操作系统的服务器。 (2)交换机 (3)路由器 本课程利用windows2000 servers服务器来架构DHCP服务 39
(1)DHCP工作过程 注意:DHCP 报文只是 UDP 用户数据报中的数据。 服务器 主机 DHCPDISCOVER 广播 网络 注意:DHCP 报文只是 UDP 用户数据报中的数据。 需要 IP 地址的主机在启动时就向 DHCP 服务器广播发送发现报文(DHCPDISCOVER),这时该主机就成为 DHCP 客户。主机和DHCP服务器处于同一个网段,因为DHCPDISCOVER报文是以广播(255.255.255.255)方式发送的,所以不能广播到其他网段.DHCP服务器会给客户分配IP地址. 40
(2)DHCP的工作过程 DHCP 报文 被动打开 67 服务器 UDP 客户 68 DHCPDISCOVER 67 DHCPOFFER 67 服务器 UDP UDP 客户 68 DHCPREQUEST 67 服务器 UDP UDP 客户 68 DHCPACK 67 服务器 UDP UDP 41
7.7 远程终端协议 TELNET 是一个简单的远程终端协议,也是因特网的正式标准。 用户用 TELNET 就可在其所在地通过 TCP 连接注册(即登录)到远地的另一个主机上(使用主机名或 IP 地址)。 TELNET 能将用户的击键传到远地主机,同时也能将远地主机的输出通过 TCP 连接返回到用户屏幕。这种服务是透明的。 42
(1)远程终端协议的工作原理 服务器 TCP连接 客户 用户终端 客户向服务 器发送数据 服务器接 收客户数据 服务器向 终端发送 OS内核 客户读 写终端 用户终端 客户向服务 器发送数据 服务器接 收客户数据 服务器 服务器向 终端发送 Ineterntet OS内核 TELNET 本地机 TCP连接 与TCP/IP交互 远地机 与终端驱动交互 43
(2)TELNET 使用网络虚拟终端 NVT 格式 因特网 服务器端 客户端 TCP 连接 客户 服务器 使用客户端的格式 使用 NVT 格式 使用服务器端的格式 44