1. 程式人生 > >網絡基礎之osi模型與TCP模型

網絡基礎之osi模型與TCP模型

接口 上層 system sum 選擇 prior 處理 報文 pro

ISO/OSI(pen System Internetwork)

根據網絡功能劃分層次:
物理層:
二進制比特流傳輸
定義了:電氣規範,機械規範,過程規範

數據鏈路層:介質訪問,點到點的連接
1.格式化數據:
2.物理尋址:用物理地址標識數據的發送者和接受者
3.錯誤檢測:CRC算法,

定義了物理地址:
以太網:以太網地址,MAC地址,MAC(Media Access Control)
48 bits --> 12 xdigits
windows: 00-00-00-00-00-00
linxu/unix:00:00:00:00:00:00
Cisco:0000.0000.0000

註意:物理地址是直接燒錄在網絡接口設備的ROM芯片中;

網絡層:路由選擇
1.邏輯尋址:用邏輯地址來標識數據的發送者和接收者;
2.確定路由:根據邏輯地址標識確定數據傳輸路徑;
3.地址解析:用邏輯地址解析物理地址;

定義邏輯地址:
IP地址:互聯網地址,IPv4、IPv6
Ipv4地址:
32 bits --> digit,地址表示形式:點分十進制;
IPv6地址:IPng, 128 bits --> 32 xdigits --> 冒號分十六進制;

註意:邏輯地址用於標識主機在網絡中的位置;物理地址用於進行數據通信;

傳輸層:端到端的連接,範圍到範圍的通信連接;
端到端連接的建立,維護和拆除;
可靠性傳輸和非可靠性傳輸;
可靠性傳輸:
面向連接
流量控制
數據重傳和確認
序列化數據
非可靠傳輸:
面向無連接
無序列化數據
無數據重傳和確認
無流量控制
數據快速傳輸


會話層:建立主機到主機之間的會話通信
主機之間的會話建立的主體是應用程序進程;

表示層:數據表示
1.數據編碼和解碼
2.數據加密和解密
3.數據壓縮和解壓縮

應用層:
1.為應用程序提供網絡服務;
2.完成身份驗證;


OSI的應用:
數據的封裝和解封裝:
發送數據一方實施數據封裝;
接收數據一方實施數據解封裝;

保障封裝和解封裝能夠順利進行的標準:
對等通信原則:
發送方和接收方雙方的相同層次,必須擁有完全相同的數據處理方式;

TCP/IP:
協議棧,協議標準;

TCP/IP協議棧是根據協議來分層,分層標準模糊;
網絡的實際應用標準;網絡實現的事實標準;

物理層:
X.25,TIA/EIA,568A/B..
數據鏈路層:
PPP,PPPOE,HDLC,SLIP,Frame_Relay(FR),
網絡層:
IP,IGMP,ICMP,ARP,RARP
傳輸層
TCP,UDP,OSPF,EIGRP
應用層
HTTP,HTTPS,FTP,DNS,DHCP,SMB,QQ,Thrunder,...

互聯網層
IP的功能:
1.尋址和路由
2.數據分片和重組
3.無連接不可靠傳輸(無序傳輸)

IP尋址:
分層編址的地址:網絡部分 + 主機部分
網絡部分:描述主機所在的邏輯網絡範圍;
主機部分:描述在特定的邏輯網絡範圍內的具體位置;

IPv4地址:
32bits二進制構成的地址標識符號;4個8位組;
為了方便人讀取,將其設置為點分十進制格式;

A.B.C.D
A:0-255
B:0-255
C:0-255
D:0-255

IPv4地址分類:
A類:最左側的一位二進制數字是“0”,8個網絡位,24個主機位
00000000 - 01111111
0-127
0:
127:主機環回地址;
可用地址範圍:
1.0.0.0-126.255.255.255

B類:最左側的二位二進制數字是“10”,16個網絡位,16個主機位
10000000 000000000 - 101111111 11111111
128.0-191.255
可用地址範圍:
128.0.0.0 - 191.255.255.255

C類:最左側的三位二進制數字是“110”,24個網絡位,8個主機位
10000000 000000000 00000000 - 101111111 11111111 11111111
192.0.0.0 - 223.255.255.255
可用地址範圍:
192.0.0.0 - 223.255.255.255

D類:最左側的四位二進制數字是“1110”,32個網絡位,0個主機位
組播地址,多播地址;
224.0.0.0 - 239.255.255.255

E類:最左側的四位二進制數字是“1111”,32個網絡位,0個主機位
科學研究;
240.0.0.0 - 255.255.255.255


私有IP地址:
A:10.0.0.0 - 10.255.255.255
B:172.16.0.0 - 172.31.255.255
C:192.168.0.0 - 196.168.255.255

公有IP地址:
A:1.0.0.0 - 9.255.255.255 + 11.0.0.0 - 126.255.255.255
B:128.0.0.0 - 192.15.255.255 + 192.32.0.0 - 191.255.255.255
C:192.0.0.0 - 192.167.255.255 + 192.169.0.0 - 223.255.255.255

NAT:Network address Translation,網絡地址轉換
SNAT:
將數據的源ip地址從私有IP地址換為公有IP地址
多用於讓客戶端連接到互聯網;
DNAT:
將數據的目的IP地址從公有IP地址換為私有IP地址
多用於將服務器上的服務發布到互聯網;

IP PDU 首部:
第一行:
1.Ver:4bits,IP協議的版本號:0110 0100
2.IHL:4bits,Header Length:首部長度;0101 - 1111(20Bytes-60Bytes)
3.TOS and PRIORITY:8bits 前四位表示服務類型
0000:最大帶寬,最小延遲,最高可行性,最高負載;
0000 ,1000 ,0100,0010,0001
0:保留位;
000:優先級,000-111;
4.Packet Length:數據包長度 16 bits,IP協議可以封裝的數據包的最大長 65535 Bytes;

第二行:
1.Indentifier:16bits ,標識來源於哪一個上層協議報文;
2.Flag:3bits,
0:數據是否可分片;
0:是否為最後分片;
0:保留
3.offset:偏移量 13 bits,被切分為數據分片之後的各分片的順序編號;
第一個分片為0,第二個分片為第一個分片的大小除以8的結果

第三行:
1.TTL:8 bits,為了防止數據包被路由時,因為缺少目的地址而無線循環;
數據包在經過任意的路由設備時,其TTL會減1,一旦TTL減到0,接收到此數據包的設備會將其丟棄;
2.Protocol:8 bits,互聯網層和傳輸層的通信接口,通過此處指明的協議號,互聯網層可以再上層找到對應的協議來繼續處理該數據;
TCP:6 00000110
UDP:17 00010001
OSPF:89
EIGRP:88
3.Header Checksum: 16 bits, 首部校驗和,將整個首部做hash,得到4位16進制數字;通常會在接收方主機上,對於接收到的數據包再次進行hash運算,將得到的結果與此次保存的結果進行異或比較,以確定首部內容是否在傳輸過程中被修改;

第四行:
源IP地址;

第五行:
目的IP地址;

IP地址的使用:
源IP地址:
1.手動配置:
2.自動配置:DHCP,RARP

目的IP地址:
1.手動指定;
2.名稱解析;
hosts文件

網絡基礎之osi模型與TCP模型