网络基础一(协议的概念,网络应用程序设计模式)
生活随笔
收集整理的這篇文章主要介紹了
网络基础一(协议的概念,网络应用程序设计模式)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
協(xié)議的概念
什么是協(xié)議?
從應(yīng)用的角度出發(fā),協(xié)議可理解為“規(guī)則”,是數(shù)據(jù)傳輸和數(shù)據(jù)的解釋的規(guī)則。 假設(shè),A、B雙方欲傳輸文件。規(guī)定: 第一次,傳輸文件名,接收方接收到文件名,應(yīng)答OK給傳輸方; 第二次,發(fā)送文件的尺寸,接收方接收到該數(shù)據(jù)再次應(yīng)答一個OK; 第三次,傳輸文件內(nèi)容。同樣,接收方接收數(shù)據(jù)完成后應(yīng)答OK表示文件內(nèi)容接收成功。由此,無論A、B之間傳遞何種文件,都是通過三次數(shù)據(jù)傳輸來完成。A、B之間形成了一個最簡單的數(shù)據(jù)傳輸規(guī)則。 雙方都按此規(guī)則發(fā)送、接收數(shù)據(jù)。A、B之間達成的這個相互遵守的規(guī)則即為協(xié)議。這種僅在A、B之間被遵守的協(xié)議稱之為原始協(xié)議。 當此協(xié)議被更多的人采用,不斷的增加、改進、維護、完善。最終形成一個穩(wěn)定的、完整的文件傳輸協(xié)議, 被廣泛應(yīng)用于各種文件傳輸過程中。該協(xié)議就成為一個標準協(xié)議。最早的ftp協(xié)議就是由此衍生而來。TCP協(xié)議注重 數(shù)據(jù)的傳輸。http協(xié)議著重于 數(shù)據(jù)的解釋。
典型協(xié)議
傳輸層 常見協(xié)議有TCP/UDP協(xié)議。 應(yīng)用層 常見的協(xié)議有HTTP協(xié)議,FTP協(xié)議。 網(wǎng)絡(luò)層 常見協(xié)議有IP協(xié)議、ICMP協(xié)議、IGMP協(xié)議。 網(wǎng)絡(luò)接口層 常見協(xié)議有ARP協(xié)議、RARP協(xié)議。TCP傳輸控制協(xié)議,是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議。 UDP用戶數(shù)據(jù)報協(xié)議(是OSI參考模型中一種無連接的傳輸層協(xié)議,提供面向事務(wù)的簡單不可靠信息傳送服務(wù)。 HTTP超文本傳輸協(xié)議 是互聯(lián)網(wǎng)上應(yīng)用最為廣泛的一種網(wǎng)絡(luò)協(xié)議。 FTP文件傳輸協(xié)議 IP協(xié)議是因特網(wǎng)互聯(lián)協(xié)議 ICMP協(xié)議是Internet控制報文協(xié)議它是TCP/IP協(xié)議族的一個子協(xié)議,用于在IP主機、路由器之間傳遞控制消息。 IGMP協(xié)議是 Internet 組管理協(xié)議,是因特網(wǎng)協(xié)議家族中的一個組播協(xié)議。該協(xié)議運行在主機和組播路由器之間。 ARP協(xié)議是正向地址解析協(xié)議,通過已知的IP,尋找對應(yīng)主機的MAC地址。 RARP是反向地址轉(zhuǎn)換協(xié)議,通過MAC地址確定IP地址。網(wǎng)絡(luò)應(yīng)用程序設(shè)計模式
C/S模式
傳統(tǒng)的網(wǎng)絡(luò)應(yīng)用設(shè)計模式,客戶機(client)/服務(wù)器(server)模式。需要在通訊兩端各自部署客戶機和服務(wù)器來完成數(shù)據(jù)通信。
B/S模式
瀏覽器()/服務(wù)器(server)模式。只需在一端部署服務(wù)器,而另外一端使用每臺PC都默認配置的瀏覽器即可完成數(shù)據(jù)的傳輸。
**優(yōu)缺點
對于C/S模式來說,其優(yōu)點明顯。
客戶端位于目標主機上可以保證性能,將數(shù)據(jù)緩存至客戶端本地,從而提高數(shù)據(jù)傳輸效率。 且,一般來說客戶端和服務(wù)器程序由一個開發(fā)團隊創(chuàng)作,所以他們之間所采用的協(xié)議相對靈活。 可以在標準協(xié)議的基礎(chǔ)上根據(jù)需求裁剪及定制。例如,騰訊公司所采用的通信協(xié)議,即為ftp協(xié)議的修改剪裁版。因此,傳統(tǒng)的網(wǎng)絡(luò)應(yīng)用程序及較大型的網(wǎng)絡(luò)應(yīng)用程序都首選C/S模式進行開發(fā)。如,知名的網(wǎng)絡(luò)游戲魔獸世界。3D畫面,數(shù)據(jù)量龐大,使用C/S模式可以提前在本地進行大量數(shù)據(jù)的緩存處理,從而提高觀感。
C/S模式的**缺點也較突出。
由于客戶端和服務(wù)器都需要有一個開發(fā)團隊來完成開發(fā)。工作量將成倍提升,開發(fā)周期較長。 另外,從用戶角度出發(fā),需要將客戶端安插至用戶主機上,對用戶主機的安全性構(gòu)成威脅。 **這也是很多用戶不愿使用C/S模式應(yīng)用程序的重要原因。B/S模式相比C/S模式而言,由于它沒有獨立的客戶端,使用標準瀏覽器作為客戶端,
**其工作開發(fā)量較小。只需開發(fā)服務(wù)器端即可。 另外由于其采用瀏覽器顯示數(shù)據(jù),因此移植性非常好,不受平臺限制。 如早期的偷菜游戲,在各個平臺上都可以完美運行。B/S模式的缺點也較明顯。
由于使用第三方瀏覽器,因此網(wǎng)絡(luò)應(yīng)用支持受限。 另外,沒有客戶端放到對方主機上,緩存數(shù)據(jù)不盡如人意,從而傳輸數(shù)據(jù)量受到限制。應(yīng)用的觀感大打折扣。 第三,必須與瀏覽器一樣,采用標準http協(xié)議進行通信,協(xié)議選擇不靈活。因此在開發(fā)過程中,模式的選擇由上述各自的特點決定。根據(jù)實際需求選擇應(yīng)用程序設(shè)計模式。
總結(jié)
以上是生活随笔為你收集整理的网络基础一(协议的概念,网络应用程序设计模式)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: go 开多个goroutine,是在一个
- 下一篇: 英雄联盟手游亲密关系有什么用