網絡編程 前篇--計算機網絡知識

OSI模型把網絡通信分成七層:物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層和應用層,對於開發網絡應用人員來說,一般把網絡分成五層,這樣比較容易理解。這五層爲:物理層、數據鏈路層、網絡層、傳輸層和應用層(最頂層)

1 物理層協議

物理層是五層模型中的最底層,物理層爲計算機之間的數據通信提供了傳輸媒體和互連設備,爲數據傳輸提供了可靠的環境,媒體包括電纜、光纖、無線信道等,互連設備指是計算機和調制解調器之間的互連設備,如各種插頭、插座等。該層的作用是透明的傳輸比特流(即二進制流),爲數據鏈路層提供一個傳輸原始比特流的物理連接

2 數據鏈路層

數據鏈路層是模型中的第2層,該層對接受到物理層傳輸過來的比特流進行分組,一組電信號構成的數據包,就叫做"幀",數據鏈鏈路層就是來傳輸以"幀"爲單位的數據包,把數據傳遞給上一層(網絡層),幀數據由兩部分組成:幀頭和幀數據,幀頭包括接受方物理地址(就是網卡的地址)和其他的網絡信息,幀數據就是要傳輸的數據體。數據幀的最長爲1500字節,如果數據很長,就必須分割成多個幀進行發送。

3 網絡層
提供IP尋址和路由 網絡上的數據可以通過多條線路達到目的地 網絡層負責找出最佳的傳輸路徑

該層通過尋址(尋址地址)來建立兩個節點之間的連接,大家都知道我們的電腦連接上網絡後都一個IP地址,我們可以通過IP地址來確定不同的計算機是否在同一個子網路。如果我們的電腦連接上網絡後就有兩種地址:物理地址和網絡地址(IP地址),網絡上的計算機要通信,必須要知道通信的計算機“在哪裏”, 首先通過網絡地址來判斷是否處於同一個子網絡,然後再對物理地址(MAC)地址進行處理,從而準確確定要通信計算機的位置。

在網絡層中有我們熟悉的IP協議(即規定網絡地址的協議),目前廣泛採用的是IP協議第四版(IPv4),這個版本規定,網絡地址由32位二進制位組成。我們可以自己配置IP地址也可以自動獲得的方式得到IP地址,Ip地址分成兩部分,前24位代表網絡,後8位代表主機號, 如192.168.254.1和192.168.254.2就處於同一個子網絡裏,因爲這兩個IP地址的前24位相同。

網絡層中以IP數據包的形式來傳遞數據,IP數據包也包括兩部分:頭(Head)和數據(Data),IP數據包放進數據幀中的數據部分進行傳輸。
4 傳輸層

通過MAC和IP地址,我們可以找到互聯網上任意兩臺主機來建立通信。然而這裏有一個問題,找到主機後,主機上有很多程序都需要用到網絡,比如說你在一邊聽歌和好用QQ聊天, 當網絡上發送來一個數據包時, 是怎麼知道它是表示聊天的內容還是歌曲的內容的, 這時候就需要一個參數來表示這個數據包是發送給那個程序(進程)來使用的,這個參數我們就叫做端口號,主機上用端口號來標識不同的程序(進程),端口是0到65535之間的一個整數,0到1023的端口被系統佔用,用戶只能選擇大於1023的端口。

傳輸層的功能就是建立端口到端口的通信,網絡層就是建立主機與主機的通信,這樣如果我們確定了主機和端口,這樣就可以實現程序之間的通信了。我們所說的Socket編程就是通過代碼來實現傳輸層之間的通信。因爲初始化Socket類對象要指定IP地址和端口號。

在傳輸層有兩個非常重要的協議:UDP 協議和TCP協議

採用UDP協議話傳輸的就是UDP數據包,同樣UDP數據包也由頭和數據兩部分組成,頭部分主要標識了發送端口和接受端口,數據部分就是具體的內容信息。同樣UDP數據包是放入IP數據包中的"數據"部分,IP數據包再放入數據幀中在網絡上傳輸。

由於UDP協議的可靠性差(數據發送後無法確定對方是否收到),所以又定義了一個可靠性高的協議——TCP協議,TCP協議採取了握手的方式要確保對方收到了數據。
TCP:面向連接可靠性傳輸協議 首先通過三步握手 確定雙方連接 然後具有數據確認和數據重傳的機制 確保數據一定能到達通信的對方
UDP:是無連接 不可靠的傳輸協議 才用UDP的時候 不需要建立連接 直接向一個IP地址發送數據包  雖然UDP有很多缺點 但是實時性比較高 對於一些實時性比較高的場合 應該使用UDP

5 應用層

應用層是模型中的最頂層,是用戶與網絡的接口,該層通過應用程序來完成網絡用戶的應用需求。該層的數據放在TCP數據包的數據部分,該層定義了一個很重要的協議——Http協議,我們一般的Web開發都是基於應用層的開發, 所以後面專題將會和大家介紹下Http協議。理解Http協議可以幫助我們理解Asp.net的請求響應模型以及幫助我們自定義發出請求和自定義服務器。
除了Http協議(超文本傳輸協議) 還有遠程登錄協議Telnet  文件傳輸協議FTP 域名服務DNS 簡單郵箱傳輸協議SMTP  郵局協議POP3
簡單的說 上網頁就是用Http協議 從網絡上下載文件用FTP協議 解析域名 是有DNS 發送郵件使用SMTP 接受郵件使用POP3協議 




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章