C C 網路通訊程式設計(一)

2021-07-23 17:03:05 字數 3309 閱讀 3452

一、internet與tcp/ip協議

internet的發展大致可為四個階段:60年代,internet起源;

70年代,tcp/ip協議,internet隨之發展起來;80

年代,nfsnet出現,並成為當今internet的基礎;90年代,internet進入高速發展時間,並開始向全世普及。

2023年美國**艾林豪威爾向美國國會提出建立darpa

(defense advanced research project agency),即國防部高階研究計畫署,簡稱為arpa

。2023年6

月darpa提出

「資源共享計算機網路中」。

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

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

2023年由kahn和

vintoncerf

兩人合作為arpanet開發了新的一套互聯協議,此協議在2023年

12月兩人正式發表第乙份tcp

協議詳細說明,但此協議有信包失時不能得到有效的糾正。

tcp協議分成兩個不同的協議:

l 用來檢測網路傳輸中差錯的傳輸控制協議tcp

l 專門負責對不同網路進行互聯的網際網路協議ip

從此tcp/ip協議誕生。

2023年

arpanet上停止使用cnp,網際網路上的主機全部使用tcp/ip協議,tcp/ip協議成為internet中的「

世界語」。

二、osi

模型與tcp/ip協議體系結構

網路採用分而治之的方法設計,將網路的功能劃分為不同的醋,以分層的形式有機組合在一起,每層實現不同的功能,其內部實現方法對外部其他層次來說透明,每層向上層提供服務,也可以使用下層提供的服務。網路體系結構即指骨網路的層次結構和每層所使用協議的集合。兩類非常重要的體系結構是:osi與tcp/ip。

osi(開放系統互聯 open system interconnection)

國際標準化組織(iso)制定osi

模型,該模型定義了不同計算機互聯的標準,是設計和描述計算機通訊的基本框架。osi

模型把網路通訊的

工作分為七層:物理層,資料鏈路層,網路層,傳輸層,會話層,表示

和應用層。

設計目的:

osi模型的設計目的是成為乙個所能銷售商都能實現的開放網路模型,來克服使用眾多私有網路模型所帶來的困難和低效性。osi是在乙個備受尊敬的國際標準團體參與下完成的, 這個組織就是iso

(國際標準化組織)。

分層原則:

網路中各結點都有相同的層次

不同結點相同層次具有相同的功能

同一結點相鄰層間通過介面通訊

每一層可以使用下層提供的服務,並向上層提供服務

不同結點的同等層間通過協議來實現對等層間的通訊

osi/rm分層

對等層實體間通訊時資訊的流動過程

對等層通訊的實體

對等層實體之間虛擬通訊,下層向上層提供服務;實際通訊在最低層完成,傳送方資料由最高層逐漸向下層傳遞;到接收方資料由最低層逐漸向高層轉遞。

協議資料單元pdu:osi參考模型中,對等層協議之間交換的資訊單元統稱為協議資料單元(pdu protocol data unit)。

而傳輸層及以下各層的pdu

另外還有各自特定的名稱: 傳輸

層-------資料

段(segment)

網路層------分組

(資料報)(

packet)

資料鏈路層

------資料

幀(frame)

物理層------位元

(bit)

1、物理層(physicallayer)

物理層是osi分層結構體系中最重要、最基礎的一層,它建立在傳輸媒介基礎上,實現裝置之間的物理介面。只接收和傳送一串位元流,不考慮資訊的意義和資訊結構。物理層的資料單位是位(位元流)。

屬於物理層定義的典型 規範代表包括:eia/tiars-232,rj-45等。

物理層的主要功能:為資料端裝置提供傳送資料的通路,資料通路可以是一物理**,也可以是多個物理**連線而成。

物理層的主要裝置:中繼器、集線器。

中斷器的應用:資料傳輸、資料轉換及延長網路,作用:放大訊號、補償訊號衰減。

集線器(hub):區域網中的基礎裝置,功能:訊號放大。

2、資料鏈路層(datalinklayer)

在物理層提供位元流服務的基礎上,建立相鄰結點之間的資料鏈路,通過差錯控制提供資料幀(frame)在資訊上無差錯的傳輸,同時為其上面的網路層提供有效的服務。

資料鏈路層協議的代表包括:sdlc,hdlc,ppp,stp,幀中繼等。

主要功能:實現系統實體間二進位制資訊塊的正確傳輸。為網路層提供可靠無錯誤的資料資訊。

資料鏈路層主要裝置:二層交換機、網橋

3、網路層(network layer)

網路層也稱為通訊子網層,是高層協議之間的介面層,用於控制通訊子網的操作,是通訊子網與資源子網的介面。

在網路層交換的資料的單位是:資料報(packet)。

網路層協議的代表包括:ip,ipx,ospf等。

網路層主要功能:路由選擇和中繼。

網路層主要裝置:路由器。

路由器原理:路由器分本地路由器和遠端路由器,本地路由器是用來連線網路傳輸介質的:光纖、雙絞線及同軸電纜;遠端路由器是用來連線遠端傳輸介質,並要求相應的裝置,如**線要配調製解器,無線要通過無線接收機、發射機。路由器作用:連通不同的網路,資訊傳輸。

4、傳輸層(transport layer)

傳輸層建立 在網路層和會話層之間。實質上它是網路體系結構中高低層銜接的乙個介面層。

傳輸層的資料單元稱為:資料段(segment)這個層負責獲取全部資訊,因此,它必須跟蹤資料單元碎片、亂序到達的資料報和其它在傳輸過程中可能發生的危險。

傳輸層協議的代表包括:tcp

,udp

,spx

等等。

5、會話層(session layer)

此層可稱為會晤層或對話層,在會話層及以上的高層次中,資料傳送的單位不再另外命名,統稱為報文。

主要功能:會話層連線到傳輸層的對映會話連線的流量控制,資料傳輸,會話連線恢復與釋放,會話連線管理 及差錯控制。

6、表示層(presentation layer)

表示層對向上對應用層服務,向下接來自會話層的服務。表示層為應用提供服務包括語法選擇、語法轉換等。

網路應用層是通訊使用者之間的視窗,為使用者提供網路管理,檔案傳輸、事務處理等服務。

應用層為作業系統或網路應用程式提供訪問網路服務的介面。

應用層協議的代表包括:telnet,ftp,http,snmp,dns等。

C 網路通訊程式設計

1 wcf wcf是rpc的一套框架和機制 系列文章 我的wcf之旅 1 系列文章列表 2 其中的入門 建立乙個簡單的wcf程式 2 http通訊 1 http協議簡介 這裡有比較詳細的入門級介紹 這個除了基本的類外,還有網路抓取的框架,是收費的。此外,他還有關於這些原理還程式設計的諸多介紹文章,都...

WinSock網路通訊程式設計入門

對於許多初學者來說,網路通訊程式的開發,普遍的乙個現象就是覺得難以入手。許多概念,諸如 同步 sync 非同步 async 阻塞 block 非阻塞 unblock 等,初學者往往迷惑不清,只知其所以而不知起所以然。同步方式指的是傳送方不等接收方響應,便接著發下個資料報的通訊方式 而非同步指傳送方發...

網路通訊程式設計URLConnection的基礎知識

urlconnection核心 如下 public downutil string path,string targetfile,int threadnum private class downthread extends thread 上面程式中定義了downthread執行緒類,該線各負責讀取從...