今天凌晨時候看書,忽然想到一個問題:怎樣作到持續學習?而後得出這樣一個結論:放棄沒必要要的社交,控制慾望,克服懶惰。。。前端
而後又有了新的問題:學習效率時高時低,狀態很差怎麼解決?這也是我最近在思考的問題。。。。。。瀏覽器
1、TCP/IP的標準化服務器
一、TCP/IP的含義網絡
通常來講,TCP/IP是利用IP進行通訊時所必須用到的協議羣的統稱。架構
具體點,IP或ICMP、TCP或UDP、TELENT或FTP、以及HTTP等都屬於TCP/IP協議,而TCP/IP一詞泛指這些協議,有時稱它們爲TCP/IP爲網際協議族/TCP/IP協議族ide
以下圖所示:學習
二、標準化的精髓網站
特性:開放性、注重實用性(被標準化的協議可否被實際運用)編碼
TCP/IP協議由IETF(國際互聯網工程任務組)討論制定;即將協議的大體規範定下來,而後進行通訊試驗,及時修訂spa
三、規範——RFC
RFC:request for comment,即徵求意見表;那些須要標準化的協議,會被計入RFC並在互聯網上公佈;RFC不只包含協議規範內容,還包括協議實現和運用的相關信息,以及實驗方面的信息
RFC經過編號組織每一個協議的標準化請求;其編碼是既定的,一旦成爲某個RFC的內容,就不能再對其進行修改;若要修改已有某個協議內容,則須要從新發行一個新的RFC文檔,同時,老的RFC文檔做廢
新的RFC文檔會明確規定是擴展了哪一個已有RFC以及要做廢哪一個已有RFC
基於每次修改RFC時都會產生新的RFC編號太麻煩,爲此,採用了STD(standard)方式管理編號,其做用是:用來記錄哪一個編號制定哪一個協議
四、TCP/IP的標準化流程
TCP/IP的標準化流程大概分爲如下幾個階段:
①.互聯網草案階段:從提出開始不斷進行討論實驗,有了必定成熟度,以爲實際可行,認爲其能夠進行標準化,可進入下一階段
②.提議標準階段:計入RFC,開始進入衆多設備廠商生產環節,投入試驗使用,通常爲6個月,當全部參與協議的人以爲其「實用性強,不存在太多問題」,則進入下一階段
③.草案標準階段:通常爲期4個月,在通過不斷的使用和討論改進後,被大衆所使用接受,那麼這個草案標準就進入下一個階段
④.標準階段:到這個階段,意味着該標準已普遍被使用且具備很強的實用性
五、RFC獲取方法
①.網址:http://www.rfc-editor.org/rfc/
ftp://ftp.rfc-editor.org/in-notes/
這兩個網址保存着全部的RFC文件,網站中有一個名爲rfc-index.txt的文件,包含全部RFC概覽;RFC網站除了發佈RFC相關信息,還提供RFC檢索功能
②.STD或FYI以及ID獲取地址
關於STD、FYI、ID也能夠從如下網站獲取,其概覽一分別記錄在std-index.txt、fyi-index.txt等文件中
STD獲取地址:http://www.rfc-edctor.org/in-notes/std/
FYI獲取地址:http://www.rfc-edctor.org/in-notes/fyi/
ID獲取地址:http://www.rfc-edctor.org/Internet-drafts/
JPNIC的ftp服務器中的目錄:
STD獲取網址:ftp://ftp.nic.ad.jp/rfc/std/
FYI獲取網址:ftp://ftp.nic.ad.jp/rfc/fyi/
ID獲取網址:ftp://ftp.nic.ad.jp/internet-drafts/
2、互聯網基礎知識
一、互聯網定義
互聯網,英文單詞爲Internet;Internet指的是將多個網絡鏈接使其構成一個更大的網絡,因此Internet本意爲網際網
「互聯網」是指由ARPANET發展而來、互聯全世界的計算機網絡;互聯全世界的計算機網絡,如今「互聯網」對應的英文單詞爲「The Internet」
與Internet對應的另外一種網絡叫作intranet,該網絡指使用Internet技術將企業內部組織機構鏈接起來造成一個企業範圍的內部網絡,提供面向企業內部的通訊服務
二、互聯網與TCP/IP關係
互聯網進行通訊時,須要相應的網絡協議,TCP/IP是爲使用互聯網而開發定製的協議族;所以,互聯網的協議就是TCP/IP
三、互聯網的結構
小範圍內的網絡鏈接造成機構內部網絡,機構內部網絡鏈接造成區域網絡,各個區域相互鏈接,則造成鏈接全是的互聯網;互聯網是一個有層次的網絡
互聯網中每一個網絡都是由骨幹網(BackBone)和末端網(Stub)組成;每一個網絡之間經過NOC相連;若是運營商不一樣,則網絡鏈接方式和使用方法也不一樣。異構網絡須要有IX支持
互聯網就是衆多異構網絡經過IX互聯的一個巨型網絡
△ NOC:Network Operation Center(網絡操做中心)
△ IX:Internet Exchange:網絡交換中心
四、ISP和區域網
鏈接互聯網須要向ISP(internet service provider:互聯網服務提供商)或區域網提出申請,不一樣的ISP提供的互聯網接入服務也不一樣
區域網指的是特定區域內由團體或志願者提供的網絡服務,一般價格比較便宜,但有時會出現鏈接方式複雜或者使用有限制的狀況
當申請網絡服務時,建議確認瞭解一下提供的具體服務條目、服務的細則(接入方式、條件、費用)等,再決定
3、TCP/IP協議分層模型
一、TCP/IP與OSI參考模型
TCP/IP與OSI在分層模塊上的區別:
OSI:注重通訊協議必要的功能是什麼
TCP/IP:在計算機上實現協議應該開發哪一種程序
二、硬件(物理層)
TCP/IP的最底層是負責數據傳輸的硬件。這種硬件就至關於以太網或電話線路等物理層的設備,TCP/IP是在網絡互連的設備之間可以通訊的前提下才被提出的協議。
三、網絡接口層(數據鏈路層)
利用以太網中的數據鏈路進行通訊,屬於接口層;將其當作「驅動程序」也能夠(驅動程序是在操做系統與硬件以前起橋樑做用的軟件)
PS:有時也將硬件層和網絡接口層合併起來,稱爲「網絡通訊層」
四、互聯網層(網絡層)
互聯網層使用IP協議,至關於OSI中的第三層模型;IP協議基於IP地址轉發分包數據
IP協議的做用:將分組數據包發送到目的主機
TCP/IP分層中的互聯網層與傳輸層的功能一般由操做系統提供,尤爲是路由器,它必須得實現經過互聯網層轉發分組數據包的功能
鏈接互聯網的全部主機跟路由器必須都實現IP功能,其餘連接互聯網的網絡設備(網橋、中繼器)則不是必須
IP:跨越網絡傳送數據包,使整個互聯網都能收到數據的協議;傳送數據時,IP地址做爲主機的標識
IP還隱含數據鏈路層的功能:經過IP,相互通訊的主機之間不論通過怎樣的數據鏈路,均可以實現通訊
IP是分組交換的一種協議,可是不具備重發機制;即便分組數據包未到達對端主機也不會重發;屬於非可靠性傳輸協議
ICMP:IP數據包發送過程當中一旦發生異常致使沒法到達對端目標地址時,須要給發送端一個發生異常的通知,ICMP就是爲了該功能而定製;有時可用來診斷網絡健康情況
ARP:從分組數據包的IP地址解析出物理地址(MAC地址)的一種協議
五、傳輸層
TCP/IP傳輸層有TCP和UDP兩個具備表明性的協議,主要功能是讓應用程序之間實現通訊;其通訊邏輯以下圖:
TCP:面向有鏈接的傳輸層協議,能夠保證通訊兩端主機之間的通訊可達;能夠正確的處理傳輸過程當中丟包、傳輸亂序等異常狀況;還能有效利用帶寬,緩解網絡擁堵。
UDP:面向無鏈接的傳輸層協議,不關注對端是否真的收到傳送的數據;如需檢查對端是否收到分組數據包,或對端是否鏈接到網絡,須要在應用程序中實現經常使用於分組數據較少或多播。廣播通訊及視頻通訊等領域。
六、應用層(會話層以上的分層)
TCP/IP分層中,將OSI中的會話層、表示層、應用層都集中到了應用程序中實現
TCP/IP應用的架構絕大多數術語客戶端/服務端模型;提供服務的程序叫服務端,接受服務的程序叫客戶端,服務器會預先部署到主機上,等待接收任什麼時候刻客戶端發送的請求
常見的應用層協議:
HTTP協議:(HyperText Transfer Protocol)
瀏覽器與客戶端通訊所使用的協議,傳輸數據主要格式爲HTML,http協議OSI應用層協議,而HTML屬於表示層的協議
文件傳輸協議:FTP(File Transfer Protocol)
傳輸過程能夠選擇用二進制仍是文本方式,傳輸時會創建兩個TCP鏈接:發送傳輸請求時用到的控制鏈接和實際傳輸時用到的數據鏈接
電子郵件協議:SMTP(Simple Mail Transfer Protocol)
能夠發送聲音圖像文字,甚至改變文字大小、顏色等
遠程登陸(TELNET與SSH):
常見的還有其餘遠程登陸協議,好比:BSD UNIX系中的rlogin的r命令和X Window System中的X協議
網絡管理協議:SNMP(Simple Newwork Management Protocol)
在TCP/IP進行網絡管理時,採用該協議,其中使用SNMP管理的主機。網橋、路由器等稱做SNMP代理(Agent),進行管理的那一段叫作管理器(Manager)
在SNMP代理端,保存着網絡接口信息、通訊數據量、異常數據量以及設備溫度等信息,這些信息經過MIB訪問,在TCP/IP中,SNMP屬於應用協議,MIB屬於表示層協議
MIB(Management Information Base):可透過網絡的結構變量
4、TCP/IP分層模型
一、數據包首部
每一個分層都會對所發送的數據附加一個首部,首部中包含該層必要的信息;一般爲協議提供的信息爲包首部,所要發送的內容爲數據
關於包、幀、數據報、段、消息的概述:
包:一個歸納性術語,指數據總體
幀:數據鏈路層中包的單位
數據報:IP和UDP等網絡層以上分層中包的單位
段:TCP數據流中的信息
消息:應用協議中數據的單位
二、發送數據包
假設A發送郵件「早上好」給B,那麼它的通訊過程大概以下:
①.應用程序處理
應用程序啓動,新建郵件及內容,點擊發送,應用程序對郵件進行編碼處理,而後發送給下一層TCP
②.TCP模塊的處理
根據上層應用發來的指示,創建負責創建鏈接、發送鏈接及斷開鏈接;TCP提供將應用層發來的數據順利發送至對端的可靠傳輸
爲了實現該功能,會在應用層數據前端加一個TCP首部,首部包括源端口號和目標端口號。序號以及校驗,隨後將附加了TCP首部的包發送給IP
③.IP模塊的處理
IP將TCP傳遞的首部和數據合併,並在首部以前加上本身的IP,IP包生成後,參考路由控制表決定接受此IP包的路由或者主機,隨後,IP包將被髮送給鏈接這些路由或主機網絡接口的驅動程序,實現發送數據
④.網絡接口(以太網驅動)的處理
以太網接受到的IP包,對其來講就是數據,會給其加上以太網首部並進行發送處理,首部中包含接收端MAC地址,發送端MAC地址以及標誌以太網類型的以太網數據協議
三、數據包接收處理
①.網絡接口(以太網驅動)的處理
主機收到以太網包,首先找到MAC地址判斷是否爲發送給本身的,若是不是則丟棄數據
若是是,則確認數據類型,而後將數據包發送給對應的類型處理程序處理
②.IP模塊的處理
收到數據包先進行判斷處理,若是包首部IP地址與本身匹配則接受數據並尋找到上一層協議,並轉發給上一層進行處理
③.TCP模塊的處理
接收到數據包首先計算校驗和,判斷數據包是否被破壞,而後檢查是否按序接受數據,最後檢查端口號,肯定具體應用程序
數據接受完畢,接收端發送一個「確認回執」個發送端
④.應用程序的處理
接收端應用程序會直接接收發送端的數據,並進行解析處理