1. OSI七層和TCP/IP四層的關系
1.1 OSI引入了服務、接口、協議、分層的概念,TCP/IP借鑒了OSI的這些概念建立TCP/IP模型。
1.2 OSI先有模型,后有協議,先有標准,后進行實踐;而TCP/IP則相反,先有協議和應用再提出了模型,且是參照的OSI模型。
1.3 OSI是一種理論下的模型,而TCP/IP已被廣泛使用,成為網絡互聯事實上的標准。
TCP:transmission control protocol 傳輸控制協議
UDP:user data protocol 用戶數據報協議
OSI七層網絡模型 | TCP/IP四層概念模型 | 對應網絡協議 |
應用層(Application) | 應用層 | HTTP、TFTP, FTP, NFS, WAIS、SMTP |
表示層(Presentation) | Telnet, Rlogin, SNMP, Gopher | |
會話層(Session) | SMTP, DNS | |
傳輸層(Transport) | 傳輸層 | TCP, UDP |
網絡層(Network) | 網絡層 | IP, ICMP, ARP, RARP, AKP, UUCP |
數據鏈路層(Data Link) | 數據鏈路層 | FDDI, Ethernet, Arpanet, PDN, SLIP, PPP |
物理層(Physical) | IEEE 802.1A, IEEE 802.2到IEEE 802.11 |
2. OSI七層協議模型
應用層協議需要掌握的是:HTTP(Hyper text transfer protocol)、FTP(file transfer protocol)、SMTP(simple mail transfer rotocol)、POP3(post office protocol 3)、IMAP4(Internet mail access protocol)
3. TCP/IP四層模型
3.1 應用層:對應OSI中的應用層、表示層、會話層
3.2 物理鏈路層:對應OSI中的數據鏈路層、物理層(也有叫網絡接口層)
3.3 數據包說明:
IP層傳輸單位是IP分組,屬於點到點的傳輸;TCP層傳輸單位是TCP段,屬於端到端的傳輸
UPD首部
UPD首部格式如下:
UDP 是無連接的,即發送數據之前不需要建立連接。
UDP 使用盡最大努力交付,即不保證可靠交付,同時也不使用擁塞控制。
UDP 是面向報文的。UDP 沒有擁塞控制,很適合多媒體通信的要求。
UDP 支持一對一、一對多、多對一和多對多的交互通信。
UDP 的首部開銷小,只有 8 個字節
端口號:用來表示發送和接受進程。由於 I P層已經把I P數據報分配給T C P或U D P(根據I P首部中協議字段值),因此T C P端口號由T C P來查看,而 U D P端口號由UDP來查看。T C P端口號與UDP端口號是相互獨立的。
長度:UDP長度字段指的是UDP首部和UDP數據的字節長度。該字段的最小值為 8字節(發送一份0字節的UDP數據報是 O K)。
檢驗和:UDP檢驗和是一個端到端的檢驗和。它由發送端計算,然后由接收端驗證。其目的是為了發現UDP首部和數據在發送端到接收端之間發生的任何改動
TCP報文段首部
TCP報文段首部的前20個字節是固定的,后面的字節是根據需要增加的。首部格式如下:
TCP 提供可靠交付的服務,保證數據無差錯、不丟失、不重復、按序到達。
TCP 提供全雙工通信。
TCP雖然是面向字節流的,但TCP傳送的數據單元卻是報文段。一個TCP 報文段分為首部和數據兩部分
1、第一個4字節:
(1)源端口,16位;發送數據的源進程端口
(2)目的端口,16位;接收數據的進程端口
2、第二個4字節與第三個4字節
(1)序號,32位;代表當前TCP數據段第一個字節占整個字節流的相對位置;
(2)確認號,32位;代表接收端希望接收的數據序號,為上次接收到數據報的序號+1,當ACK標志位為1時才生效。
3、第四個4字節:
(1)數據偏移,4位;實際代表TCP首部長度,最大為60字節。
(2)6個標志位,每個標志位1位;
SYN,為同步標志,用於數據同步;
ACK,為確認序號,ACK=1時確認號才有效;
FIN,為結束序號,用於發送端提出斷開連接;
URG,為緊急序號,URG=1是緊急指針有效;
PSH,指示接收方立即將數據提交給應用層,而不是等待緩沖區滿;
RST,重置連接。
(3)窗口值,16位;標識接收方可接受的數據字節數。詳解可參看:http://www.cnblogs.com/woaiyy/p/3554182.html
4、第五個4字節
(1)校驗和,16位;用於檢驗數據完整性。
(2)緊急指針,16位;只有當URG標識位為1時,緊急指針才有效。緊急指針的值與序號的相加值為緊急數據的最后一個字節位置。用於發送緊急數據。
IP報文
IP報文是在網絡層傳輸的數據單元,也叫IP數據報。IP報文格式如下圖
1、第一個4字節(也就是第一行):
(1)版本號(Version),4位;用於標識IP協議版本,IPv4是0100,IPv6是0110,也就是二進制的4和6。
(2)首部長度(Internet Header Length),4位;用於標識首部的長度,單位為4字節,所以首部長度最大值為:(2^4 - 1) * 4 = 60字節,但一般只推薦使用20字節的固定長度。
(3)服務類型(Type Of Service),8位;用於標識IP包的優先級,但現在並未使用。
(4)總長度(Total Length),16位;標識IP數據報的總長度,最大為:2^16 -1 = 65535字節。
2、第二個四字節:
(1)標識(Identification),16位;用於標識IP數據報,如果因為數據鏈路層幀數據段長度限制(也就是MTU,支持的最大傳輸單元),IP數據報需要進行分片發送,則每個分片的IP數據報標識都是一致的。
(2)標志(Flag),3位,但目前只有2位有意義;最低位為MF,MF=1代表后面還有分片的數據報,MF=0代表當前數據報已是最后的數據報。次低位為DF,DF=1代表不能分片,DF=0代表可以分片。
(3)片偏移(Fragment Offset),13位;代表某個分片在原始數據中的相對位置。
3、第三個四字節:
(1)生存時間(TTL),8位;以前代表IP數據報最大的生存時間,現在標識IP數據報可以經過的路由器數。
(2)協議(Protocol),8位;代表上層傳輸層協議的類型,1代表ICMP,2代表IGMP,6代表TCP,17代表UDP。
(3)校驗和(Header Checksum),16位;用於驗證數據完整性,計算方法為,首先將校驗和位置零,然后將每16位二進制反碼求和即為校驗和,最后寫入校驗和位置。
4、第四個四字節:源IP地址
5、第五個四字節:目的IP地址
以太網的幀格式如下所示:
在圖中,幀末尾就是CRC校驗碼。
此外,對其他字段解釋如下:
字段 | Meaning |
目的地址 | MAC地址 |
源地址 | MAC地址 |
類型 | 三種值,分別對應IP、ARP、RARP |
最常用的 MAC 幀是以太網V2的格式
注:
1. 以太網幀中的數據長度規定最小46字節,最大1500字節。ARP和RARP數據包的長度不夠46字節,要在后面補填充位。最大值1500稱為以太網的最⼤大傳輸單元MTU,不同的網絡類型有不同的MTU。如果一個數據包從以太網路由到撥號鏈路上,數據包長度大於撥號鏈路的MTU了,則需要對數據包進行分片(fragmentation)。
2. ifconfig命令的輸出中也有“MTU:1500”。注 意,MTU這 個概念指數據幀中有效載荷的最大長度,不包括幀首部的長度。
3. MAC地址是指網卡的硬件地址,長度是48位。是在網卡出廠時固化的。用ifconfig命令看一下,“HWaddr 00:15:F2:14:9E:3F”部分就是硬件地址。
————————————————
版權聲明:本文為CSDN博主「Unix探索之旅」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/sty124578/article/details/79085608
網絡設備:
交換機:負責組建局域網,看的是MAC地址。
路由器:負責組建廣域網,看的是IP地址。
傳輸介質:
常用的兩種傳輸介質是雙絞線和光纖。
OSI七層模型(由於七層太過於嚴格,所以並沒有應用在計算機中,而是基於 其衍生了一個TCP/IP四層模型,被廣大操作系統所應用):
7,應用層:網絡服務與最終用戶的一個接口。
6,表示層:數據的表示安全壓縮。
5,會話層:建立,管理,中止會話。
4,傳輸層:定義傳輸數據的協議端口號。
3,網絡層:進行邏輯地址追尋,實現不同網絡之間的路徑選擇。
2,數據鏈路層:建立邏輯鏈接,進行硬件地址尋址。
1,物理層:建立,維護,斷開物理連接。
TCP/IP四層模型:
4,應用層:負責處理特定的應用程序細節。
3,傳輸層:只要為兩台主機上的應用程序提供端到端的通信。
2,網絡層:處理分組在網絡中的活動。
1,網絡接口層:建立,維護,斷開物理連接。
傳輸層協議:
TCP和UDP是兩種最為著名的傳輸層協議,二者都使用IP作為網絡層的協議。
TCP:傳輸控制協議,面向連接的協議。(適用於一對一傳輸)
UDP:用戶數據報協議,是一種無連接的協議。(適用於一次傳輸少量數據,傳輸效率高,延遲小,可以一對一,一對多,多對一和多對多的交互通信)
TCP與UDP區別:
1,TCP面向連接(如打電話要先撥號建立連接),UDP是無連接的,即發送數據之前不需要建立連接。
2,TCP提供可靠的服務,無差錯,無丟失,不重復,且按序到達;UDP盡最大努力交付,不保證可靠交付。
3,UDP具有較好的實時性,工作效率比TCP高,適用於對高速傳輸和實時性有較高的通信和廣播通信。
4,TCP只支持一對一通信。UDP支持一對一,一對多,多對一,多對多的交互通信。
5,TCP對系統資源要求較多,UCP對系統資源要求較少。
IP地址:
現有的互聯網是在IPv4協議的基礎上運行的,采用32位地址長度,IPv4定義的地址空間將被耗盡。IPv6是下一版本的互聯網協議,采用128位地址長度。幾乎可以不受限制的提供地址。
IP地址是指互聯網協議地址。是IP協議提供的一種統一的地址格式,它為互聯網上的每一個網絡和每一台主機分配一個邏輯地址,以此來屏蔽物理地址的差異。
私有地址
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
————————————————
版權聲明:本文為CSDN博主「sanda1017」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/sanda1017/article/details/90680570