1. 程式人生 > >網路通訊中的一些基本概念

網路通訊中的一些基本概念

以下內容摘抄自網路
IP(網際協議)
網際網路協議地址,常見的有IPv4和IPv6兩大類。
IP協議三個定義:
1.IP定義了在TCP/IP網際網路上資料傳送的基本單元和資料格式。
2.IP軟體完成路由選擇功能,選擇資料傳送的路徑。
3.IP包含了一組不可靠分組傳送的規則,指明瞭分組處理、差錯資訊發生以及分組的規則。
資料包:把所傳送的資料分段打成 “包”,再傳送出去。但是,與傳統的“連線型”分組交換不同,它屬於“無連線型”,是把打成的每個“包”(分組)都作為一個“獨立的報文”傳送出去,所以叫做“資料包”。這樣,在開始通訊之前就不需要先連線好一條電路,各個資料包不一定都通過同一條路徑傳輸,所以叫做“無連線型”。
每個資料包都有報頭和報文這兩個部分,報頭中有目的地址等必要內容,使每個資料包不經過同樣的路徑都能準確地到達目的地。在目的地重新組合還原成原來發送的資料。這就要IP具有分組打包和集合組裝的功能。
基本格式:如今的IP網路使用32位地址,以點分十進位制表示,如192.168.0.1。
地址格式為:

IP地址=網路地址+主機地址,或 IP地址=網路地址+子網地址+主機地址。
網路地址是因特網協會的ICANN(the Internet Corporation for Assigned Names and Numbers)分配的,下有負責北美地區的InterNIC、負責歐洲地區的RIPENIC和負責亞太地區的APNIC 目的是為了保證網路地址的全球唯一性。主機地址是由各個網路的系統管理員分配。因此,網路地址的唯一性與網路內主機地址的唯一性確保了IP地址的全球唯一性。
IP資料包:聯網的基本傳送單元是IP資料包,包括資料包頭和資料區部分。
IP資料包封裝:物理網路將包括資料包包頭的整個資料包作為資料封裝在一個幀中。
MTU網路最大傳送單元:不同型別的物理網對一個物理幀可傳送的資料量規定不同的上界。
IP資料包的重組:一是在通過一個網路重組;二是到達目的主機後重組。後者較好,它允許對每個資料包段獨立地進行路由選擇,且不要求路由器對分段儲存或重組。
生存時間:IP資料包格式中設有一個生存時間欄位,用來設定該資料包在聯網中允許存在的時間,以秒為單位。如果其值為0,就把它從網際網路上刪除,並向源站點發回一個出錯訊息。
實體IP

在網路的世界裡,為了要辨識每一部計算機的位置,因此有了計算機 IP 位址的定義。一個 IP 就好似一個門牌!例如,你要去微軟的網站的話,就要去『 64.4.11.42 』這個 IP 位置!這些可以直接在網際網路上溝通的 IP 就被稱為『實體 IP 』了。
虛擬IP
不過,眾所皆知的,IP 位址僅為 xxx.xxx.xxx.xxx 的資料型態,其中, xxx 為 1-255 間的整數,由於計算機的成長速度太快,實體的 IP 已經有點不足了,好在早在規劃 IP 時就已經預留了三個網段的 IP 做為內部網域的虛擬 IP 之用。這三個預留的 IP 分別為:
A級:10.0.0.1 - 10.255.255.254
B級:172.16.0.1 - 172.31.255.254
C級:192.168.0.1 - 192.168.255.254
子網掩碼
——遮蔽一個IP地址的網路部分的“全1”位元模式。對於A類地址來說,預設的子網掩碼是255.0.0.0;對於B類地址來說預設的子網掩碼是255.255.0.0;對於C類地址來說預設的子網掩碼是255.255.255.0。
子網掩碼的設定必須遵循一定的規則。與二進位制IP地址相同,子網掩碼由1和0組成,且1和0分別連續。子網掩碼的長度也是32位,左邊是網路位,用二進位制數字“1”表示,1的數目等於網路位的長度;右邊是主機位,用二進位制數字“0”表示,0的數目等於主機位的長度。這樣做的目的是為了讓掩碼與ip地址做按位與運算時用0遮住原主機數,而不改變原網路段數字,而且很容易通過0的位數確定子網的主機數(2的主機位數次方-2,因為主機號全為1時表示該網路廣播地址,全為0時表示該網路的網路號,這是兩個特殊地址)。只有通過子網掩碼,才能表明一臺主機所在的子網與其他子網的關係,使網路正常工作。
2. TCP
TCP是面向連線的通訊協議,通過三次握手建立連線,通訊完成時要拆除連線,由於TCP是面向連線的所以只能用於端到端的通訊。
TCP提供的是一種可靠的資料流服務,採用“帶重傳的肯定確認”技術來實現傳輸的可靠性。TCP還採用一種稱為“滑動視窗”的方式進行流量控制,所謂視窗實際表示接收能力,用以限制傳送方的傳送速度。
如果IP資料包中有已經封好的TCP資料包,那麼IP將把它們向‘上’傳送到TCP層。TCP將包排序並進行錯誤檢查,同時實現虛電路間的連線。TCP資料包中包括序號和確認,所以未按照順序收到的包可以被排序,而損壞的包可以被重傳。
TCP將它的資訊送到更高層的應用程式,例如Telnet的服務程式和客戶程式。應用程式輪流將資訊送回TCP層,TCP層便將它們向下傳送到IP層,裝置驅動程式和物理介質,最後到接收方。
通訊埠
TCP和UDP服務通常有一個客戶/伺服器的關係,例如,一個Telnet服務程序開始在系統上處於空閒狀態,等待著連線。使用者使用Telnet客戶程式與服務程序建立一個連線。客戶程式向服務程序寫入資訊,服務程序讀出資訊併發出響應,客戶程式讀出響應並向用戶報告。因而,這個連線是雙工的,可以用來進行讀寫。
兩個系統間的多重Telnet連線是如何相互確認並協調一致呢?TCP或UDP連線唯一地使用每個資訊中的如下四項進行確認:
源IP地址 傳送包的IP地址。
目的IP地址 接收包的IP地址。
源埠 源系統上的連線的埠。
目的埠 目的系統上的連線的埠。
埠是一個軟體結構,被客戶程式或服務程序用來發送和接收資訊。一個埠對應一個16位元的數。服務程序通常使用一個固定的埠,例如,SMTP使用25、Xwindows使用6000。這些埠號是‘廣為人知’的,因為在建立與特定的主機或服務的連線時,需要這些地址和目的地址進行通訊。
埠有什麼用呢?一臺擁有IP地址的主機可以提供許多服務,比如Web服務、FTP服務、SMTP服務等,這些服務完全可以通過1個IP地址來實現。那麼,主機是怎樣區分不同的網路服務呢?顯然不能只靠IP地址,因為IP 地址與網路服務的關係是一對多的關係。實際上是通過“IP地址+埠號”來區 分不同的服務的。
資料格式
資料幀:幀頭+IP資料包+幀尾 (幀頭包括源和目標主機MAC初步地址及型別,幀尾是校驗字)連結層
IP資料包:IP頭部+TCP資料資訊(IP頭包括源和目標主機IP地址、型別、生存期等網路層
TCP資料資訊:TCP頭部+實際資料 (TCP頭包括源和目標主機埠號、順序號、確認號、校驗字等)傳輸層
相關連結:
網路的五層劃分是什麼?