標籤:style blog http color 使用 os io 檔案
要學習XMPP,就要先瞭解Socket編程,在學習Socket之前,還要先瞭解一下網路編程
一、網路編程基本概念
通過使用通訊端來達到處理序間通訊目的的編程就是網路編程。
網路編程從大的方面說就是對資訊的發送到接收,中間傳輸為物理線路的作用,編程人員可以不用考慮…… 網路編程最主要的工作就是在發送端把資訊通過規定好的協議進行組裝包,在接收端按照規定好的協議把包進行解析,從而提取出對應的資訊,達到通訊的目的!中間最主要的就是資料包的組裝,資料包的過濾,資料包的捕獲,資料包的分析,當然最後再做一些處理!二、網路模型
電腦網路是指由通訊線路互相串連的許多自主工作的電腦構成的集合體,各個組件之間以何種規則進行通訊,就是網路模型研究的問題。
早期的電腦互相之間不能傳遞資料,為瞭解決這一問題,國際化標準組織定義了一個網路模型,通過統一的網路模型,電腦之間就能通過相同的網路模型來傳輸資料。
網路模型一般是指OSI七層參考模型和TCP/IP四層參考模型。這兩個模型在網路中應用最為廣泛。
- OSI(開放系統互聯Open System Interconnection)
- TCP/IP參考模型
(1)OSI參考模型
七層簡述:
<1>物理層:主要定義物理裝置標準,如網線的介面類型、各種傳輸介質的傳輸速率等。主要作用是傳輸位元流(就是由1、0轉化為電流強弱來進行傳輸,到達目的地後再轉化為1、0,也就是常說的數模與模數轉換)。這一層的資料叫做位元(bit),主要裝置:集線器 <2>資料連結層:主要將從物理層接收的資料進行MAC地址的封裝與解鎖裝。常把這一層的資料叫做幀,主要裝置:網卡,交換器 <3>網路層:選擇合適的網間路由和交換結點, 確保資料及時傳送,將從下層接收到的資料進行IP地址的封裝與解鎖裝。常把這一層資料叫做資料包,主要裝置:路由器。 <4>傳輸層:定義了一些傳輸資料的協議和連接埠,如TCP、UDP協議,主要將從下層接收的資料進行分段和傳輸,到達目的地址後再進行重組,以往把這一層資料叫做段。 <5>會話層:通過傳輸層建立資料轉送通路。在系統之間發起會話或者接受會話請求(裝置之間需要互相認識) <6>展示層:主要是進行對接收的資料進行解釋、壓縮與解壓縮等,即把電腦能夠識別的東西轉化成人能夠識別的東西(片、聲音等) <7>應用程式層:主要是一些終端的應用,比如說FTP(各種檔案下載)、瀏覽器、QQ等,可以將其理解為在電腦螢幕上可以看到的東西,也就是終端應用。
主機間通訊
每台主機都有7層(不同網路之間有相同的層次),每一層之間都遵守相同的協議,這樣主機A和主機B之間才能正常的解析資料。
來瞭解一下分層原則:
- 網路中各結點都有相同的層次
- 不同結點相同層次具有相同的功能
- 同一結點相鄰層間通過介面通訊
- 每一層可以使用下層提供的服務,並向上層提供服務
- 不同結點的同等層間通過協議來實現對等層間的通訊
三、網路通訊要素