電腦網路複習

来源:http://www.cnblogs.com/0zcl/archive/2017/06/15/6804920.html
-Advertisement-
Play Games

面試時,面試官如果想考查你機算機網路學得怎麼樣,怎麼說也得問下TCP三次握手的過程吧? so, 我4月24號就開始複習電腦網路,斷斷續續複習了3天吧。 ISP: Internet Service Provider 網際網路服務提供商 Eg: 中國電信、中國聯通和中國移動 路由器是一種專用電腦。路由 ...


 

面試時,面試官如果想考查你機算機網路學得怎麼樣,怎麼說也得問下TCP三次握手的過程吧?

so, 我4月24號就開始複習電腦網路,斷斷續續複習了3天吧。

 

ISP: Internet Service Provider 網際網路服務提供商

Eg: 中國電信、中國聯通和中國移動

 

路由器是一種專用電腦。路由器實現分組交換(packet switching)的關鍵構件。其任務是轉發收到的分組。

  • 電路交換--整個報文的比特流連續地從源點直達終點,好像在一個管道中傳送
  • 報文交換--整個報文先傳送到相鄰結點,全部存儲下來後查找轉發表,轉發到下一個結點
  • 分組交換--單個分組(這隻是整個報文的一部分)傳送到相鄰結點,存儲下來後查找轉發表,轉發到下一個結點

 

網路分類

  • 廣域網-WAN(Wide Area Network)
  • 城域網-MAN(Metropolitan Area Network) 範圍: 城市
  • 區域網-LAN(Local Area Network) eg: 校園網 or 企業網
  • 個人區域網-PAN(Personal Area Network) eg: 電腦用無線技術連接起來的網路(wifi)

 

OSI,TCP/IP,五層協議的體繫結構,以及各層協議

OSI分層      (7層):物理層、數據鏈路層、網路層、傳輸層、會話層、表示層、應用層。

TCP/IP分層(4層):網路介面層、             網際層、運輸層、                       應用層。

五層協議     (5層):物理層、數據鏈路層、網路層、運輸層、                       應用層

結合OSI和TCP/IP產生了一個五層結構,分別為:物理層、數據鏈路層、網路層、傳輸層和應用層。Internet就是採用的TCP/IP協議


每一層的作用如下:

  • 物理層:通過媒介傳輸比特,確定機械及電氣規範(比特Bit)
  • 數據鏈路層:將比特組裝成幀和點到點的傳遞(幀Frame)
  • 網路層:負責數據包從源到宿的傳遞和網際互連(包PackeT)
  • 傳輸層:提供端到端的可靠報文傳遞和錯誤恢復(段Segment)
  • 會話層:建立、管理和終止會話(會話協議數據單元SPDU)
  • 表示層:對數據進行翻譯、加密和壓縮(表示協議數據單元PPDU)
  • 應用層:允許訪問OSI環境的手段(應用協議數據單元APDU)

 

頻分復用:所有用戶在同樣的時間占用不同的頻率帶寬。

時分復用:所有用戶在不同的時間占用同樣的頻帶寬度。

 

點對點通道的數據鏈路層的協議數據單元--幀

數據鏈路層的三個基本問題:

  1. 封裝成幀:給一段數據的前後分別添加首部和尾部,構成幀
  2. 透明傳輸
  3. 差錯檢測:迴圈冗餘檢驗CRC差錯檢測技術

幀的數據部分長度上限--最大傳送單元MTU(Maximum Transfer Unit)

CRC是一種檢錯方法,FCS是添加在數據後面的冗餘碼。

 

PPP協議:用戶電腦和ISP進行通信時所使用的數據鏈路層協議。

PPP幀的格式:75頁

 

適配器(網卡):負責把幀發送到區域網 及 從區域網接收幀

適配器接收和發送各種幀不使用電腦的CPU,適配器上面裝有處理器和存儲器(包括RAM和ROM)

 

廣播通信方式:當一臺電腦發送數據時,匯流排上的所有電腦都能檢測到這個數據。

CSMA/CD協議:一個站不可能同時邊發送和接收(但必須邊發送邊監聽通道)

 

發送的不確定性:每一個站在自己發送數據之後的一小段時間內,存在著遭遇碰撞的可能性。這一小段時間是不確定的,它取決於另一個發送數據的站到本站的距離。

爭用期(碰撞視窗):乙太網的端到端往返時間2i

經過爭用期這段時間還沒有檢測到碰撞,才能肯定這次發送不會發生碰撞。這時,就可以放心把這一幀數據順利發送完畢。

 

乙太網的爭用期確定為51.2us

乙太網規定了一個最短幀長64位元組,即512bit。如果發送的數據非常少,那麼必須加入一些填充位元組,使幀長不小於64位元組。

乙太網在發送數據時,如果在爭用期(共發送了64位元組)沒有發生碰撞,那麼後續發送的數據就一定不會發生衝突
凡長度小於64位元組的幀都是由於衝突而異常中止的無效幀。

如果在爭用期內檢測出發生了碰撞,那麼還要再推遲一段時間再把這個暫時保留的幀和重傳一次。

 

適配器有過濾功能:從網路每收到一個MAC幀就先用硬體檢查MAC幀中的目的地址。如果是發往本站的幀則收下,否則就將此幀丟棄。

"發往本站的幀"包括以下三種幀

  • 單播(unicast)幀(一對一):收到的幀的MAC地址與本站的硬體地址相同
  • 廣播(broadcast)幀(一對全體):發送給本區域網上所有的站點的幀(全1地址)
  • 多播(multicast)幀(一對多):發送給本區域網上一部分站點的幀

 

硬體地址(或稱為物理地址/MAC地址)。
在生產適配器時,這種6位元組的MAC地址已被固化在適配器的ROM中

MAC幀的格式:92頁

 

集線器:使用集線器的乙太網在邏輯上仍是一個匯流排網,各站共用邏輯上的匯流排,使用的還是CSMA/CD協議。一個集線器有許多介面。

 

數據鏈路層擴展乙太網要使用網橋(bridge)。網橋工作在數據鏈路層,根據MAC幀的目的地址對收到的幀進行轉發和過濾。

網橋依靠轉發表來轉發幀。轉發表也叫做路由目錄 or 轉發資料庫。 95頁

 

透明網橋(transparent bridge):目前使用得最多。不用人工配置轉發表,網橋就能工作。是一種即插即用設備。

網橋通過自學習演算法(self-learning)處理收到的幀(逐步建立起轉發表),並且按照轉發表把幀轉發出去。  98-重要

 

乙太網交換機實際上是一個多介面的網橋。

交換機最大優點:每個介面到主機的帶寬是10Mb/s。對於擁有N對介面的交換機的總容量為N*10Mb/s.

乙太網幀格式:102頁

 

虛擬區域網VLAN是由一些區域網網段構成的與物理位置無關的邏輯組,這些網段有共同的需求。虛擬區域網協議允許在乙太網的幀格式中插入一個4位元組的標識符,稱為VLAN標記(tag)。用來指明發送該幀的工作站屬於哪一個區域網。

 

A類地址網路號:126個,即2^7-2=126;

減2的原因:IP地址中全0表示"本網路"。網路號為127(0111 1111)保留作為本地軟體環回測試(loopback test)本主機的進程之間的通信之用。

 

A類地址主機號占3位元組,因此每一個A類網路中的最大主機數是2^24-2;
減2的原因:全0的主機號欄位表示該IP地址是"本主機"所連接到的單個網路地址;
(一主機的IP地址為5.6.7.8,則該主機所在的網路地址是5.0.0.0)
而全1表示"所有的",因此全1的主機號欄位表示該網路上的所有主機。

路由器總是具有兩個或兩個以上的IP地址。即路由器的每一個介面都有一個不同網路號的IP地址。 121頁

 

ARP是地址解析協議,簡單語言解釋一下工作原理。

1、首先,每個主機都會在自己的ARP緩衝區中建立一個ARP列表,以表示IP地址和MAC地址之間的對應關係

2、當源主機要發送數據時,首先檢查ARP列表中是否有目的主機的IP地址。如果有,就在ARP高速緩存中查出對應的硬體地址,再把這個硬體地址寫入MAC幀,然後通過區域網把該MAC幀發往此硬體地址

如果沒有,就向本網段的所有主機發送ARP數據包,該數據包包括的內容有:源主機IP地址,源主機MAC地址,目的主機的IP地址。

3、當本網路的所有主機收到該ARP數據包時,首先檢查數據包中的IP地址是否是自己的IP地址,如果不是,則忽略該數據包,如果是,則首先從數據包中取出源主機的IP和MAC地址寫入到ARP列表中,如果已經存在,則覆蓋,然後將自己的MAC地址寫入ARP響應包中,告訴源主機自己是它想要找的MAC地址。

4、源主機收到ARP響應包後。將目的主機的IP和MAC地址寫入ARP列表,並利用此信息發送數據。如果源主機一直沒有收到ARP響應數據包,表示ARP查詢失敗。

廣播發送ARP請求,單播發送ARP響應。

 

 

IP地址與子網掩碼相與&得到主機號

網際控制報文協議ICMP(Internet Control Message Protocol)
ICMP報文的種類有兩種,即ICMP差錯報文和ICMP詢問報文

ICMP詢問報文:

  • 回送請求和回答:由主機或路由器向一個特定的目的主機發出的詢問。收到此報文的主機必須給源主機或路由器發送ICMP回答報文。
  • 時間戳請求和回答:請某個主機或路由器回答當前的日期和時間。

PING:用來測試兩個主機之間的連通性

ping是應用層直接使用網路層ICMP的一個例子。它沒有通過運輸層的TCP或UDP

 

RIP與OSPF

 

虛擬專用網

對於這些僅在機構內部使用的電腦就可以由本機構自行分配其IP地址。這就是說,讓這些電腦使用僅在本機構有效的IP地址(稱為本地地址),而不需要向網際網路的管理機構申請全球唯一的IP地址(稱為全球地址)。這樣就可以大大節約寶貴的全球IP地址資源

 

專用地址(private address)只能用於一個機構的內部通信,而不能用於和網際網路上的主機通信。即專用地址只能用作本地地址而不能用作全球地址。

在網際網路中的所有路由器,對目的地址是專用地址的數據報一律不進行轉發

專用地址:

  • 10.0.0.0到10.255.255.255
  • 172.16.0.0到172.31.255.255
  • 192.168.0.0到192.168.255.255

 

TCP和UDP的區別?

TCP提供面向連接的、可靠的數據流傳輸,而UDP提供的是非面向連接的、不可靠的數據流傳輸

TCP傳輸單位稱為TCP報文段,UDP傳輸單位稱為用戶數據報

TCP註重數據安全性,UDP數據傳輸快,因為不需要連接等待,少了許多操作,但是其安全性卻一般。

 

DNS功能變數名稱系統,簡單描述其工作原理。

功能變數名稱伺服器是保存網路中所有主機功能變數名稱和對應IP地址,並將功能變數名稱轉換為IP地址的伺服器。

 


面向連接和非面向連接的服務的特點是什麼?

面向連接的服務,通信雙方在進行通信之前,要先在雙方建立起一個完整的可以彼此溝通的通道,在通信過程中,整個連接的情況一直可以被實時地監控和管理。

非面向連接的服務,不需要預先建立一個聯絡兩個通信節點的連接,需要通信的時候,發送節點就可以往網路上發送信息,讓信息自主地在網路上去傳,一般在傳輸的過程中不再加以監控。

 

 

埠及對應的服務?

 


TCP對應的協議和UDP對應的協議

TCP對應的協議:

  • FTP:定義了文件傳輸協議,使用21埠。
  • Telnet:一種用於遠程登陸的埠,使用23埠,用戶可以以自己的身份遠程連接到電腦上,可提供基於DOS模式下的通信服務。
  • SMTP:郵件傳送協議,用於發送郵件。伺服器開放的是25號埠。
  • POP3:它是和SMTP對應,POP3用於接收郵件。POP3協議所用的是110埠。
  • HTTP:是從Web伺服器傳輸超文本到本地瀏覽器的傳送協議。

UDP對應的協議:

  • DNS:用於功能變數名稱解析服務,將功能變數名稱地址轉換為IP地址。DNS用的是53號埠。
  • SNMP:簡單網路管理協議,使用161號埠,是用來管理網路設備的。由於網路設備很多,無連接的服務就體現出其優勢。
  • TFTP(Trival File Transfer Protocal),簡單文件傳輸協議,該協議在熟知埠69上使用UDP服務。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Java 數據類型 基本數據類型 數值:int、short、long 字元:char 布爾:boolean 引用數據類型 class(類) interface(介面) 數組[] 所占位元組數 ( ) int:4位元組 char: 規定2位元組。若使用UTF 8編碼,數字和英文等占1個位元組,中文3個位元組;若 ...
  • 目錄 自定義函數 內置函數 文件的操作 練習題 一. 自定義函數 1. 函數的創建 2. 函數的參數 (1)參數的定義 參數是使用通用變數來建立函數和變數之間關係的一個變數。我們都知道函數是用來被調用的,當我們需要給這個函數傳送值的時候,參數用來接收調用者傳遞過來的數據,並保存下來作為一個變數以便後 ...
  • re模塊 序言: re模塊用於對python的正則表達式的操作 標誌位即模式修正符,不改變正則表達式的情況下,通過模式修正符改變正則表達式的含義,從而實現一些匹配結果的調整等功能: 貪婪模式、懶惰模式: match: 從起始位置開始根據模型去字元串中匹配指定內容: 匹配ip地址: search: 根 ...
  • 1. 為重用以及更好的維護代碼,`Python`使用了模塊與包;一個`Python`文件就是一個模塊,包是組織模塊的特殊目錄(包含`__init__.py`文件)。 2. 模塊搜索路徑,`Python`解釋器在特定的目錄中搜索模塊,運行時`sys.path`即搜索路徑。 3. 使用`import`關... ...
  • 編譯器是怎麼實現引用類型的呢?本篇文章複習了const常量和指針,在此基礎上推測了引用類型的本質。旨在加深對語言的理解,希望對你有所幫助。 ...
  • /* 這裡要說明一下 因為本人比較懶 博客中相關文章的內容更多的是對一書中代碼的整理和簡單註解方便自己日後複習和參考, 對相關內容感興趣的初學的朋友建議請先閱讀原文。此處的內容只能當成一種學習的補充和參考。謝謝! 因原書中領域模型+數據映射器的示例代碼是連貫在一起的 所以這裡就整理在一起了。 簡單介... ...
  • jdk1.7.0_79 對於線程池大部分人可能會用,也知道為什麼用。無非就是任務需要非同步執行,再者就是線程需要統一管理起來。對於從線程池中獲取線程,大部分人可能只知道,我現在需要一個線程來執行一個任務,那我就把任務丟到線程池裡,線程池裡有空閑的線程就執行,沒有空閑的線程就等待。實際上對於線程池的執行 ...
  • 段落 非常自然,一行文字就是一個段落。 比如 這是一個段落。 會被解釋成 這是一個段落。 如果你需要另起一段,請在兩個段落之間隔一個空行。 這是一個段落。 這是另一個段落。 會解釋成 這是一個段落 這是另一個段落 不隔一個空行的換行行為,在一些編輯器中被解釋為換行,即插入一個標簽。對與另外一些編輯器 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...