1. 程式人生 > >網路基礎(對於計算機網路的理解)

網路基礎(對於計算機網路的理解)

1.網路分層及各層的協議

  • 網路可以由低向上分為物理層,資料鏈路層,網路層、傳輸層和應用層。五層協議。
  • 物理層:負責計算機與外部光電訊號的傳遞,例如網線(hub集線器),光纖和wifi無線網路使用的電磁波均屬於物理層。物理層的能力決定了網路通訊的最大傳輸速率、傳輸距離、抗干擾性等相關效能。
  • 資料鏈路層:負責在計算機內部兩個裝置之間的資料幀的傳送和識別。資料鏈路層的任務有:網絡卡裝置的驅動、幀同步、衝突檢測、資料差錯校驗等工作。ARP協議。交換機工作在資料鏈路層。
  • 網路層:負責地址管理和路由選擇。IP協議中,通過IP地址來標識一臺主機,並通過路由表的方式規劃出兩臺主機之前的傳送路線。路由器工作在網路層。
  • 傳輸層:負責兩臺主機之間的資料傳輸。相關協議:TCP 、UDP、ICMP協議等。
  • 應用層:負責應用程式之間的共同。SMTP、FTP、Telnet、HTTP等。

  • 常見的應用層對應埠號有
    ssh伺服器使用22號埠,
    telnet伺服器使用23號埠,
    http伺服器使用80號埠,
    https伺服器使用443號埠。

2.自主實現http伺服器程式碼

3.網路常用命令 和 TIME_WAIT狀態

1、ping命令

ping是個使用頻率極高的實用程式,主要用於確定網路的連通性。這對確定網路是否正確連線,以及網路連線的狀況十分有用。簡單的說,ping就是一個測試程式,如果ping執行正確,大體上就可以排除網路訪問層、網絡卡、Modem的輸入輸出線路、電纜和路由器等存在的故障,從而縮小問題的範圍。
ping能夠以毫秒為單位顯示傳送請求到返回應答之間的時間量。如果應答時間短,表示資料報不必通過太多的路由器或網路,連線速度比較快。ping還能顯示TTL(Time To Live,生存時間)值,通過TTL值可以推算資料包通過了多少個路由器。

(1) 命令格式

ping 主機名 、域名 、IP地址

ping命令的常用引數選項

ping IP -t:連續對IP地址執行ping命令,直到被使用者以Ctrl C中斷。

ping IP -l 2000:指定ping命令中的特定資料長度(此處為2000位元組),而不是預設的32位元組。

ping IP -n 20:執行特定次數(此處是20)的ping命令。

2、ipconfig命令

ipconfig實用程式可用於顯示當前的TCP/IP配置的設定值。這些資訊一般用來檢驗人工配置的TCP/IP設定是否正確。

3、arp命令(地址轉換協議)

ARP是TCP/IP協議族中的一個重要協議,用於確定對應IP地址的網絡卡實體地址。

使用arp命令,能夠檢視本地計算機或另一臺計算機的ARP快取記憶體中的當前內容。此外,使用arp命令可以人工方式設定靜態的網絡卡實體地址/IP地址對,使用這種方式可以為預設閘道器和本地伺服器等常用主機進行本地靜態配置,這有助於減少網路上的資訊量。

按照預設設定,ARP快取記憶體中的專案是動態的,每當向指定地點發送資料並且此時快取記憶體中不存在當前專案時,ARP便會自動新增該專案。

常用命令選項:

① arp –a:用於檢視快取記憶體中的所有專案。

② arp -a IP:如果有多個網絡卡,那麼使用arp -a加上介面的IP地址,就可以只顯示與該介面相關的ARP快取專案。

③ arp -s IP 實體地址:向ARP快取記憶體中人工輸入一個靜態專案。該專案在計算機引導過程中將保持有效狀態,或者在出現錯誤時,人工配置的實體地址將自動更新該專案。

④ arp -d IP:使用本命令能夠人工刪除一個靜態專案。

4、traceroute命令

掌握使用traceroute命令測量路由情況的技能,即用來顯示資料包到達目的主機所經過的路徑。

traceroute命令的基本用法是,在命令提示符後鍵入“tracert host_name”或“tracert ip_address”,其中,tracert是traceroute在Windows作業系統上的稱呼。

輸出有5列:

第一列是描述路徑的第n跳的數值,即沿著該路徑的路由器序號;

第二列是第一次往返時延;

第三列是第二次往返時延;

第四列是第三次往返時延;

第五列是路由器的名字及其輸入埠的IP地址。

如果源從任何給定的路由器接收到的報文少於3條(由於網路中的分組丟失),traceroute在該路由器號碼後面放一個星號,並報告到達那臺路由器的少於3次的往返時間。

此外,tracert命令還可以用來檢視網路在連線站點時經過的步驟或採取哪種路線,如果是網路出現故障,就可以通過這條命令查看出現問題的位置。
思考【測試大型網路的路由】:

(1)多嘗試幾次“ping www.sina.com.cn”操作,比較得到的新浪網的IP地址。如果兩次ping得到的IP地址不同,試考慮其中的原因(如考慮到負載均衡)。然後,針對這些不同的IP地址,執行“tracert ip_address”命令,觀察分析輸出的結果是否有差異。

(2)對於大型網路中的某站點進行traceroute測試,記錄測試結果。觀察其中是否出現第n跳的時延小於第n-1跳的時延情況。試分析其中原因(提示:可分別考慮時延的各個構成成分在總時延中所起的作用)。

(3)在一天的不同時段內,用traceroute程式多次測試從固定主機到遠端固定IP地址的主機的路由。試分析比較測量資料,觀察該路由是否有變化?如果有變化,該變化頻繁嗎?

5、nslookup命令

命令nslookup的功能是查詢任何一臺機器的IP地址和其對應的域名。它通常需要一臺域名伺服器來提供域名。如果使用者已經設定好域名伺服器,就可以用這個命令檢視不同主機的IP地址對應的域名。

(1)在本地機上使用nslookup命令檢視本機的IP及域名伺服器地址。

直接鍵入命令,系統返回本機的伺服器名稱(帶域名的全稱)和IP地址,並進入以“>”為提示符的操作命令列狀態;鍵入“?”可查詢詳細命令引數;若要退出,需鍵入exit。

(2)檢視www.haut.edu.cn的IP。在提示符後輸入要查詢的IP地址或域名並回車即可。

6、nbtstat命令

使用nbtstat命令可以檢視計算機上網路配置的一些資訊。使用這條命令還可以查找出別人計算機上一些私人資訊。如果想檢視自己計算機上的網路資訊,可以執行nbtstat -n,可以得到你所在的工作組,計算機名以及網絡卡地址等等;想檢視網路上其他的電腦情況,就,執行nbtstat -a ...,此處的...用IP地址代替就會返回得到那臺主機上的一些資訊。

7、netstat命令

學習使用netstat命令,以瞭解網路當前的狀態。

netstat命令能夠顯示活動的TCP連線、計算機偵聽的埠、乙太網統計資訊、IP路由表、IPv4統計資訊(對於IP、ICMP、TCP和UDP協議)以及IPv6統計資訊(對於IPv6、ICMPv6、通過IPv6的TCP以及UDP協議)。使用時如果不帶引數,netstat顯示活動的TCP連線。

下面給出netstat的一些常用選項:

① netstat –a:-a選項顯示所有的有效連線資訊列表,包括已建立的連線(ESTABLISHED),也包括監聽連線請求(LISTENING)的那些連線。

② netstat –n:以點分十進位制的形式列出IP地址,而不是象徵性的主機名和網路名。

③ netstat -e:-e選項用於顯示關於乙太網的統計資料。它列出的專案包括傳送的資料包的總位元組數、錯誤數、刪除數、資料包的數量和廣播的數量。這些統計資料既有傳送的資料包數量,也有接收的資料包數量。使用這個選項可以統計一些基本的網路流量。

④ netstat -r:-r選項可以顯示關於路由表的資訊,類似於route print命令時看到的資訊。除了顯示有效路由外,還顯示當前有效的連線。

上圖顯示的是一個路由表,其中:Network Destination表示目的網路,0.0.0.0表示不明網路,這是設定預設閘道器後系統自動產生的;127.0.0.0表示本機網路地址,用於測試;224.0.0.0表示組播地址;255.255.255.255表示限制廣播地址;Netmask表示網路掩碼,Gateway表示閘道器,Interface表示介面地址,Metric表示路由跳數。

⑤ netstat -s:-s選項能夠按照各個協議分別顯示其統計資料。這樣就可以看到當前計算機在網路上存在哪些連線,以及資料包傳送和接收的詳細情況等等。如果應用程式(如Web瀏覽器)執行速度比較慢,或者不能顯示Web頁之類的資料,那麼可以用本選項來檢視一下所顯示的資訊。仔細檢視統計資料的各行,找到出錯的關鍵字,進而確定問題所在。

  • TIME_WAIT狀態
    在TCP連結斷開的過程中過程需要進行TIME_WAIT,以確保FIN和ACK被對方接受到,雙方均正確退出。
    TIME_WAIT的時間是2個MSL(段訊息最大生產時間),這樣可保證兩個傳輸方向上的報文段都已經消失,防止伺服器立刻重啟的過程中受到來自上一個程序遲到的資料。
    由於四次揮手的過程中主動關閉連結的一方最後要進入TIME_WAIT狀態進行等待,這時如果伺服器主動關機重啟的話,就會導致bind失敗的狀況,伺服器需要兩分鐘才能重新使用原來的埠號,這樣會在兩分鐘內就會出現巨大的請求失敗。我們需要讓它立刻重啟並且正常繫結原來的埠號,這時需要通過setsockopt函式設定SO_REUSEADDR為1,表示允許繫結埠號相同但是IP不同的多個socket檔案描述符。

4.TCP協議中保證可靠性的機制

  • 確認應答機制
  • 超時重傳機制
  • 滑動視窗
  • 流量控制
  • 擁塞控制
  • 延遲應答
  • 捎帶應答
  • 面向位元組流

  • 粘包問題

5.網路常見的攻擊手法與原理

6.NAT技術與代理伺服器的區別 和 常見的代理伺服器

7.tcpdump工具的使用方法與常見選項

  • 如何抓取tcp,udp,http,arp,dns報文?

深度閱讀本文件,理解各層作用,理解各層常見協議
程式設計實現基本的http伺服器程式碼
總結常見應用層對應埠號(http(80) https(443))
總結網路常用命令,總結TIME_WAIT狀態
總結TCP可靠性保證都有哪些機制,各自保證可靠性當中的那些方面
調研網路當中常見的攻擊手法與原理
調研NAT技術與代理伺服器的區別,調研常見的代理伺服器都有哪些
調研tcpdump工具的使用方法與常見選項(重點如何抓取tcp,udp,http,arp,dns報文)

相關推薦

網路基礎對於計算機網路理解

1.網路分層及各層的協議 網路可以由低向上分為物理層,資料鏈路層,網路層、傳輸層和應用層。五層協議。 物理層:負責計算機與外部光電訊號的傳遞,例如網線(hub集線器),光纖和wifi無線網路使用的電磁波均屬於物理層。物理層的能力決定了網路通訊的最大傳輸速率

計算機網路筆記1.計算機網路與因特網

1.計算機網路與因特網 1.1、什麼是Internet? 1. 具體構成傳統端系端 如計算機 linux工作站非傳統端系統 如智慧電話 雲端計算機的虛擬主機主機或系統端 傳統和非傳統端系統有一個共同的特

C#程式設計基礎簡單概述與理解

1、C#變數和資料輸入 C#常用到的幾個資料型別: 整型:int  說明:32位有符號整數  範圍:-2³¹~2³¹-1 浮點型:double  說明:64位雙精度浮點數  範圍:±5.0×10-­﹣³²~±1.7×10³º 布林型:bool  值:true和false  字串型:0個或多個字元組成的

計算機網路基礎

轉發: https://blog.csdn.net/baidu_37964071/article/details/80157498 一、背景知識 作為一名程式設計師, 不可能不與網路打交道。我們一起來了解一下關於網路的基礎知識。 1、什麼是計算機網路 計算機網路,是指地理位置不同,具有獨立功

計算機網路基礎2——OSI七層參考模型

1.計算機網路協議 負責在網路上建立通訊通道和控制通過通道的資訊流的規則 協議依賴於網路體系結構,由硬體和軟體協同實現 2.計算機網路協議的組成 語法(syntax):規定了傳輸資料的格式。 語義(semantics):規定了所要完成的功能,包括用於協調和差錯

計算機網路基礎1——概述

1.計算機網路的定義 利用通訊線路 將地理位置分散的、具有獨立功能的許多計算機系統連線起來 按照某種協議進行資料通訊 實現資源共享的的資訊系統 2.計算機網路的組成    按功能分 通訊子網:由介面報文處理機(轉發節點)和它們

【軟考】——網路與資訊保安基礎知識計算機網路發展歷程、計算機網路的分類

計算機網路???——》計算機技術與通訊技術相結合的產物; 計算機網路發展歷程???——》“終端一計算機網”、“計算機一計算機網” 、現代具有統一網路體系結構的計算機網路; 具有通訊功能的單機

計算機網路基礎計算機網路的發展階段、OSI參考模型、協議、傳輸方式、地址

計算機網路好比一個人的神經系統,一個人身上的所有感覺都經由神經系統傳遞到大腦,與之類似,世界各地的資訊也通過網路傳遞到每一個人的計算機上。 一、計算機網路發展的7個階段 年代 內容 20世紀50年代 批處理時代 20世

三小時掌握計算機網路基礎通俗易懂

目錄        計算機網路學習的核心內容就是網路協議的學習。網路協議是為計算機網路中進行資料交換而建立的規則、標準或者說是約定的集合。因為不同使用者的資料終端可能採取的字符集是不同的,兩者需要進行通訊,必須要在

從零開始的計算機網路基礎圖文並茂,1.8w字,面試複習必備

## 前言 在網際網路高速發展的今天,我們通過手機,電腦等通訊裝置可以很輕鬆達到`未出茅廬便知天下事`的境界。每天我們都要訪問數不勝數的網站,通過開啟瀏覽器,輸入網址兩步搞定。當然更為常規的做法是開啟瀏覽器,設定首頁為某個搜尋引擎網站(如百度,谷歌),在搜尋框中輸入想要訪問的關鍵詞,幾秒的功夫一個個

網路基礎OSI,TCP/IP,DNS,DHCP,閘道器

OSI 七層模型   開放系統互聯模型      資料在網路中的傳輸過程(七層假想)   其中,應用層更接近使用者,資料傳遞是在物理層,中間是邏輯假想,上三層為使用者提供服務,下四層給傳輸資料用   比如,你想給[email protected]傳送一封郵件,應用層開啟瀏覽器,

計算機網路3運輸層/應用層

運輸層 運輸層為相互通訊的應用程序提供邏輯通訊 運輸層的複用與埠的概念 無連線的UDP的特點 面向連線的TCP實現可靠傳輸的工作原理 運輸層向它上面的應用層提供端到端通訊服務,它屬於面向通訊部分的最高層,同時也是使用者功能中的最低層。 使用者資料報協議

卷積神經網路——卷積神經網路基礎9

機器視覺 機器視覺(Computer Vision)是深度學習應用的主要方向之一。一般的CV問題包括以下三類: Image Classification Object detection Neural Style Transfer 1.邊緣檢測

計算機三級網路考點+題庫經典例題

寬頻都會網路 寬頻都會網路保證服務質量QoS要求的技術有:資源預留(RSVP)、區分服務(DiffServ)與多協議標記交換(MPLS), PSTN為公共交換電話網路,是一種全球語音通訊電路交換網路 屬於廣域網QoS技術是RSVP 鏈路狀態度量主要包括費用、距離、延時

圖解HTTP之瞭解Web及網路基礎

通常使用的網路(包括網際網路)是在TCP/IP協議族的基礎上運作的,而HTTP屬於它內部的一個子集。 TCP/IP協議族按照層次分別分為:應用層、傳輸層、網路層和資料鏈路層。 應用層,決定了向用戶提供應用服務時通訊的活動。FTP檔案傳輸協議、DNS域名系統、HTTP協議均處於應用層。 傳

Linux:網路基礎網路發展,協議,通訊協議,模型,封裝分用

目錄 網路發展 網路協議 網路發展 獨立模式:計算機之間相互獨立 網路互聯:多臺計算機連線在一起,完成資料共享 區域網LAN: 計算機數量多了,通過交換機和路由器連線在一起 區域網WAN:將距離很遠的計算機連在一起 網路協議 IP地址:在網路上

《神經網路和深度學習》之神經網路基礎第三週課後作業——一個隱藏層的平面資料分類

由於沒有找到課後練習,所有練習文章均參考點選開啟連結,我已經將所有程式碼都實現過一遍了,沒有錯誤,感謝博主歡迎來到第三週的課程,在這一週的任務裡,你將建立一個只有一個隱含層的神經網路。相比於之前你實現的邏輯迴歸有很大的不同。你將會學習一下內容:用一個隱含層的神經網路實現一個二

網路基礎網路背景,協議,封裝,分用

網路背景: 1.網路發展: 獨立模式:計算機之間相互獨立。 網路互聯:多臺計算機連線在一起,完成資料共享; 區域網LAN:計算機數量多了,通過交換機和路由器連線在一起。 區域網(Local Area Network)是在一個區域性的地理範圍內(如一個學校、工廠和機關內),將各種

機器學習演算法篇--卷積神經網路基礎Convolutional Neural Network

假設輸入影象為如圖 中右側的 5 × 5 矩陣,其對應的卷積核為一個 3 × 3 的矩陣。同時,假定卷積操作時每做一次卷積,卷積核移動一個畫素位置,即卷積步長 為1。第一次卷積操作從影象 (0, 0) 畫素開始,由卷積核中引數與對應位置影象像 素逐位相乘後累加作為一次卷積操作結果,即 1×1+2×0+3×1

HTTP學習之瞭解Web及網路基礎

1.1使用HTTP協議訪問Web 你知道當我們在網頁瀏覽器(Web browser)的位址列中輸入URL時,Web頁面時如何呈現的嗎? 1.在瀏覽器位址列輸入URL之後,資訊會被送往某處 2.在某處獲得回覆,內容酒會顯示在Web頁面上 Web頁面當然不能憑空顯示出來,根據Web瀏覽器