五層模型
互聯(lián)網(wǎng)的實(shí)現(xiàn),分成好幾層。每一層都有自己的功能,就像建筑物一樣,每一層都靠下一層支持。
自上而下:
應(yīng)用層(Application Layer)
傳輸層(Transport Layer)
網(wǎng)絡(luò)層(Network Layer)
鏈接層(Link Layer)
實(shí)體層(Physical Layer)
層與協(xié)議
都遵守的規(guī)則,就叫做"協(xié)議"(protocol),互聯(lián)網(wǎng)的每一層,都定義了很多協(xié)議。這些協(xié)議的總稱,就叫做"互聯(lián)網(wǎng)協(xié)議"(Internet Protocol Suite)
自下而上分析:
1.實(shí)體層
把電腦連接起來的物理手段。它主要規(guī)定了網(wǎng)絡(luò)的一些電氣特性,作用是負(fù)責(zé)傳送0和1的電信號(hào)
2.鏈接層
確定了0和1的分組方式
-
以太網(wǎng)協(xié)議
- 一組電信號(hào)構(gòu)成一個(gè)數(shù)據(jù)包,叫做"幀"(Frame)。每一幀分成標(biāo)頭(Head)和數(shù)據(jù)(Data)
- "標(biāo)頭"包含數(shù)據(jù)包的說明項(xiàng),如發(fā)送者、接受者、數(shù)據(jù)類型等,長(zhǎng)度固定為18字節(jié)
- "數(shù)據(jù)"是數(shù)據(jù)包的具體內(nèi)容,最短為46字節(jié),最長(zhǎng)為1500字節(jié)
-
MAC地址
- 以太網(wǎng)規(guī)定,連入網(wǎng)絡(luò)的所有設(shè)備,都必須具有"網(wǎng)卡"接口。
- 數(shù)據(jù)包必須是從一塊網(wǎng)卡,傳送到另一塊網(wǎng)卡。
- 網(wǎng)卡的地址,就是數(shù)據(jù)包的發(fā)送地址和接收地址,這叫做MAC地址。
-
廣播
- 以太網(wǎng)數(shù)據(jù)包必須知道接收方的MAC地址,然后才能發(fā)送
- 以太網(wǎng)向本網(wǎng)絡(luò)內(nèi)所有計(jì)算機(jī)發(fā)送,讓每臺(tái)計(jì)算機(jī)自己判斷,是否為接收方
3.網(wǎng)絡(luò)層
"網(wǎng)絡(luò)層"的功能是建立"主機(jī)到主機(jī)"的通信
引進(jìn)一套新的地址,能夠區(qū)分不同的計(jì)算機(jī)是否屬于同一個(gè)子網(wǎng)絡(luò),叫做"網(wǎng)絡(luò)地址",簡(jiǎn)稱"網(wǎng)址"
-
IP協(xié)議
- 規(guī)定網(wǎng)絡(luò)地址的協(xié)議,叫做IP協(xié)議。它所定義的地址,就被稱為IP地址
- 為每一臺(tái)計(jì)算機(jī)分配IP地址
- "子網(wǎng)掩碼"能判斷,任意兩個(gè)IP地址是否處在同一個(gè)子網(wǎng)絡(luò)
-
IP數(shù)據(jù)包
- 根據(jù)IP協(xié)議發(fā)送的數(shù)據(jù),叫IP數(shù)據(jù)包,分為"標(biāo)頭"和"數(shù)據(jù)",包括IP地址信息
- IP數(shù)據(jù)包直接放進(jìn)以太網(wǎng)數(shù)據(jù)包的"數(shù)據(jù)"部分,完全不用修改以太網(wǎng)的規(guī)格
- "標(biāo)頭"部分主要包括版本、長(zhǎng)度、IP地址等信息,
- "數(shù)據(jù)"部分則是IP數(shù)據(jù)包的具體內(nèi)容
-
ARP協(xié)議
- 兩臺(tái)主機(jī)在同一個(gè)子網(wǎng)絡(luò),能夠從IP地址得到MAC地址
兩臺(tái)主機(jī)不在同一個(gè)子網(wǎng)絡(luò),只能把數(shù)據(jù)包傳送到兩個(gè)子網(wǎng)絡(luò)連接處的"網(wǎng)關(guān)"(gateway),讓網(wǎng)關(guān)去處理
有了MAC地址和IP地址,可以在互聯(lián)網(wǎng)上任意兩臺(tái)主機(jī)上建立通信
4.傳輸層
同一臺(tái)主機(jī)上有許多程序都需要用到網(wǎng)絡(luò)。參數(shù)"端口"(port),是每一個(gè)使用網(wǎng)卡的程序的編號(hào)。每個(gè)數(shù)據(jù)包都發(fā)到主機(jī)的特定端口獲取自己所需數(shù)據(jù)
"傳輸層"的功能,就是建立"端口到端口"的通信,只要確定主機(jī)和端口,就能實(shí)現(xiàn)程序之間的交流
-
UDP協(xié)議
在數(shù)據(jù)包中加入端口信息,需要新的協(xié)議,最簡(jiǎn)單的實(shí)現(xiàn)叫做UDP協(xié)議
UDP數(shù)據(jù)包,分為"標(biāo)頭"和"數(shù)據(jù)","標(biāo)頭"部分一共只有8個(gè)字節(jié)
"標(biāo)頭"部分主要定義了發(fā)出端口和接收端口,"數(shù)據(jù)"部分就是具體的內(nèi)容
缺點(diǎn)是可靠性較差,一旦數(shù)據(jù)包發(fā)出,無法知道對(duì)方是否收到
-
TCP協(xié)議
- 每發(fā)出一個(gè)數(shù)據(jù)包都要求確認(rèn),能夠確保數(shù)據(jù)不會(huì)遺失
- 缺點(diǎn)是過程復(fù)雜、實(shí)現(xiàn)困難、消耗較多的資源
- TCP數(shù)據(jù)包和UDP數(shù)據(jù)包一樣,都是內(nèi)嵌在IP數(shù)據(jù)包的"數(shù)據(jù)"部分
- 理論上可以無限長(zhǎng),通常不會(huì)超過IP數(shù)據(jù)包的長(zhǎng)度
Unix系統(tǒng)就把主機(jī)+端口,叫做"套接字"(socket),可進(jìn)行網(wǎng)絡(luò)應(yīng)用程序開發(fā)
5.應(yīng)用層
規(guī)定應(yīng)用程序的數(shù)據(jù)格式
最高一層,直接面對(duì)用戶,應(yīng)用層的數(shù)據(jù)就放在TCP數(shù)據(jù)包的"數(shù)據(jù)"部分
上網(wǎng)設(shè)置
電腦上網(wǎng)的首要步驟,是確定四個(gè)參數(shù)
- 本機(jī)的IP地址
- 子網(wǎng)掩碼
- 網(wǎng)關(guān)的IP地址
- DNS的IP地址(DNS就是根據(jù)域名查出IP地址,可把它想象成一本巨大的電話本)