1.應(yīng)用層/表示層
-
超文本傳輸協(xié)議HTTP
HTTP是一個(gè)客戶端終端(用戶)和服務(wù)器端(網(wǎng)站)請求和應(yīng)答的標(biāo)準(zhǔn)(TCP)。通過使用網(wǎng)頁瀏覽器铣卡、網(wǎng)絡(luò)爬蟲或者其它的工具,客戶端發(fā)起一個(gè)HTTP請求到服務(wù)器上指定端口(默認(rèn)端口為80)讥邻。我們稱這個(gè)客戶端為用戶代理程序(user agent)呛哟。應(yīng)答的服務(wù)器上存儲著一些資源,比如HTML文件和圖像胸梆。我們稱這個(gè)應(yīng)答服務(wù)器為源服務(wù)器(origin server)敦捧。在用戶代理和源服務(wù)器中間可能存在多個(gè)“中間層”,比如代理服務(wù)器碰镜、網(wǎng)關(guān)或者隧道(tunnel)兢卵。
盡管TCP/IP協(xié)議是互聯(lián)網(wǎng)上最流行的應(yīng)用,HTTP協(xié)議中绪颖,并沒有規(guī)定必須使用它或它支持的層秽荤。事實(shí)上,HTTP可以在任何互聯(lián)網(wǎng)協(xié)議上柠横,或其他網(wǎng)絡(luò)上實(shí)現(xiàn)窃款。HTTP假定其下層協(xié)議提供可靠的傳輸。因此牍氛,任何能夠提供這種保證的協(xié)議都可以被其使用晨继。因此也就是其在TCP/IP協(xié)議族使用TCP作為其傳輸層。
通常搬俊,由HTTP客戶端發(fā)起一個(gè)請求紊扬,創(chuàng)建一個(gè)到服務(wù)器指定端口(默認(rèn)是80端口)的TCP連接蜒茄。HTTP服務(wù)器則在那個(gè)端口監(jiān)聽客戶端的請求。一旦收到請求餐屎,服務(wù)器會向客戶端返回一個(gè)狀態(tài)檀葛,比如"HTTP/1.1 200 OK",以及返回的內(nèi)容腹缩,如請求的文件屿聋、錯誤消息、或者其它信息藏鹊。
擴(kuò)展閱讀: HTTP協(xié)議詳解(真的很經(jīng)典)
</br> -
文件傳輸協(xié)議FTP
FTP 是File Transfer Protocol(文件傳輸協(xié)議)的英文簡稱润讥,而中文簡稱為“文傳協(xié)議”。用于Internet上的控制文件的雙向傳輸伙判。同時(shí)象对,它也是一個(gè)應(yīng)用程序(Application)。用戶可以通過它把自己的PC機(jī)與世界各地所有運(yùn)行FTP協(xié)議的服務(wù)器相連宴抚,訪問服務(wù)器上的大量程序和信息勒魔。FTP的主要作用,就是讓用戶連接上一個(gè)遠(yuǎn)程計(jì)算機(jī)(這些計(jì)算機(jī)上運(yùn)行著FTP服務(wù)器程序)察看遠(yuǎn)程計(jì)算機(jī)有哪些文件菇曲,然后把文件從遠(yuǎn)程計(jì)算機(jī)上拷到本地計(jì)算機(jī)冠绢,或把本地計(jì)算機(jī)的文件送到遠(yuǎn)程計(jì)算機(jī)去。
</br> -
簡單郵件傳輸協(xié)議SMTP
SMTP 的全稱是“Simple Mail Transfer Protocol”常潮,即簡單郵件傳輸協(xié)議弟胀。它是一組用于從源地址到目的地址傳輸郵件的規(guī)范,通過它來控制郵件的中轉(zhuǎn)方式喊式。SMTP 協(xié)議屬于 TCP/IP 協(xié)議簇孵户,它幫助每臺計(jì)算機(jī)在發(fā)送或中轉(zhuǎn)信件時(shí)找到下一個(gè)目的地。SMTP 服務(wù)器就是遵循 SMTP 協(xié)議的發(fā)送郵件服務(wù)器岔留。
使用SMTP發(fā)送郵件夏哭,感受網(wǎng)絡(luò)協(xié)議交互之美.md
</br> -
域名系統(tǒng)DNS
DNS是域名系統(tǒng)(DomainNameSystem)的縮寫,該系統(tǒng)用于命名組織到域?qū)哟谓Y(jié)構(gòu)中的計(jì)算機(jī)和網(wǎng)絡(luò)服務(wù)献联。域名是由圓點(diǎn)分開一串單詞或縮寫組成的竖配,每一個(gè)域名都對應(yīng)一個(gè)惟一的IP地址,在Internet上域名與IP地址之間是一一對應(yīng)的里逆,DNS就是進(jìn)行域名解析的服務(wù)器进胯。DNS命名用于Internet等TCP/IP網(wǎng)絡(luò)中,通過用戶友好的名稱查找計(jì)算機(jī)和服務(wù)原押。DNS是因特網(wǎng)的一項(xiàng)核心服務(wù),它作為可以將域名和IP地址相互映射的一個(gè)分布式數(shù)據(jù)庫胁镐。
</br> -
安全外殼協(xié)議SSH
SSH是英文Secure Shell的簡寫形式。通過使用SSH,你可以把所有傳輸?shù)臄?shù)據(jù)進(jìn)行加密希停,這樣"中間人"這種攻擊方式就不可能實(shí)現(xiàn)了烁巫,而且也能夠防止DNS欺騙和IP欺騙。使用SSH宠能,還有一個(gè)額外的好處就是傳輸?shù)臄?shù)據(jù)是經(jīng)過壓縮的,所以可以加快傳輸?shù)乃俣却挪汀SH有很多功能违崇,它既可以代替Telnet,又可以為FTP诊霹、Pop羞延、甚至為PPP提供一個(gè)安全的"通道"。
SSH原理與運(yùn)用(一):遠(yuǎn)程登錄
SSH原理與運(yùn)用(二):遠(yuǎn)程操作與端口轉(zhuǎn)發(fā)
</br> 動態(tài)主機(jī)配置協(xié)議DHCP
網(wǎng)絡(luò)校時(shí)協(xié)議NTP
實(shí)時(shí)流傳輸協(xié)議RTSPRTP
控制協(xié)議RTCP
簡單網(wǎng)絡(luò)管理協(xié)議SNMP
2.傳輸層
-
傳輸控制協(xié)議TCP(Transport Control Protocol)
TCP是一種面向連接的脾还、可靠的伴箩、基于字節(jié)流的傳輸層通信協(xié)議,由IETF的RFC 793定義鄙漏。在簡化的計(jì)算機(jī)網(wǎng)絡(luò)OSI模型中嗤谚,它完成第四層傳輸層所指定的功能,用戶數(shù)據(jù)報(bào)協(xié)議(UDP)是同一層內(nèi)另一個(gè)重要的傳輸協(xié)議怔蚌。
在因特網(wǎng)協(xié)議族(Internet protocol suite)中巩步,TCP層是位于IP層之上,應(yīng)用層之下的中間層桦踊。不同主機(jī)的應(yīng)用層之間經(jīng)常需要可靠的椅野、像管道一樣的連接,但是IP層不提供這樣的流機(jī)制籍胯,而是提供不可靠的包交換竟闪。
應(yīng)用層向TCP層發(fā)送用于網(wǎng)間傳輸?shù)摹⒂?位字節(jié)表示的數(shù)據(jù)流杖狼,然后TCP把數(shù)據(jù)流分區(qū)成適當(dāng)長度的報(bào)文段(通常受該計(jì)算機(jī)連接的網(wǎng)絡(luò)的數(shù)據(jù)鏈路層的最大傳輸單元(MTU)的限制)炼蛤。之后TCP把結(jié)果包傳給IP層,由它來通過網(wǎng)絡(luò)將包傳送給接收端實(shí)體的TCP層本刽。TCP為了保證不發(fā)生丟包鲸湃,就給每個(gè)包一個(gè)序號,同時(shí)序號也保證了傳送到接收端實(shí)體的包的按序接收子寓。然后接收端實(shí)體對已成功收到的包發(fā)回一個(gè)相應(yīng)的確認(rèn)(ACK)暗挑;如果發(fā)送端實(shí)體在合理的往返時(shí)延(RTT)內(nèi)未收到確認(rèn),那么對應(yīng)的數(shù)據(jù)包就被假設(shè)為已丟失將會被進(jìn)行重傳斜友。TCP用一個(gè)校驗(yàn)和函數(shù)來檢驗(yàn)數(shù)據(jù)是否有錯誤炸裆;在發(fā)送和接收時(shí)都要計(jì)算校驗(yàn)和。
</br> -
用戶數(shù)據(jù)報(bào)文協(xié)議UDP(User Datagram Protocol )
UDP是一個(gè)簡單的面向數(shù)據(jù)報(bào)的傳輸層協(xié)議鲜屏,正式規(guī)范為RFC 768烹看。
在TCP/IP模型中国拇,UDP為網(wǎng)絡(luò)層以上和應(yīng)用層以下提供了一個(gè)簡單的接口。UDP只提供數(shù)據(jù)的不可靠傳遞惯殊,它一旦把應(yīng)用程序發(fā)給網(wǎng)絡(luò)層的數(shù)據(jù)發(fā)送出去酱吝,就不保留數(shù)據(jù)備份(所以UDP有時(shí)候也被認(rèn)為是不可靠的數(shù)據(jù)報(bào)協(xié)議)。UDP在IP數(shù)據(jù)報(bào)的頭部僅僅加入了復(fù)用和數(shù)據(jù)校驗(yàn)(字段)土思。
UDP首部字段由4個(gè)部分組成务热,其中兩個(gè)是可選的。各16bit的來源端口和目的端口用來標(biāo)記發(fā)送和接受的應(yīng)用進(jìn)程己儒。因?yàn)閁DP不需要應(yīng)答崎岂,所以來源端口是可選的,如果來源端口不用闪湾,那么置為零冲甘。在目的端口后面是長度固定的以字節(jié)為單位的長度域,用來指定UDP數(shù)據(jù)報(bào)包括數(shù)據(jù)部分的長度途样,長度最小值為8byte江醇。首部剩下地16bit是用來對首部和數(shù)據(jù)部分一起做校驗(yàn)和(Checksum)的,這部分是可選的娘纷,但在實(shí)際應(yīng)用中一般都使用這一功能嫁审。
由于缺乏可靠性且屬于非連接導(dǎo)向協(xié)議,UDP應(yīng)用一般必須允許一定量的丟包赖晶、出錯和復(fù)制粘貼律适。但有些應(yīng)用,比如TFTP遏插,如果需要則必須在應(yīng)用層增加根本的可靠機(jī)制捂贿。但是絕大多數(shù)UDP應(yīng)用都不需要可靠機(jī)制,甚至可能因?yàn)橐肟煽繖C(jī)制而降低性能胳嘲。流媒體(流技術(shù))厂僧、即時(shí)多媒體游戲和IP電話(VoIP)一定就是典型的UDP應(yīng)用。如果某個(gè)應(yīng)用需要很高的可靠性了牛,那么可以用傳輸控制協(xié)議(TCP協(xié)議)來代替UDP颜屠。
由于缺乏擁塞控制(congestion control),需要基于網(wǎng)絡(luò)的機(jī)制來減少因失控和高速UDP流量負(fù)荷而導(dǎo)致的擁塞崩潰效應(yīng)鹰祸。換句話說甫窟,因?yàn)閁DP發(fā)送者不能夠檢測擁塞,所以像使用包隊(duì)列和丟棄技術(shù)的路由器這樣的網(wǎng)絡(luò)基本設(shè)備往往就成為降低UDP過大通信量的有效工具蛙婴。數(shù)據(jù)報(bào)擁塞控制協(xié)議(DCCP)設(shè)計(jì)成通過在諸如流媒體類型的高速率UDP流中粗井,增加主機(jī)擁塞控制,來減小這個(gè)潛在的問題。
</br> 數(shù)據(jù)報(bào)擁塞控制協(xié)議DCCP(Datagram Congestion Control Protocol)
流控制傳輸協(xié)議SCTP(STREAM CONTROL TRANSMISSION PROTOCOL)
實(shí)時(shí)傳送協(xié)議 RTP(RTPReal-time Transport Protocol)
資源預(yù)留協(xié)議RSVP (Resource ReSer Vation Protocol)
點(diǎn)對點(diǎn)隧道協(xié)議PPTP ( Point to Point Tunneling Protocol)
3.網(wǎng)絡(luò)層
- 網(wǎng)際協(xié)議IP (IPv4 · IPv6)
網(wǎng)際協(xié)議浇衬,或稱互聯(lián)網(wǎng)協(xié)議懒构,是用于報(bào)文交換網(wǎng)絡(luò)的一種面向數(shù)據(jù)的協(xié)議。 IP是在TCP/IP協(xié)議中網(wǎng)絡(luò)層的主要協(xié)議耘擂,任務(wù)是僅僅根據(jù)源主機(jī)和目的主機(jī)的地址傳送數(shù)據(jù)胆剧。為此目的,IP定義了尋址方法和數(shù)據(jù)報(bào)的封裝結(jié)構(gòu)梳星。第一個(gè)架構(gòu)的主要版本赞赖,現(xiàn)在稱為IPv4,仍然是最主要的互聯(lián)網(wǎng)協(xié)議冤灾,盡管世界各地正在積極部署IPv6。 - ARP
- RARP
- ICMP
- ICMPv6
- IGMP
- RIP
- OSPF
- BGP
- IS-IS
- IPsec
- ICMP
- IGMP
4.網(wǎng)絡(luò)接口層
- ethernet802.3
- Token Ring 802.5
- X.25
- Frame Rely
- HDLC
- PPP