計算機網路:自頂向下自學筆記
2018.4.14 英文版電子書
2018/4/16 購入中文版紙質書
第1章 計算機網路和因特網
1.1什麼是因特網
因特網服務提供商ISP,傳輸控制協議TCP,網際協議IP
1.2網路邊緣
1.3網路核心
分組交換和電路交換,分組交換效能優於電路交換
1.4分組交換網中的時延、丟包和吞吐量
1.5協議層次及其服務模型
協議棧,5個層次:應用層,運輸層,網路層,鏈路層,物理層
應用層是網路應用程式及它們的應用層協議存留的地方。包括HTTP(WEB文件的請求和傳送),SMTP(電子郵件報文的傳送)和FTP(兩個端系統之間的檔案傳送)。位於應用層的資訊分組稱為報文。
運輸層是在應用程式端點之間傳送應用層報文。有兩個運輸協議,即TCP和UDP。TCP提供面向連線的服務,包括應用層報文向目的地的確保傳遞和流量控制。UDP提供無連線服務,沒有可靠性,沒有流量控制和擁塞機制。運輸層分組稱為報文段。
網路層負責將稱為資料報的網路層分組從一臺主機移動到另一臺主機。運輸層報文段和目的地址。IP協議定義了在資料報中的各個欄位以及端系統和路由器如何作用於這些欄位。
鏈路層,分組稱為幀
1.7計算機網路和因特網歷史
4/17
第2章應用層
2.1應用層協議原理
客戶-伺服器體系結構C/S,P2P體系結構
程序通訊,埠號,套接字是應用程式程序和運輸層協議之間的介面
TCP是面向連線的可靠資料傳輸服務,TCP的加強版本稱為安全套接字層SSL
2.2Web和HTTP
URL地址由兩部分組成:存放物件的伺服器名和物件的路徑名
HTTP請求報文
請求行: GET /somedir/page.html HTTP/1.1
方法欄位(GET、POST、HEAD、PUT、DELETE) URL欄位 HTTP版本欄位
首部行:Host: www.someschool.edu 主機
Connection: close 傳送完就關閉連線,非持續連線
User-agent: Mozilla/5.0 指明使用者代理,向伺服器傳送請求的瀏覽器型別,這裡是火狐
Accept-language: fr
HTTP響應報文
狀態行:HTTP/1.1 200 OK
協議版本欄位 狀態碼 相應狀態資訊
首部行:Connetion: close
Date: tue, 09 Aug 2011 15:44:04 GMT 傳送響應報文的時間
Server:Apache/2.2.3 (centOS)
Last-Modigied:
Content-legth: 6821
Content-type: text/html
實體體:
cookie,WEB快取器
2.3檔案傳輸協議:FTP
FTP使用兩個並行的TCP連線來傳輸檔案,控制連線和資料連線
2.4因特網中的電子郵件
組成部分:使用者代理,郵件伺服器,簡單郵件傳輸協議(SMTP)
SMTP是一個推協議,取報文是拉協議,需要引入特殊的郵件訪問協議來解決,主流的有第三版的郵局協議POP3,因特網郵件訪問協議IMAP以及http
2.5DNS:因特網的目錄服務
一個IP地址由4個位元組組成,具有層次結構
域名系統DNS,應用層協議,由其他應用層協議使用,將主機解析為IP地址
2.6 P2P應用
客戶-伺服器和p2p體系機構的最小分發時間,F/u=1,us=10u
對於P2P體系結構,最小分發時間不僅總是小於客戶-伺服器體系結構的分發時間,並且對於任意的對等數量,總是小於1
P2P體系結構的應用程式能夠自擴充套件,因為對等方是位元的消費者也是重新分發者
分散式散列表DHT
2.7 TCP套接字程式設計
2.7.1 UDP套接字程式設計
程式碼在https://github.com/joycezwei/network-for-py.git test目錄下
2.7.2 TCP套接字程式設計
複習題
2.1節
R1. 列出5種非專用的因特網應用及它們所使用的應用層協議
Web服務的HTTP協議;檔案傳輸的FTP協議;電子郵件的SMTP;遠端控制的Telnet協議;P2P應用的P2P;檔案傳輸的FTP
R2.網路體系結構和應用程式體系結構之間有什麼區別?
應用程式的體系結構明顯不同於網路的體系結構。從應用程式研發者的角度看,網路體系結構是固定的,併為應用程式提供了特定的服務集合。在另一方面,應用程式體系結構由應用程式研發者設計,規定了如何在各種端系統上組織該應用程式。應用程式研發者可能使用的兩種主流體系結構之一:客戶-伺服器體系結構或對等(P2P)體系結構。
R3. 對兩程序之間的通訊會話而言,哪個程序是客戶機,哪個程序是伺服器?
發起通訊的是客戶機,接收通訊的是伺服器
R4.對一個P2P檔案共享應用,你同意“一個通訊會話不存在客戶端和伺服器端的概念”的說法嘛,為什麼
不同意,一個程序能夠既是客戶又是伺服器
R5. 執行在一臺主機上的一個程序,使用什麼資訊來表示執行在另一臺主機上的程序?
目的埠號
R6.假定你想盡快的處理從遠端客戶機到伺服器的事務,應使用UDP還是TCP?為什麼?
UDP;因為使用UDP不用建立連線,通訊前沒有握手過程,並且不包括擁塞機制,可以用它選定的任何速率向其下層(網路層)注入資料。
R8. 列出運輸協議能夠提供的4種寬泛型別的服務。對於每種服務型別,指出是UDP還是TCP(或者兩種)提供這樣的服務
可靠資料傳輸:TCP有,UDP沒有;吞吐量:兩個都有;定時:兩個都有;安全性:TCP可以通過SSL保證安全,UDP沒有。
R9.前面講過TCP能用SSL來強化,以提供程序到執行緒的安全性服務,包括加密。SSL執行在運輸層還是應用層?如果某應用程式研製者想要用SSL來強化UDP,該研製者應當做些什麼工作?
SSL強化是在應用層上實現的,在傳送主機中的SSL加密資料並將加密的資料傳遞給TCP套接字。
2.2~2.5節
R10.握手協議的作用是什麼?
提示客戶機和服務端做好分組傳輸的準備。
R11. 為什麼HTTP,FTP、SMTP及POP都執行在TCP,而不是UDP上?
因為這些要求可靠的資料傳輸
R12. 考慮一個電子商務網站需要保留每一個客戶的購物記錄。描述如何使用cookie來完成該功能。
cookie技術有4個元件:在HTTP響應報文中的一個cookie首部行;在HTTP請求報文的一個cookie首部行;在使用者端系統中保留有一個cookie檔案,並由使用者的瀏覽器進行管理;位於web站點的一個後端資料庫。
第三章 運輸層
3.1 概述和運輸層服務
運輸層協議為執行在不同主機上的應用程序之間提供了邏輯通訊功能。網路層提供了主機之間的邏輯通訊。運輸層協議是在端系統中而不是在路由器中實現的。在傳送端,運輸層將從傳送應用程式程序接收到的報文轉換成運輸層分組,用因特網術語來講該分組稱為運輸層報文段。
3.2 多路複用和多路分解
將運輸層報文段中的資料交付到正確的套接字的工作稱為多路分解。
在源主機從不同的套接字中收集資料塊,併為每個資料塊封裝上首部資訊從而生成報文段,然後將報文段傳遞到網路層,所有這些工作稱為多路複用。 埠號是一個16位元的數,其大小在0-65535之間。0-1023範圍的埠號稱為周知埠號,受限制的,指它們保留給如HTTP(80)和FTP(21)之類的周知應用層協議來使用。
3.3 無連線運輸:UDP 2018.5.8
3.5.6 TCP連線管理
建立連線,三次握手,分配快取和變數
4次揮手
客戶TCP會經歷的一系列典型TCP狀態
伺服器端狀態
相關推薦
計算機網路:自頂向下自學筆記
2018.4.14 英文版電子書2018/4/16 購入中文版紙質書第1章 計算機網路和因特網1.1什麼是因特網因特網服務提供商ISP,傳輸控制協議TCP,網際協議IP1.2網路邊緣1.3網路核心分組交換和電路交換,分組交換效能優於電路交換1.4分組交換網中的時延、丟包和吞吐
計算機網路:自頂向下方法(第七版)Wireshark實驗指南
計算機網路:自頂向下方法(第七版)Wireshark實驗指南 這個資源在網上好像很難找,我歷經千辛萬苦找到之後,在文件的內部發現這些文件其實是免費公開在一個網站上的……,連結如下: http://gaia.cs.umass.edu/wireshark-labs/?tdsourcetag=s_pcqq_ai
筆記 -《計算機網路:自頂向下方法》 第5章 鏈路層:鏈路、接入網和區域網(0)
第5章 鏈路層:鏈路、接入網和區域網(0) ** “結構” 均為本章知識結構; ** “假設” 均為理想化,抽象的模型; ** “例項” 均為已經投入使用的模型; (結構1) (假設1)同一子網內 傳遞網路層資料報的鏈路層工作流程 &nbs
筆記 -《計算機網路:自頂向下方法》 第5章 鏈路層:鏈路、接入網和區域網(8)
第5章 鏈路層:鏈路、接入網和區域網(8)鏈路層交換機 鏈路層交換機的任務是從入鏈路接收鏈路層幀,並將其轉發到對應的出鏈路。 鏈路層交換機對子網中的主機和路由器是透明的。 鏈路層幀到達交換機的任何介面的速率可能暫時會超過該介面的鏈路數量,所以在介面設有快取。 鏈路層交換
《計算機網路教程 自頂向下方法》 第一章
TCP/IP協議族(Transmission Control Protocol/Internet Protocol,傳輸控制協議/網際網路協議) 層次化結構 路由器只涉及 3 層(網路層、資料鏈路層、物理層)。 雖然一個路
增量測試:自頂向下測試&自底向上測試
本部落格主要內容: 自頂向下測試和自底向上測試的優缺點; 軟體開發週期流程; 不同的測試方法針對不同的測試階段 一、 自頂向下測試: 優點: 1、如果主要的缺陷發生在程式的頂層將非常有利
Golang Web入門(1):自頂向下理解Http伺服器
摘要 由於Golang優秀的併發處理,很多公司使用Golang編寫微服務。對於Golang來說,只需要短短几行程式碼就可以實現一個簡單的Http伺服器。加上Golang的協程,這個伺服器可以擁有極高的效能。然而,正是因為程式碼過於簡單,我們才應該去研究他的底層實現,做到會用,也知道為什麼這麼用。 在本文中,會
計算機網絡(自頂向下)----讀書筆記
接收消息 技術 tel 出隊 電纜 outer sage 調度算法 結構 1.端系統和網絡核心、協議 處在因特網邊緣的部分就是連接在因特網上的所有的主機。這些主機又稱為端系統(end system) 網絡核心部分要向網絡邊緣中的大量主機提供連通性,使邊緣部分中的任何
《計算機網路-自頂向下方法原書第六版》~~~~~第一章:計算機網路和因特網
1.1 什麼是因特網 1.1.1 具體構成描述 1. 端系統(主機):資料的傳送或接受的終端。 2. 通訊鏈路:資料傳輸的媒介。 3. 分組:資料在鏈路中傳輸的一種封裝格式。 4. 路由器:負責轉發資料,用於網路核心中。 5. 鏈路層交換機:負責轉發資料,用於接入
計算機網路自頂向下 :應用層(FTP、SMTP、POP3、IMAP)
題外話,最近補習數學課還是很有成效的。 關於應用層是分三次寫的,因此寫的重點是在HTTP協議和DNS協議分析上。而應用層中FTP、SMTP、POP3、IMAP,計算機網路自頂向下中並沒有太詳細的介紹。我也試著看RFC然後抓包分析一下過程,採用的抓包方法是FTP
計算機網路自頂向下 :應用層(DNS,POP)
DNS是: 一個分散式DNS伺服器實現分佈或資料庫。 一個使得主機能夠查詢分佈資料庫的應用層協議。 DNS伺服器通常是執行BIND軟體的Linux機器。 DNS協議執行在UDP之上使用53埠。 DNS提供的服務: DNS除了進行主機到IP地址的
計算機網路自頂向下方法第二章學習筆記
應用層(報文) 1、應用層協議原理 應用程式體系結構: (1)客戶-伺服器體系結構:有一個總是開啟的主機稱為伺服器,服務於其他稱為客戶的主機的請求。 (2)P2P體系結構:應用程式在間斷連線的主機對之間使用直接通訊。自擴充套件性,每個主機可以向其他對等方分發檔案為系統增加服務能力。
計算機網路自頂向下方法第三章學習筆記
運輸層(報文段) 1、運輸層概述 運輸層為執行在不同主機上的應用程序之間提供邏輯通訊功能。應用程序使用運輸層提供的邏輯通訊功能彼此傳送報文,而無需考慮承載這些報文的物理基礎。 運輸層和網路層的關係:網路層提供了主機之間的邏輯通訊,運輸層為在不同主機上的程序之間提供了邏輯通訊。運輸層協議只
計算機網路自頂向下方法第一章學習筆記
1、因特網構成 端系統通過通訊鏈路和分組交換機連線。傳送端將資料分段,並加上首部位元組,形成的資訊包稱為分組。 分組交換機從一條鏈路接收分組,並轉發到另一條鏈路。主要分為路由器和鏈路層交換機兩類。交換機一般用於接入網,路由器通常用於網路核心。 端系統、分組交換機和其他因特網部件要執行一系
計算機網路自頂向下方法 習題參考答案 第四章
複習題 R1. 網路層分組叫做資料報。路由器處於第三層的,鏈路交換機是第二層 R2. 資料報網路中兩個最重要的功能是:轉發和路由,虛電路網路中增加了一項:連線建立 R3. 轉發是指在路由器內部將輸入埠的分組轉移到正確的輸出埠;而路由是指路由器決定從源到目的地的路徑
HIT 計算機網路 自頂向下 複習提要 傳輸層
傳輸層 為不同host上的不同程序提供 邏輯通訊 機制 多路複用&多路分解 UDP 可靠資料傳輸協議 GBN SR TCP 流量管理 擁塞控制
計算機網路 自頂向下 複習提要 資料鏈路層
鏈路 點對點鏈路 PPP 點對點協議 HDLC 高階資料鏈路控制 廣播鏈路 MAC協議分類g 通道劃分協議:
計算機網路 自頂向下 複習提要 網路層2
路由演算法 靜態路由 動態路由 全域性資訊:掌握全域性網路 鏈路狀態(LS)路由演算法 分散資訊:鄰居 距離向量(DV)路由演算法
計算機網路 自頂向下 複習提要 網路層
虛電路網路 如 ATM ,幀中繼 連線服務:先建立連線,確定路徑,傳輸結束後拆除 分組攜帶虛電路標識傳輸,並進行標識替換 與電路網路不同: 分組交換(帶虛電路標識),利用鏈路全部頻寬
計算機網路自頂向下方法套接字程式設計作業
本部落格是針對,《計算機網路自頂向下方法》一書第二章後面套接字程式設計作業, 所有程式碼均已上傳至我的github:https://github.com/inspurer/ComputerNetwork 所有程式碼均本人親自編寫,有問題歡迎評論交流; 如需轉載請聯絡:[email