OSI七層協定
OSI(Open System interconnection)開放系統互連參考模型
ISO(International Standards Organization)國際標準化組織
物理層
機械性能:接口的形狀,尺寸的大小,引腳的數目和排列方式等。
物理層協定有:
美國電子工業協會(EIA)的RS232,RS422,RS423,RS485等;
國際電報電話諮詢委員會(CCITT)的X.25、X.21等;
物理層的數據單位是位(BIT),典型設備是集線器HUB。
鏈路層
鏈路層禁止傳輸介質的物理特徵,使數據可靠傳送。
內容包括介質訪問控制、連線控制、順序控制、流量控制、差錯控制和仲裁協定等。
鏈路層協定有:
協定有面向字元的通訊協定(PPP)和面向位的通訊協定(HDLC)。
仲裁協定:802.3、802.4、802.5,即:
CSMA/CD(Carrier Sense Multiple Access with Collision Detection)、Token
Bus、Token Ring
鏈路層數據單位是幀,實現對MAC地址的訪問,典型設備是交換機Switch。
網路層
網路層管理連線方式和路由選擇。
連線方式:虛電路(Virtual Circuits)和數據報(Datagram)服務。
虛電路是面向連線的(Connection-Oriented),數據通訊一次路由,通過會話建立的一條
通路。
數據報是非連線的(Connectionless-Oriented),每個數據報都有路由能力。
網路層的數據單位是包,使用的是IP位址,典型設備是路由器Router。
這一層可以進行流量控制,但流量控制更多的是使用第二層或第四層。
傳輸層
提供端到端的服務。可以實現流量控制、負載均衡。
傳輸層信息包含連線埠、控制字和校驗和。
傳輸層協定主要是TCP和UDP。
傳輸層位於OSI的第四層,這層使用的設備是主機本身。
會話層
會話層主要內容是通過會話進行身份驗證、會話管理和確定通訊方式。
一旦建立連線,會話層的任務就是管理會話。
表示層
表示層主要是解釋通訊數據的意義,如代碼轉換、格式變換等,使不同的終端可以表示。
還包括加密與解密、壓縮與解壓縮等。
套用層
套用層應該是直接面向用戶的程式或服務,包括系統程式和用戶程式,
例如www、FTP、DNS、POP3和SMTP等都是套用層服務。
數據在傳送時是數據從套用層至物理層的一個打包的過程,
接收時是數據從物理層至套用層的一個解包的過程,
從功能角度可分為三組,1、2層解決網路信道問題,3、4層解決傳輸問題,5、6、7層處
理對套用進程的訪問。
從控制角度可分為二組,第1、2、3層是通信子網層,第4、5、6、7層是主機控制層。
TCP/IP 協定簇
TCP/IP(Transmission Control Protocol/Internet Protocol)已成為一個事實上的工業
標準。
TCP/IP是一組協定的代名詞,它還包括許多協定,組成了TCP/IP協定簇。
TCP/IP協定簇分為四層,IP位於協定簇的第二層(對應OSI的第三層),TCP位於協定簇的第
三層(對應OSI的第四層)。
TCP和IP是TCP/IP協定簇的中間兩層,是整個協定簇的核心,起到了承上啟下的作用。
接口層
TCP/IP的最低層是接口層,常見的接口層協定有:
Ethernet 802.3、Token Ring 802.5、X.25、Frame reley、HDLC、PPP等。
網路層
網路層包括:IP(Internet Protocol)協定、ICMP(Internet Control Message Protocol)
控制報文協定、ARP(Address Resolution Protocol)地址轉換協定、RARP(Reverse ARP)反向
地址轉換協定。
IP是網路層的核心,通過路由選擇將下一跳IP封裝後交給接口層。IP數據報是無連線服務
。
ICMP是網路層的補充,可以回送報文。用來檢測網路是否通暢。
Ping命令就是傳送ICMP的echo包,通過回送的echo relay進行網路測試。
ARP是正向地址解析協定,通過已知的IP,尋找對應主機的MAC地址。
RARP是反向地址解析協定,通過MAC地址確定IP位址。比如無盤工作站和DHCP服務。
傳輸層
傳輸層協定主要是:傳輸控制協定TCP(Transmission Control Protocol)和用戶數據報協
議UDP(User Datagram rotocol)。
TCP是面向連線的通信協定,通過三次握手建立連線,通訊時完成時要拆除連線,由於TCP
是面向連線的所以只能用於點對點的通訊。
TCP提供的是一種可靠的數據流服務,採用“帶重傳的肯定確認”技術來實現傳輸的可靠
性。TCP還採用一種稱為“滑動視窗”的方式進行流量控制,所謂視窗實際表示接收能力,用
以限制傳送方的傳送速度。
UDP是面向無連線的通訊協定,UDP數據包括目的連線埠號和源連線埠號信息,由於通訊不需要
連線,所以可以實現廣播傳送。
UDP通訊時不需要接收方確認,屬於不可靠的傳輸,可能會出丟包現象,實際套用中要求
在程式設計師編程驗證。
套用層
套用層一般是面向用戶的服務。如FTP、TELNET、DNS、SMTP、POP3。
FTP(File Transmision Protocol)是檔案傳輸協定,一般上傳下載用FTP服務,數據連線埠
是20H,控制連線埠是21H。
Telnet服務是用戶遠程登錄服務,使用23H連線埠,使用明碼傳送,保密性差、簡單方便。
DNS(Domain Name Service)是域名解析服務,提供域名到IP位址之間的轉換。
SMTP(Simple Mail Transfer Protocol)是簡單郵件傳輸協定,用來控制信件的傳送、中
轉。
POP3(Post Office Protocol 3)是郵局協定第3版本,用於接收郵件。
數據格式:
數據幀:幀頭+IP數據包+幀尾 (幀頭包括源和目標主機MAC地址及類型,幀尾是校驗字)
IP數據包:IP頭部+TCP數據信息 (IP頭包括源和目標主機IP位址、類型、生存期等)
IP數據信息:TCP頭部+實際數據 (TCP頭包括源和目標主機連線埠號、順序號、確認號、校
驗字等)
TCP連線的建立
1、TCP連線通過三次握手完成。
client首先請求連線,發一個SYN包;Server收到後回應SYN_ACK包;Client收到後再
發ACK包。即:
Client Server
SYN ---> 收
<--- SYN+ACK
ACK ---> 收
established表示建立狀態,當某端發出數據包後收到了回應則進入established狀態。
在TCP/IP連線時,如果兩端都是established狀態,則握手成功,否則是無連線或半聯接狀
態。
2、套接字Socket
套接字Socket由協定、IP位址和連線埠號組成,套接字表示一路通訊,一般是一個服務,如
www服務是TCP的80連線埠,Telnet是TCP的23連線埠。
IP位址劃分
IP位址分類
IP位址有四個段,包括網路標識和主機標識兩部分:netid+hostid。
IP位址套用分為A、B、C三類,D、E類是保留和專用的。
Class A 0******* xxxxxxxx xxxxxxxx xxxxxxxx
Class B 10****** ******** xxxxxxxx xxxxxxxx
Class C 110***** ******** ******** xxxxxxxx
Class D 1110**** ******** ******** ********
Class E 1111**** ******** ******** ********
地址區間
址址類 地址區間 網路數 主機數
A 類 1.0.0.1~126.255.255.254 27-2=126 224-2=16777214
B 類 128.0.0.1~191.255.255.254 214-2=16382 216-2=65534
C 類 192.0.0.1~223.255.255.254 221-2=2097150 28-2=254
D 類 224.0.0.1~239.255.255.255 228=268435456 0
E 類 240.0.0.1~255.255.255.255 228=268435456 0
特殊地址
主機地址全0表示為一個網路地址。
主機地址全1表示為對應網路的廣播地址。
全0的IP位址:0.0.0.0,表示本機地址,只在啟動過程時有效。
全1的IP位址255.255.255.255,表示本地廣播(有的軟體不支持)。
私有地址:
10.0.0.0 - 10.255.255.255
172.16.0.0 - 172.31.255.255
192.168.0.0 - 192.168.255.255
127.0.0.0網路是迴環網路loopback,用於本機測試。例如:
ping 127.0.0.1 是測試本機網卡是否工作正常。
子網掩碼
子網掩碼用來區分網路地址和主機地址,標準的子網掩碼為:
A 類: 1.0.0.1~126.255.255.254 netmask:255.0.0.0
B 類:128.0.0.1~191.255.255.254 netmask:255.255.0.0
C 類:192.0.0.1~223.255.255.254 netmask:255.255.255.0
子網掩碼和IP位址的“與”運算得出對應的網路地址。
如果將子網掩碼“1”的位數增加則網路地址數增加,形成子網。相當於網路的分隔。
如果將子網掩碼“1”的位數減小則網路地址數減少,形成超網。相當於網路的聚合。