計(jì)算機(jī)網(wǎng)絡(luò)原理課件第7章應(yīng)用層_第1頁(yè)
計(jì)算機(jī)網(wǎng)絡(luò)原理課件第7章應(yīng)用層_第2頁(yè)
計(jì)算機(jī)網(wǎng)絡(luò)原理課件第7章應(yīng)用層_第3頁(yè)
計(jì)算機(jī)網(wǎng)絡(luò)原理課件第7章應(yīng)用層_第4頁(yè)
計(jì)算機(jī)網(wǎng)絡(luò)原理課件第7章應(yīng)用層_第5頁(yè)
已閱讀5頁(yè),還剩58頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第七章應(yīng)用層信息安全的基本知識(shí)

傳統(tǒng)加密技術(shù)

現(xiàn)代密碼算法

鑒別協(xié)議

數(shù)字簽名替換密碼

愷撒密碼:加密字母移3個(gè)字母,若通用化,則可移K個(gè)字母。K就是密鑰。

單字母表替換法:密鑰是明密文字母對(duì)應(yīng)關(guān)系。變位密碼

替換密碼保持明文的符號(hào)順序,只是將它們隱藏起來(lái)。

變位密碼卻要對(duì)明文字母作重新排序,但不隱蔽它們。

密鑰是一個(gè)不含任何重復(fù)字母的單詞或短語(yǔ),目的是對(duì)列編號(hào)。

明文按行書(shū)寫(xiě)

密文按列生成一次性加密

首先選擇一個(gè)隨機(jī)比特串作為密鑰

然后把明文轉(zhuǎn)換成一個(gè)比特串(如按ASCII表示)

最后對(duì)上述2個(gè)比特串作異或運(yùn)算

缺陷:1、密碼無(wú)法記憶,收發(fā)雙方都需攜帶密鑰本;2、可傳輸數(shù)據(jù)總量受可用密鑰數(shù)量的限制;3、對(duì)丟失信息或信息錯(cuò)序十分敏感?,F(xiàn)代密碼算法

不同的加密系統(tǒng)都基于兩條重要原則:

1、所有的加密消息都包含有冗余信息

2、必須防止主動(dòng)入侵者發(fā)回舊消息

現(xiàn)代密碼學(xué)采用的思想:替換,變位(與古典密碼學(xué)相同),可用簡(jiǎn)單電路實(shí)現(xiàn),P盒用于變序,S盒用于替換。

對(duì)稱(chēng)密鑰算法

公開(kāi)密鑰算法數(shù)據(jù)加密標(biāo)準(zhǔn)DES

明文按64比特塊加密,生成64比特的密文。

密鑰是一個(gè)56比特的串。

共做19次變換,成為19站。

除第一站和最后兩站,中間16站中的每站都使用不同密鑰。

P455國(guó)際數(shù)據(jù)加密算法IDEA

基本結(jié)構(gòu)模仿DES,也是輸入64比特的明文塊,經(jīng)過(guò)一系列的帶參數(shù)迭代,生成64比特的加密輸出塊。

由于進(jìn)行了充分的位運(yùn)算,重復(fù)8次就夠了。

密鑰為128比特,用于生成52個(gè)16位的子密鑰。

P461公開(kāi)密鑰算法

加密密鑰與解密密鑰不同

從加密密鑰中不能推出解密密鑰

RSA算法

運(yùn)用方法

1、選擇兩個(gè)質(zhì)數(shù),p和q

2、計(jì)算n=p*q和z=(p-1)*(q-1)

3、選擇一個(gè)與z互為質(zhì)數(shù)的數(shù)d

4、找出e,使得e*d=1modz鑒別協(xié)議

鑒別:驗(yàn)證通信對(duì)象的真實(shí)身份通常采用公開(kāi)密鑰加密算法進(jìn)行會(huì)話(huà)密鑰(對(duì)稱(chēng)密鑰)的分發(fā),雙方會(huì)話(huà)內(nèi)容采用對(duì)稱(chēng)密鑰加解密。查詢(xún)-應(yīng)答協(xié)議P465基于共享秘密密鑰的鑒別使用密鑰分發(fā)中心的鑒別使用Kerberos的鑒別使用公開(kāi)密鑰加密算法的鑒別

基于共享秘密密鑰的鑒別

假設(shè)通信方A與B已共享一個(gè)秘密密鑰KAB,這個(gè)共享密鑰可以通過(guò)電話(huà)或兩人直接接觸商定。1AAliceBob2RB3KAB(RB)4RA5KAB(RA)使用密鑰分發(fā)中心的鑒別

上一個(gè)方法使得與N個(gè)人交談,就需要N個(gè)密鑰,密鑰管理由公眾來(lái)做,會(huì)成為很大負(fù)擔(dān)。引入一個(gè)可信賴(lài)的密鑰分發(fā)中心(KDC)。每個(gè)用戶(hù)與KDC共享一個(gè)單獨(dú)的密鑰。鑒別和會(huì)話(huà)密鑰管理都通過(guò)KDC進(jìn)行。最簡(jiǎn)單的KDC鑒別協(xié)議——大嘴蛙

AliceBob1A,KA(B,KS)KDC2KB(A,KS)使用Kerberos的鑒別

協(xié)議設(shè)計(jì)目的:允許工作站用戶(hù)以一種安全方式訪(fǎng)問(wèn)網(wǎng)格資源。

除了客戶(hù)工作站Alice外,Kerberos還包括三個(gè)服務(wù)器:

鑒別服務(wù)器(AS):在登錄時(shí)驗(yàn)證用戶(hù)身份

授予許可證服務(wù)器(TGS):發(fā)放“身份證明許可證”

服務(wù)器Bob:Alice請(qǐng)求的工作的實(shí)際執(zhí)行者Kerberos的操作1AAS2登錄KA(KS,KTGS(A,KS))AliceBob3KTGS(A,KS),B,KS(t)TGS獲得許4可證KS(B,KAB),KB(A,K5)AB5KB(A,KAB),KAB(t)完成工作6KAB(t+1)使用公開(kāi)密鑰加密算法的鑒別

此方法假設(shè)A與B互相知道對(duì)方的公開(kāi)密鑰。在會(huì)話(huà)中使用秘密密鑰加密法,通常比公開(kāi)密鑰加密法快100-1000倍。使用公開(kāi)密鑰加密法的最初信息交換是為了鑒別對(duì)方并建立一個(gè)秘密的共享會(huì)話(huà)密鑰。

1EB(A,RA)BobAlice2EA(RA,RB,KS)3KS(RB)數(shù)字簽名

數(shù)字簽名方案需滿(mǎn)足的條件:

1、接收方能夠驗(yàn)證發(fā)送方所宣稱(chēng)的身份。

2、發(fā)送方以后不能否認(rèn)報(bào)文是他發(fā)送的。

3、接收方自己不能偽造該報(bào)文。

采用秘密密鑰的數(shù)字簽名

采用公開(kāi)密鑰的數(shù)字簽名采用秘密密鑰的數(shù)字簽名

設(shè)立一個(gè)眾人信任的中央機(jī)構(gòu),例如BB,他知道一切:每個(gè)用戶(hù)選擇一個(gè)秘密密鑰,并親手把它交給BB辦公室。BobAliceA,KA(A,RA,t,P)BBKB(A,RA,t,P,KBB(A,t,P))采用公開(kāi)密鑰的數(shù)字簽名Alice的計(jì)算機(jī)傳輸線(xiàn)路Bob的計(jì)算機(jī)Alice的私有密鑰Bob的公Bob的私Alice的公開(kāi)密鑰P開(kāi)密鑰EB有密鑰DBPDAEADA(P)EB(DA(P))DA(P)報(bào)文摘要

上述簽名方法將兩種不相干的功能放到一起:鑒別和保密。

通常鑒別是必要的而保密不是。

由于加密很慢,所以希望能夠發(fā)送簽名的明文。

希望不加密整個(gè)報(bào)文。

報(bào)文摘要:從一段很長(zhǎng)的明文中計(jì)算處一個(gè)固定長(zhǎng)度的比特串的單向散列函數(shù)。應(yīng)用例子——PGP

PGP是一個(gè)完整的電子郵件安全包,能夠提供保密、鑒別、數(shù)字簽名和壓縮等功能。KM:用于IDEA的一次消息密鑰KMRSABob的RSA:連接公開(kāi)密鑰EBEB(KM)MD5RSAP1ZipP1.ZIDEABaseP64至網(wǎng)絡(luò)的P1已壓縮ASCII文本Alice的原P和P的加密散列的連接用IDEA加密的始明文消息P1.Z和用EB加密的KM的連接域名系統(tǒng)DNS

所有應(yīng)用協(xié)議都要使用域名系統(tǒng)

因特網(wǎng)的域名系統(tǒng)DNS是一個(gè)聯(lián)機(jī)分布式數(shù)據(jù)庫(kù)系統(tǒng),并采用客戶(hù)服務(wù)器方式。

DNS使大多數(shù)名字都在本地映射,僅少量映射需要在因特網(wǎng)上通信,使得系統(tǒng)是高效的。

名字到域名的映射是由若干個(gè)域名服務(wù)器程序組成的。域名服務(wù)器程序在專(zhuān)設(shè)的結(jié)點(diǎn)上運(yùn)行,而人們也常把運(yùn)行該程序的機(jī)器稱(chēng)為域名服務(wù)器。

當(dāng)某一個(gè)應(yīng)用進(jìn)程需要將主機(jī)名映射為IP地址時(shí),該應(yīng)用進(jìn)程就成為域名系統(tǒng)DNS的一個(gè)客戶(hù),并將待轉(zhuǎn)換的域名放在DNS請(qǐng)求報(bào)文中,以UDP數(shù)據(jù)報(bào)方式發(fā)給本地域名服務(wù)器(使用UDP是為了減小開(kāi)銷(xiāo))。本地的域名服務(wù)器在查找域名后,將對(duì)應(yīng)的IP地址放在回答報(bào)文中返回。應(yīng)用進(jìn)程獲得目的主機(jī)的IP地址后即可進(jìn)行通信。

每一級(jí)的域名都由英文字母和數(shù)字組成(不超過(guò)63個(gè)字符,并且不區(qū)分大小寫(xiě)字母)。完整的域名不超過(guò)255個(gè)字符。各級(jí)域名由其上一級(jí)的域名管理機(jī)構(gòu)管理,而最高的頂級(jí)域名則由因特網(wǎng)的有關(guān)機(jī)構(gòu)管理。頂級(jí)域名nTDL:采用ISO3166的規(guī)定。如:cn表示中國(guó),us表示美國(guó),uk表示英國(guó),等等。國(guó)際頂級(jí)域名iTDL:采用int。國(guó)際性的組織可在int下注冊(cè)。通用頂級(jí)域名gTDL:根據(jù)[RFC1591]規(guī)定,最早的頂級(jí)域名共六個(gè),即示非贏利性組織,edu表示教育機(jī)構(gòu),gov表示政府部門(mén)(美國(guó)專(zhuān)用),mil表示軍事部門(mén)(美國(guó)專(zhuān)用)。

com表示公司企業(yè),net表示網(wǎng)絡(luò)服務(wù)機(jī)構(gòu),org表新增加了七個(gè)通用頂級(jí)域名

firm表示公司企業(yè)

shop表示銷(xiāo)售公司和企業(yè)

web表示突出萬(wàn)維網(wǎng)活動(dòng)的單位

arts表示突出文化、娛樂(lè)活動(dòng)的單位

rec表示突出消遣、娛樂(lè)活動(dòng)的單位

info表示提供住處服務(wù)的單位

nom表示個(gè)人。中國(guó)的域名結(jié)構(gòu)

在國(guó)家頂級(jí)域名下注冊(cè)的二級(jí)域名均由該國(guó)家自選確定。我國(guó)則將二級(jí)域名劃分為“類(lèi)別域名”和“行政區(qū)域名”兩大類(lèi)?!邦?lèi)別域名”六個(gè),分別為:ac表示科研機(jī)構(gòu);com表示工、商、金融等企業(yè);edu表示教育機(jī)構(gòu);gov表示政府部門(mén);net表示互聯(lián)網(wǎng)絡(luò)、接入網(wǎng)絡(luò)的信息中心(NIC)和運(yùn)行中心(NOC);org表示各種非盈利性的組織?!靶姓^(qū)域名”34個(gè),適用于我國(guó)的各省、自治區(qū)、直轄市。例如:bj為北京市;sh為上海市;js為江蘇??;等等。在我國(guó),在二級(jí)域名edu下申請(qǐng)注冊(cè)三級(jí)域名則由中國(guó)教育和科研計(jì)算機(jī)網(wǎng)網(wǎng)絡(luò)中心負(fù)責(zé)。在二級(jí)域名edu之外的其他二級(jí)域名下申請(qǐng)注冊(cè)三級(jí)域名的,則應(yīng)向中國(guó)互通聯(lián)網(wǎng)網(wǎng)絡(luò)信息中心CNNIC申請(qǐng)。

按照機(jī)構(gòu)的組織來(lái)劃分的因特網(wǎng)的名字空間

因特網(wǎng)的名字空間是按照機(jī)構(gòu)的組織來(lái)劃分的,與物理的網(wǎng)絡(luò)無(wú)關(guān),與IP地址中的“子網(wǎng)”也沒(méi)有關(guān)系。

它實(shí)際上是一個(gè)倒過(guò)來(lái)的樹(shù),樹(shù)根在最上面而且沒(méi)有名字樹(shù)狀名字空間樹(shù)根頂級(jí)域名firmshopwebartsrecinfonomcomnetorgedugovmilintcnuk…新增的七個(gè)通用頂級(jí)域名cctv…ibmhpmot二級(jí)域名…h(huán)kjsshbjorgnetgoveducomac行政域名類(lèi)別域名三級(jí)域名mail…tsinghuapkufudansjtuseucsu四級(jí)域名mailcsnetlep…因特網(wǎng)的名字空間地址解析

每一個(gè)域名服務(wù)器不但能夠進(jìn)行一些域名到IP地址的轉(zhuǎn)換(在TCP/IP的文檔中,這種地址轉(zhuǎn)換常稱(chēng)為地址解析),而且還必須具有連向其他域名服務(wù)器的信息。當(dāng)自己不能進(jìn)行域名到IP地址的轉(zhuǎn)換時(shí),就能夠知道到什么地方去找別的域名服務(wù)器。因特網(wǎng)上的域名服務(wù)器系統(tǒng)也是按照域名的層次來(lái)安排的。每一個(gè)域名服務(wù)器都只對(duì)域名體系中的一部分進(jìn)行管轄。

域名服務(wù)器

本地域名服務(wù)器(localnameserver)

根域名服務(wù)器(rootnameserver)

授權(quán)域名服務(wù)器(authoritativenameserer)本地域名服務(wù)器

每一個(gè)因特網(wǎng)服務(wù)提供者ISP,或一個(gè)大學(xué),甚至一個(gè)大學(xué)里的系,都可以擁有一個(gè)本地域名服務(wù)器,它有時(shí)也稱(chēng)為默認(rèn)域名服務(wù)器。

當(dāng)一個(gè)主機(jī)發(fā)出DNS查詢(xún)報(bào)文時(shí),這個(gè)查詢(xún)報(bào)文就首先被送往該主機(jī)的本地域名服務(wù)器。當(dāng)所要查詢(xún)的主機(jī)也屬于同一個(gè)本地ISP時(shí),該本地域名服務(wù)器立即就能將所查詢(xún)的主機(jī)名轉(zhuǎn)換為它的IP地址,而不需要再去詢(xún)問(wèn)其他的域名服務(wù)器。根域名服務(wù)器

目前在因特網(wǎng)上有十幾個(gè)根域名服務(wù)器,大部分都在北美。當(dāng)一個(gè)本地域名服務(wù)器不能立即回答某個(gè)主機(jī)的查詢(xún)時(shí)(因?yàn)樗鼪](méi)有保存被查詢(xún)主機(jī)的信息),該本地域名服務(wù)器就以DNS客戶(hù)的身份向某一個(gè)根域名服務(wù)器查詢(xún)。若根域名服務(wù)器有被查詢(xún)主機(jī)的信息,就發(fā)送DNS回答報(bào)文給本地域名服務(wù)器,然后本地域名服務(wù)器再回答發(fā)起查詢(xún)的主機(jī)。當(dāng)根域名服務(wù)器沒(méi)有被查詢(xún)主機(jī)的信息時(shí),它就一定知道某個(gè)保存被查詢(xún)主機(jī)名字映射的授權(quán)域名服務(wù)器的IP地址。通常根域名服務(wù)器用來(lái)管轄頂級(jí)域(如:com)。根域名服務(wù)器并不直接對(duì)頂級(jí)域下面所屬的所有的域名進(jìn)行轉(zhuǎn)換,但它一定能夠找到下面的所有二級(jí)域名的域名服務(wù)器。

授權(quán)域名服務(wù)器

每一個(gè)主機(jī)都必須在授權(quán)域名服務(wù)器處注冊(cè)登記。通常,一個(gè)主機(jī)的授權(quán)域名服務(wù)器就是它的本地ISP的一個(gè)域名服務(wù)器。實(shí)際上,為了更加可靠地工作,一個(gè)主機(jī)最好有至少兩個(gè)授權(quán)域名服務(wù)器。許多域名服務(wù)器同時(shí)充當(dāng)本地域名服務(wù)器和授權(quán)域名服務(wù)器。授權(quán)域名服務(wù)器總是能夠?qū)⑵涔茌牭闹鳈C(jī)名轉(zhuǎn)換為該主機(jī)的IP地址。

域名服務(wù)器轄區(qū)的劃分域com根域名服務(wù)器管轄區(qū)管轄區(qū)abcxy管轄區(qū)的uvwt管轄區(qū)的授權(quán)域名服務(wù)器授權(quán)域名服務(wù)器域名服務(wù)器管轄區(qū)的劃分舉例遞歸查詢(xún)

假定域名為的主機(jī)想知道另一個(gè)域名為的主機(jī)的IP地址。于是向其本地域名服務(wù)器查詢(xún)。由于查詢(xún)不到,就向根域名服務(wù)器查詢(xún)。根據(jù)被查詢(xún)的域名中的“”再向授權(quán)域名服務(wù)器發(fā)送查詢(xún)報(bào)文,最后再向授權(quán)域名服務(wù)器查詢(xún)。以上的查詢(xún)過(guò)程見(jiàn)圖中的①→②→③→④的順序。得到結(jié)果后,按照?qǐng)D中的⑤→⑥→⑦→⑧的順序?qū)⒒卮饒?bào)文傳送給本地域名服務(wù)器??偣惨褂?個(gè)UDP報(bào)文。這種查詢(xún)方法叫做遞歸查詢(xún)。

遞歸與迭代相結(jié)合的查詢(xún)

為了減輕根域名服務(wù)器的負(fù)擔(dān),根域名服務(wù)器收到上圖中的查詢(xún)②后,可以直接將下屬的授權(quán)域名服務(wù)器dns.abc.con的IP地址返回給本地域名服務(wù)器,然后讓本地域名服務(wù)器直接向授權(quán)域名服務(wù)器dns.abc.con進(jìn)行查詢(xún)。

以后的過(guò)程如下圖所示。這就是遞歸與迭代相結(jié)合的查詢(xún)方法??梢钥闯觯瑢?duì)根域名服務(wù)器來(lái)說(shuō),負(fù)擔(dān)減輕了一半。遞歸與迭代相結(jié)合的查詢(xún)根域名服務(wù)器3254本地域名服務(wù)器本地域名服務(wù)器本地域名服務(wù)器67IP()=(5)81IP()=?遞歸與迭代相結(jié)合的查詢(xún)高速緩存的作用

使用名字的高速緩存可優(yōu)化查詢(xún)的開(kāi)銷(xiāo)。每個(gè)域名服務(wù)器都維護(hù)一個(gè)高速緩存,存放最近到過(guò)的名字映射信息以及從何處獲得此的記錄。

不但在本地域名服務(wù)器中很需要高速緩存,在主機(jī)中也很需要。許多主機(jī)在啟動(dòng)時(shí)從本地域名服務(wù)器下載名字和地址的全部數(shù)據(jù)庫(kù),維護(hù)存放自己最近使用的域名的高速緩存,并且只在從緩存中找不到名字時(shí)才使用域名服務(wù)器。電子郵件系統(tǒng)

主要包括如下組成部分:

用戶(hù)代理

郵件服務(wù)器

簡(jiǎn)單郵件傳輸協(xié)議(simpleMailTransferProtocol,簡(jiǎn)稱(chēng)SMTP)

郵件消息格式

郵件訪(fǎng)問(wèn)協(xié)議

因特網(wǎng)電子郵件系統(tǒng)概貌用戶(hù)代理用戶(hù)代理SMTP郵件服務(wù)器SMTP因特網(wǎng)郵件服務(wù)器SMTP外出消息隊(duì)列郵件服務(wù)器用戶(hù)代理用戶(hù)郵箱用戶(hù)代理

用戶(hù)代理提供用戶(hù)閱讀、保存、回復(fù)、轉(zhuǎn)發(fā)、編寫(xiě)、發(fā)送和刪除郵件消息等功能。用戶(hù)代理包括Outlook、Foxmail等

以發(fā)信人A1ice給收信人Bob發(fā)送電子郵件消息作為例子。

Alice寫(xiě)完電子郵件消息后,其用戶(hù)代理把這個(gè)消息發(fā)送給Alice郵箱所在的郵件服務(wù)器,再由該郵件服務(wù)器把這個(gè)消息放入外出消息隊(duì)列中并負(fù)責(zé)發(fā)送到Bob郵箱所在的郵件服務(wù)器。當(dāng)Bob想閱讀電子郵件消息時(shí),其用戶(hù)代理將從其郵件服務(wù)器上的郵箱中取得郵件。郵件服務(wù)器

郵件服務(wù)器構(gòu)成了電子郵件系統(tǒng)的核心。每個(gè)收信人都有一個(gè)位于某個(gè)郵件服務(wù)器上的郵箱(mailbox)。一個(gè)郵件消息的典型流程:

從發(fā)信人的用戶(hù)代理開(kāi)始,經(jīng)發(fā)信人郵箱所在的郵件服務(wù)器,中轉(zhuǎn)到收信人郵箱所在的郵件服務(wù)器,然后投遞到收信人的郵箱中。當(dāng)收信人Bob想查看自己的郵箱中的郵件消息時(shí),其郵箱所在的郵件服務(wù)器將以他提供的用戶(hù)名和口令認(rèn)證他。發(fā)信人Alice郵箱所在郵件服務(wù)器還必須處理Bob郵箱所在郵件服務(wù)器出故障的情況。

如果Alice方的郵件服務(wù)器無(wú)法把郵件消息立即遞送到Bob方的郵件服務(wù)器,則A1ice方的服務(wù)器就把它們存放在消息隊(duì)列(messagequeue)中,以后再?lài)L試遞送。簡(jiǎn)單郵件傳輸協(xié)議SMTP

SMTP是因特網(wǎng)電子郵件系統(tǒng)重要的應(yīng)用層協(xié)議

使用由TCP提供的可靠的數(shù)據(jù)傳輸服務(wù)把郵件消息從發(fā)信人郵箱所在郵件服務(wù)器傳送到收信人郵箱所在郵件服務(wù)器。

SMTP是客戶(hù)-服務(wù)器應(yīng)用模式

由發(fā)信人的郵件服務(wù)器執(zhí)行的客戶(hù)端和收信人的郵件服務(wù)器執(zhí)行的服務(wù)器端組成。

SMTP限制所有郵件消息的信體必須是簡(jiǎn)單的7位ASCII字符格式

SMTP協(xié)議與現(xiàn)實(shí)社會(huì)人們面對(duì)面交互的禮儀之間有許多相似之處。

首先,運(yùn)行在發(fā)送端郵件服務(wù)器主機(jī)上的SMTP客戶(hù),發(fā)起建立一個(gè)到運(yùn)行在接收端郵件服務(wù)器主機(jī)上的SMTP服務(wù)器端口號(hào)25之間的TCP連接。如果接收郵件服務(wù)器當(dāng)前不工作,SMTP客戶(hù)就等待一段時(shí)間后再?lài)L試建立該連接。這個(gè)連接建立之后,SMTP客戶(hù)和服務(wù)器先執(zhí)行一些應(yīng)用層握手操作。就像人們?cè)谵D(zhuǎn)手東西之前往往先自我介紹那樣,SMTP客戶(hù)和服務(wù)器也在傳送信息之前先自我介紹一下。在這個(gè)SMTP握手階段,SMTP客戶(hù)向服務(wù)器分別指出發(fā)信人和收信人的電子郵件地址。彼此自我介紹完畢之后,客戶(hù)發(fā)出郵件消息。SMTP使用傳輸層提供的可靠數(shù)據(jù)傳輸服務(wù)(TCP服務(wù))把該消息無(wú)差錯(cuò)地傳送到服務(wù)器。如果客戶(hù)還有其它郵件消息需發(fā)送到同一個(gè)服務(wù)器,它就在同一個(gè)TCP連接上重復(fù)上述過(guò)程;否則,它就指示TCP關(guān)閉該連接。

假設(shè)客戶(hù)所在主機(jī)名為,服務(wù)器所在主機(jī)名為。

前面標(biāo)以“C:”的ASCII文本行是客戶(hù)發(fā)送到它的TCP套接字中的完整文本行

前面標(biāo)以“S:”的ASCII文本行是服務(wù)器發(fā)送到它的TCP套接字中的完整文本行

一個(gè)客戶(hù)和服務(wù)器交互的例子如下(以下傳輸腳本在TCP連接建立之后發(fā)生):S:220C:HELOS:250H,pleasedtomeetyouC:MAILFROM:<alice@>S:250SenderOKC:RCPTTO:bob@S:250RecipientOKC:DATAS:354Entermail,endwith"."onalinebyitsselfC:Doyoulikeketchup?郵件內(nèi)容C:Howaboutpickles?郵件內(nèi)容C:.S:250MessageacceptedfordeliveryC:QUITS:221closingconnection

客戶(hù)總共發(fā)出了5個(gè)命令

HELO命令標(biāo)識(shí)發(fā)信人自己的身份

MAILFROM命令表示請(qǐng)求發(fā)送郵件,初始化郵件傳輸

RCPTTO命令標(biāo)識(shí)某電子郵件的計(jì)劃接收人

DATA命令表示所有的郵件接收人已標(biāo)識(shí),并初始化數(shù)據(jù)傳輸,以.結(jié)束

QUIT命令表示退出郵件發(fā)送過(guò)程,結(jié)束會(huì)話(huà)。

下面是一個(gè)典型的電子郵件信頭:

From:alice@

To:bob@

Subject:thisisaletter

信頭之后空一行就是信體。

針對(duì)RFC822的多用途因特網(wǎng)郵件擴(kuò)展(MultipurposeInternetMailExtensions,簡(jiǎn)稱(chēng)MIME)

Alice的用戶(hù)代理生成一個(gè)大體如下的MIME消息:

From:alice@

To:bob@

Subject:pictureofmine

MIME-Version:1.0

Content-Transfer-Encoding:base64

Content-Type:image/jpeg

{...base64編碼數(shù)據(jù)...

...base64編碼數(shù)據(jù)...}

Alice的用戶(hù)代理采用base64編碼格式對(duì)這個(gè)JPEG圖像進(jìn)行編碼,而base64是在MIME中標(biāo)準(zhǔn)化的用于轉(zhuǎn)換成某種可接受的7位ASCII格式的編碼技術(shù)之一(定義在RFC2045中)。

Base64采用了一種很簡(jiǎn)單的編碼轉(zhuǎn)換:對(duì)于待編碼數(shù)據(jù),以3個(gè)字節(jié)為單位,依次取6位數(shù)據(jù)并在前面補(bǔ)上兩個(gè)0形成新的8位編碼,由于3×8=4×6,這樣3個(gè)字節(jié)的輸入會(huì)變成4個(gè)字節(jié)的輸出,長(zhǎng)度上增加了1/3。

Base64編碼表值編碼值編碼值編碼值編碼值編碼值編碼值編碼值編碼0A8I16Q24Y32g40o48w5641B9J17R25Z33h41p49x5752C10K18S26a34i42q50y5863D11L19T27b35j43r51z5974E12M20U28c36k44s5206085F13N21V29d37l45t5316196G14O22W30e38m46u54262+7H15P23X31f39n47v55363/

Alice使用自己的用戶(hù)代理編輯文本并附上圖像后,該用戶(hù)代理生成一個(gè)如下的郵件消息:From:alice@To:bob@MIME-Version:1.0Content-type:multipart/mixed;Boundary=StartOfNextPart--StartOfNextPartDearbob,Pleaselookatthepicture--StartOfNextPartContent-Transfer-Encoding:base64Content-type:image/jpeg{...base64編碼的數(shù)據(jù)......base64編碼的數(shù)據(jù)...}--StartOfNextPartthereissomeacsiiletterhere

郵件訪(fǎng)問(wèn)協(xié)議

目前流行的郵件訪(fǎng)問(wèn)協(xié)議有兩個(gè):

郵局協(xié)議版本3(PostOfficeProtocolVersion3,簡(jiǎn)稱(chēng)POP3)

因特網(wǎng)郵件訪(fǎng)問(wèn)協(xié)議(InternetMailAccessProtocol,簡(jiǎn)稱(chēng)IMAP)。

這兩個(gè)協(xié)議使用內(nèi)拉操作獲取郵件消息,而SMTP是一個(gè)外推協(xié)議。

電子郵件協(xié)議及它們的通信實(shí)體POP3或SMTPSMTPIMAP用戶(hù)代理用戶(hù)代理發(fā)送者的郵件服務(wù)器接收者的郵件服務(wù)器HTTP郵件

使用提供這種服務(wù)的服務(wù)器時(shí),用戶(hù)代理是普通的web瀏覽器,用戶(hù)與郵件服務(wù)器主機(jī)上的郵箱之間的交互由HTTP協(xié)議完成。當(dāng)收信人(例如Bob)想要查看其郵箱中的郵件消息時(shí),這些消息通過(guò)HTTP協(xié)議(而不是POP3或IMAP協(xié)議)從郵件服務(wù)器主機(jī)傳送到他的瀏覽器。當(dāng)發(fā)信人(例如Alice)想要發(fā)送電子郵件消息時(shí),這些消息也是通過(guò)HTTP協(xié)議(而不是SMTP協(xié)議)從她的瀏覽器傳送到她郵箱所在的郵件服務(wù)器主機(jī)的。郵件消息在郵件服務(wù)器主機(jī)之間的中轉(zhuǎn)仍然通過(guò)SMTP協(xié)議。

JAVA代碼示例

//發(fā)送郵件過(guò)程

receive();send("HELO"+hostName);receive();send("MAILFROM:<"+from.getText().trim()+">");receive();send("RCPTTO:<"+to.g

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論