我原本的計劃是這樣的,連續兩天梳理asp.net開發的核心知識。說到這呢,有人問了。“不是說好了做ASP.NET筆記嗎?為啥要寫網絡基礎知識?是不是傻?”
總之,豐富的知識儲備,會為你的軟件產品帶來更多的品質保障。
當然,我們要了解的主要是HTTP協議,對于這篇文章整理的內容,只做了解即可。目的是對整個知識體系有個大致的概念。算了,坦率的講吧。本篇文章意義不大,寫它的根本原因是我想通過這樣一種方式,來回憶自己的網絡知識。畢竟曾經考過一個勞什子的網絡工程師(等考得那個,我知道沒啥用,但剛上大學的時候,以為很厲害。當時費了點心思,全當回憶大學生活了)。當然這里只是概要式的梳理。
1.OSI、TCP/IP、與五層體系結構
說道網絡的體系結構,總共有兩個經典的劃分方式,分別是OSI七層 和 TCP/IP四層。
1)OSI
OSI的七層協議體系結構、清晰,完整。 但復雜度高,又不實用。
2)TCP/IP
相比的OSI七層的復雜,TCP/IP的四層結構 得到了廣泛的應用。
但是從實際角度看,TCP/IP在實際應用中僅使用了上三層。
3)五層體系結構。
TCP/IP 最下層網絡接口層,沒有什么特別新的具體內容,跟一般的通信鏈路沒有多大差別。
所以在學習的時候采用一種中庸的做法,就是把TCP/IP體系、和OSI體系結合
形成一個、從物理層、數據鏈路層、網際層、運輸層到應用層的五層體系結構。
2.對于五層協議、每層的描述
1)物理層
定義了通信設備的 機械、電氣、功能歸程特性。(當年就是這么背的,我理解的呢就是這樣,“方形的插頭、插不進去圓形的口。就是定義這樣一個標準嗎”)
設備: 集線器 (組成一個碰撞域)
2)數據鏈路層
建立、維護和釋放網絡實體間的數據鏈路,這種數據鏈路對網絡變現為一條無誤差的信道。(MAC媒介訪問層、LLC邏輯鏈路層)
主要特性記住三點》 1. 封裝成幀
2.透明傳輸
3.差錯檢測
設備:網橋、有緩存,接受MAC幀。
3)網絡層:
屬于通信子網,通過網絡連接交換傳輸層實體放出的數據。它解決的是路由選擇,網絡擁塞,異構網絡互聯的問題。(發送的是報文)
IP 網際協議
ARP 地址解析協議
RARP 反向地址解析協議
ICMP 網際控制報文協議
IGMP 網際組管理協議
4)傳輸層
實現發送端和接收端,端到端的數據分組傳送,負責保證實現數據包無差錯、無丟失和無冗余的傳輸。 (服務的訪問點為端口)
TCP (傳輸控制協議) 可靠、面向連接、有應答機制
UDP (用戶數據報協議)不可靠、無連接、無應答機制
5)應用層
雖然我們是程序開發人員,但是上面基層的協議說的什么呢?實話說跟我們聯系不大。到了應用層才跟我們得工作息息相關。
HTTP 超文本傳輸協議 這個才是我們需要懂的。
FTP 文件傳輸協議
DHCP 動態主機配置協議
NFS 網絡文件系統
Telnet 遠程登錄協議
DNS 域名系統
SNMP 簡單網絡管理協議
1.URL
這個東西的學名加:統一資源定位符。他表示找到互聯網中一個資源的資源位置、訪問資源的方法。
通常的結構是這樣的
《協議》://《主機》:《端口》/《路徑》?請求參數
http下就是這樣
http://《主機》:《端口》/《路徑》
2.HTTP協議
新聞熱點
疑難解答