網(wǎng)絡(luò)體系模型
OSI(開放系統(tǒng)互聯(lián)參考模型)標(biāo)準(zhǔn)模型
物理層 數(shù)據(jù)鏈路層 網(wǎng)絡(luò)層 傳輸層 會(huì)話層 表示層 應(yīng)用層
五層體系結(jié)構(gòu)模型
物理層,數(shù)據(jù)鏈路層嘉竟,網(wǎng)絡(luò)層邦危,傳輸層,應(yīng)用層
物理層
負(fù)責(zé)為數(shù)據(jù)端設(shè)備透明地傳輸原始比特流舍扰,并且定義了數(shù)據(jù)終端設(shè)備和數(shù)據(jù)通信設(shè)備的物理和邏輯鏈接方法倦蚪。傳輸單位是比特。
協(xié)議:RJ45边苹、CLOCK陵且、IEEE802.3
設(shè)備:(中繼器,集線器)
數(shù)據(jù)鏈路層
將網(wǎng)絡(luò)層傳下來(lái)的IP數(shù)據(jù)報(bào)組裝成幀勾给,并檢測(cè)和矯正物理層產(chǎn)生的傳輸差錯(cuò)滩报,使得鏈路對(duì)網(wǎng)絡(luò)層顯示一條無(wú)差錯(cuò)、可靠的數(shù)據(jù)傳輸線路播急。功能可以概括為成幀脓钾,差錯(cuò)控制、流量控制和傳輸管理
協(xié)議有:HDLC(高級(jí)數(shù)據(jù)鏈路控制協(xié)議),PPP,STP,SDLC,CSMA(載波監(jiān)聽多路訪問(wèn))
設(shè)備:(網(wǎng)橋桩警,交換機(jī))
網(wǎng)絡(luò)層
負(fù)載在網(wǎng)絡(luò)層上將數(shù)據(jù)封裝成數(shù)據(jù)報(bào)可训,將數(shù)據(jù)報(bào)從源端傳到目的端,同時(shí)進(jìn)行路由選擇,為分組交換網(wǎng)上的不同主機(jī)提供通信服務(wù)握截。關(guān)鍵問(wèn)題是對(duì)分組進(jìn)行選擇飞崖,并實(shí)現(xiàn)流量控制、擁塞控制谨胞、差錯(cuò)控制和網(wǎng)際互聯(lián)等功能固歪。傳輸單位數(shù)據(jù)報(bào)。
協(xié)議: IP,ICMP(因特網(wǎng)控制報(bào)文協(xié)議),IGMP(因特網(wǎng)組管理協(xié)議),ARP,RARP,OSPF(開放最短路徑優(yōu)先),IPX
設(shè)備:路由器
傳輸層
負(fù)責(zé)主機(jī)中兩個(gè)進(jìn)程之間的通信胯努,為端到端連接提供可靠的傳輸服務(wù)牢裳。為端到端連接提供流量控制、差錯(cuò)控制叶沛、服務(wù)質(zhì)量蒲讯、數(shù)據(jù)傳輸管理等服務(wù)。
協(xié)議:TCP,UDP
會(huì)話層
會(huì)話層允許不同主機(jī)上各個(gè)進(jìn)程之間的會(huì)話灰署,會(huì)話層利用傳輸層提供的端到端的服務(wù)判帮,向表示層提供它的增值服務(wù)。這種服務(wù)主要是為表示層實(shí)體或用戶進(jìn)程建立連接并在連接上提供有序地傳輸數(shù)據(jù)溉箕。
協(xié)議:SQL晦墙、RPC(遠(yuǎn)程調(diào)用協(xié)議)
表示層
用于處理兩個(gè)通信系統(tǒng)中交換信息的表示方式。如數(shù)據(jù)壓縮约巷,加密和解密等偎痛。
協(xié)議:JPEG、MPEG独郎、ASII
應(yīng)用層
是TCP/IP的最高層踩麦,它是直接為應(yīng)用進(jìn)程服務(wù)的一層。當(dāng)不同的應(yīng)用進(jìn)程數(shù)據(jù)通信或數(shù)據(jù)交換時(shí)氓癌,就去調(diào)用應(yīng)用層的不同協(xié)議實(shí)體谓谦,讓這些實(shí)體去調(diào)用TCP或者UDP層服務(wù)來(lái)進(jìn)行網(wǎng)絡(luò)傳輸。
協(xié)議:FTP(21) TELNET(23) SMTP(25) DNS(53) TFTP(69) HTTP(80) SNMP(161),DHCP(動(dòng)態(tài)主機(jī)配置協(xié)議)
TCP相關(guān)
TCP的三次握手與四次揮手過(guò)程贪婉,各個(gè)狀態(tài)名稱與含義反粥,TIMEWAIT的作用
三次握手:采用三次握手是為了防止失效的連接請(qǐng)求報(bào)文段再次傳到服務(wù)器,因而產(chǎn)生錯(cuò)誤疲迂。
第一次握手:客戶機(jī)首先向服務(wù)器的TCP發(fā)送一個(gè)連接請(qǐng)求報(bào)文段才顿,這個(gè)特殊的報(bào)文段不含應(yīng)用層數(shù)據(jù),其首部中同步位SYN被設(shè)置為1尤蒿。另外郑气,客戶機(jī)會(huì)隨機(jī)選擇一個(gè)起始序號(hào)seq=x(連接請(qǐng)求報(bào)文不攜帶數(shù)據(jù),但要消耗一個(gè)序號(hào))腰池;
第二次握手:服務(wù)器的TCP收到連接請(qǐng)求報(bào)文段后尾组,如果同意建立連接忙芒,就向客戶機(jī)發(fā)回確認(rèn),并為該TCP連接分配TCP緩存和變量讳侨。在確認(rèn)報(bào)文段中呵萨,SYN和ACK位都被設(shè)置為1,確認(rèn)號(hào)字段值為ack=x+1,并且服務(wù)器隨機(jī)產(chǎn)生起始序號(hào)seq=y. 確認(rèn)包同樣不包含應(yīng)用層數(shù)據(jù)跨跨。
第三次握手:當(dāng)客戶機(jī)收到確認(rèn)報(bào)文段后潮峦,還要向服務(wù)器給出確認(rèn),并且也要給該連接分配緩存和變量歹叮。這個(gè)報(bào)文段的確認(rèn)為ACK被設(shè)置為1跑杭,序號(hào)段被設(shè)置為seq=x+1,確認(rèn)號(hào)字段ack=y+1. 該報(bào)文段可以攜帶數(shù)據(jù),如果不攜帶數(shù)據(jù)則不消耗序號(hào)咆耿。
理想狀態(tài)下,TCP連接一旦建立爹橱,在通信雙方中的任何一方主動(dòng)關(guān)閉連接之前萨螺,TCP 連接都將被一直保持下去。因?yàn)門CP提供全雙工通信愧驱,因此雙方任何時(shí)候都可以發(fā)送數(shù)據(jù)慰技。
四次揮手:保證TCP協(xié)議的全雙工連接能夠可靠關(guān)閉
第一次揮手:客戶機(jī)打算關(guān)閉連接,就向其TCP發(fā)送一個(gè)連接釋放報(bào)文组砚,并停止再發(fā)送數(shù)據(jù)吻商,主動(dòng)關(guān)閉TCP連接。該報(bào)文段的FIN標(biāo)志位被設(shè)置為1糟红,seq=u,它等于前面已經(jīng)發(fā)送過(guò)的數(shù)據(jù)的最后一個(gè)字節(jié)的序號(hào)加1艾帐。
第二次揮手:服務(wù)器收到連接釋放報(bào)文段后即發(fā)出確認(rèn),確認(rèn)號(hào)是ack=u+1,序號(hào)為v,等于它前面已經(jīng)發(fā)送過(guò)的數(shù)據(jù)的最后一個(gè)字節(jié)序號(hào)加1.此時(shí)客戶機(jī)到服務(wù)器這個(gè)方向的連接就釋放了盆偿,TCP處于半關(guān)閉狀態(tài)柒爸。ACK=1,seq=v,ack=u+1
第三次揮手:若服務(wù)器已經(jīng)沒(méi)有要向客戶機(jī)發(fā)送的數(shù)據(jù)事扭,就通知TCP釋放連接捎稚,此時(shí)發(fā)出FIN=1,確認(rèn)號(hào)ack= u+1,序號(hào)seq =w,已經(jīng)發(fā)送過(guò)的數(shù)據(jù)最后一個(gè)字節(jié)加1求橄。確認(rèn)為ACK=1.
(FIN = 1, ACK=1,seq = w, ack =u+1)
第四次揮手:客戶機(jī)收到連接釋放報(bào)文段后今野,必須發(fā)出確認(rèn)。在確認(rèn)報(bào)文段中罐农,確認(rèn)位ACK=1条霜,序號(hào)seq=u+1,確認(rèn)號(hào)ack=w+1. 此時(shí)連接還沒(méi)有釋放掉,必須經(jīng)過(guò)實(shí)踐等待計(jì)時(shí)器設(shè)置的時(shí)間2MSL(Max Segment Lifetime),后啃匿,客戶機(jī)才進(jìn)入連接關(guān)閉狀態(tài)蛔外。
(ACK=1,seq=u+1,ack=w+1)
http://www.cnblogs.com/Jessy/p/3535612.html
TCP與UDP的區(qū)別
1蛆楞、TCP面向連接(如打電話要先撥號(hào)建立連接);UDP是無(wú)連接的,即發(fā)送數(shù)據(jù)之前不需要建立連接
2夹厌、TCP提供可靠全雙功的通信服務(wù)豹爹。也就是說(shuō),通過(guò)TCP連接傳送的數(shù)據(jù)矛纹,無(wú)差錯(cuò)臂聋,不丟失,不重復(fù)或南,且按序到達(dá);UDP則是不可靠信道孩等,盡最大努力交付,即不保證可靠交付
3采够、TCP面向字節(jié)流肄方,實(shí)際上是TCP把數(shù)據(jù)看成一連串無(wú)結(jié)構(gòu)的字節(jié)流;UDP是面向報(bào)文的.
4.TCP具有擁塞控制,UDP沒(méi)有擁塞控制蹬癌,因此網(wǎng)絡(luò)出現(xiàn)擁塞不會(huì)使源主機(jī)的發(fā)送速率降低(對(duì)實(shí)時(shí)應(yīng)用很有用权她,如IP電話,實(shí)時(shí)視頻會(huì)議等)
5逝薪、每一條TCP連接只能是點(diǎn)到點(diǎn)的;UDP支持一對(duì)一隅要,一對(duì)多,多對(duì)一和多對(duì)多的交互通信
6董济、TCP首部開銷20字節(jié);UDP的首部開銷小步清,只有8個(gè)字節(jié).
TCP應(yīng)用場(chǎng)景
效率要求相對(duì)低,但對(duì)準(zhǔn)確性要求相對(duì)高的場(chǎng)景虏肾。因?yàn)閭鬏斨行枰獙?duì)數(shù)據(jù)確認(rèn)廓啊、重發(fā)、排序等操作询微,相比之下效率沒(méi)有UDP高崖瞭。舉幾個(gè)例子:文件傳輸(準(zhǔn)確高要求高、但是速度可以相對(duì)慢)撑毛、接受郵件书聚、遠(yuǎn)程登錄。
UDP應(yīng)用場(chǎng)景
效率要求相對(duì)高藻雌,對(duì)準(zhǔn)確性要求相對(duì)低的場(chǎng)景雌续。舉幾個(gè)例子:QQ聊天、在線視頻胯杭、直播驯杜、網(wǎng)絡(luò)語(yǔ)音電話(即時(shí)通訊,速度要求高做个,但是出現(xiàn)偶爾斷續(xù)不是太大問(wèn)題鸽心,并且此處完全不可以使用重發(fā)機(jī)制)滚局、廣播通信(廣播、多播)顽频。
TCP對(duì)應(yīng)的協(xié)議和UDP對(duì)應(yīng)的協(xié)議
TCP對(duì)應(yīng)的協(xié)議:
需要記憶常見的FTP(文件傳輸),HTTP(web網(wǎng)絡(luò)協(xié)議),Telnet(遠(yuǎn)程登錄)藤肢、SMTP/POP3(發(fā)收郵件),DNS(域名解析)
(1) FTP(21):定義了文件傳輸協(xié)議糯景,使用21端口嘁圈。常說(shuō)某某計(jì)算機(jī)開了FTP服務(wù)便是啟動(dòng)了文件傳輸服務(wù)。下載文件蟀淮,上傳主頁(yè)最住,都要用到FTP服務(wù)。
(2) Telnet(23):(遠(yuǎn)程登陸協(xié)議)它是一種用于遠(yuǎn)程登陸的端口怠惶,用戶可以以自己的身份遠(yuǎn)程連接到計(jì)算機(jī)上涨缚,通過(guò)這種端口可以提供一種基于DOS模式下的通信服務(wù)。如以前的BBS是-純字符界面的甚疟,支持BBS的服務(wù)器將23端口打開仗岖,對(duì)外提供服務(wù)。
(3) SMTP(25):定義了簡(jiǎn)單郵件傳送協(xié)議览妖,現(xiàn)在很多郵件服務(wù)器都用的是這個(gè)協(xié)議,用于發(fā)送郵件揽祥。如常見的免費(fèi)郵件服務(wù)中用的就是這個(gè)郵件服務(wù)端口讽膏,所以在電子郵件設(shè)置-中常看到有這么SMTP端口設(shè)置這個(gè)欄拄丰,服務(wù)器開放的是25號(hào)端口府树。
(4) POP3(110):它是和SMTP對(duì)應(yīng),POP3用于接收郵件料按。通常情況下奄侠,POP3協(xié)議所用的是110端口。也是說(shuō)载矿,只要你有相應(yīng)的使用POP3協(xié)議的程序(例如Fo-xmail或Outlook)垄潮,就可以不以Web方式登陸進(jìn)郵箱界面,直接用郵件程序就可以收到郵件(如是163郵箱就沒(méi)有必要先進(jìn)入網(wǎng)易網(wǎng)站闷盔,再進(jìn)入自己的郵-箱來(lái)收信)弯洗。
(5)HTTP(80)協(xié)議:是從Web服務(wù)器傳輸超文本到本地瀏覽器的傳送協(xié)議。
UDP對(duì)應(yīng)的協(xié)議:
(1) DNS(53):用于域名解析服務(wù)逢勾,將域名地址轉(zhuǎn)換為IP地址牡整。DNS用的是53號(hào)端口。
(2) RIP:路由信息協(xié)議溺拱,端口520
(2) SNMP(161):簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議逃贝,使用161號(hào)端口谣辞,是用來(lái)管理網(wǎng)絡(luò)設(shè)備的。由于網(wǎng)絡(luò)設(shè)備很多沐扳,無(wú)連接的服務(wù)就體現(xiàn)出其優(yōu)勢(shì)泥从。
(3) TFTP(69)(Trival File Transfer Protocal),簡(jiǎn)單文件傳輸協(xié)議迫皱,該協(xié)議在熟知端口69上使用UDP服務(wù)歉闰。
Cookie與Session的作用于原理
會(huì)話跟蹤是Web程序中常用的技術(shù),用來(lái)跟蹤用戶的整個(gè)會(huì)話
Cookie通過(guò)在客戶端記錄信息確定用戶身份卓起,Session通過(guò)在服務(wù)器端記錄信息確定用戶身份和敬。
默認(rèn)情況下,cookie是一個(gè)會(huì)話級(jí)別的,用戶退出瀏覽器后被刪除
http和https的區(qū)別
- http是超文本傳輸協(xié)議,信息是明文傳輸戏阅,https 則是具有安全性的ssl加密傳輸協(xié)議 http和https使用的是完全不同的連接方式用的端口也不一樣:前者是80昼弟,后者是443。
- http的連接很簡(jiǎn)單奕筐,是無(wú)狀態(tài)的 .HTTPS協(xié)議是由SSL+HTTP協(xié)議構(gòu)建的可進(jìn)行加密傳輸舱痘、身份認(rèn)證的網(wǎng)絡(luò)協(xié)議 要比http協(xié)議安全 它使用安全套接字層(SSL)進(jìn)行信息交換