TCP/IP 四層協(xié)議
鏈路層:通常包括操作系統(tǒng)中的設(shè)備驅(qū)動(dòng)程序和計(jì)算機(jī)中對(duì)應(yīng)的網(wǎng)絡(luò)接口卡。它們一起處理與電纜的的物理接口細(xì)節(jié)。
網(wǎng)絡(luò)層:處理分組在網(wǎng)絡(luò)中的活動(dòng),例如分組在網(wǎng)絡(luò)中的選路。包括IP協(xié)議,ICMP協(xié)議,IGMP協(xié)議。
運(yùn)輸層:主要為應(yīng)用上的程序提供端到端的通信。TCP傳輸控制協(xié)議和UDP用戶數(shù)據(jù)報(bào)協(xié)議。TCP提供可靠數(shù)據(jù)傳輸,確認(rèn)收到的分組,設(shè)置發(fā)送最后確認(rèn)分組的超時(shí)時(shí)鐘。UDP提供簡(jiǎn)單服務(wù),只把稱做數(shù)據(jù)報(bào)的分組從一臺(tái)主機(jī)發(fā)送到另一臺(tái)主機(jī),并不保證該數(shù)據(jù)報(bào)一定到達(dá)另一端,這時(shí)候需要應(yīng)用層的可靠性保證。
應(yīng)用層:負(fù)責(zé)處理特定的應(yīng)用程序細(xì)節(jié)。幾乎各種不同的T C P / I P實(shí)現(xiàn)都會(huì)提供下面這些通用的應(yīng)用程序:Telnet遠(yuǎn)程登錄,F(xiàn)TP文本傳輸協(xié)議,SMTP簡(jiǎn)單郵件傳送協(xié)議,SNMP簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議。
可靠的TCP與不可靠的IP
TCP 采用了超時(shí)重發(fā),發(fā)送和接收端到端的確認(rèn)分組機(jī)制。如果丟包會(huì)通知發(fā)送方,我沒收到消息,請(qǐng)重新發(fā)送,那么發(fā)送方就會(huì)再發(fā)一次消息。
IP 只負(fù)責(zé)盡快把分組送到終點(diǎn),它不關(guān)心里面的內(nèi)容。
TCP 和IP 就相當(dāng)于是淘寶的賣家和買家與快遞員之間的關(guān)系,買家沒收到貨,賣家會(huì)重新發(fā)送一次,而對(duì)于快遞員來說,它只負(fù)責(zé)傳送,不知道第一次和第二次傳送的內(nèi)容是相同的。
路由器和網(wǎng)橋
網(wǎng)橋/交換機(jī):工作在數(shù)據(jù)鏈路層,用于連接不同的網(wǎng)絡(luò)。網(wǎng)橋/交換機(jī)會(huì)在自身存儲(chǔ)其硬件端口與MAC地址的映射關(guān)系。一般使用網(wǎng)橋/交換機(jī)隔離LAN。簡(jiǎn)單來說,網(wǎng)橋可以看做一個(gè)端口數(shù)少的交換機(jī)。
路由器:工作在網(wǎng)絡(luò)層。用于連接不同網(wǎng)絡(luò),進(jìn)行分組轉(zhuǎn)發(fā)。區(qū)別在于,網(wǎng)橋/交換機(jī)根據(jù)MAC轉(zhuǎn)發(fā),路由器根據(jù)ip進(jìn)行轉(zhuǎn)發(fā)。
封裝與分用
封裝:應(yīng)用程序發(fā)送的消息經(jīng)過各層協(xié)議棧,不斷加上首部信息或者尾部信息。
分用 Demultiplexing:當(dāng)目的主機(jī)收到一個(gè)以太網(wǎng)數(shù)據(jù)幀時(shí),數(shù)據(jù)就開始從協(xié)議棧中由底向上升,同時(shí)去掉各層協(xié)議加上的報(bào)文首部。