计算机网络PPT课件第六章 应用层

上传人:无*** 文档编号:48401548 上传时间:2022-01-04 格式:PPT 页数:47 大小:540.50KB
返回 下载 相关 举报
计算机网络PPT课件第六章 应用层_第1页
第1页 / 共47页
计算机网络PPT课件第六章 应用层_第2页
第2页 / 共47页
计算机网络PPT课件第六章 应用层_第3页
第3页 / 共47页
点击查看更多>>
资源描述
第六章第六章 应用层应用层刘刘 轶轶北京航空航天大学北京航空航天大学 计算机学院计算机学院 本章内容本章内容6.1 套接字编程接口套接字编程接口6.2 域名系统域名系统 DNS6.3 文件传送协议文件传送协议6.4 万维网万维网WWW6.5 电子邮件电子邮件应用层协议特点应用层协议特点 应用层协议是为了解决某一类应用问题应用层协议是为了解决某一类应用问题 由于网络应用的多样性,应用层的协议也种类繁多由于网络应用的多样性,应用层的协议也种类繁多 应用层的许多协议都是基于客户应用层的许多协议都是基于客户/服务器方式服务器方式 客户客户(client)和服务器和服务器(server)都是指通信中所涉及的都是指通信中所涉及的两个应用进程两个应用进程 客户客户/服务器方式所描述的是进程之间服务和被服务服务器方式所描述的是进程之间服务和被服务的关系的关系 客户是服务请求方,服务器是服务提供方客户是服务请求方,服务器是服务提供方6.1 套接字编程接口套接字编程接口6.1 套接字编程接口套接字编程接口 网络子系统作为操作系统的一部分,以应用编程接口网络子系统作为操作系统的一部分,以应用编程接口(APIApplication Programming Interface)的形式向应的形式向应用程序提供调用接口用程序提供调用接口 套接字套接字(socket)是最常用的应用层编程接口是最常用的应用层编程接口 名称起源于名称起源于Berkeley UNIX操作系统操作系统 经典的经典的socket编程接口采用同步调用方式编程接口采用同步调用方式(又称阻塞式又称阻塞式) 例:调用例:调用recv()时,调用进程将被阻塞,直到收到数据为止时,调用进程将被阻塞,直到收到数据为止 Windows这种基于事件驱动的系统中,程序的执行由这种基于事件驱动的系统中,程序的执行由事件驱动,需要异步事件驱动方式的套接字编程接口事件驱动,需要异步事件驱动方式的套接字编程接口 Microsoft推出推出WinSock编程接口,在阻塞式调用基础上,增编程接口,在阻塞式调用基础上,增加了异步调用方式加了异步调用方式 在阻塞式调用模式下,在阻塞式调用模式下,WinSock与经典的与经典的socket兼容兼容6.1 套接字编程接口套接字编程接口应用进程通过套接字接入到网络应用进程通过套接字接入到网络 应用进程TCP UDP由应用程序控制因特网由操作系统控制客户服务器套接字TCP UDP应用进程套接字6.1 套接字编程接口套接字编程接口调用调用socket()创建套接字创建套接字套接字描述符表(每一个进程一个描述符)0:1:2:3:4:操作系统套接字的数据结构协议族:PF_INET服务:SOCK_STREAM本地 IP 地址:远地 IP 地址:本地端口:远地端口:接口函数功 能SOCKET socket( int af, int type, int protocol )创建一个socketint bind( SOCKET s, struct sockaddr *name, int namelen)将本地地址与socket绑定int listen( SOCKET s, int backlog )在套接字上监听连接请求int connect( SOCKET s, struct sockaddr *name, int namelen )与name指定的地址建立连接SOCKET accept( SOCKET s, struct sockaddr *addr, int *addrlen )接受与本socket的连接请求int send( SOCKET s, char *buf, int len, int flags )在连接的socket上发送数据int recv( SOCKET s, char* buf, int len, int flags )在连接的或绑定的socket上接收数据int sendto( SOCKET s, char* buf, int len, int flags, struct sockaddr* to, int tolen );向指定的目标地址发送数据int recvfrom( SOCKET s, char* buf, int len, int flags, struct sockaddr *from, int* fromlen );在socket上接收数据并记录源地址常用常用socket接口函数接口函数6.1 套接字编程接口套接字编程接口基于基于UDP的系统调用流程的系统调用流程服务器端服务器端socketbindrecvfromsendtoclose客户端客户端socketrecvfromsendtoclosebindSOCKET socket( int af, int type, int protocol );6.1 套接字编程接口套接字编程接口基于基于TCP的系统调用流程的系统调用流程服务器端服务器端socketbindlistenacceptrecvsendclose客户端客户端socketrecvsendcloseconnect连接建立请求6.2 域名系统域名系统 DNS6.2 域名系统域名系统 DNS一、域名系统概述一、域名系统概述 域名系统域名系统DNS(Domain Name System)是是Internet使用的命名系统使用的命名系统 RFC 1034:Domain Names - Concepts and Facilities RFC 1035:Domain Names Implementation and Specification Internet采用层次结构的命名树作为主机的名字,并使用分布式采用层次结构的命名树作为主机的名字,并使用分布式的域名系统的域名系统DNS 多个域名服务器上运行专门的域名服务器程序,完成域名多个域名服务器上运行专门的域名服务器程序,完成域名IP地址的解析地址的解析(resolve) DNS基于基于UDP协议实现协议实现 应用进程需要进行域名解析时,就调用域名解析程序应用进程需要进行域名解析时,就调用域名解析程序(resolver),它成为,它成为DNS的一个客户的一个客户 向本地域名服务器发送域名解析请求向本地域名服务器发送域名解析请求(UDP报文报文),其中包含待解析的域名,其中包含待解析的域名 本地域名服务器在查找域名后,返回应答报文,其中包含对应的本地域名服务器在查找域名后,返回应答报文,其中包含对应的IP地址地址6.2 域名系统域名系统 DNS二、二、Internet的域名结构的域名结构 Internet采用层次树状结构的命名方法采用层次树状结构的命名方法 . 三级域名三级域名 . 二级域名二级域名 . 顶级域名顶级域名 顶级域名顶级域名TLD(Top Level Domain) 国家顶级域名:如国家顶级域名:如: .cn 表示中国,表示中国,.us 表示美国,表示美国,.uk 表示英国,等等表示英国,等等 通用顶级域名:最早的顶级域名是:通用顶级域名:最早的顶级域名是:域域 名名含含 义义 .com公司和企业公司和企业 .net网络服务机构网络服务机构 .org非赢利性组织非赢利性组织 .edu美国专用的教育机构美国专用的教育机构 .gov美国专用的政府部门美国专用的政府部门 .mil美国专用的军事部门美国专用的军事部门 .int国际组织国际组织6.2 域名系统域名系统 DNS新增的通用顶级域名新增的通用顶级域名域域 名名含含 义义 .aero航空运输企业航空运输企业 .biz公司和企业公司和企业 .cat加泰隆人的语言和文化团体加泰隆人的语言和文化团体 .coop合作团体合作团体 .info各种情况各种情况 .jobs人力资源管理者人力资源管理者 .mobi移动产品与服务的用户和提供者移动产品与服务的用户和提供者 .museum博物馆博物馆 .name个人个人 .pro有证书的专业人员有证书的专业人员 .travel旅游业旅游业注意:注意: 域名不区分大域名不区分大小写小写 域名长度不超域名长度不超过过255字符字符6.2 域名系统域名系统 DNS根四级域名mailwwwbjeducomcctvibmhp二级域名pkubuaa三级域名mailwwwcomnetorgedugovaerocnuk顶级域名Internet的域名空间的域名空间6.2 域名系统域名系统 DNS三、域名服务器三、域名服务器 域名服务器域名服务器分为四类分为四类 根域名服务器根域名服务器 根域名服务器知道所有的顶级域名服务器的域名和根域名服务器知道所有的顶级域名服务器的域名和IP地址地址 当本地域名服务器无法解析域名时,就求助于根域名服务器当本地域名服务器无法解析域名时,就求助于根域名服务器 顶级域名服务器顶级域名服务器 负责管理在该顶级域名服务器注册的所有二级域名负责管理在该顶级域名服务器注册的所有二级域名 权限域名服务器权限域名服务器 负责一个区负责一个区(zone)的域名服务器的域名服务器 本地域名服务器本地域名服务器 有时也称为默认域名服务器有时也称为默认域名服务器 域名服务器定期把数据复制到几个域名服务器来保存,域名服务器定期把数据复制到几个域名服务器来保存,其中的一个是主域名服务器,其他的是辅助域名服务器其中的一个是主域名服务器,其他的是辅助域名服务器6.2 域名系统域名系统 DNS三、域名服务器三、域名服务器 树状结构的树状结构的 DNS 域名服务器域名服务器根域名服务器org 域名服务器com 域名服务器edu 域名服务器域名服务器abc 公司有两个权限域名服务器权限域名服务器根域名服务器顶级域名服务器域名服务器6.2 域名系统域名系统 DNS三、域名服务器三、域名服务器 主机向本地域名服务器的查询一般采用递归查询主机向本地域名服务器的查询一般采用递归查询 如果本地域名服务器不知道被查询域名的如果本地域名服务器不知道被查询域名的IP地址,那地址,那么它就以么它就以DNS客户的身份,向根域名服务器继续发出客户的身份,向根域名服务器继续发出查询请求报文查询请求报文 本地域名服务器向根域名服务器的查询通常是采本地域名服务器向根域名服务器的查询通常是采用迭代查询用迭代查询 当根域名服务器收到本地域名服务器的迭代查询请求当根域名服务器收到本地域名服务器的迭代查询请求报文时报文时 要么给出所要查询的要么给出所要查询的 IP 地址地址 要么告诉本地域名服务器下一步应向哪一个域名服务器查询要么告诉本地域名服务器下一步应向哪一个域名服务器查询 本地域名服务器进行后续的查询本地域名服务器进行后续的查询6.2 域名系统域名系统 DNS本地域名服务器采用迭代查询本地域名服务器采用迭代查询顶级域名服务器权限域名服务本地域名服务器根域名服务器迭代查询 的 IP 地址 递归查询需要查找 的 IP 地址 域名服务端口域名服务端口号:号:53 为提高域名查为提高域名查询效率,域名询效率,域名服务器上通常服务器上通常设置高速缓存设置高速缓存6.2 域名系统域名系统 DNS本地域名服务器采用递归查询本地域名服务器采用递归查询(较少采用较少采用)顶级域名服务器权限域名服务本地域名服务器 根域名服务器递归查询递归查询 的 IP 地址 需要查找 的 IP 地址6.3 文件传送协议文件传送协议6.3 文件传送协议文件传送协议 RFC 959:File Transfer Protocol (FTP) FTP使用客户使用客户/服务器方式服务器方式 一个一个FTP服务器进程可同时为多个客户进程提供服务服务器进程可同时为多个客户进程提供服务 FTP的服务器进程由两大部分组成的服务器进程由两大部分组成 一个主进程,负责接受新的请求一个主进程,负责接受新的请求 若干个从属进程,负责处理单个请求若干个从属进程,负责处理单个请求 主进程的工作步骤主进程的工作步骤 打开熟知端口打开熟知端口(端口号为端口号为21),使客户进程能够连接上,使客户进程能够连接上 等待客户进程发出连接请求等待客户进程发出连接请求 启动从属进程处理客户进程发来的请求启动从属进程处理客户进程发来的请求 从属进程对客户进程的请求处理完毕后即终止从属进程对客户进程的请求处理完毕后即终止 从属进程在运行期间根据需要还可能创建其他一些子进程从属进程在运行期间根据需要还可能创建其他一些子进程 回到等待状态,继续接受其他客户进程发来的请求回到等待状态,继续接受其他客户进程发来的请求 主进程与从属进程的处理是并发地进行主进程与从属进程的处理是并发地进行 FTP使用使用2个个TCP连接:控制连接和数据连接连接:控制连接和数据连接 控制连接控制连接 在整个会话期间一直保持打开在整个会话期间一直保持打开 FTP客户发出的传送请求通过控制连接发送给服务器端的控制进程,但客户发出的传送请求通过控制连接发送给服务器端的控制进程,但控制连接不用来传送文件控制连接不用来传送文件 数据连接数据连接 收到收到FTP客户发送来的文件传输请求后客户发送来的文件传输请求后,服务器端的控制进程创建服务器端的控制进程创建“数数据传送进程据传送进程”和和“数据连接数据连接” 数据传送进程实际完成文件的传送,传送完毕后关闭数据传送进程实际完成文件的传送,传送完毕后关闭“数据传送连接数据传送连接”并结束运行并结束运行 控制进程FTP 客户端FTP 服务器端InternetTCP 控制连接TCP 数据连接用户界面控制进程数据传送进程数据传送进程6.4 万维网万维网WWW6.4 万维网万维网WWW一、一、万维网概述万维网概述 WWW-World Wide Web 1989年,欧洲核子研究中心提出年,欧洲核子研究中心提出WWW 1993年,第一个浏览器年,第一个浏览器Mosaic 1995年,年,Netscape Navagitor上市上市 万维网是分布式超媒体万维网是分布式超媒体(hypermedia)系统,它是超文本系统,它是超文本(hypertext)系统的扩充系统的扩充 要解决的几个问题要解决的几个问题 怎样标识分布在整个因特网上的万维网文档?怎样标识分布在整个因特网上的万维网文档? -URL 用什么协议实现万维网上各种超链的链接?用什么协议实现万维网上各种超链的链接?-HTTP 如何存储和表示万维网文档?如何存储和表示万维网文档?-HTML6.4 万维网万维网WWW一、一、万维网概述万维网概述万维网站点 A万维网站点 C万维网站点 E万维网站点 D万维网站点 B链接到链接到链接到链接到链接到链接到搜索引擎即根据网页中的搜索引擎即根据网页中的链接在网络中获取信息链接在网络中获取信息6.4 万维网万维网WWW二、二、统一资源定位符统一资源定位符URL(Uniform Resource Locator) URL是是对对Internet上资源位置和访问方法的一种简洁表示上资源位置和访问方法的一种简洁表示 URL的一般形式:的一般形式::/:/ ftp 文件传送协议 FTPhttp 超文本传送协议 HTTPNews USENET 新闻 为存放资源的主机在为存放资源的主机在Internet中的域名中的域名 和和有时可省略。使用有时可省略。使用http协议时,如省略协议时,如省略,则使用熟知端口号则使用熟知端口号80;如省略;如省略,则指主页,则指主页(home page) URL不区分大小写不区分大小写6.4 万维网万维网WWW三、三、超文本传送协议超文本传送协议HTTP HTTP-HyperText Transfer Protocol 基于基于TCP协议,是万维网上可靠地交换文件的重要基协议,是万维网上可靠地交换文件的重要基础础 HTTP是面向事务的客户是面向事务的客户/服务器协议服务器协议 HTTP是无状态的是无状态的(stateless) 服务器不记录客户端的访问状态服务器不记录客户端的访问状态 基本工作原理基本工作原理 Web服务的熟知端口号是服务的熟知端口号是80,服务器通常在该端口上监听,服务器通常在该端口上监听 客户端需要请求某个页面时,与服务器建立客户端需要请求某个页面时,与服务器建立TCP链接,之后链接,之后请求传送文件,并进行文件的传送,传送完毕后释放请求传送文件,并进行文件的传送,传送完毕后释放TCP连连接接万维网的工作过程万维网的工作过程 Internet服务器客户清华大学院系设置浏览器 程序服务器 程序HTTP 使用此 TCP 连接HTTP链接到URL的超链建立 TCP 连接释放 TCP 连接HTTP 响应报文 响应文档HTTP 请求报文 请求文档6.4 万维网万维网WWW鼠标点击超链接后发生的事件鼠标点击超链接后发生的事件(1) 浏览器分析超链指向页面的浏览器分析超链指向页面的 URL(2) 浏览器向浏览器向DNS请求解析请求解析 的的 IP 地地址址(3) 域名系统域名系统DNS解析出清华大学解析出清华大学Web服务器的服务器的IP地址地址(4) 浏览器与服务器建立浏览器与服务器建立TCP连接连接(5) 浏览器发出取文件命令:浏览器发出取文件命令: GET /chn/yxsz/index.htm(6) 服务器给出响应,把文件服务器给出响应,把文件index.htm发给浏览器发给浏览器(7) TCP 连接释放连接释放(8) 浏览器显示浏览器显示“清华大学院系设置清华大学院系设置”文件文件index.htm中的中的所有文本所有文本请求一个万维网文档所需的时间请求一个万维网文档所需的时间万维网服务器万维网客户HTTP请求报文发起 TCP 连接RTTRTT整个文档收到时间时间 首先建立首先建立TCP连接,连接,需需3次握手次握手 在在2次握手后,次握手后, 第第3次次握手报文的数据部分握手报文的数据部分可传送可传送HTTP请求报请求报文文 请求文档所需时间请求文档所需时间文档传输时间文档传输时间 + 2倍倍RTT时间时间 HTTP/1.0的主要缺点的主要缺点 每请求一个文档都需每请求一个文档都需要建立一次要建立一次TCP连接连接 一个一个Web页面常常包页面常常包含数量众多的文件含数量众多的文件文档传输时间HTTP 响应报文6.4 万维网万维网WWW三、三、超文本传送协议超文本传送协议HTTP HTTP/1.1协议使用持续连接协议使用持续连接(persistent connection) 服务器发送响应后,在一段时间内保持连接,使客户与服务服务器发送响应后,在一段时间内保持连接,使客户与服务器可以继续传送后续的器可以继续传送后续的HTTP请求报文和响应报文请求报文和响应报文 这并不局限于传送同一个页面上链接的文档,而是只要这些这并不局限于传送同一个页面上链接的文档,而是只要这些文档都在同一个服务器上就行文档都在同一个服务器上就行 目前主流的浏览器都默认支持目前主流的浏览器都默认支持HTTP/1.1 HTTP的报文类型:两类报文的报文类型:两类报文 请求报文请求报文从客户向服务器发送请求报文从客户向服务器发送请求报文 响应报文响应报文从服务器到客户的回答从服务器到客户的回答 HTTP是面向正文的是面向正文的(text-oriented),报文中的字段都是,报文中的字段都是 ASCII 码串,因而每个字段的长度都是不确定的码串,因而每个字段的长度都是不确定的6.4 万维网万维网WWW 报文由三个部分组成,即开始行、首部行和实体主体报文由三个部分组成,即开始行、首部行和实体主体 在请求报文中,开始行就是请求行在请求报文中,开始行就是请求行 方法方法 是面向对象技术中是面向对象技术中使用的专门名词使用的专门名词 方法实际上就是一方法实际上就是一些命令些命令 URL:所请求的资源:所请求的资源的的URL 版本:版本:HTTP的版本的版本方 法URL版 本首部字段名首部行:值首部字段名值:实体主体(通常不用)空格回车换行:CRLFCRLFCRLFCRLF开始行(请求行)HTTP请求报文6.4 万维网万维网WWWHTTP 请求报文的一些方法请求报文的一些方法 方法(操作)意 义OPTION请求一些选项的信息GET请求读取由 URL所标志的信息HEAD请求读取由 URL所标志的信息的首部POST给服务器添加信息(例如,注释)PUT在指明的 URL下存储一个文档DELETE删除指明的URL所标志的资源TRACE用来进行环回测试的请求报文CONNECT用于代理服务器6.4 万维网万维网WWW HTTP应答报文的开始行是状态行应答报文的开始行是状态行 状态行包括三项内容:状态行包括三项内容:HTTP的版本、状态码、解释状的版本、状态码、解释状态码的简单短语态码的简单短语 状态码都是三位数字状态码都是三位数字 1xx:表示通知信息的,如请求:表示通知信息的,如请求收到了或正在进行处理收到了或正在进行处理2xx:表示成功,如接受或知道:表示成功,如接受或知道了了3xx:表示重定向,表示要完成:表示重定向,表示要完成请求还必须采取进一步的行请求还必须采取进一步的行动动4xx:表示客户的差错,如请求:表示客户的差错,如请求中有错误的语法或不能完成中有错误的语法或不能完成5xx:表示服务器的差错,如服:表示服务器的差错,如服务器失效无法完成请求务器失效无法完成请求HTTP应答报文版 本状态码短 语首部字段名首部行:值首部字段名值:实体主体(有些响应报文不用)空格回车换行:CRLFCRLFCRLFCRLF开始行(状态行)6.4 万维网万维网WWW四、四、万维网的文档万维网的文档 HTML-HyperText Markup Language RFC 1866:Hypertext Markup Language - 2.0 HTML定义了许多用于排版的命令定义了许多用于排版的命令,即标签即标签(tag) 如:如:表示后面开始用斜体排版,表示后面开始用斜体排版,表示斜体结束表示斜体结束 HTML把各种标签嵌入到万维网的页面中把各种标签嵌入到万维网的页面中,构成构成HTML文档文档 HTML文档文档为文本格式为文本格式 浏览器从服务器读取浏览器从服务器读取 HTML文档后,按照文档后,按照其其中中嵌入嵌入的的各种标签,各种标签,根据根据显示器尺寸和分辨率显示器尺寸和分辨率显示显示页面页面 仅当仅当 HTML 文档是以文档是以.html 或或 .htm 为后缀时,浏览器才对此为后缀时,浏览器才对此文档的各种标签进行解释文档的各种标签进行解释 一个一个 HTML 的例子的例子 HTML 很容易掌握很容易掌握 这是第一个段落。虽然很这是第一个段落。虽然很 短,但它仍是一个段落。短,但它仍是一个段落。 这是第二个段落。这是第二个段落。HTML文档中标签的用法文档中标签的用法 一个一个 HTML 的例子的例子 HTML 很容易掌握很容易掌握 这是第一个段落。虽然很这是第一个段落。虽然很 短,但它仍是一个段落。短,但它仍是一个段落。 这是第二个段落。这是第二个段落。HTML 文档开始首部开始首部结束主体开始标题第一个段落1 级标题第二个段落主体结束文档结束HTML文档中标签的用法文档中标签的用法6.5 电子邮件电子邮件6.5 电子邮件电子邮件一、一、概述概述 发送邮件的协议:发送邮件的协议:SMTP RFC 2821(RFC 821):Simple Mail Transfer Protocol RFC 2822(RFC 822):Internet Message Format 早期邮件只支持早期邮件只支持7bit ASCII编码,编码,1993年提出了年提出了MIME标准标准 RFC 2045 - 2049 在邮件首部中说明了数据类型在邮件首部中说明了数据类型(如文本、声音、图像、视像等如文本、声音、图像、视像等),可在邮件中多种类型的数据,可在邮件中多种类型的数据 读取邮件的协议:读取邮件的协议:POP3和和IMAP POP3-Post Office Protocol IMAP-Internet Message Access Protocol电子邮件的最主要的组成构件电子邮件的最主要的组成构件发送方邮件缓存 接收端邮件服务器用户代理SMTPSMTPPOP3 发送端邮件服务器用户代理用户邮箱接收方(发送邮件)(发送邮件)(读取邮件)因特网SMTPPOP3发送邮件发送邮件 SMTP读取邮件TCP连接TCP连接发送方邮件服务器SMTP客户POP3客户发件人用户代理接收方邮件服务器SMTP服务器POP3服务器SMTP服务器SMTP客户收件人用户代理TCP 连接6.5 电子邮件电子邮件 电子邮件系统的两种实体电子邮件系统的两种实体 用户代理用户代理UA(User Agent) 是用户与电子邮件系统的接口,即电子邮件客户端软件是用户与电子邮件系统的接口,即电子邮件客户端软件 用户代理的功能:撰写、显示、处理和通信用户代理的功能:撰写、显示、处理和通信 邮件服务器邮件服务器 用于发送和接收邮件,并向发信人报告传送结果用于发送和接收邮件,并向发信人报告传送结果(已交付已交付、被拒绝、丢失等)、被拒绝、丢失等) 邮件服务器按照客户邮件服务器按照客户/服务器方式工作服务器方式工作 使用发送和读取两个不同的协议,即发送邮件的使用发送和读取两个不同的协议,即发送邮件的SMTP协协议和客户端读取邮件的议和客户端读取邮件的POP3协议协议 一个邮件服务器既可以作为客户,也可以作为服务器一个邮件服务器既可以作为客户,也可以作为服务器6.5 电子邮件电子邮件 发送电子邮件的主要步骤:发送电子邮件的主要步骤: 发件人发件人运行自己主机中的运行自己主机中的用户代理用户代理,撰写和编辑邮件撰写和编辑邮件 发件人发件人使用使用用户代理把邮件用用户代理把邮件用SMTP协议发给发送方邮件服务协议发给发送方邮件服务器器 邮件邮件服务器把邮件临时存放在邮件缓存队列中,等待发送服务器把邮件临时存放在邮件缓存队列中,等待发送 发送方邮件服务器发送方邮件服务器处理处理缓存队列中的邮件缓存队列中的邮件,由,由SMTP客户与接客户与接收方邮件服务器的收方邮件服务器的SMTP服务器建立服务器建立TCP连接,连接,并将并将邮件发送邮件发送出去出去 运行在接收方邮件服务器中的运行在接收方邮件服务器中的SMTP服务器收到邮件后,把邮服务器收到邮件后,把邮件放入收件人的用户邮箱中,等待收件人读取件放入收件人的用户邮箱中,等待收件人读取 收件人在收信时,运行自己主机中的用户代理,使用收件人在收信时,运行自己主机中的用户代理,使用POP3(或或IMAP)协议读取邮件协议读取邮件6.5 电子邮件电子邮件二、二、简单邮件传送协议简单邮件传送协议 SMTP简介简介SMTP规定规定了了两个相互通信的两个相互通信的SMTP进程之间应如何交换信息进程之间应如何交换信息SMTP使用客户使用客户/服务器方式服务器方式负责发送邮件的负责发送邮件的SMTP进程就是进程就是SMTP 客户客户负责接收邮件的负责接收邮件的SMTP进程就是进程就是SMTP服务器服务器SMTP定义定义了了14条命令和条命令和21种应答信息种应答信息每条命令用每条命令用4个字母组成个字母组成每一种应答信息一般只有一行信息,由一个每一种应答信息一般只有一行信息,由一个3位数字的代码开始,后面附上位数字的代码开始,后面附上(也可不附上也可不附上)简单的文字说明简单的文字说明SMTP通信的三个阶段通信的三个阶段 连接建立:连接在发送主机的连接建立:连接在发送主机的SMTP客户和接收主机的客户和接收主机的SMTP服务器之间建立,不使用中间邮件服务器服务器之间建立,不使用中间邮件服务器 邮件传送邮件传送 连接释放:邮件发送完毕后,连接释放:邮件发送完毕后,SMTP释放释放TCP 连接连接6.5 电子邮件电子邮件三、三、电子邮件的信息格式电子邮件的信息格式 RFC 2822(RFC 822):Internet Message Format 一个电子邮件分为信封和内容两大部分一个电子邮件分为信封和内容两大部分 RFC 822只规定了邮件内容中的首部只规定了邮件内容中的首部(header)格式,而格式,而对邮件的主体对邮件的主体(body)部分则由用户自由撰写部分则由用户自由撰写 首部中的主要字段首部中的主要字段 To:后面填入一个或多个收件人的:后面填入一个或多个收件人的e-mail地址地址 Subject:邮件的主题,反映了邮件的主要内容:邮件的主题,反映了邮件的主要内容 Cc:抄送:抄送(Carbon copy),表示给某人发送一个邮件副本,表示给某人发送一个邮件副本 From:发信人的电子邮件地址:发信人的电子邮件地址 Date:发信日期:发信日期 Reply-to:对方回信地址:对方回信地址6.5 电子邮件电子邮件四、四、MIME MIME-Multi-purpose Internet Mail Extension SMTP的问题的问题 只能传送只能传送7位位ASCII码码 不能传送二进制数据:程序、图片、音乐、东方语不能传送二进制数据:程序、图片、音乐、东方语言、言、 MIME的思路的思路 继续使用目前的继续使用目前的RFC 822格式格式 对二进制数据进行编码,将其转换为对二进制数据进行编码,将其转换为7位位ASCII码码 邮件首部中增加字段,定义数据类型和编码规则邮件首部中增加字段,定义数据类型和编码规则6.5 电子邮件电子邮件四、四、MIME MIME新增了新增了5种头部字段种头部字段字段含义MIME-VersionMIME版本号,一般为1.0Content-Type报文体中数据的类型Content-Transfer-Encoding传输时编码格式Content-ID唯一的标识符Content-Description供人阅读的内容描述 传输编码规则:传输编码规则: base64: 又称为又称为Radix-64 (基数基数64转换转换),原始二进制数据中的每,原始二进制数据中的每6bit被映被映射为射为8bit(ASCII字符字符) quoted-printable: 原始二进制数据的原始二进制数据的8bit表示为表示为2个个16进制数,前加进制数,前加“=”
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!