资源描述
计算机网络应用层.应用层1 域名系统 DNS 1.1 域名系统概述 1.2 因特网的域名结构 1.3 用域名服务器进行域名解析2 文件传送协议 2.1 概述 2.2 FTP 的基本工作原理.应用层(续)3 电子邮件3.1 概述3.2 简单邮件传送协议 SMTP3.3 电子邮件的信息格式3.4 邮件读取协议 POP3 和 IMAP3.5 通用因特网邮件扩充 MIME.应用层(续)4 万维网 WWW4.1 概述4.2 统一资源定位符 URL4.3 超文本传送协议 HTTP4.4 超文本标记语言 HTML4.5 万维网页面中的超链.应用层协议的特点 n每个应用层协议都是为了解决某一类应用问题,而问题的解决又往往是通过位于不同主机中的多个应用进程之间的通信和协同工作来完成的。应用层的具体内容就是规定应用进程在通信时所遵循的协议。n应用层的许多协议都是基于客户服务器方式。客户(client)和服务器(server)都是指通信中所涉及的两个应用进程。客户服务器方式所描述的是进程之间服务和被服务的关系。客户是服务请求方,服务器是服务提供方。.什么是P2PnP2P:Peer-to-Peern对等(网络,计算);端到端n以非集中方式使用分布式资源来完成关键任务的一类系统和应用n资源包括计算能力、数据(存储和内容)、网络带宽和场景(计算机、人和其它资源)n关键任务可能是分布式计算、数据/内容共享,通信和协同、或平台服务n典型位置:因特网边界或ad-hoc网内.P2P的效果n巨大的扩展力n通过低成本交互来聚合资源,导致整体大于部分之和。n低成本的所有权和共享n使用现存的基础设施、削减和分布成本n匿名和隐私n允许对等端在其数据和资源上很大的自治控制.LinuxTCP/IPBluetoothHTTPTCP/IPTCP/IPXPP2PP2P的的网网络络基基本本构构成成.1.2 P2P的定义nIntel 工作组:通过在系统之间直接交换来共享计算机资源和服务的一种应用模式nA.Weytsel:在因特网周边以非客户地位使用的设备nR.l.Granham:通过3个关键条件定义n具有服务器质量的可运行计算机n具有独立于DNS的寻址系统n具有与可变连接合作的能力nC.Shirky:n利用因特网边界的存储/CPU/内容/现场等资源的一种应n访问这些非集中资源意味着运行在不稳定连接和不可预知IP地址环境下,P2P节点必须运行在DNS系统外边n具备有效或全部的自治.nKindberg:独立生存的的系统nD.J.Milojicic:给对等组提供或从对等组获得共享n对等端向组给出某些资源,并从组获得某些资源nNapster:把音乐供给组内其他人,并从其他人获得音乐n捐赠计算资源用于外星生命的搜索或战胜癌症,获得帮助其他人的满足n另一种应用模式选择:n相对集中式、和C/S模式模式n纯P2P:没有服务器的概念,所有成员都是对等端n并不是全新的概念n早期分布式系统:如UUCP和交换网络n电话通信n计算机网络中的通信、网络游戏中的诸玩家n自助餐,志愿组活动.P2P 与 C/SPeerPeerClientServern二者在结构和构成上有很大区别n管理能力、构态能力、功能(查找或发现)、组织(分层与网孔)、元素(DNS)和协议(IP)n但又无明显边界n都能运行在不同的(Internet/Intranet)平台上n都能服务传统或新的应用:eBusiness eServuices.有管理自组织预构-Ad-hocAd-hoc查找发现分层Mesh静态移动依赖服务器独立生存以IP为中心不以IP为中心基于DNS客户命名RPC异步.NET.NETJXTAJXTAC/S模式P2P模式CORBACORBACORBACORBAGnutellaGnutellaNapsterNapstereBusinesseBusinessWeb appsWeb appseServiceseServicesDistr.appsDistr.appsAd-hoc NWAd-hoc NWClustersClustersInternet IntranetInternet IntranetWANsWANsGridsGridsP2PP2P与与C/SC/S.P2P 相关背景n一般计算和因特网特殊计算的历史演进:因特网边界计算:如SETIhome和其它分布式计算系统n内容共享的社会方面:如Napster音乐和其他文件/内容共享系统n计算机、网络通信技术的进步和改进n大型机桌面PC 便携机手持设备(手机)n使通信和协同变得更方便nP2P软件结构:如JXTA,.NETn开发的P2P算法:如Gnutella,FreeNet.P2P之目标:满足应用需要n共享/削减成本:Napster 共享文件空间,SETIhome聚合未用资源n改进可扩展性/可靠性:对缺乏很强中心授权的自治对等端这点尤为重要n资源聚合与互操作能力n增加自治n匿名/隐私:自治的理念和结果。用户不希望任何人或ISP知道其包含在系统中n动态性;资源动态进入或离开系统n实现Ad-hoc通信和协同,动态的理念和结果.P2P解决方案平台平台市场市场/工业工业应用实例应用实例水平技术水平技术.2 P2P分类n所有的计算机系统可分为集中式和分布式两类n分布式可进一步划分为C/S和P2P模式nC/S模式可划分为n扁平:所有的客户端仅仅和单个服务器(含重复服务器)通信,如传统的中间件n分层:提高可扩展性,某层的服务器又作为更高层的客户端:如DNS服务器和文件系统.n纯P2P系统:如Gnutella 和 Freenetn混合P2P系统:首先从服务器获得元数据或索引信息,如存储某些信息的对等端的标识符,或安全信誉的验证,以后P2P通信直接和对等端进行,典型系统有:nNapster,Groove,Aimster,Magi,Softwax,iMesh 以及华中科技大学的5Q;Anyseen某些有SuperPeers的中间形式:如Kazaa,超级Peers拥有其他Peers没有的信息,它们常常在不能发现时查找这些超级PeersPeersServer23PeersServer1混合混合P2PP2P的资源寻找过程的资源寻找过程.2.1 P2P系统的分类 SETIhomeSETIhomeSETIhomeSETIhome AvbakiAvbakiAvbakiAvbaki,EntropiaEntropiaEntropiaEntropia NapsterNapsterNapsterNapster GnutellaGnutellaGnutellaGnutella FreenetFreenetFreenetFreenet PubliusPubliusPubliusPublius Free HavenFree HavenFree HavenFree Haven MagiMagiMagiMagi GrooveGrooveGrooveGroove JabberJabberJabberJabber JXTAJXTAJXTAJXTA.NET.NET.NET.NET.NETNETNETNETMyServicesMyServicesMyServicesMyServices.P2P 多维视图分布式计算分布式计算计算计算文件共享文件共享-存储存储CenterspanCenterspanCybikoCybiko平台平台.NET.NETJXTAJXTAGlobusGlobusAvakiAvakiPorivoPorivo Technology Technology Entropia,DataSynapse Entropia,DataSynapseSETIhome,United DeviceSETIhome,United Device通信与协同通信与协同-带宽带宽JabberJabberAiMsterAiMsterGnutella,FreenetGnutella,FreenetMojo NationMojo NationPointeraPointeraOnSystemsOnSystemsNapsterNapsterFree Haven,PubliusFree Haven,PubliusGrooveGroove Magi Magi.2 P2P 应用分类P2P P2P 应用应用并行化并行化内容和文件管理内容和文件管理协同协同计算密集计算密集构件化构件化构件化构件化过滤挖掘过滤挖掘文件系统文件系统即时消息即时消息共享应用共享应用游戏游戏.1 域名系统 DNS1.1 域名系统概述n许多应用层软件经常直接使用域名系统 DNS(Domain Name System),但计算机的用户只是间接而不是直接使用域名系统。n因特网采用层次结构的命名树作为主机的名字,并使用分布式的域名系统 DNS。n名字到域名的解析是由若干个域名服务器程序完成的。域名服务器程序在专设的结点上运行,运行该程序的机器称为域名服务器。.1.2 因特网的域名结构n因特网采用了层次树状结构的命名方法。n任何一个连接在因特网上的主机或路由器,都有一个惟一的层次结构的名字,即域名。n域名的结构由若干个分量组成,各分量之间用点隔开:.三级域名.二级域名.顶级域名n各分量分别代表不同级别的域名。.顶级域名 TLD(Top Level Domain)(1)国家顶级域名 nTLD:如:.cn 表示中国,.us 表示美国,.uk 表示英国,等等。(2)国际顶级域名 iTLD:采用.int。国际性的组织可在.int 下注册。(3)通用顶级域名 gTLD:最早的顶级域名是:.com 表示公司企业 .net 表示网络服务机构 .org 表示非赢利性组织 .edu 表示教育机构(美国专用).gov 表示政府部门(美国专用).mil 表示军事部门(美国专用).新增加了七个通用顶级域名 n.aero 用于航空运输企业n.biz 用于公司和企业n.coop 用于合作团体n.info 适用于各种情况n.museum 用于博物馆n.name 用于个人n.pro 用于会计、律师和医师等自由职业者.因特网的名字空间 com net org edu gov milcoopbizinfoaeroint cnukhkjsshbjorg net gov edu com acpkufudansjtutsinghua树根cctvibmhpmot顶级域名二级域名三级域名mailep四级域名mail csnetlseu.1.3用域名服务器解析域名n每一个域名服务器不但能进行一些域名到IP地址的解析,而且还必须具有连向其他域名服务器的信息n当自己不能进行域名到IP地址的转换时,能够知道到什么地方去找别的域名服务器。.根域名服务器n因特网上有十几个根域名服务器,大部分在北美。n当一个本地域名服务器不能解析时,就以DNS客户的身份向某一个根域名服务器查询。n根域名服务器不能查询时,它一定知道某个保存有被查询的主机名字映射的授权域名服务器的IP地址。.授权域名服务器授权域名服务器 n因特网允许各个单位根据具体情况将本单位的域名划分为若干个域名服务器管辖区(zone),并在各管辖区中设置相应的授权域名服务器。comyabcwvxu根域名服务器域 管辖区 的授权域名服务器 管辖区 管辖区管辖区 的授权域名服务器t.递归查询 comabcxyzabcxy因特网 顶级域名服务器本地域名服务器 授权域名服务器“树根”edu.edu 顶级域名服务器y本地域名服务器 授权域名服务器 本地域名服务器 授权域名服务器 的 IP 地址是什么?.递归与迭代相结合的查询 根域名服务器本地域名服务器 本地域名服务器 本地域名服务器 IP()=?IP()=(198.54.23.15).名字的高速缓存 n使用名字的高速缓存可优化查询的开销。n每个域名服务器都维护一个高速缓存,存放最近用过的名字以及从何处获得名字映射信息的记录。n当客户请求域名服务器转换名字时,服务器首先按标准过程检查它是否被授权管理该名字。n若未被授权,则查看自己的高速缓存,检查该名字是否最近被转换过。n域名服务器向客户报告缓存中有关名字与地址的绑定(binding)信息,并标志为非授权绑定,以及给出获得此绑定的服务器 S 的域名。n本地服务器同时也将服务器 S 与 IP 地址的绑定告知客户。.2.2 FTP 的基本工作原理n网络环境中的一项基本应用就是将文件从一台计算机中复制到另一台可能相距很远的计算机中。n初看起来,在两个主机之间传送文件是很简单的事情。n其实这往往非常困难。原因是众多的计算机厂商研制出的文件系统多达数百种,且差别很大。.网络环境下复制文件的复杂性(1)计算机存储数据的格式不同。(2)文件的目录结构和文件命名的规定不同。(3)对于相同的文件存取功能,操作系统使用的命令不同。(4)访问控制方法不同。.FTP 特点n文件传送协议 FTP 只提供文件传送的一些基本的服务,它使用 TCP 可靠的运输服务。nFTP 的主要功能是减少或消除在不同操作系统下处理文件的不兼容性。nFTP 使用客户服务器方式。一个 FTP 服务器进程可同时为多个客户进程提供服务。FTP 的服务器进程由两大部分组成:一个主进程,负责接受新的请求;另外有若干个从属进程,负责处理单个请求。.主进程的工作步骤如下n打开熟知端口(端口号为 21),使客户进程能够连接上。n等待客户进程发出连接请求。n启动从属进程来处理客户进程发来的请求。从属进程对客户进程的请求处理完毕后即终止,但从属进程在运行期间根据需要还可能创建其他一些子进程。n回到等待状态,继续接受其他客户进程发来的请求。主进程与从属进程的处理是并发地进行。.两个连接n控制连接在整个会话期间一直保持打开,FTP 客户发出的传送请求通过控制连接发送给服务器端的控制进程,但控制连接不用来传送文件。n实际用于传输文件的是“数据连接”。服务器端的控制进程在接收到 FTP 客户发送来的文件传输请求后就创建“数据传送进程”和“数据连接”,用来连接客户端和服务器端的数据传送进程。n数据传送进程实际完成文件的传送,在传送完毕后关闭“数据传送连接”并结束运行。.FTP 使用的两个 TCP 连接 控制进程数据传送进程用户界面控制进程数据传送进程客户端服务器端因特网控制连接数据连接.n 当客户进程向服务器进程发出建立连接请求时,要寻找连接服务器进程的熟知端口(21),同时还要告诉服务器进程自己的另一个端口号码,用于建立数据传送连接。n接着,服务器进程用自己传送数据的熟知端口(20)与客户进程所提供的端口号码建立数据传送连接。n由于 FTP 使用了两个不同的端口号,所以数据连接与控制连接不会发生混乱。两个不同的端口号.n使用两个独立的连接的主要好处是n使协议更加简单和更容易实现。n在传输文件时还可以利用控制连接(例如,客户发送请求终止传输)。使用两个不同的端口号.FTP 的屏幕信息举例 01 ftp nic.ddn.mil02 connected to nic.ddn.mil03 220 nic FTP server(Sunos 4.1)ready.04 Name:anonymous05 331 Guest login ok,send ident as password.06 Password:abcxyz.math.yale.edu07 230 Guest login ok,access restrictions apply.08 ftp cd rfc09 250 CWD command successful.10 ftp get rfc1261.txt nicinfo11 200 PORT command successful.12 150 ASCII data connection for rfc1261.txt (128.36.12.27,1401)(4318 bytes).13 226 ASCII Transfer complete.local:nicinfo remote:rfc1261.txt 4488 bytes received in 15 seconds(0.3 Kbytes/s).14 ftp quit15 221 Goodbye.01 用户要用 FTP 和远地主机(网络信息中心 NIC 上的主机)建立连接。.FTP 的屏幕信息举例 01 ftp nic.ddn.mil02 connected to nic.ddn.mil03 220 nic FTP server(Sunos 4.1)ready.04 Name:anonymous05 331 Guest login ok,send ident as password.06 Password:abcxyz.math.yale.edu07 230 Guest login ok,access restrictions apply.08 ftp cd rfc09 250 CWD command successful.10 ftp get rfc1261.txt nicinfo11 200 PORT command successful.12 150 ASCII data connection for rfc1261.txt (128.36.12.27,1401)(4318 bytes).13 226 ASCII Transfer complete.local:nicinfo remote:rfc1261.txt 4488 bytes received in 15 seconds(0.3 Kbytes/s).14 ftp quit15 221 Goodbye.02 本地 FTP 发出的连接成功信息。.FTP 的屏幕信息举例 01 ftp nic.ddn.mil02 connected to nic.ddn.mil03 220 nic FTP server(Sunos 4.1)ready.04 Name:anonymous05 331 Guest login ok,send ident as password.06 Password:abcxyz.math.yale.edu07 230 Guest login ok,access restrictions apply.08 ftp cd rfc09 250 CWD command successful.10 ftp get rfc1261.txt nicinfo11 200 PORT command successful.12 150 ASCII data connection for rfc1261.txt (128.36.12.27,1401)(4318 bytes).13 226 ASCII Transfer complete.local:nicinfo remote:rfc1261.txt 4488 bytes received in 15 seconds(0.3 Kbytes/s).14 ftp quit15 221 Goodbye.03 从远地服务器返回的信息,220 表示“服务就绪”。.FTP 的屏幕信息举例 01 ftp nic.ddn.mil02 connected to nic.ddn.mil03 220 nic FTP server(Sunos 4.1)ready.04 Name:anonymous05 331 Guest login ok,send ident as password.06 Password:abcxyz.math.yale.edu07 230 Guest login ok,access restrictions apply.08 ftp cd rfc09 250 CWD command successful.10 ftp get rfc1261.txt nicinfo11 200 PORT command successful.12 150 ASCII data connection for rfc1261.txt (128.36.12.27,1401)(4318 bytes).13 226 ASCII Transfer complete.local:nicinfo remote:rfc1261.txt 4488 bytes received in 15 seconds(0.3 Kbytes/s).14 ftp quit15 221 Goodbye.04 本地 FTP 提示用户键入名字。用户键入的名字表示“匿名”。用户只需键入 anonymous 即可。.FTP 的屏幕信息举例 01 ftp nic.ddn.mil02 connected to nic.ddn.mil03 220 nic FTP server(Sunos 4.1)ready.04 Name:anonymous05 331 Guest login ok,send ident as password.06 Password:abcxyz.math.yale.edu07 230 Guest login ok,access restrictions apply.08 ftp cd rfc09 250 CWD command successful.10 ftp get rfc1261.txt nicinfo11 200 PORT command successful.12 150 ASCII data connection for rfc1261.txt (128.36.12.27,1401)(4318 bytes).13 226 ASCII Transfer complete.local:nicinfo remote:rfc1261.txt 4488 bytes received in 15 seconds(0.3 Kbytes/s).14 ftp quit15 221 Goodbye.05 数字 331 表示“用户名正确”,需要口令。.FTP 的屏幕信息举例 01 ftp nic.ddn.mil02 connected to nic.ddn.mil03 220 nic FTP server(Sunos 4.1)ready.04 Name:anonymous05 331 Guest login ok,send ident as password.06 Password:abcxyz.math.yale.edu07 230 Guest login ok,access restrictions apply.08 ftp cd rfc09 250 CWD command successful.10 ftp get rfc1261.txt nicinfo11 200 PORT command successful.12 150 ASCII data connection for rfc1261.txt (128.36.12.27,1401)(4318 bytes).13 226 ASCII Transfer complete.local:nicinfo remote:rfc1261.txt 4488 bytes received in 15 seconds(0.3 Kbytes/s).14 ftp quit15 221 Goodbye.06 本地 FTP 提示用户键入口令。用户这时可键入guest 作为匿名的口令,也可以键入自己的电子邮件地址,即耶鲁大学数学系名为 xyz 的主机上的 abc。.FTP 的屏幕信息举例 01 ftp nic.ddn.mil02 connected to nic.ddn.mil03 220 nic FTP server(Sunos 4.1)ready.04 Name:anonymous05 331 Guest login ok,send ident as password.06 Password:abcxyz.math.yale.edu07 230 Guest login ok,access restrictions apply.08 ftp cd rfc09 250 CWD command successful.10 ftp get rfc1261.txt nicinfo11 200 PORT command successful.12 150 ASCII data connection for rfc1261.txt (128.36.12.27,1401)(4318 bytes).13 226 ASCII Transfer complete.local:nicinfo remote:rfc1261.txt 4488 bytes received in 15 seconds(0.3 Kbytes/s).14 ftp quit15 221 Goodbye.07 数字 230 表示用户已经注册完毕。.FTP 的屏幕信息举例 01 ftp nic.ddn.mil02 connected to nic.ddn.mil03 220 nic FTP server(Sunos 4.1)ready.04 Name:anonymous05 331 Guest login ok,send ident as password.06 Password:abcxyz.math.yale.edu07 230 Guest login ok,access restrictions apply.08 ftp cd rfc09 250 CWD command successful.10 ftp get rfc1261.txt nicinfo11 200 PORT command successful.12 150 ASCII data connection for rfc1261.txt (128.36.12.27,1401)(4318 bytes).13 226 ASCII Transfer complete.local:nicinfo remote:rfc1261.txt 4488 bytes received in 15 seconds(0.3 Kbytes/s).14 ftp quit15 221 Goodbye.“ftp”是 FTP 的提示信息。用户键入的是将目录改变为包含 RFC 文件的目录。.FTP 的屏幕信息举例 01 ftp nic.ddn.mil02 connected to nic.ddn.mil03 220 nic FTP server(Sunos 4.1)ready.04 Name:anonymous05 331 Guest login ok,send ident as password.06 Password:abcxyz.math.yale.edu07 230 Guest login ok,access restrictions apply.08 ftp cd rfc09 250 CWD command successful.10 ftp get rfc1261.txt nicinfo11 200 PORT command successful.12 150 ASCII data connection for rfc1261.txt (128.36.12.27,1401)(4318 bytes).13 226 ASCII Transfer complete.local:nicinfo remote:rfc1261.txt 4488 bytes received in 15 seconds(0.3 Kbytes/s).14 ftp quit15 221 Goodbye.09 字符 CWD 是 FTP 的标准命令,代表 Change Working Directory。.FTP 的屏幕信息举例 01 ftp nic.ddn.mil02 connected to nic.ddn.mil03 220 nic FTP server(Sunos 4.1)ready.04 Name:anonymous05 331 Guest login ok,send ident as password.06 Password:abcxyz.math.yale.edu07 230 Guest login ok,access restrictions apply.08 ftp cd rfc09 250 CWD command successful.10 ftp get rfc1261.txt nicinfo11 200 PORT command successful.12 150 ASCII data connection for rfc1261.txt (128.36.12.27,1401)(4318 bytes).13 226 ASCII Transfer complete.local:nicinfo remote:rfc1261.txt 4488 bytes received in 15 seconds(0.3 Kbytes/s).14 ftp quit15 221 Goodbye.10 用户要求将名为 rfc1261.txt 的文件复制到本地主机上,并改名为 nicinfo。.FTP 的屏幕信息举例 01 ftp nic.ddn.mil02 connected to nic.ddn.mil03 220 nic FTP server(Sunos 4.1)ready.04 Name:anonymous05 331 Guest login ok,send ident as password.06 Password:abcxyz.math.yale.edu07 230 Guest login ok,access restrictions apply.08 ftp cd rfc09 250 CWD command successful.10 ftp get rfc1261.txt nicinfo11 200 PORT command successful.12 150 ASCII data connection for rfc1261.txt (128.36.12.27,1401)(4318 bytes).13 226 ASCII Transfer complete.local:nicinfo remote:rfc1261.txt 4488 bytes received in 15 seconds(0.3 Kbytes/s).14 ftp quit15 221 Goodbye.11 字符 PORT 是 FTP 的标准命令,表示要建立数据连接。200 表示“命令正确”。.FTP 的屏幕信息举例 01 ftp nic.ddn.mil02 connected to nic.ddn.mil03 220 nic FTP server(Sunos 4.1)ready.04 Name:anonymous05 331 Guest login ok,send ident as password.06 Password:abcxyz.math.yale.edu07 230 Guest login ok,access restrictions apply.08 ftp cd rfc09 250 CWD command successful.10 ftp get rfc1261.txt nicinfo11 200 PORT command successful.12 150 ASCII data connection for rfc1261.txt (128.36.12.27,1401)(4318 bytes).13 226 ASCII Transfer complete.local:nicinfo remote:rfc1261.txt 4488 bytes received in 15 seconds(0.3 Kbytes/s).14 ftp quit15 221 Goodbye.12 数字 150 表示“文件状态正确,即将建立数据连接”。.FTP 的屏幕信息举例 01 ftp nic.ddn.mil02 connected to nic.ddn.mil03 220 nic FTP server(Sunos 4.1)ready.04 Name:anonymous05 331 Guest login ok,send ident as password.06 Password:abcxyz.math.yale.edu07 230 Guest login ok,access restrictions apply.08 ftp cd rfc09 250 CWD command successful.10 ftp get rfc1261.txt nicinfo11 200 PORT command successful.12 150 ASCII data connection for rfc1261.txt (128.36.12.27,1401)(4318 bytes).13 226 ASCII Transfer complete.local:nicinfo remote:rfc1261.txt 4488 bytes received in 15 seconds(0.3 Kbytes/s).14 ftp quit15 221 Goodbye.13 数字 226 是“释放数据连接”。现在一个新的本地文件已产生。.FTP 的屏幕信息举例 01 ftp nic.ddn.mil02 connected to nic.ddn.mil03 220 nic FTP server(Sunos 4.1)ready.04 Name:anonymous05 331 Guest login ok,send ident as password.06 Password:abcxyz.math.yale.edu07 230 Guest login ok,access restrictions apply.08 ftp cd rfc09 250 CWD command successful.10 ftp get rfc1261.txt nicinfo11 200 PORT command successful.12 150 ASCII data connection for rfc1261.txt (128.36.12.27,1401)(4318 bytes).13 226 ASCII Transfer complete.local:nicinfo remote:rfc1261.txt 4488 bytes received in 15 seconds(0.3 Kbytes/s).14 ftp quit15 221 Goodbye.14 用户键入退出命令。.FTP 的屏幕信息举例 01 ftp nic.ddn.mil02 connected to nic.ddn.mil03 220 nic FTP server(Sunos 4.1)ready.04 Name:anonymous05 331 Guest login ok,send ident as password.06 Password:abcxyz.math.yale.edu07 230 Guest login ok,access restrictions apply.08 ftp cd rfc09 250 CWD command successful.10 ftp get rfc1261.txt nicinfo11 200 PORT command successful.12 150 ASCII data connection for rfc1261.txt (128.36.12.27,1401)(4318 bytes).13 226 ASCII Transfer complete.local:nicinfo remote:rfc1261.txt 4488 bytes received in 15 seconds(0.3 Kbytes/s).14 ftp quit15 221 Goodbye.15 表明 FTP 工作结束。.3 电子邮件3.1 概述n电子邮件(e-mail)是因特网上使用得最多的和最受用户欢迎的一种应用。n电子邮件把邮件发送到 ISP 的邮件服务器,并放在其中的收信人邮箱中,收信人可随时上网到 ISP 的邮件服务器进行读取。n电子邮件不仅使用方便,而且还具有传递迅速和费用低廉的优点。n现在电子邮件不仅可传送文字信息,而且还可附上声音和图像。.电子邮件的一些标准n在 1982 年制定出简单邮件传送协议 SMTP(Simple Mail Transfer Protocol)和因特网文本报文格式,它们都已成为因特网的正式标准。n1993 年提出了通用因特网邮件扩充 MIME(Multipurpose Internet Mail Extensions)。nMIME 在其邮件首部中说明了邮件的数据类型(如文本、声音、图像、视像等)。在 MIME 邮件中可同时传送多种类型的数据。.电子邮件的最主要的组成构件 发送方邮件缓存 接收端邮件服务器用户代理SMTPSMTPPOP3 发送端邮件服务器用户代理用户邮箱接收方用户代理用户代理 邮件服务器 邮件服务器SMTPSMTPPOP3(发送邮件)(发送邮件)(发送邮件)(发送邮件)(读取邮件)(读取邮件)(TCP 连接)(TCP 连接)(TCP 连接)因特网.用户代理 UA(User Agent)n用户代理 UA 就是用户与电子邮件系统的接口。n用户代理的功能是:撰写、显示和处理。n邮件服务器的功能是发送和接收邮件,同时还要向发信人报告邮件传送的情况(已交付、被拒绝、丢失等)。n邮件服务器按照客户服务器方式工作。邮件服务器需要使用两个不同的协议。nSMTP 协议用于发送邮件。n邮局协议 POP(Post Office Protocol)用于接收邮件。.应当注意n一个邮件服务器既可以作为客户,也可以作为服务器。n例如,当邮件服务器 A 向另一个邮件服务器 B 发送邮件时,邮件服务器 A 就作为 SMTP 客户,而 B 是 SMTP 服务器。n当邮件服务器 A 从另一个邮件服务器 B 接收邮件时,邮件服务器 A 就作为 SMTP 服务器,而 B是 SMTP 客户。.电子邮件的发送和接收过程 发送方邮件缓存 接收端邮件服务器用户代理 发送端邮件服务器用户代理接收方用户代理用户代理 邮件服务器 邮件服务器(发送邮件)SMTPSMTP(发送邮件)(TCP 连接)因特网(1)发信人调用用户代理来编辑要发送的邮件。用户代理用 SMTP 把邮件传送给发送端邮件服务器。.电子邮件的发送和接收过程 发送方 接收端邮件服务器用户代理SMTP 发送端邮件服务器邮件缓存用户代理接收方用户代理用户代理 邮件服务器 邮件服务器SMTP(发送邮件)(发送邮件)(TCP 连接)因特网(2)发送端邮件服务器将邮件放入 邮件缓存队列中,等待发送。.电子邮件的发送和接收过程 发送方邮件缓存 接收端邮件服务器用户代理SMTP 发送端邮件服务器用户代理接收方用户代理用户代理 邮件服务器 邮件服务器SMTP(发送邮件)(发送邮件)(TCP 连接)SMTPSMTP(发送邮件)(发送邮件)(TCP 连接)因特网(3)运行在发送端邮件服务器的 SMTP 客户进程,发现在邮件缓存中有待发送的邮件,就向运行在接收端邮件服务器的 SMTP 服务器进程发起 TCP 连接的建立。.电子邮件的发送和接收过程 发送方邮件缓存 接收端邮件服务器用户代理SMTP 发送端邮件服务器用户代理用户邮箱接收方用户代理用户代理 邮件服务器 邮件服务器SMTP(发送邮件)(发送邮件)(TCP 连接)SMTPSMTP(发送邮件)(发送邮件)(TCP 连接)因特网(4)TCP 连接建立后,SMTP 客户进程开始向远程的 SMTP 服务器进程发送邮件。当所有的待发送邮件发完了,SMTP 就关闭所建立的 TCP 连接。.电子邮件的发送和接收过程 发送方邮件缓存 接收端邮件服务器用户代理SMTP 发送端邮件服务器用户代理用户邮箱接收方用户代理用户代理 邮件服务器 邮件服务器SMTP(发送邮件)(发送邮件)(TCP 连接)SMTPSMTP(发送邮件)(发送邮件)(TCP 连接)因特网(5)运行在接收端邮件服务器中的 SMTP 服务器进程收到邮件后,将邮件放入收信人的用户邮箱中,等待收信人在方便时进行读取。.电子邮件的发送和接收过程 发送方邮件缓存 接收端邮件服务器用户代理SMTP 发送端邮件服务器用户代理用户邮箱接收方用户代理用户代理 邮件服务器 邮件服务器SMTP(发送邮件)(发送邮件)(TCP 连接)SMTPSMTP(发送邮件)(发送邮件)(TCP 连接)POP3POP3(读取邮件)(读取邮件)(TCP 连接)因特网(6)收信人在打算收信时,调用用户代理,使用 POP3(或 IMAP)协议将自己的邮件从接收端邮件服务器的用户邮箱中的取回(如果邮箱中有来信的话)。.电子邮件的组成n电子邮件由信封(envelope)和内容(content)两部分组成。n电子邮件的传输程序根据邮件信封上的信息来传送邮件。用户在从自己的邮箱中读取邮件时才能见到邮件的内容。n在邮件的信封上,最重要的就是收信人的地址。.电子邮件地址的格式nTCP/IP 体系的电子邮件系统规定电子邮件地址的格式如下:收信人邮箱名邮箱所在主机的域名 (8-1)n符号“”读作“at”,表示“在”的意思。n 例如,电子邮件地址 邮箱所在的主机的域名在全世界必须是惟一的 这个用户名在该域名的范围内是惟一的。.3.2 简单邮件传送协议 SMTP nSMTP 所规定的就是在两个相互通信的 SMTP 进程之间应如何交换信息。n由于 SMTP 使用客户服务器方式,因此负责发送邮件的 SMTP 进程就是 SMTP 客户,而负责接收邮件的 SMTP 进程就是 SMTP 服务器。nSMTP 规定了 14 条命令和 21 种应答信息。每条命令用 4 个字母组成,而每一种应答信息一般只有一行信息,由一个 3 位数字的代码开始,后面附上(也可不附上)很简单的文字说明。.SMTP 通信的三个阶段 1.连接建立:连接是在发送主机的 SMTP 客户和接收主机的 SMTP 服务器之间建立的。SMTP不使用中间的邮件服务器。2.邮件传送3.连接释放:邮件发送完毕后,SMTP 应释放 TCP 连接。.3.3 电子邮件的信息格式 n一个电子邮件分为信封和内容两大部分。nRFC 822只规定了邮件内容中的首部(header)格式,而对邮件的主体(body)部分则让用户自由撰写。n用户写好首部后,邮件系统将自动地将信封所需的信息提取出来并写在信封上。所以用户不需要填写电子邮件信封上的信息。n邮件内容首部包括一些关键字,后面加上冒号。最重要的关键字是:To 和 Subject。.邮件内容的首部 n“To:”后面填入一个或多个收信人的电子邮件地址。用户只需打开地址簿,点击收信人名字,收信人的电子邮件地址就会自动地填入到合适的位置上。n“Subject:”是邮件的主题。它反映了邮件的主要内容,便于用户查找邮件。n抄送“Cc:”表示应给某某人发送一个邮件副本。n“From”和“Date”表示发信人的电子邮件地址和发信日期。“Reply-To”是对方回信所用的地址。.3.4 邮件读取协议POP3 和 IMAPn邮局协议 POP 是一个非常简单、但功能有限的邮件读取协议,现在使用的是它的第三个版本 POP3。nPOP 也使用客户服务器的工作方式。n在接收邮件的用户 PC 机中必须运行 POP 客户程序,而在用户所连接的 ISP 的邮件服务器中则运行 POP 服务器程序。.IMAP 协议(Internet Message Access Protocol)nIMAP 也是按客户服务器方式工作,现在较新的版本是 IMAP4。n用户在自己的 PC 机上就可以操纵 ISP 的邮件服务器的邮箱,就像在本地操纵一样。n因此 IMAP 是一个联机协议。当用户 PC 机上的 IMAP 客户程序打开 IMAP 服务器的邮箱时,用户就可看到邮件的首部。若用户需要打开某个邮件,则该邮件才传到用户的计算机上。.IMAP 的特点nIMAP最大的好处就是用户可以在不同的地方使用不同的计算机随时上网阅读和处理自己的邮件。nIMAP 还允许收信人只读取邮件中的某一个部分。例如,收到了一个带有视像附件(此文件可能很大)的邮件。为了节省时间,可以先下载邮件的正文部分,待以后有时间再读取或下载这个很长的附件。nIMAP 的缺点是如果用户没有将邮件复制到自己的 PC 机上,则邮件一直是存放在 IMAP 服务器上。因此用户需要经常与 IMAP 服务器建立连接。.必须注意n不要将邮件读取协议 POP 或 IMAP 与邮件传送协议 SMTP 弄混。n发信人的用户代理向源邮件服务器发送邮件,以及源邮件服务器向目的邮件服务器发送邮件,都是使用 SMTP 协议。n而 POP 协议或 IMAP 协议则是用户从目的邮件服务器上读取邮件所使用的协议。.3.5 通用因特网邮件扩充 MIME1.MIME 概述 SMTP 有以下缺点:nSMTP 不能传送可执行文件或其他的二进制对象。nSMTP 限于传送 7 位的 ASCII 码。许多其他非英语国家的文字(如中文、俄文,甚至带重音符号的法文或德文)就无法传送。nSMTP 服务器会拒绝超过一定长度的邮件。n某些 SMTP 的实现并没有完全按照RFC 821的 SMTP 标准。.MIME 的特点nMIME 并没有改动 SMTP 或取代它。nMIME 的意图是继续使用目前的RFC 822格式,但增加了邮件主体的结构,并定义了传送非 ASCII 码的编码规则。.MIME 和 SMTP 的关系 非 ASCII 码7 位 ASCII 码MIMESMTPMIMESMTP7 位 ASCII 码7 位 ASCII 码非 ASCII 码用户用户.MIME 主要包括三个部分 n5 个新的邮件首部字段,它们可包含在RFC 822首部中。这些字段提供了有关邮件主体的信息。n定义了许多邮件内容的格式,对多媒体电子邮件的表示方法进行了标准化。n定义了传送编码,可对任何内容格式进行转换,而不会被邮件系统改变。.MIME 增加 5 个新的邮件首部 nMIME-Version:标志 MIME 的版本。现在的版本号是 1.0。若无此行,则为英文文本。nContent-Description:这是可读字符串,说明此邮件是什么。和邮件的主题差不多。nContent-Id:邮件的惟一标识符。nContent-Transfer-Encoding:在传送时邮件的主体是如何编码的。nContent-Type:说明邮件的性质。.内容传送编码Content-Transfer-Encoding n最简单的编码就是 7 位 ASCII 码,而每行不能超过 1000 个字符。MIME 对这种由 ASCII 码构成的邮件主体不进行任何转换。n另一种编码称为 quoted-printable,这种编码方法适用于当所传送的数据中只有少量的非 ASCII 码。n对于任意的二进制文件,可用 base64 编码。.3.内容类型 nMIME着标准规定 Content-Type 说明必须含有两个标识符,即内容类型(type)和子类型(subtype),中间用“/”分开。nMIME 标准定义了 7 个基本内容类型和 15 种子类型。.4 万维网 WWW4.1 概述n万维网 WWW(World Wide Web)并非某种特殊的计算机网络。n万维网是一个大规模的、联机式的信息储藏所。n万维网用链接的方法能非常方便地从因特网上的一个站点访问另一个站点,从而主动地按需获取丰富的信息。n这种访问方式称为“链接”。.万维网提供分布式服务 万维网站点 A万维网站点 C万维网站点 E万维网站点 D万维网站点 B链接到链接到链接到链接到链接到链接到.超媒体与超文本n万维网是分布式
展开阅读全文