互聯(lián)網(wǎng)層與協(xié)議關(guān)系
互聯(lián)網(wǎng)的實(shí)現(xiàn)分為好幾層详囤,每一層都是為了實(shí)現(xiàn)某一類的功能桨武,在實(shí)現(xiàn)這些功能的時候肋拔,我們就需要一些規(guī)則。而大家都遵守的規(guī)則就是協(xié)議呀酸。
互聯(lián)網(wǎng)的每一層都有很多的協(xié)議只损,這些總稱‘互聯(lián)網(wǎng)協(xié)議’。下面介紹每一層的功能和實(shí)現(xiàn)功能的協(xié)議七咧。這里分為5層來講跃惫。通過回答5個W以及功能來更通俗易懂的介紹。
1. 實(shí)體層
a. 什么是實(shí)體層艾栋?怎么做爆存?
電腦與電腦的連接,我們可以用光纜蝗砾、電纜先较、雙絞線、無線電波等方式悼粮。這 就叫實(shí)體層闲勺。簡言之:通過物理手段連接電腦。
b. 功能扣猫?
它主要規(guī)定了網(wǎng)絡(luò)的一些電氣特性菜循,作用是負(fù)責(zé)傳送0和1的電信號。
2. 鏈接層
a. 什么是鏈接層申尤?功能癌幕?
單純的0和1沒有任何意義,這就是鏈接層昧穿,這就是"鏈接層"的功能勺远,確定了0和1的分組方式。
b. 必須規(guī)定解讀方式:多少個電信號算一組时鸵?每個信號位有何意義胶逢?
以太網(wǎng)協(xié)議
以太網(wǎng)規(guī)定,一組電信號構(gòu)成一個數(shù)據(jù)包饰潜,叫做"幀"(Frame)初坠。每一幀分成兩個部分:標(biāo)頭(Head)和數(shù)據(jù)(Data)。
"標(biāo)頭"包含數(shù)據(jù)包的一些說明項囊拜,比如發(fā)送者某筐、接受者、數(shù)據(jù)類型等等冠跷;"數(shù)據(jù)"則是數(shù)據(jù)包的具體內(nèi)容
c. 發(fā)送者和接受者是如何標(biāo)識呢南誊?
MAC地址
以太網(wǎng)規(guī)定,連入網(wǎng)絡(luò)的所有設(shè)備蜜托,都必須具有"網(wǎng)卡"接口抄囚。數(shù)據(jù)包必須是從一塊網(wǎng)卡,傳送到另一塊網(wǎng)卡橄务。網(wǎng)卡的地址幔托,就是數(shù)據(jù)包的發(fā)送地址和接收地址,這叫做MAC地址蜂挪。MAC地址是獨(dú)一無二的重挑。
d. 一塊網(wǎng)卡怎么會知道另一塊網(wǎng)卡的MAC地址?
- ARP協(xié)議
從IP地址得到MAC地址棠涮。- 廣播
以太網(wǎng)采用了一種很"原始"的方式谬哀,它不是把數(shù)據(jù)包準(zhǔn)確送到接收方,而是向本網(wǎng)絡(luò)內(nèi)所有計算機(jī)發(fā)送严肪,讓每臺計算機(jī)自己判斷史煎,是否為接收方。(數(shù)據(jù)包標(biāo)頭有接受者的數(shù)據(jù)說明)
3. 網(wǎng)絡(luò)層
a. 網(wǎng)絡(luò)層的出現(xiàn)驳糯?作用篇梭?
以太網(wǎng)采用廣播方式發(fā)送數(shù)據(jù)包,所有成員人手一"包"酝枢,不僅效率低恬偷,而且局限在發(fā)送者所在的子網(wǎng)絡(luò)×蹦溃互聯(lián)網(wǎng)是無數(shù)子網(wǎng)絡(luò)共同組成的一個巨型網(wǎng)絡(luò)喉磁。因此,必須找到一種方法官脓,能夠區(qū)分哪些MAC地址屬于同一個子網(wǎng)絡(luò)协怒,哪些不是。如果是同一個子網(wǎng)絡(luò)卑笨,就采用廣播方式發(fā)送孕暇,否則就采用"路由"方式發(fā)送。
這就導(dǎo)致了"網(wǎng)絡(luò)層"的誕生赤兴。它的作用是引進(jìn)一套新的地址妖滔,使得我們能夠區(qū)分不同的計算機(jī)是否屬于同一個子網(wǎng)絡(luò)。這套地址就叫做"網(wǎng)絡(luò)地址"桶良,簡稱"網(wǎng)址"座舍。
b. 結(jié)果?
"網(wǎng)絡(luò)層"出現(xiàn)以后陨帆,每臺計算機(jī)有了兩種地址曲秉,一種是MAC地址采蚀,另一種是網(wǎng)絡(luò)地址。兩種地址之間沒有任何聯(lián)系承二,MAC地址是綁定在網(wǎng)卡上的榆鼠,網(wǎng)絡(luò)地址則是管理員分配的,它們只是隨機(jī)組合在一起亥鸠。
c. 網(wǎng)絡(luò)地址怎么分配妆够?
規(guī)定網(wǎng)絡(luò)地址的協(xié)議,叫做IP協(xié)議负蚊。規(guī)定神妹,網(wǎng)絡(luò)地址由32個二進(jìn)制位組成
習(xí)慣上,我們用分成四段的十進(jìn)制數(shù)表示IP地址家妆,從0.0.0.0一直到255.255.255.255鸵荠。地址分成兩個部分,前一部分代表網(wǎng)絡(luò)揩徊,后一部分代表主機(jī)腰鬼。地址分類
A類地址:10.0.0.0--10.255.255.255
B類地址:172.16.0.0--172.31.255.255
C類地址:192.168.0.0–192.168.255.255
IP地址范圍:0.0.0.0——255.255.255.255
內(nèi)網(wǎng)地址:a,b,c類地址都是內(nèi)網(wǎng)地址
除了 abc 其他都是外網(wǎng)ip
d. 怎樣才能從IP地址,判斷兩臺計算機(jī)是否屬于同一個子網(wǎng)絡(luò)呢塑荒?
這就要用到另一個參數(shù)"子網(wǎng)掩碼"熄赡。它在形式上等同于IP地址,也是一個32位二進(jìn)制數(shù)字齿税,它的網(wǎng)絡(luò)部分全部為1彼硫,主機(jī)部分全部為0。知道"子網(wǎng)掩碼"凌箕,我們就能判斷拧篮,任意兩個IP地址是否處在同一個子網(wǎng)絡(luò)。方法是將兩個IP地址與子網(wǎng)掩碼分別進(jìn)行AND運(yùn)算(兩個數(shù)位都為1牵舱,運(yùn)算結(jié)果為1串绩,否則為0),然后比較結(jié)果是否相同芜壁,如果是的話礁凡,就表明它們在同一個子網(wǎng)絡(luò)中,否則就不是慧妄。
e. ip協(xié)議作用顷牌?
IP協(xié)議的作用主要有兩個,一個是為每一臺計算機(jī)分配IP地址塞淹,另一個是確定哪些地址在同一個子網(wǎng)絡(luò)
f. ip數(shù)據(jù)包窟蓝?
IP協(xié)議發(fā)送的數(shù)據(jù),就叫做IP數(shù)據(jù)包,IP數(shù)據(jù)包也分為"標(biāo)頭"和"數(shù)據(jù)"兩個部分饱普。"標(biāo)頭"部分主要包括版本运挫、長度状共、IP地址等信息,"數(shù)據(jù)"部分則是IP數(shù)據(jù)包的具體內(nèi)容滑臊。
4. 傳輸層
a. 傳輸層的由來罕模?
同一臺主機(jī)上有許多程序都需要用到網(wǎng)絡(luò),你一邊瀏覽網(wǎng)頁较坛,一邊與朋友在線聊天竖伯。當(dāng)一個數(shù)據(jù)包從互聯(lián)網(wǎng)上發(fā)來的時候慌洪,你怎么知道擂错,它是表示網(wǎng)頁的內(nèi)容棵帽,還是表示在線聊天的內(nèi)容括袒?
也就是說官辈,我們還需要一個參數(shù)翘瓮,表示這個數(shù)據(jù)包到底供哪個程序(進(jìn)程)使用,這個參數(shù)就叫做"端口"(port)贮折。
"傳輸層"的功能,就是建立"端口到端口"的通信资盅。相比之下调榄,"網(wǎng)絡(luò)層"的功能是建立"主機(jī)到主機(jī)"的通信。只要確定主機(jī)和端口呵扛,我們就能實(shí)現(xiàn)程序之間的交流每庆。
b. 端口怎么加入?
UDP協(xié)議
UDP數(shù)據(jù)包今穿,也是由"標(biāo)頭"和"數(shù)據(jù)"兩部分組成
"標(biāo)頭"部分主要定義了發(fā)出端口和接收端口,"數(shù)據(jù)"部分就是具體的內(nèi)容
c. UDP協(xié)議的優(yōu)點(diǎn)是比較簡單缤灵,容易實(shí)現(xiàn),但是缺點(diǎn)是可靠性較差蓝晒,一旦數(shù)據(jù)包發(fā)出腮出,無法知道對方是否收到?
TCP協(xié)議
TCP數(shù)據(jù)包和UDP數(shù)據(jù)包一樣,都是內(nèi)嵌在IP數(shù)據(jù)包的"數(shù)據(jù)"部分芝薇。TCP數(shù)據(jù)包沒有長度限制胚嘲,理論上可以無限長,但是為了保證網(wǎng)絡(luò)的效率洛二,通常TCP數(shù)據(jù)包的長度不會超過IP數(shù)據(jù)包的長度馋劈,以確保單個TCP數(shù)據(jù)包不必再分割。
5. 應(yīng)用層
"應(yīng)用層"的作用灭红,就是規(guī)定應(yīng)用程序的數(shù)據(jù)格式侣滩。
這是最高的一層,直接面對用戶变擒。它的數(shù)據(jù)就放在TCP數(shù)據(jù)包的"數(shù)據(jù)"部分君珠。因此,現(xiàn)在的以太網(wǎng)的數(shù)據(jù)包就變成下面這樣娇斑。