當前位置:首頁 » 網路連接 » 深入理解計算機網路筆記
擴展閱讀

深入理解計算機網路筆記

發布時間: 2022-11-28 03:07:14

『壹』 計算機網路的分類

計算機網路根據不同的分類標准有不同的分類,下面我將一一向你介紹:
1. 按網路節點分布
區域網是一種在小范圍內實現的計算機網路,一般在一個建築物內,或一個工廠、一個單位內部。區域網覆蓋范圍可在十幾公里以內,結構簡單,布線容易。
廣域網范圍很廣,可以分布在一個省內、一個國家或幾個國家。廣域網信道傳輸速率較低,結構比較復雜。
城域網是在一個城市內部組建的計算機信息網路,提供全市的信息服務。目前,我國許多城市正在建設城域網。
2. 按傳輸介質
有線網:是採用同軸電纜或雙絞線連接的計算機網路。同軸電纜網是常見的一種連網方式,它比較經濟,安裝較為便利,傳輸率和抗干擾能力一般,傳輸距離較短。雙絞線網是目前最常見的連網方式。它價格便宜,安裝方便,但易受干擾,傳輸率較低,傳輸距離比同軸電纜要短。
光纖網:也是有線網的一種,但由於其特殊性而單獨列出。光纖網採用光導纖維作傳輸介質。光纖傳輸距離長,傳輸率高,可達數千兆bps,抗干擾性強,不會受到電子監聽設備的監聽,是高安全性網路的理想選擇。但其成本較高,且需要高水平的安裝技術。
無線網:用電磁波作為載體來傳輸數據,目前無線網聯網費用較高,還不太普及。但由於聯網方式靈活方便,是一種很有前途的連網方式。
區域網通常採用單一的傳輸介質,而城域網和廣域網採用多種傳輸介質。
3. 按交換方式
線路交換最早出現在電話系統中,早期的計算機網路就是採用此方式來傳輸數據的,數字信號經過變換成為模擬信號後才能聯機傳輸。
報文交換是一種數字化網路。當通信開始時,源機發出的一個報文被存儲在交換機里,交換機根據報文的目的地址選擇合適的路徑發送報文,這種方式稱做存儲-轉發方式。
分組交換也採用報文傳輸,但它不是以不定長的報文作傳輸的基本單位,而是將一個長的報文劃分為許多定長的報文分組,以分組作為傳輸的基本單位。這不僅大大簡化了對計算機存儲器的管理,而且也加速了信息在網路中的傳播速度。由於分組交換優於線路交換和報文交換,具有許多優點。因此,它已成為計算機網路中傳輸數據的主要方式。
4. 按邏輯
通信子網:面向通信控制和通信處理,主要包括:通信控制處理機(CCP)、網路控制中心(NCC)、分組組裝/拆卸設備(PAD)、網關等。
資源子網:負責全網的面向應用的數據處理,實現網路資源的共享。它由各種擁有資源的用戶主機和軟體(網路操作系統和網路資料庫等)所組成,主要包括:主機(HOST)、終端設備(T)、網路操作系統、網路資料庫。
5. 按通信方式
點對點傳輸網路:數據以點到點的方式在計算機或通信設備中傳輸。星型網、環形網採用這種傳輸方式。
廣播式傳輸網路:數據在公用介質中傳輸。無線網和匯流排型網路屬於這種類型。
6. 按服務方式
客戶機/伺服器網路:伺服器是指專門提供服務的高性能計算機或專用設備,客戶機是指用戶計算機。這是由客戶機向伺服器發出請求並獲得服務的一種網路形式,多台客戶機可以共享伺服器提供的各種資源。這是最常用、最重要的一種網路類型,不僅適合於同類計算機聯網,也適合於不同類型的計算機聯網,如PC機、Mac機的混合聯網。這種網路安全性容易得到保證,計算機的許可權、優先順序易於控制,監控容易實現,網路管理能夠規范化。網路性能在很大程度上取決於伺服器的性能和客戶機的數量。目前,針對這類網路有很多優化性能的伺服器稱為專用伺服器。銀行、證券公司都採用這種類型的網路。
對等網:對等網不要求專用伺服器,每台客戶機都可以與其他每台客戶機對話,共享彼此的信息資源和硬體資源,組網的計算機一般類型相同。這種組網方式靈活方便,但是較難實現集中管理與監控,安全性也低,較適合作為部門內部協同工作的小型網路。
7、按網路的拓撲結構分類
網路的拓撲結構是指網路中通信線路和站點(計算機或設備)的幾何排列形式。計算機網路按其拓撲結構分類可以分為星型網、環形網和匯流排型網三類。
(1) 星型網
網上的站點通過點到點的鏈路與中心站點相連。特點是增加新站點容易,數據的安全性和優先順序易於控制,網路監控易實現,但若中心站點出故障會引起整個網路癱瘓。
(2) 環形網
網上的站點通過通信介質連成一個封閉的環形。特點是易於安裝和監控,但容量有限,增加新站點困難。
(3)匯流排型網
網上所有的站點共享一條數據通道。特點是鋪設電纜最短,成本低,安裝簡單方便;但監控較困難,安全性低,若介質發生故障會導致網路癱瘓,增加新站點也不如星型網容易。

以上答案是我整理的筆記,希望對你有所幫助。

『貳』 想要學習計算機知識,應該從哪方面入手

你是想學計科的知識還是想最後跨專業考研考到計科啊。無論你是哪種的,一點基礎沒有的話,全要從基礎學起,大學計算機基礎、離散數學、數電模電最好也看了。然後計算機組成原理、數據結構、計算機網路、C語言、操作系統。其他的JAVA、C#,匯編語言什麼的全可學了。這些全是一些很基本的。計科方面太大。如果你想做得專一些的話,還可以往深了學看定向性強些的書。你還想報啥輔導班,是一般的學還是考研啊。我再把計科考研的情況給你說一下好了。

計算機專業的專業課現在都是統考代碼408,考研科目是計算機學科專業基礎綜合,包含計算機組成原理、數據結構、操作系統、計算機網路。從每年的試題來看,風格都完全不一樣,不深入理解計算機系統是很難考出好成績的。所以你得盡早復習計算機的專業課。每年的真題都非常的靈活,所以要抓住課本,真正理解知識點,把手中的復習資料充分利用。你可以平時將此四門課學扎實,同時還要好好學C語言程序設計(有助於復試)。編程的能力和演算法的思想一定是要有的。指定教材課本有嚴蔚敏的數據結構、白中英的計算機組成、西安電子科技大的操作系統、謝希仁的網路。 到復習時可以買考研輔導機構出版的計算機綜合輔導教材和真題試卷。
比較好的資料有王道論壇的單科書和全書。天勤論壇的高分筆記,這個高分筆記不錯,但是關於操作系統的那塊差了些。最後的模擬題有王道和天勤的,至於其他的資料難度都太低了。真題每年考得都比較靈活,所以要抓住課本,真正理解知識點,把手中的復習資料充分利用起來。計算機考研論壇中的王道論壇上面有很多參考書目推薦和經驗總結,希望你去看一看。

『叄』 網路工程師筆記-網路安全技術

1.HTTPS是安全的超文本協議,可以保障通信安全,銀行可以通過HTTPS來提供網上服務,用戶通過瀏覽器就可以管理自己的賬戶信息,是HTTP的安全版,即HTTP下加入SSL層,HTTPS的安全基礎是SSL,因此加密的詳細內容就需要SSL,SSL默認埠為443

2.POP郵局協議:用戶接收郵件

3.SNMP簡單網路管理協議,用於網路管理

4.HTTP超文本傳輸協議,眾多web伺服器都使用HTTP,但它是不安全的協議

電子郵件協議有SMTP、POP3、IMAP4,它們都隸屬於TCP/IP協議簇,默認狀態下,分別通過TCP埠25、110和143建立連接。

1.SMTP協議

SMTP的全稱是「Simple Mail Transfer Protocol」,即簡單郵件傳輸協議。它是一組用於從源地址到目的地址傳輸郵件的規范,通過它來控制郵件的中轉方式。SMTP 協議屬於TCP/IP協議簇,它幫助每台計算機在發送或中轉信件時找到下一個目的地。SMTP 伺服器就是遵循SMTP協議的發送郵件伺服器。SMTP認證,簡單地說就是要求必須在提供了賬戶名和密碼之後才可以登錄 SMTP 伺服器,這就使得那些垃圾郵件的散播者無可乘之機。增加 SMTP 認證的目的是為了使用戶避免受到垃圾郵件的侵擾。SMTP已是事實上的E-Mail傳輸的標准。

2.POP協議

POP郵局協議負責從郵件伺服器中檢索電子郵件。它要求郵件伺服器完成下面幾種任務之一:從郵件伺服器中檢索郵件並從伺服器中刪除這個郵件;從郵件伺服器中檢索郵件但不刪除它;不檢索郵件,只是詢問是否有新郵件到達。POP協議支持多用戶互聯網郵件擴展,後者允許用戶在電子郵件上附帶二進制文件,如文字處理文件和電子表格文件等,實際上這樣就可以傳輸任何格式的文件了,包括圖片和聲音文件等。在用戶閱讀郵件時,POP命令所有的郵件信息立即下載到用戶的計算機上,不在伺服器上保留。

3.POP3(Post Office Protocol 3)即郵局協議的第3個版本,是網際網路電子郵件的第一個離線協議標准。

4.IMAP協議

互聯網信息訪問協議(IMAP)是一種優於POP的新協議。和POP一樣,IMAP也能下載郵件、從伺服器中刪除郵件或詢問是否有新郵件,但IMAP克服了POP的一些缺點。例如,它可以決定客戶機請求郵件伺服器提交所收到郵件的方式,請求郵件伺服器只下載所選中的郵件而不是全部郵件。客戶機可先閱讀郵件信息的標題和發送者的名字再決定是否下載這個郵件。通過用戶的客戶機電子郵件程序,IMAP可讓用戶在伺服器上創建並管理郵件文件夾或郵箱、刪除郵件、查詢某封信的一部分或全部內容,完成所有這些工作時都不需要把郵件從伺服器下載到用戶的個人計算機上。

支持種IMAP的常用郵件客戶端有:ThunderMail,Foxmail,Microsoft Outlook等。

5.PGP安全電子郵件協議:

(1)通過散列演算法對郵件內容進行簽名,保證信件內容無法修改

(2)使用公鑰和私鑰技術保證郵件內容保密且不可否認,能確認發送者身份,防止非授權者閱讀電子郵件

(3)發信人與收信人的公鑰都保存在公開的地方,公鑰的權威性則可以由第三方進行簽名認證,在PGP系統中,信任是雙方的直接關系

1.Needham-Schroeder協議是基於共享秘鑰的認證協議

1.VPN:虛擬專用網路,是通過隧道技術利用公共網路建立專用網路的技術。

2.VPN技術主要有:

(1)隧道技術

(2)加解密技術

(3)秘鑰管理技術

(4)身份認證技術

3.鏈路層的VPN協議:

(1)L2TP協議

(2)PPTP協議

4.傳輸層VPN協議:TLS協議

5.網路層VPN協議是:IPSec協議

1.數字證書能夠驗證一個實體身份,而這是在保證數字證書本身有消息這一前提下才能夠實現的

2.驗證數字證書的有效性是通過驗證頒發證書的CA的簽名實現的,比如:某網站向CA申請了數字證書,用戶登錄該網站時,通過驗證CA的簽名,可以確認該數字證書的有效性

3.例子:甲和乙進行通信,甲對發送的消息附加了數字簽名,乙收到消息後利用甲的公鑰驗證該消息的真實性

4.數字簽名技術(Digital Signature)是不對稱加密演算法的典型應用,原理是:數據源發送方使用自己的私鑰對數據進行加密處理,完成對數據的合法簽名,數據接收方利用發送方的公鑰來解讀收到的數字簽名,並將解讀結果用於對數據完整性的檢驗,以確認簽名的合法性

5.證書鏈服務(交叉認證)是一個CA擴展其信任范圍或被認可范圍的一種實現機制,不同認證中心發放的證書之間通過證書鏈可以方便的實現相互信任從而實現互訪

1.DES是一種共享秘鑰的演算法,是一種對稱秘鑰系統,加解密使用相同的秘鑰

2.DES通常選取一個64位(bit)的資料庫,使用56位的秘鑰,在內部實現多次替換和變位操作來達到加密的目的

3.MD5和SHA屬於摘要演算法:美國對稱密碼數據加密標准,是指單向哈希函數將任意長度的輸入報文經計算得到固定位輸出稱為報文摘要,該演算法是不可逆的,找出具有同一報文摘要的兩個不同報文是很困難的

4.Diffie-Hellman為秘鑰交換演算法

5.AES高級加密標准:是美國採用的一種區塊加密標准,用來替代原先的DES加密演算法

6.公鑰體系中,甲發給乙的數據要用乙的公鑰進行加密,在公鑰密碼體系中,加密秘鑰是公開的,而解密秘鑰是需要保密的,公鑰密碼體系中,密碼對產生器產生出接收者乙的一對秘鑰:加密秘鑰和解密秘鑰,發送者甲所用的加密秘鑰就是接收者乙的公鑰,公鑰向公眾公開,而乙所用的解密秘鑰就是接收者的私鑰,對其他人保密

網路攻擊是以網路為手段竊取網路上其他計算機的資源或特權,對其安全性或可用性進行破壞的行為,網路攻擊分為主動攻擊和被動攻擊:

1.被動攻擊:網路竊聽,截取數據包並進行分析,從中竊取重要信息,被動攻擊很難被發現,主要是預防為主,目前手段是數據加密傳輸,在密碼學和安全協議加持下目前有5類安全服務:

(1)身份認證

(2)訪問控制

(3)數據保密

(4)數據完整性

(5)數據不可否認性

2.主動攻擊:竊取、篡改、假冒和破壞,字典式口令猜測,IP地址欺騙和服務拒絕攻擊等都屬於主動攻擊,一個好的身份認證系統(數據加密、數據完整性校驗、數字簽名和訪問控制等安全機制)可以預防主動攻擊,但是杜絕很難,目前對付主動攻擊方法是及時發現並及時恢復所造成的破壞,目前有很多實用的工具,常見的有下面幾種攻擊方法:

(1)獲取口令

(2)放置特洛伊木馬程序

(3)www的欺騙技術

(4)電子郵件攻擊

(5)通過一個節點來攻擊其他節點

(6)網路監聽

(7)尋找系統漏洞

(8)利用賬號進行攻擊

(9)偷取特權

3.例子:公司面臨網路攻擊來自多個方面,安裝用戶認證系統來防範公司內部攻擊

1.Kerberos進行認證是一種使用對稱秘鑰加密演算法來實現通過可信第三方秘鑰分發中心的身份認證系統

2.Kerberos認證,客戶方需要向伺服器方遞交自己的憑據來證明自己的身份,該憑據是由KDC專門為客戶和伺服器方在某一階段內通信而生成的

3.Kerberos認證,憑據中包括客戶和伺服器方的身份信息和在下一階段雙方使用的臨時加密秘鑰,還有證明客戶方擁有會話秘鑰的身份認證者信息

4.身份認證信息的作用是防止攻擊者在將來將同樣的憑據再次使用,可以在報文中加入時間戳來防止重放攻擊

1.計算機病毒是一種程序,它會將自身附著在主機上,目的是進一步繁殖和傳播。從個人到大型組織,任何擁有適當技能的人都可以創建計算機病毒,並且可以感染計算機、智能手機、平板電腦,甚至智能 汽車 。「計算機病毒」一詞經常被錯誤的被用成一個總稱,泛指所有感染軟體、計算機和文件的可疑程序、插件或代碼。這一短語的誤用可能是因為計算機病毒較常出現在電視節目和電影中。這類程序實際上正確的總稱應該是惡意軟體,計算機病毒只是其中的一種類型,其他類型的惡意軟體還包括間諜軟體、蠕蟲和特洛伊木馬等。

2.計算機病毒是一種安裝在設備上並繁殖的惡意軟體。有些病毒旨在竊取或破壞數據,而另一些病毒則旨在破壞程序或系統的穩定性,甚至使其無法使用。還有一些可能只是程序員為了好玩而製作的,例如在打開計算機或打開應用程序後顯示圖像或文本消息。

3.嚴格意義上來說,如果感染主機的惡意軟體不是為了繁殖和傳播而設計的,那麼從技術上講,無論它有多危險,它都不會被歸類為計算機病毒。

4.通常是根據計算機病毒的目標和功能進行分類,而不是根據創建過程和編碼風格,且同一計算機病毒也有可能被歸入多個類別。以下是一些常見的計算機病毒示例:

(1)瀏覽器劫持病毒:這類計算機病毒會感染受害者的Web瀏覽器,並且通常用於篡改受害者的主頁、竊取數據和展示廣告。

(2)引導扇區病毒:除了硬碟驅動器的引導扇區之外,這類病毒還會影響用於幫助系統啟動的磁碟。

(3)電子郵件病毒:這類病毒旨在通過將自身附加到電子郵件、使用受害者的地址簿生成電子郵件或以竊取數據的意圖感染電子郵件應用程序來成倍增加。

(4)宏病毒:宏計算機病毒以宏語言編碼,以便它們可以附加到文檔中,並在打開它們所附加的文件後立即激活。

(5)多態病毒:一種可以改變自身以逃避安全系統和防病毒程序檢測的計算機病毒。

(6)常駐病毒:常駐病毒會在感染操作系統後繼續在後台運行,從而對系統和應用程序性能產生負面影響。

(7)非駐留病毒:這類病毒會在執行任務後自行關閉。

5.雖然許多計算機病毒可以很好地隱藏在你的設備上,但有幾個明顯的行為可以表明你可能已經感染了病毒,例如系統速度明顯下降、系統和應用程序設置被神秘地更改、收到不擁有的服務和應用程序的通知,未經你的許可安裝瀏覽器擴展或插件,以及無法上網或打開某些程序等。

6.重要的是要採取多種策略,以確保您的計算機和其他智能設備免受病毒和其他形式的惡意軟體的侵害,以下是保護計算機免受病毒侵害的一些方法:

(1)保持操作系統和應用程序處於最新狀態:這將使病毒更難感染你的計算機設備。

(2)僅連接到受信任的互聯網連接:這也可以保護你免受其他類型的攻擊,例如ARP欺騙。

(3)避免可疑附件:切勿打開來自未知發件人的電子郵件附件,因為這些附件可能包含惡意軟體和其他病毒。

(4)僅從官方網站和可信來源下載文件:從不熟悉的網站下載文件始終存在風險。無論下載看起來多麼合法,如果它不是來自可信來源,請避免下載。

(5)安裝防病毒軟體:高質量的防病毒軟體可以幫助用戶清除計算機上的病毒,並可以預防病毒感染。

6.目前網路上流行的「熊貓燒香」病毒屬於蠕蟲類型的病毒,感染exe、com、pif、htm和sap等文件,還能刪除gho備份文件,被感染的電腦所有exe可執行文件都變成熊貓舉著三根香的模樣

7.病毒前綴是指一個病毒的種類,用來區分病毒的種族分類的

(1)木馬病毒:前綴為Trojan,木馬病毒可以通過網路實現對遠程計算機的遠程攻擊,能遠程式控制制計算機

(2)蠕蟲病毒:前綴為Worm

(3)宏病毒:前綴為Macro

8.病毒名是指一個病毒的家族特徵,是用來區別和標識病毒家族的,如以前著名的CIH病毒的家族名都是統一的CIH,震盪波蠕蟲病毒的家族名是Sasser等

9.病毒後綴是指一個病毒的變種特徵,是用來區別具體某個家族病毒的某個變種的,一般採用英文字母表示,如Worm.Sasser.b就是震盪波蠕蟲病毒的變種B,稱為「震盪波B變種」

1.釣魚網站是一種網路欺詐行為,指不法分子利用各種手段,仿冒真實網站的URL地址以及頁面內容,或者利用真實網站伺服器程序上的漏洞在站點的某些網頁中插入危險的HTML代碼,依次來騙取用戶的賬號密碼等資料

2.釣魚網站可以通過Email傳播網址

1.網路管理中要防止各種安全威脅,安全威脅分為主要和次要安全威脅,主要安全威脅有:

(1)篡改管理信息:通過改變傳輸中的SNMP報文實施未經授權的管理操作

(2)假冒合法用戶:未經授權的用戶冒充授權用戶

2.次要安全威脅有:

(1)消息泄露:SNMP引擎之間交換的信息被第三者偷聽

(2)修改報文流:由於SNMP協議通常是基於無連接的傳輸服務,重新排序報文流、延遲或重放報文的威脅都可能出現,這種威脅危害在於通過報文的修改可能實施非法的管理操作

3.無法預防的威脅有:

(1)拒絕服務:因為很多情況下拒絕服務和網路失效是無法區別的,所以可以由網路管理協議來處理,安全系統不必採取措施

(2)通信分析:第三者分析管理實體之間的通信規律,從而獲取管理信息

1.路由表:用來指定路由規則,指定數據轉發路徑

2.ARP表:用來實現iP地址和網路設備物理地址MAC的轉換

3.NAT:將一個地址映射到另一個地址域的技術,而NAT表記錄這些映射記錄

4.過濾規則用以制定內外網訪問和數據發送的一系列安全策略

1.IPSec VPN包含了認證頭AH和封裝安全載荷ESP

(1)AH主要用以提供身份認證、數據完整性保護、防重放攻擊多項功能

(2)ESP則可以提供數據加密、數據源身份認證、數據完整性保護、防重放攻擊多項功能

(3)IPSec VPN可提供傳輸模式和隧道模式,但沒有入侵檢測功能

(4)IPSec加密和認證過程中所使用的秘鑰有IKE(網際網路秘鑰交換協議)機制來生成和分發,IKE解決了在不安全的網路環境中安全地建立或更新共享秘鑰的問題

『肆』 計算機網路自學筆記:TCP

如果你在學習這門課程,僅僅為了理解網路工作原理,那麼只要了解TCP是可靠傳輸,數據傳輸丟失時會重傳就可以了。如果你還要參加研究生考試或者公司面試等,那麼下面內容很有可能成為考查的知識點,主要的重點是序號/確認號的編碼、超時定時器的設置、可靠傳輸和連接的管理。

1 TCP連接

TCP面向連接,在一個應用進程開始向另一個應用進程發送數據之前,這兩個進程必須先相互「握手」,即它們必須相互發送某些預備報文段,以建立連接。連接的實質是雙方都初始化與連接相關的發送/接收緩沖區,以及許多TCP狀態變數。

這種「連接」不是一條如電話網路中端到端的電路,因為它們的狀態完全保留在兩個端系統中。

TCP連接提供的是全雙工服務 ,應用層數據就可在從進程B流向進程A的同時,也從進程A流向進程B。

TCP連接也總是點對點的 ,即在單個發送方與單個接收方之間建立連接。

一個客戶機進程向伺服器進程發送數據時,客戶機進程通過套接字傳遞數據流。

客戶機操作系統中運行的 TCP軟體模塊首先將這些數據放到該連接的發送緩存里 ,然後會不時地從發送緩存里取出一塊數據發送。

TCP可從緩存中取出並放入報文段中發送的數據量受限於最大報文段長MSS,通常由最大鏈路層幀長度來決定(也就是底層的通信鏈路決定)。 例如一個鏈路層幀的最大長度1500位元組,除去數據報頭部長度20位元組,TCP報文段的頭部長度20位元組,MSS為1460位元組。

報文段被往下傳給網路層,網路層將其封裝在網路層IP數據報中。然後這些數據報被發送到網路中。

當TCP在另一端接收到一個報文段後,該報文段的數據就被放人該連接的接收緩存中。應用程序從接收緩存中讀取數據流(注意是應用程序來讀,不是操作系統推送)。

TCP連接的每一端都有各自的發送緩存和接收緩存。

因此TCP連接的組成包括:主機上的緩存、控制變數和與一個進程連接的套接字變數名,以及另一台主機上的一套緩存、控制變數和與一個進程連接的套接字。

在這兩台主機之間的路由器、交換機中,沒有為該連接分配任何緩存和控制變數。

2報文段結構

TCP報文段由首部欄位和一個數據欄位組成。數據欄位包含有應用層數據。

由於MSS限制了報文段數據欄位的最大長度。當TCP發送一個大文件時,TCP通常是將文件劃分成長度為MSS的若干塊。

TCP報文段的結構。

首部包括源埠號和目的埠號,它用於多路復用/多路分解來自或送至上層應用的數據。另外,TCP首部也包括校驗和欄位。報文段首部還包含下列欄位:

32比特的序號欄位和32比特的確認號欄位。這些欄位被TCP發送方和接收方用來實現可靠數據傳輸服務。

16比特的接收窗口欄位,該欄位用於流量控制。該欄位用於指示接收方能夠接受的位元組數量。

4比特的首部長度欄位,該欄位指示以32比特的字為單位的TCP首部長度。一般TCP首部的長度就是20位元組。

可選與變長的選項欄位,該欄位用於當發送方與接收方協商最大報文段長度,或在高速網路環境下用作窗口調節因子時使用。

標志欄位ACK比特用於指示確認欄位中的ACK值的有效性,即該報文段包括一個對已被成功接收報文段的確認。 SYN和FIN比特用於連接建立和拆除。 PSH、URG和緊急指針欄位通常沒有使用。

•序號和確認號

TCP報文段首部兩個最重要的欄位是序號欄位和確認號欄位。

TCP把數據看成一個無結構的但是有序的位元組流。TCP序號是建立在傳送的位元組流之上,而不是建立在傳送的報文段的序列之上。

一個報文段的序號是該報文段首位元組在位元組流中的編號。

例如,假設主機A上的一個進程想通過一條TCP連接向主機B上的一個進程發送一個數據流。主機A中的TCP將對數據流中的每一個位元組進行編號。假定數據流由一個包含4500位元組的文件組成(可以理解為應用程序調用send函數傳遞過來的數據長度),MSS為1000位元組(鏈路層一次能夠傳輸的位元組數),如果主機決定數據流的首位元組編號是7。TCP模塊將為該數據流構建5個報文段(也就是分5個IP數據報)。第一個報文段的序號被賦為7;第二個報文段的序號被賦為1007,第三個報文段的序號被賦為2007,以此類推。前面4個報文段的長度是1000,最後一個是500。

確認號要比序號難理解一些。前面講過,TCP是全雙工的,因此主機A在向主機B發送數據的同時,也可能接收來自主機B的數據。從主機B到達的每個報文段中的序號欄位包含了從B流向A的數據的起始位置。 因此主機B填充進報文段的確認號是主機B期望從主機A收到的下一報文段首位元組的序號。

假設主機B已收到了來自主機A編號為7-1006的所有位元組,同時假設它要發送一個報文段給主機A。主機B等待主機A的數據流中位元組1007及後續所有位元組。所以,主機B會在它發往主機A的報文段的確認號欄位中填上1007。

再舉一個例子,假設主機B已收到一個來自主機A的包含位元組7-1006的報文段,以及另一個包含位元組2007-3006的報文段。由於某種原因,主機A還沒有收到位元組1007-2006的報文段。

在這個例子中,主機A為了重組主機B的數據流,仍在等待位元組1007。因此,A在收到包含位元組2007-3006的報文段時,將會又一次在確認號欄位中包含1007。 因為TCP只確認數據流中至第一個丟失報文段之前的位元組數據,所以TCP被稱為是採用累積確認。

TCP的實現有兩個基本的選擇:

1接收方立即丟棄失序報文段;

2接收方保留失序的位元組,並等待缺少的位元組以填補該間隔。

一條TCP連接的雙方均可隨機地選擇初始序號。 這樣做可以減少將那些仍在網路中的來自兩台主機之間先前連接的報文段,誤認為是新建連接所產生的有效報文段的可能性。

•例子telnet

Telnet由是一個用於遠程登錄的應用層協議。它運行在TCP之上,被設計成可在任意一對主機之間工作。

假設主機A發起一個與主機B的Telnet會話。因為是主機A發起該會話,因此主機A被標記為客戶機,主機B被標記為伺服器。用戶鍵入的每個字元(在客戶機端)都會被發送至遠程主機。遠程主機收到後會復制一個相同的字元發回客戶機,並顯示在Telnet用戶的屏幕上。這種「回顯」用於確保由用戶發送的字元已經被遠程主機收到並處理。因此,在從用戶擊鍵到字元顯示在用戶屏幕上之間的這段時間內,每個字元在網路中傳輸了兩次。

現在假設用戶輸入了一個字元「C」,假設客戶機和伺服器的起始序號分別是42和79。前面講過,一個報文段的序號就是該報文段數據欄位首位元組的序號。因此,客戶機發送的第一個報文段的序號為42,伺服器發送的第一個報文段的序號為79。前面講過,確認號就是主機期待的數據的下一個位元組序號。在TCP連接建立後但沒有發送任何數據之前,客戶機等待位元組79,而伺服器等待位元組42。

如圖所示,共發了3個報文段。第一個報文段是由客戶機發往伺服器,其數據欄位里包含一位元組的字元「C」的ASCII碼,其序號欄位里是42。另外,由於客戶機還沒有接收到來自伺服器的任何數據,因此該報文段中的確認號欄位里是79。

第二個報文段是由伺服器發往客戶機。它有兩個目的:第一個目的是為伺服器所收到的數據提供確認。伺服器通過在確認號欄位中填入43,告訴客戶機它已經成功地收到位元組42及以前的所有位元組,現在正等待著位元組43的出現。第二個目的是回顯字元「C」。因此,在第二個報文段的數據欄位里填入的是字元「C」的ASCII碼,第二個報文段的序號為79,它是該TCP連接上從伺服器到客戶機的數據流的起始序號,也是伺服器要發送的第一個位元組的數據。

這里客戶機到伺服器的數據的確認被裝載在一個伺服器到客戶機的數據的報文段中,這種確認被稱為是捎帶確認.

第三個報文段是從客戶機發往伺服器的。它的唯一目的是確認已從伺服器收到的數據。

3往返時延的估計與超時

TCP如同前面所講的rdt協議一樣,採用超時/重傳機制來處理報文段的丟失問題。最重要的一個問題就是超時間隔長度的設置。顯然,超時間隔必須大於TCP連接的往返時延RTT,即從一個報文段發出到收到其確認時。否則會造成不必要的重傳。

•估計往返時延

TCP估計發送方與接收方之間的往返時延是通過採集報文段的樣本RTT來實現的,就是從某報文段被發出到對該報文段的確認被收到之間的時間長度。

也就是說TCP為一個已發送的但目前尚未被確認的報文段估計sampleRTT,從而產生一個接近每個RTT的采樣值。但是,TCP不會為重傳的報文段計算RTT。

為了估計一個典型的RTT,採取了某種對RTT取平均值的辦法。TCP據下列公式來更新

EstimatedRTT=(1-)*EstimatedRTT+*SampleRTT

即估計RTT的新值是由以前估計的RTT值與sampleRTT新值加權組合而成的。

參考值是a=0.125,因此是一個加權平均值。顯然這個加權平均對最新樣本賦予的權值

要大於對老樣本賦予的權值。因為越新的樣本能更好地反映出網路當前的擁塞情況。從統計學觀點來講,這種平均被稱為指數加權移動平均

除了估算RTT外,還需要測量RTT的變化,RTT偏差的程度,因為直接使用平均值設置計時器會有問題(太靈敏)。

DevRTT=(1-β)*DevRTT+β*|SampleRTT-EstimatedRTT|

RTT偏差也使用了指數加權移動平均。B取值0.25.

•設置和管理重傳超時間隔

假設已經得到了估計RTT值和RTT偏差值,那麼TCP超時間隔應該用什麼值呢?TCP將超時間隔設置成大於等於估計RTT值和4倍的RTT偏差值,否則將造成不必要的重傳。但是超時間隔也不應該比估計RTT值大太多,否則當報文段丟失時,TCP不能很快地重傳該報文段,從而將給上層應用帶來很大的數據傳輸時延。因此,要求將超時間隔設為估計RTT值加上一定餘量。當估計RTT值波動較大時,這個余最應該大些;當波動比較小時,這個餘量應該小些。因此使用4倍的偏差值來設置重傳時間。

TimeoutInterval=EstimatedRTT+4*DevRTT

4可信數據傳輸

網際網路的網路層服務是不可靠的。IP不保證數據報的交付,不保證數據報的按序交付,也不保證數據報中數據的完整性。

TCP在IP不可靠的盡力而為服務基礎上建立了一種可靠數據傳輸服務。

TCP提供可靠數據傳輸的方法涉及前面學過的許多原理。

TCP採用流水線協議、累計確認。

TCP推薦的定時器管理過程使用單一的重傳定時器,即使有多個已發送但還未被確認的報文段也一樣。重傳由超時和多個ACK觸發。

在TCP發送方有3種與發送和重傳有關的主要事件:從上層應用程序接收數據,定時器超時和收到確認ACK。

從上層應用程序接收數據。一旦這個事件發生,TCP就從應用程序接收數據,將數據封裝在一個報文段中,並將該報文段交給IP。注意到每一個報文段都包含一個序號,這個序號就是該報文段第一個數據位元組的位元組流編號。如果定時器還沒有計時,則當報文段被傳給IP時,TCP就啟動一個該定時器。

第二個事件是超時。TCP通過重傳引起超時的報文段來響應超時事件。然後TCP重啟定時器。

第三個事件是一個來自接收方的確認報文段(ACK)。當該事件發生時,TCP將ACK的值y與變數SendBase(發送窗口的基地址)進行比較。TCP狀態變數SendBase是最早未被確認的位元組的序號。就是指接收方已正確按序接收到數據的最後一個位元組的序號。TCP採用累積確認,所以y確認了位元組編號在y之前的所有位元組都已經收到。如果Y>SendBase,則該ACK是在確認一個或多個先前未被確認的報文段。因此發送方更新其SendBase變數,相當於發送窗口向前移動。

另外,如果當前有未被確認的報文段,TCP還要重新啟動定時器。

快速重傳

超時觸發重傳存在的另一個問題是超時周期可能相對較長。當一個報文段丟失時,這種長超時周期迫使發送方等待很長時間才重傳丟失的分組,因而增加了端到端時延。所以通常發送方可在超時事件發生之前通過觀察冗餘ACK來檢測丟包情況。

冗餘ACK就是接收方再次確認某個報文段的ACK,而發送方先前已經收到對該報文段的確認。

當TCP接收方收到一個序號比所期望的序號大的報文段時,它認為檢測到了數據流中的一個間隔,即有報文段丟失。這個間隔可能是由於在網路中報文段丟失或重新排序造成的。因為TCP使用累計確認,所以接收方不向發送方發回否定確認,而是對最後一個正確接收報文段進行重復確認(即產生一個冗餘ACK)

如果TCP發送方接收到對相同報文段的3個冗餘ACK.它就認為跟在這個已被確認過3次的報文段之後的報文段已經丟失。一旦收到3個冗餘ACK,TCP就執行快速重傳 ,

即在該報文段的定時器過期之前重傳丟失的報文段。

5流量控制

前面講過,一條TCP連接雙方的主機都為該連接設置了接收緩存。當該TCP連接收到正確、按序的位元組後,它就將數據放入接收緩存。相關聯的應用進程會從該緩存中讀取數據,但沒必要數據剛一到達就立即讀取。事實上,接收方應用也許正忙於其他任務,甚至要過很長時間後才去讀取該數據。如果應用程序讀取數據時相當緩慢,而發送方發送數據太多、太快,會很容易使這個連接的接收緩存溢出。

TCP為應用程序提供了流量控制服務以消除發送方導致接收方緩存溢出的可能性。因此,可以說 流量控制是一個速度匹配服務,即發送方的發送速率與接收方應用程序的讀速率相匹配。

前面提到過,TCP發送方也可能因為IP網路的擁塞而被限制,這種形式的發送方的控制被稱為擁塞控制(congestioncontrol)。

TCP通過讓接收方維護一個稱為接收窗口的變數來提供流量控制。接收窗口用於告訴發送方,該接收方還有多少可用的緩存空間。因為TCP是全雙工通信,在連接兩端的發送方都各自維護一個接收窗口變數。 主機把當前的空閑接收緩存大小值放入它發給對方主機的報文段接收窗口欄位中,通知對方它在該連接的緩存中還有多少可用空間。

6 TCP連接管理

客戶機中的TCP會用以下方式與伺服器建立一條TCP連接:

第一步: 客戶機端首先向伺服器發送一個SNY比特被置為1報文段。該報文段中不包含應用層數據,這個特殊報文段被稱為SYN報文段。另外,客戶機會選擇一個起始序號,並將其放置到報文段的序號欄位中。為了避免某些安全性攻擊,這里一般隨機選擇序號。

第二步: 一旦包含TCP報文段的用戶數據報到達伺服器主機,伺服器會從該數據報中提取出TCPSYN報文段,為該TCP連接分配TCP緩存和控制變數,並向客戶機TCP發送允許連接的報文段。這個允許連接的報文段還是不包含應用層數據。但是,在報文段的首部卻包含3個重要的信息。

首先,SYN比特被置為1。其次,該 TCP報文段首部的確認號欄位被置為客戶端序號+1最後,伺服器選擇自己的初始序號,並將其放置到TCP報文段首部的序號欄位中。 這個允許連接的報文段實際上表明了:「我收到了你要求建立連接的、帶有初始序號的分組。我同意建立該連接,我自己的初始序號是XX」。這個同意連接的報文段通常被稱為SYN+ACK報文段。

第三步: 在收到SYN+ACK報文段後,客戶機也要給該連接分配緩存和控制變數。客戶機主機還會向伺服器發送另外一個報文段,這個報文段對伺服器允許連接的報文段進行了確認。因為連接已經建立了,所以該ACK比特被置為1,稱為ACK報文段,可以攜帶數據。

一旦以上3步完成,客戶機和伺服器就可以相互發送含有數據的報文段了。

為了建立連接,在兩台主機之間發送了3個分組,這種連接建立過程通常被稱為 三次握手(SNY、SYN+ACK、ACK,ACK報文段可以攜帶數據) 。這個過程發生在客戶機connect()伺服器,伺服器accept()客戶連接的階段。

假設客戶機應用程序決定要關閉該連接。(注意,伺服器也能選擇關閉該連接)客戶機發送一個FIN比特被置為1的TCP報文段,並進人FINWAIT1狀態。

當處在FINWAIT1狀態時,客戶機TCP等待一個來自伺服器的帶有ACK確認信息的TCP報文段。當它收到該報文段時,客戶機TCP進入FINWAIT2狀態。

當處在FINWAIT2狀態時,客戶機等待來自伺服器的FIN比特被置為1的另一個報文段,

收到該報文段後,客戶機TCP對伺服器的報文段進行ACK確認,並進入TIME_WAIT狀態。TIME_WAIT狀態使得TCP客戶機重傳最終確認報文,以防該ACK丟失。在TIME_WAIT狀態中所消耗的時間是與具體實現有關的,一般是30秒或更多時間。

經過等待後,連接正式關閉,客戶機端所有與連接有關的資源將被釋放。 因此TCP連接的關閉需要客戶端和伺服器端互相交換連接關閉的FIN、ACK置位報文段。

『伍』 計算機網路該怎麼

好的教學方式一定是講的讓別人能聽懂,對於初學者,我認為好的方法應該是這樣的:
1、從實際案例出發(比如我們在瀏覽器輸入一個網址到展示出內容中間發生了什麼事情)
2、計算機網路出現的背景是什麼?遇到了什麼問題?是為了解決什麼問題?
不能一下子就陷入細節,一開始應該快速入門,了解其概貌。
3、入門後,然後再進階學習,建議從自頂向下的方式來學習。
4、一定要多實戰,通過抓包工具查看實際的數據包長啥樣,通過動手實現一個聊天工具等。

『陸』 408計算機學科專業基礎綜合怎樣復習

公共課的學習方法我就不提了。直接說說考研的專業課大綜合如何學習。給你說下我當年的學習思路。

計算機專業的專業課現在都是統考代碼408,考研科目是計算機學科專業基礎綜合,包含計算機組成原理、數據結構、操作系統、計算機網路。從每年的試題來看,風格都完全不一樣,不深入理解計算機系統是很難考出好成績的。所以你得盡早復習計算機的專業課。每年的真題都非常的靈活,所以要抓住課本,真正理解知識點,把手中的復習資料充分利用。你可以平時將此四門課學扎實,同時還要好好學C語言程序設計(有助於復試)。編程的能力和演算法的思想一定是要有的。指定教材課本有嚴蔚敏的數據結構、白中英的計算機組成、西安電子科技大的操作系統、謝希仁的網路。 到復習時可以買考研輔導機構出版的計算機綜合輔導教材和真題試卷。

比較好的資料有王道論壇的單科書和全書。天勤論壇的高分筆記,這個高分筆記不錯,但是關於操作系統的那塊差了些。最後的模擬題有王道和天勤的,至於其他的資料難度都太低了。真題每年考得都比較靈活,所以要抓住課本,真正理解知識點,把手中的復習資料充分利用起來。計算機考研論壇中的王道論壇上面有很多參考書目推薦和經驗總結,希望你去看一看。望採納。

『柒』 求各位推薦計算機考研資料書

數據結構方面的教材:《數據結構》嚴蔚敏 清華大學出版社

計算機組成原理的教材:《計算機組成原理》唐朔飛 高等教育出版社

《計算機組成原理》白中英 科學出版社

操作系統方面的教材:《計算機操作系統(修訂版)》湯子瀛 西安電子科技大學出版社

計算機網路的教材:《計算機網路(第五版)》謝希仁 電子工業出版社

分享下免費的在線考研資源:網路網盤鏈接:https://pan..com/s/1O17H08bhA9u8MKYt0NuBDA

?pwd=b3et提取碼:b3et

推薦一個比較不錯的網站,學習口袋網。裡面關於考研類的資料很全,更新速度也非常快,基本上大家想知道的考研資料信息網站裡面都有。在這里真的建議大家多看一些報考學校的資料與專業課視頻,這對大家考研是非常有幫助的。

『捌』 小馬哥網路課筆記3----計算機之間的連接方式

一台電腦發送請求給另一台電腦,需要知道對方的ip地址和網卡地址,最終是根據MAC地址(網卡地址),輸送數據到網卡,被網卡接收。

發送一個請求,這個請求中包含源ip地址、目標ip地址、源MAC地址、目標MAC地址

電腦的網卡接收到這個請求數據的時候, 如果發現目標MAC地址就是自己的地址,那麼就會將該數據傳遞給上一層處理,否則丟棄。

使用ping命令,可以讓一台電腦與另一台電腦通信,使用的是ICMP協議,比如:地址為192.168.1.10的電腦ping 地址為192.168.1.11的電腦,
首先ping的時候只知道另一台電腦的ip地址,並不知道MAC地址,所以會先發送廣播,即ARP協議,向網段內的所有所有電腦發送信息,目標MAC地址為FFFF.FFFF.FFFF,192.168.1.11的電腦收到這個廣播後,會將自己的MAC地址發送給它,下次就可以直接通信了。

同軸電纜中,一台電腦想將一個數據發送給其中一台電腦時,信號在發送出去後,向所有線路發送。並且另外一台電腦在發送信號前會檢測線路中是否已經有其他的數據正在發送,如果有會等待一定的時間再次嘗試發送。同軸電纜一個很大的缺點是不安全,萬一其中一條線路斷開,所有的線路都會癱瘓。

半雙工通信是指兩個設備之間連接線同時只能有一個方向的信號通過,全雙工通信是指可以多方向通過。
不安全是指一台電腦發送數據給另一台的時候,數據包會發送給所有的電腦,數據容易泄露。

集線器和同軸電纜很像,但是有一個好處是,萬一其中一條線路斷開,不會影響其他線路。
集線器有多個口,每個口都可以連接一台電腦,通信原理和同軸電纜一樣,也是半雙工通信。
通信機制同樣是,有信號發送時它會將信號發送給所有線路,所以說即使發送數據給目標ip設備,集線器仍然會將數據發送給所有設備。但是只有目標ip設備接收到數據後會處理,其他設備接收到數據後舍棄。

如果一個集線器口子不夠用,可以集線器連集線器

因為集線器每次通信都會將數據發送給所有線路,當連接的電腦數量大時,就會有問題,等待時間過長,所以誕生了網橋。

網橋能夠通過自學習得知每個介面那側的MAC地址,並記錄下來。從而起到隔絕沖突域的作用。

如下圖所示,兩個集線器都連接了多台電腦,網橋連接了這連個集線器。當某台電腦發送數據通過網橋時,網橋接收數據的那側埠會記錄下這台電腦的MAC地址,經過很多次數據通信後,網橋會記錄下很多台計算機的MAC地址,並且知道它是在哪側埠。那麼當源計算機發送數據給目標計算機時,網橋會判斷目標計算機是在哪一側,如果它沒有記錄過就傳遞給下一側,如果記錄過並且和源計算機在同一側埠,網橋就不會將這次數據通信發送給另一側,從而阻止了大量不必要的通信。

雖然網橋能夠隔絕沖突域,但仍然無法真正解決集線器連接的設備間通信的缺點。交換機的出現剛好能解決這些問題。

交換機相當於集線器和網橋的集合體,它有很多個埠,可以連接很多台電腦,並且可以自學習每個埠通信的MAC地址並記錄下來。關鍵是它是全雙工通信,數據可以雙向傳遞。

下圖所示,一台交換機連接了多台計算機,在源計算機發送數據給目標計算機時,先廣播給交換機連接的所有計算機,目標計算機收到後回復源計算機,這樣交換機就記錄下了這兩台計算機的MAC地址。源計算機得到目標計算機MAC地址後,再發送數據時,交換機就可以直接將數據發送給目標計算機,從而保護了數據安全,並且阻止了無用通信。

一台交換機的埠如果不夠用,可以交換機連接另一台交換機。

直連、同軸電纜、集線器、交換機這幾種連接方式要求計算機都在同一個網段下才行 。例如:192.168.1.10和192.168.1.11就是在同一個網段,而192.168.1.10和192.168.2.10就不是同一網段。
所以這幾種連接方式都存在一個問題,連接的計算機數量有限。後來的路由器就是為了解決這個問題而誕生。

廣播是在同一個網段下才會發送的,也可以稱為同一個廣播域,直連、同軸電纜、集線器、交換機這幾種方式連接的計算機就是在同一個廣播域。路由器可以隔絕廣播域,也可以在不同網段間轉發數據。

路由器有多個埠,每個埠有MAC地址,而且每個使用的埠都需要設置ip地址,它的ip地址就是網關(gateway)。

路由器連接的必須是不同網段的設備,如果是同一網段,會訪問不通

下圖所示,有2台電腦連接一個交換機,處在192.168.1網段下。
另外2台電腦連接另一個交換機,處在192.168.2網段下。
路由器的2個埠分別連接這2台交換機,並且路由器埠ip地址和交換機連接電腦要在同一網段下。
計算機的網關也要設置和路由器的埠ip地址一致。

1、計算機0向計算機1發送數據

它的過程是:首先計算機0發現計算機1的ip地址和自己處於同一網段下,為了獲得計算機1的MAC地址需要向廣播域內發送ARP廣播,計算機1和路由器埠都收到了廣播,計算機1會回傳自己的MAC地址給計算機0。然後計算機0知道了計算機1的MAC地址後,它就會直接發送ICMP數據給計算機1。

2、計算機0向計算機3發送數據

它的過程是:首先計算機0發現計算機1和自己處於不同網段下,必須要通過路由器做跨廣播域傳遞數據。想通過路由器發數據,肯定要先拿到路由器埠的MAC地址,為了獲得路由器埠MAC地址,先向廣播域內發送ARP廣播,路由器埠收到廣播後,將自己的MAC地址回傳給計算機0。然後計算機0向計算機1發送ICMP數據,路由器網關收到數據後,再通過與計算機1所在廣播域連接的埠發送廣播,獲得計算機1的MAC地址。有了MAC地址,之後計算機0就可以用ICMP通過路由器向計算機1發送數據了。