關(guān)于TCP/IP,必須知道的十個(gè)知識(shí)點(diǎn)
1.TCP/IP與TCP煞聪、IP、UDP的關(guān)系
1.1 TCP/IP
TCP/IP是Transmission Control Protocol/Internet Protocol的簡(jiǎn)寫(xiě)备图,譯名為傳輸控制協(xié)議/因特網(wǎng)協(xié)議没卸,是Internet最基本的協(xié)議负蚊。TCP/IP是這個(gè)協(xié)議族的統(tǒng)稱(chēng)牡借,它采用了4層的層級(jí)結(jié)構(gòu)混弥,而不是指TCP + IP兩個(gè)協(xié)議的總和
1.2 IP(Internet Protocol)
IP協(xié)議包含源主機(jī)地址、目標(biāo)主機(jī)地址荐吉,還有TCP數(shù)據(jù)信息焙糟。但I(xiàn)P協(xié)議沒(méi)有做任何事情來(lái)確認(rèn)數(shù)據(jù)包是否按順序發(fā)送或者包是否被破壞,所以IP數(shù)據(jù)包是不可靠的样屠。
1.3 TCP(Transmission Control Protocol)
面向連接的通信協(xié)議穿撮,通過(guò)三次握手建立連接(socket通過(guò)TCP/IP連接時(shí)就是經(jīng)過(guò)3次握手),通信完成后要關(guān)閉連接痪欲,它只用于端對(duì)端的通訊
TCP協(xié)議通過(guò)3次握手建立起一個(gè)可靠的連接悦穿,通過(guò)將數(shù)據(jù)包進(jìn)行排序以及檢驗(yàn)的方式,可以提供一種可靠的數(shù)據(jù)流服務(wù)
TCP可以限制數(shù)據(jù)的發(fā)送速度业踢,間接地控制流量
1.4 UDP(User Datagram Protocol 用戶(hù)數(shù)據(jù)報(bào)協(xié)議)
面向無(wú)連接的通訊協(xié)議栗柒,UDP數(shù)據(jù)包括原端口號(hào)信息以及目標(biāo)端口號(hào)信息,它可以實(shí)現(xiàn)廣播發(fā)送
由于UDP通訊不需要接收方確認(rèn)知举,所以屬于不可靠的傳輸瞬沦,可能會(huì)出現(xiàn)丟包現(xiàn)象
2. 網(wǎng)絡(luò)模型
2.1 OSI七層模型
2.1.1 物理層和數(shù)據(jù)鏈路層
物理層負(fù)責(zé)0、1比特流與物理設(shè)備電壓高低负蠕、光的閃滅之間的互換蛙埂。 數(shù)據(jù)鏈路層負(fù)責(zé)將0、1序列劃分為數(shù)據(jù)幀從一個(gè)節(jié)點(diǎn)傳輸?shù)脚R近的另一個(gè)節(jié)點(diǎn),這些節(jié)點(diǎn)是通過(guò)MAC來(lái)唯一標(biāo)識(shí)的(MAC,物理地址遮糖,一個(gè)主機(jī)會(huì)有一個(gè)MAC地址)。
封裝成幀: 把網(wǎng)絡(luò)層數(shù)據(jù)報(bào)加頭和尾叠赐,封裝成幀,幀頭中包括源MAC地址和目的MAC地址欲账。
透明傳輸:零比特填充、轉(zhuǎn)義字符芭概。
可靠傳輸: 在出錯(cuò)率很低的鏈路上很少用赛不,但是無(wú)線鏈路WLAN會(huì)保證可靠傳輸。
差錯(cuò)檢測(cè)(CRC):接收者檢測(cè)錯(cuò)誤,如果發(fā)現(xiàn)差錯(cuò)罢洲,丟棄該幀踢故。
2.1.2 網(wǎng)絡(luò)層
- IP協(xié)議
IP協(xié)議是TCP/IP協(xié)議的核心文黎,所有的TCP,UDP殿较,IMCP耸峭,IGMP的數(shù)據(jù)都以IP數(shù)據(jù)格式傳輸。要注意的是淋纲,IP不是可靠的協(xié)議劳闹,這是說(shuō),IP協(xié)議沒(méi)有提供一種數(shù)據(jù)未傳達(dá)以后的處理機(jī)制洽瞬,這被認(rèn)為是上層協(xié)議:TCP或UDP要做的事情本涕。
1.1 IP地址
在數(shù)據(jù)鏈路層中我們一般通過(guò)MAC地址來(lái)識(shí)別不同的節(jié)點(diǎn),而在網(wǎng)絡(luò)層我們也要有一個(gè)類(lèi)似的地址標(biāo)識(shí)伙窃,這就是IP地址菩颖。32位IP地址分為網(wǎng)絡(luò)位和地址位,這樣做可以減少路由器中路由表記錄的數(shù)目为障,有了網(wǎng)絡(luò)地址位他,就可以限定擁有相同網(wǎng)絡(luò)地址的終端都在同一個(gè)范圍內(nèi),那么路由表只需要維護(hù)一條這個(gè)網(wǎng)絡(luò)地址的方向产场,就可以找到相應(yīng)的這些終端了鹅髓。
A類(lèi)IP地址: 0.0.0.0~127.255.255.255
B類(lèi)IP地址:128.0.0.0~191.255.255.255
C類(lèi)IP地址:192.0.0.0~239.255.255.255
TCP/IP協(xié)議模型
TCP/IP協(xié)議族按照層次由上到下,層層包裝京景。最上面的是應(yīng)用層窿冯,這里面有http,ftp,等等我們熟悉的協(xié)議确徙。而第二層則是傳輸層醒串,著名的TCP和UDP協(xié)議就在這個(gè)層次。第三層是網(wǎng)絡(luò)層鄙皇,IP協(xié)議就在這里芜赌,它負(fù)責(zé)對(duì)數(shù)據(jù)加上IP地址和其他的數(shù)據(jù)以確定傳輸?shù)哪繕?biāo)。第四層是數(shù)據(jù)鏈路層伴逸,這個(gè)層次為待傳送的數(shù)據(jù)加入一個(gè)以太網(wǎng)協(xié)議頭缠沈,并進(jìn)行CRC編碼CRC編碼講解,為最后的數(shù)據(jù)傳輸做準(zhǔn)備错蝴。
上圖清楚地表示了TCP/IP協(xié)議中每個(gè)層的作用洲愤,而TCP/IP協(xié)議通信的過(guò)程其實(shí)就對(duì)應(yīng)著數(shù)據(jù)入棧與出棧的過(guò)程。入棧的過(guò)程顷锰,數(shù)據(jù)發(fā)送方每層不斷地封裝首部與尾部柬赐,添加一些傳輸?shù)男畔ⅲ_保能傳輸?shù)侥康牡毓僮稀3鰲5倪^(guò)程肛宋,數(shù)據(jù)接收方每層不斷地拆除首部與尾部州藕,得到最終傳輸?shù)臄?shù)據(jù)。
應(yīng)用層常用協(xié)議:
1酝陈、超文本傳輸協(xié)議(HTTP):萬(wàn)維網(wǎng)的基本協(xié)議.
2床玻、文件傳輸(TFTP簡(jiǎn)單文件傳輸協(xié)議):
3、遠(yuǎn)程登錄(Telnet),提供遠(yuǎn)程訪問(wèn)其它主機(jī)功能,它允許用戶(hù)登錄 nternet主機(jī),并在這臺(tái)主機(jī)上執(zhí)行命令.
4后添、網(wǎng)絡(luò)管理(SNMP簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議),該協(xié)議提供了監(jiān)控網(wǎng)絡(luò)設(shè)備的方法,以及配置管理,統(tǒng)計(jì)信息收集,性能管理及安全管理等.
5笨枯、域名系統(tǒng)(DNS),該系統(tǒng)用于在internet中將域名及其公共廣播的網(wǎng)絡(luò)節(jié)點(diǎn)轉(zhuǎn)換成IP地址.
網(wǎng)絡(luò)層包括:
1、Internet協(xié)議(IP)
2遇西、Internet控制信息協(xié)議(ICMP)
3馅精、地址解析協(xié)議(ARP) (ip address==> mac address)
4、反向地址解析協(xié)議(RARP)
5粱檀、IGMP(Internet Group Manage Protocol):Internet組管理協(xié)議