Linux下網路程式設計(一)

2021-08-11 07:32:46 字數 2379 閱讀 9277

一,計算機與網路的發展

計算機與網路發展的7個階段

1.  批處理(20世紀50年代)
是指實現將使用者個資料裝入卡帶或者磁帶。並有計算機按照一定的順序讀取,是使用者索要執行的這些程式和資料能夠一併批量得到處理的方式。

2.  分時系統(20世紀60年代)
是指多個終端(包含滑鼠、鍵盤、顯示器等輸入輸出裝置組成,最初還包括印表機)與一台計算機連線,允許多個使用者同時使用一台計算機的系統。

特性:多路性、獨占性、互動性和及時性。

3.計算機之間的通訊(20世紀70年代)

4. 計算機網路的產生(20世紀80年代)

5. 網際網路的普及(20世紀90年代)

6. 以網際網路技術為中心的時代(2023年)

7.從「單純建立連線」到「安全建立連線」(2023年)

二,早期的arpanet使用網路控制協議(network control protocol,ncp)

不能互聯不同型別的計算機和不同型別的作業系統,沒有糾錯功能

三,網路的體系結構

網路的層次結構和每層所使用協議的集合

四,osi開放系統互聯模型

應用層 應用程式:ftp、e-mail、telnet

表示層 資料格式定義、資料轉換/加密

會話層 建立通訊程序的邏輯名字與物理名字之間的聯絡

傳輸層 差錯處理/恢復,流量控制,提供可靠的資料傳輸

網路層 資料分組、路由選擇

鏈路層 資料組成可傳送、接收的幀

物理層 傳輸物理訊號、介面、訊號形式、速率

五,osi參考模型

iso(國際標準化組織)制定了乙個國際標準osi(開放式通訊系統互聯參考模型),對通訊系統進行了標準化。

osi模型將通訊協議中必要的功能分成了7層,每個分層都接收有它下一層所提供的特定服務,並且負責為自己的上一層提供特定的服務。上下層之間進行互動時所遵循的約定叫做 「介面」。同一層之間的互動所遵循的約定叫做「協議」。

7層通訊

(1)應用層:指定特定應用的協議(比如傳送和接受檔案的軟體按鈕,傳送者輸入「早上好」並附上收件人,按下傳送按鈕,接受者收到資訊會將其儲存在硬碟或者非易失儲存器(資料不會因為斷電而丟失的一種儲存裝置)上,這些都是在應用層上的)

(2)表示層:裝置固有資料格式和網路標準資料格式的轉換(接受者和傳送者如果使用的郵件客戶端不一樣,那麼就會出現問題,如何實現使用者之間的通訊,那麼就需要在表示層來起作用,使得在不同的客戶端上擁有相同的網路格式)

(3)會話層:通訊管理,負責建立或者斷開通訊連線(傳送者一次性傳送5份郵件,那麼接受者如何接受,是一次性接受所有的檔案然後斷開連線還是沒接受一次就斷開,然後在此進行,傳送者同理)

(4)傳輸層:管理兩個節點(互聯的網路中斷)之間的資料傳輸。負責可靠傳輸(確保資料被可靠地傳送到目標位址)(確保傳送者和接受者之間的通訊,會話層負責決定建立連線和斷開連線的時機,而傳輸層進行實際的建立和斷開處理)

(5)網路層:位址管理與路由選擇,作用:在網路相互連線的環境中,將資料從傳送端主機傳送到接受端主機

(6)資料鏈路層:互連裝置之間傳送和識別資料幀

(7)物理層:以「0」、「1」代表的電壓的高低、燈光的閃滅。界定聯結器和網路的規格。

六,協議與標準化

協議

一組控制資料通訊的規則。

三要素:語法(包括資料格式、編碼及訊號電平等)、語義(包括用於協議和差錯處理的控制資訊)、時序(包括速度匹配和排序)

一致同意的規則。

分類:事實上的標準:實際情況或者習慣

合法標準:法律或者規章制度

標準化組織

緩慢發展

iso:國際標準化組織

itu-t:國際電聯-電信標準部

ansi:美國國家標準化局

ieee:電氣電子工程師協會(主要是乙太網、區域網方面的)

eia:電子工業協會(物理傳輸標準、光釺傳輸)

快速發展

論壇:幀中繼論壇、atm論壇

管理機構:fcc 聯邦通訊委員會

internet標準:rfc

後續引導

這一篇主要對網路程式設計tcp/udp協議的基礎知識了解,下節將介紹tcp/udp及套接字。對文章有看法和意見,我的郵箱18300698861

@163.com等待您的技術**

Linux下網路程式設計實驗

1 tcp程式設計 伺服器端tcp server.c include include include include include include include include define portnumber 3333 int main int argc,char argv 伺服器端填充 s...

linux環境下網路程式設計

參考 socket是網路程序的pid,由執行程序的計算機的ip位址和程序使用的埠組成。非同步狀態下connect不阻塞,直接返回 1,connect返回 1是對的 然後通過select進行判斷是否連線上 同步狀態下connect阻塞,系統莫認時間75秒後,返回成功或失敗 tcp程式設計的流程 伺服器...

Linux下網路程式設計 《一 基礎知識》

red hat enterprise linux server release 7.0 maipo linux高效能伺服器程式設計 現在cpu的累加器一次都能裝載 至少 4位元組 32位機下 即乙個整數。那麼這4位元組在記憶體中排列的順序將影響它被累加器裝載成的整數的值。這就是位元組序問題。位元組序...