日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

Python第十课 网络管理

發(fā)布時(shí)間:2025/3/18 python 63 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python第十课 网络管理 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、常見的網(wǎng)絡(luò)物理組件

路由器

交換機(jī)(RJ-45連接器和pc)
pc
pc
交換機(jī)(網(wǎng)絡(luò)接口卡)

pc
pc
二、網(wǎng)絡(luò)應(yīng)用程序
1、Web瀏覽器(chrome、IE、Firefox等)
2、即時(shí)消息(QQ、微信、釘釘?shù)?#xff09;
3、電子郵件(Outlook、foxmail等)
4、協(xié)作(視頻會(huì)議、VNC、Netmeeting、WebEx等)
5、web網(wǎng)絡(luò)服務(wù)(apache、nginx,IIS)
6、文件網(wǎng)絡(luò)服務(wù)(ftp、nfs、samba)
7、數(shù)據(jù)庫(kù)服務(wù)(MySQL、MariaDB、MongoDB)
8、中間件服務(wù)(Tomcat、JBoss)
9、安全服務(wù)(Netfilter)
三、用戶應(yīng)用程序?qū)W(wǎng)絡(luò)的影響
1、批處理應(yīng)用程序
1、FTP、TFTP、庫(kù)存更新
2、無需直接人工交互
3、帶寬很重要,但并非關(guān)鍵因素
2、交互式應(yīng)用程序
1、庫(kù)存查詢、數(shù)據(jù)庫(kù)更新
2、人機(jī)交互
3、因?yàn)橛脩粜璧却憫?yīng),所以響應(yīng)時(shí)間很重要,但并非關(guān)鍵性因素,除非等待很長(zhǎng)時(shí)間
3、實(shí)施應(yīng)用程序
1、VoIP、視頻
2、人與人的交互
3、端到端的延遲至關(guān)重要
四、網(wǎng)絡(luò)的特征
1、速度
2、成本
3、安全性
4、可用性
5、可擴(kuò)展性
6、可靠性
7、拓?fù)?br />五、物理拓?fù)浞诸?br />1、物理拓?fù)涿枋隽宋锢碓O(shè)備的布線方式
1、總線拓?fù)?br />總線拓?fù)涞木W(wǎng)絡(luò)結(jié)構(gòu)是將網(wǎng)絡(luò)中的各個(gè)節(jié)點(diǎn)設(shè)備用一根總線(如同軸電纜等)掛接起來,實(shí)現(xiàn)計(jì)算機(jī)網(wǎng)絡(luò)的功能。
任何連接在總線上的計(jì)算機(jī)都能在總線上發(fā)信號(hào),并且所有計(jì)算機(jī)都能接收信號(hào)。

終結(jié)器的作用,吸收脈沖信號(hào),防止反射,總線拓?fù)鋬蛇叡仨氂薪K結(jié)器 2、星型拓?fù)?、通過中心點(diǎn)傳輸2、單一故障點(diǎn)3、擴(kuò)展星型拓?fù)?、比星型拓?fù)涞膹?fù)原能力更強(qiáng)4、環(huán)拓?fù)?、信號(hào)繞環(huán)傳輸2、單一故障點(diǎn)5、雙環(huán)拓?fù)湫盘?hào)沿相反方向傳輸比單環(huán)的復(fù)原能力更強(qiáng)6、全網(wǎng)狀拓?fù)淙蒎e(cuò)能力強(qiáng)實(shí)施成本高7、比分網(wǎng)狀拓?fù)?在容錯(cuò)能力與成本之間尋求平衡

六、了解主機(jī)到主機(jī)通信
1、舊模型
1、專有產(chǎn)品
2、由一個(gè)廠商控制應(yīng)用程序和嵌入的軟件
2、基于標(biāo)準(zhǔn)的模型
1、多廠商軟件
2、分層方法
七、網(wǎng)絡(luò)模型分層
OSI 模型的七層解構(gòu)
降低復(fù)雜性、標(biāo)準(zhǔn)化接口、簡(jiǎn)化模塊化設(shè)計(jì)、確保技術(shù)的互操作性、加快發(fā)展速度、簡(jiǎn)化教學(xué)

分層名稱
功能
每層功能概覽
7 應(yīng)用層
(網(wǎng)絡(luò)進(jìn)程訪問應(yīng)用層)
為應(yīng)用程序進(jìn)程(例如電子郵件、文件傳輸和終端仿真
提供網(wǎng)絡(luò)服務(wù))
提供用戶身份驗(yàn)證
針對(duì)每個(gè)應(yīng)用的協(xié)議
電子郵件<-------------------->電子郵件協(xié)議
遠(yuǎn)程登錄<-------------------->遠(yuǎn)程登錄協(xié)議
文件傳輸<-------------------->文件傳輸協(xié)議
6 表示層(數(shù)據(jù)表示)
確保接收系統(tǒng)可以讀出該數(shù)據(jù)
格式化數(shù)據(jù)
構(gòu)建數(shù)據(jù)
協(xié)商用于應(yīng)用層的數(shù)據(jù)傳輸語法
提供加密
(o′┏▽┓`o) ---網(wǎng)絡(luò)標(biāo)準(zhǔn)格式--->?????????
接收不同表現(xiàn)形式的信息,如文字流、圖像、聲音等

5 會(huì)話層 (主機(jī)間通信)
建立、管理和終止在應(yīng)用程序間的會(huì)話
何時(shí)建立連接,何時(shí)斷開連接以及保持多久的連接
設(shè)備<------------------------------------>設(shè)備
4 傳輸層(傳輸問題)
確保數(shù)據(jù)傳輸?shù)目煽啃?br />建立、維護(hù)和終止虛擬電路
通過錯(cuò)誤檢測(cè)和恢復(fù)
信息流控制來保障可靠性
是否有數(shù)據(jù)丟失
設(shè)備--------->--------->---------->設(shè)備
3 網(wǎng)絡(luò)層(數(shù)據(jù)傳輸)
路由數(shù)據(jù)包
選擇傳遞數(shù)據(jù)的最佳路徑
支持邏輯尋址和路徑選擇
經(jīng)過哪個(gè)路由器傳送到目標(biāo)地址
|----路由器-------路由器
設(shè)備----路由器------路由器----路由器----設(shè)備
2 數(shù)據(jù)鏈路層(訪問介質(zhì))
定義如何格式化數(shù)據(jù)以便進(jìn)行傳輸以及如何控制對(duì)網(wǎng)絡(luò)
的訪問
支持錯(cuò)誤檢測(cè)
數(shù)據(jù)幀--------->0101--------->比特流
數(shù)據(jù)幀和比特流之間的轉(zhuǎn)換
設(shè)備----|------|-------->設(shè)備
|分段轉(zhuǎn)發(fā)|
1 物理層(二進(jìn)制傳輸)
為啟動(dòng)、維護(hù)以及關(guān)閉物理鏈路定義了電氣規(guī)范,機(jī)械
規(guī)范,過程規(guī)范和功能規(guī)范
0101---------0101
比特流與電子信號(hào)之間的切換
連接器與網(wǎng)線的規(guī)格

數(shù)據(jù)封裝

八、PDU
1、PDU:Protocol Data Unit,協(xié)議數(shù)據(jù)單元,對(duì)等層次之間傳遞的數(shù)據(jù)單位
2、物理層的PDU是數(shù)據(jù)位 bit
3、數(shù)據(jù)鏈路層的PDU是數(shù)據(jù)幀 frame
4、網(wǎng)絡(luò)層的PDU是數(shù)據(jù)包 packet
5、傳輸層的PDU是數(shù)據(jù)段segment
6、其他更高層次的PDU是消息 message
九、三種通訊模式
1、單播
2、組播
3、廣播
十、TCP包頭
1、源端口、目標(biāo)端口:計(jì)算機(jī)上的進(jìn)程要和其他進(jìn)程通信是要通過計(jì)算機(jī)端口的,而一個(gè)算機(jī)端口某個(gè)時(shí)刻只能被一個(gè)進(jìn)程占用,所以通過指定源端口和目標(biāo)端口,就可以知道是哪兩個(gè)進(jìn)程需要通信。源端口、目標(biāo)端口是用16位表示的,可推算計(jì)算機(jī)的端口個(gè)數(shù)為2^16個(gè)
2、序列號(hào):表示本報(bào)文段所發(fā)送數(shù)據(jù)的第一個(gè)字節(jié)的編號(hào)。在TCP連接中所傳送的字節(jié)流的每一個(gè)字節(jié)都會(huì)按順序編號(hào)。由于序列號(hào)由32位表示,所以每2^32個(gè)字節(jié),就會(huì)出現(xiàn)序列號(hào)回繞,再次從 0 開始
3、確認(rèn)號(hào):表示接收方期望收到發(fā)送方下一個(gè)報(bào)文段的第一個(gè)字節(jié)數(shù)據(jù)的編號(hào)。也就是告訴發(fā)送發(fā):我希望你(指發(fā)送方)下次發(fā)送的數(shù)據(jù)的第一個(gè)字節(jié)數(shù)據(jù)的編號(hào)是這個(gè)確認(rèn)號(hào)
4、數(shù)據(jù)偏移:表示TCP報(bào)文段的首部長(zhǎng)度,共4位,由于TCP首部包含一個(gè)長(zhǎng)度可變的選項(xiàng)部分,需要指定這個(gè)TCP報(bào)文段到底有多長(zhǎng)。它指出 TCP 報(bào)文段的數(shù)據(jù)起始處距離 TCP 報(bào)文段的起始處有多遠(yuǎn)。該字段的單位是32位(即4個(gè)字節(jié)為計(jì)算單位),4位二進(jìn)制最大表示15,所以數(shù)據(jù)偏移也就是TCP首部最大60字節(jié)
十一、TCP包頭
1、URG:表示本報(bào)文段中發(fā)送的數(shù)據(jù)是否包含緊急數(shù)據(jù)。后面的緊急指針字段(urgent pointer)只有當(dāng)URG=1時(shí)才有效
2、ACK:表示是否前面的確認(rèn)號(hào)字段是否有效。ACK=1,表示有效。只有當(dāng)ACK=1時(shí),前面的確認(rèn)號(hào)字段才有效。TCP規(guī)定,連接建立后,ACK必須為1,帶ACK標(biāo)志的TCP報(bào)文段稱為確認(rèn)報(bào)文段
3、PSH:提示接收端應(yīng)用程序應(yīng)該立即從TCP接收緩沖區(qū)中讀走數(shù)據(jù),為接收后續(xù)數(shù)據(jù)騰出空間。如果為1,則表示對(duì)方應(yīng)當(dāng)立即把數(shù)據(jù)提交給上層應(yīng)用,而不是緩存起來,如果應(yīng)用程序不將接收到的數(shù)據(jù)讀走,就會(huì)一直停留在TCP接收緩沖區(qū)中
4、RST:如果收到一個(gè)RST=1的報(bào)文,說明與主機(jī)的連接出現(xiàn)了嚴(yán)重錯(cuò)誤(如主機(jī)崩潰),必須釋放連接,然后再重新建立連接。或者說明上次發(fā)送給主機(jī)的數(shù)據(jù)有問題,主機(jī)拒絕響應(yīng),帶RST標(biāo)志的TCP報(bào)文段稱為復(fù)位報(bào)文段
5、SYN:在建立連接時(shí)使用,用來同步序號(hào)。當(dāng)SYN=1,ACK=0時(shí),表示這是一個(gè)請(qǐng)求建立連接的報(bào)文段;當(dāng)SYN=1,ACK=1時(shí),表示對(duì)方同意建立連接。SYN=1,說明這是一個(gè)請(qǐng)求建立連接或同意建立連接的報(bào)文。只有在前兩次握手中SYN才置為1,帶SYN標(biāo)志的TCP報(bào)文段稱為同步報(bào)文段
6、FIN:表示通知對(duì)方本端要關(guān)閉連接了,標(biāo)記數(shù)據(jù)是否發(fā)送完畢。如果FIN=1,即告訴對(duì)方:“我的數(shù)據(jù)已經(jīng)發(fā)送完畢,你可以釋放連接了”,帶FIN標(biāo)志的TCP報(bào)文段稱為結(jié)束報(bào)文段
? 窗口大小:表示現(xiàn)在允許對(duì)方發(fā)送的數(shù)據(jù)量,也就是告訴對(duì)方,從本報(bào)文段的確認(rèn)號(hào)開始允許對(duì)方發(fā)送的數(shù)據(jù)量
? 校驗(yàn)和:提供額外的可靠性
? 緊急指針:標(biāo)記緊急數(shù)據(jù)在數(shù)據(jù)字段中的位置
? 選項(xiàng)部分:其最大長(zhǎng)度可根據(jù)TCP首部長(zhǎng)度進(jìn)行推算。TCP首部長(zhǎng)度用4位表示,選項(xiàng)部分最長(zhǎng)為:(2^4-1)*4-20=40字節(jié)
常見選項(xiàng):
? 最大報(bào)文段長(zhǎng)度:Maxium Segment Size,MSS
? 窗口擴(kuò)大:Windows Scaling
? 時(shí)間戳: Timestamps
1 最大報(bào)文段長(zhǎng)度指明自己期望對(duì)方發(fā)送TCP報(bào)文段時(shí)那個(gè)數(shù)據(jù)字段的長(zhǎng)度。默認(rèn)是536字節(jié)。數(shù)據(jù)字段的長(zhǎng)度加上TCP首部的長(zhǎng)度才等于整個(gè)TCP報(bào)文段的長(zhǎng)度。MSS不宜設(shè)的太大也不宜設(shè)的太小。若選擇太小,極端情況下,TCP報(bào)文段只含有1字節(jié)數(shù)據(jù),在IP層傳輸?shù)臄?shù)據(jù)報(bào)的開銷至少有40字節(jié)(包括TCP報(bào)文段的首部和IP數(shù)據(jù)報(bào)的首部)。這樣,網(wǎng)絡(luò)的利用率就不會(huì)超過1/41。若TCP報(bào)文段非常長(zhǎng),那么在IP層傳輸時(shí)就有可能要分解成多個(gè)短數(shù)據(jù)報(bào)片。在終點(diǎn)要把收到的各個(gè)短數(shù)據(jù)報(bào)片裝配成原來的TCP報(bào)文段。當(dāng)傳輸出錯(cuò)時(shí)還要進(jìn)行重傳,這些也都會(huì)使開銷增大。因此MSS應(yīng)盡可能大,只要在IP層傳輸時(shí)不需要再分片就行。在連接建立過程中,雙方都把自己能夠支持的MSS寫入這一字段。 MSS只出現(xiàn)在SYN報(bào)文中。即:MSS出現(xiàn)在SYN=1的報(bào)文段中
2 窗口擴(kuò)大
為了擴(kuò)大窗口,由于TCP首部的窗口大小字段長(zhǎng)度是16位,所以其表示的最大數(shù)是65535。但是隨著時(shí)延和帶寬比較大的通信產(chǎn)生(如衛(wèi)星通信),需要更大的窗口來滿足性能和吞吐率,所以產(chǎn)生了這個(gè)窗口擴(kuò)大選項(xiàng)
3 時(shí)間戳可以用來計(jì)算RTT(往返時(shí)間),發(fā)送方發(fā)送TCP報(bào)文時(shí),把當(dāng)前的時(shí)間值放入時(shí)間戳字段,接收方收到后發(fā)送確認(rèn)報(bào)文時(shí),把這個(gè)時(shí)間戳字段的值復(fù)制到確認(rèn)報(bào)文中,當(dāng)發(fā)送方收到確認(rèn)報(bào)文后即可計(jì)算出RTT。也可以用來防止回繞序號(hào)PAWS,也可以說可以用來區(qū)分相同序列號(hào)的不同報(bào)文。因?yàn)樾蛄刑?hào)用32為表示,每2^32個(gè)序列號(hào)就會(huì)產(chǎn)生回繞,那么使用時(shí)間戳字段就很容易區(qū)分相同序列號(hào)的不同報(bào)文

十一、TCP三次握手

SYN-SENT同步已發(fā)送
LISTEN收聽
SYN-RCVD同步收到
ESRAB-LISHED已建立連接

十二、TCP的四次揮手

十三、有限狀態(tài)機(jī)
? CLOSED 沒有任何連接狀態(tài)
? LISTEN 偵聽狀態(tài),等待來自遠(yuǎn)方TCP端口的連接請(qǐng)求
? SYN-SENT 在發(fā)送連接請(qǐng)求后,等待對(duì)方確認(rèn)
? SYN-RECEIVED 在收到和發(fā)送一個(gè)連接請(qǐng)求后,等待對(duì)方確認(rèn)
? ESTABLISHED 代表傳輸連接建立,雙方進(jìn)入數(shù)據(jù)傳送狀態(tài)
? FIN-WAIT-1 主動(dòng)關(guān)閉,主機(jī)已發(fā)送關(guān)閉連接請(qǐng)求,等待對(duì)方確認(rèn)
? FIN-WAIT-2 主動(dòng)關(guān)閉,主機(jī)已收到對(duì)方關(guān)閉傳輸連接確認(rèn),等待對(duì)方發(fā)送關(guān)閉傳輸連接請(qǐng)求
? TIME-WAIT 完成雙向傳輸連接關(guān)閉,等待所有分組消失
? CLOSE-WAIT 被動(dòng)關(guān)閉,收到對(duì)方發(fā)來的關(guān)閉連接請(qǐng)求,并已確認(rèn)
? LAST-ACK 被動(dòng)關(guān)閉,等待最后一個(gè)關(guān)閉傳輸連接確認(rèn),并等待所有分組消失
? CLOSING 雙方同時(shí)嘗試關(guān)閉傳輸連接,等待對(duì)方確認(rèn)

? 客戶端先發(fā)送一個(gè)FIN給服務(wù)端,自己進(jìn)入了FIN_WAIT_1狀態(tài),這時(shí)等待接收服務(wù)端的報(bào)文,該報(bào)文會(huì)有三種可能:
? 只有服務(wù)端的ACK
? 只有服務(wù)端的FIN
? 基于服務(wù)端的ACK,又有FIN
? 1、只收到服務(wù)器的ACK,客戶端會(huì)進(jìn)入FIN_WAIT_2狀態(tài),后續(xù)當(dāng)收到服務(wù)端的FIN時(shí),回應(yīng)發(fā)送一個(gè)ACK,會(huì)進(jìn)入到TIME_WAIT狀態(tài),這個(gè)狀態(tài)會(huì)持續(xù)2MSL(TCP報(bào)文段在網(wǎng)絡(luò)中的最大生存時(shí)間,RFC 1122標(biāo)準(zhǔn)的建議值是2min).客戶端等待2MSL,是為了當(dāng)最后一個(gè)ACK丟失時(shí),可以再發(fā)送一次。因?yàn)榉?wù)端在等待超時(shí)后會(huì)再發(fā)送一個(gè)FIN給客戶端,進(jìn)而客戶端知道ACK已丟失
? 2、只有服務(wù)端的FIN時(shí),回應(yīng)一個(gè)ACK給服務(wù)端,進(jìn)入CLOSING狀態(tài),然后接收到服務(wù)端的ACK時(shí),進(jìn)入TIME_WAIT狀態(tài)
? 3、同時(shí)收到服務(wù)端的ACK和FIN,直接進(jìn)入TIME_WAIT狀態(tài)

十四:客戶端的典型狀態(tài)轉(zhuǎn)移
? 客戶端通過connect系統(tǒng)調(diào)用主動(dòng)與服務(wù)器建立連接connect系統(tǒng)調(diào)用首先給服務(wù)器發(fā)送一個(gè)同步報(bào)文段,使連接轉(zhuǎn)移到SYN_SENT狀態(tài)
? 此后connect系統(tǒng)調(diào)用可能因?yàn)槿缦聝蓚€(gè)原因失敗返回:
? 1、如果connect連接的目標(biāo)端口不存在(未被任何進(jìn)程監(jiān)聽),或者該端口仍被處于TIME_WAIT狀態(tài)的連接所占用(見后文),則服務(wù)器將給客戶端發(fā)送一個(gè)復(fù)位報(bào)文段,connect調(diào)用失敗。
? 2、如果目標(biāo)端口存在,但connect在超時(shí)時(shí)間內(nèi)未收到服務(wù)器的確認(rèn)報(bào)文段,則connect調(diào)用失敗。
? connect調(diào)用失敗將使連接立即返回到初始的CLOSED狀態(tài)。如果客戶端成功收到服務(wù)器的同步報(bào)文段和確認(rèn),則connect調(diào)用成功返回,連接轉(zhuǎn)移至ESTABLISHED狀態(tài)
? 當(dāng)客戶端執(zhí)行主動(dòng)關(guān)閉時(shí),它將向服務(wù)器發(fā)送一個(gè)結(jié)束報(bào)文段,同時(shí)連接進(jìn)入FIN_WAIT_1狀態(tài)。若此時(shí)客戶端收到服務(wù)器專門用于確認(rèn)目的的確認(rèn)報(bào)文段,則連接轉(zhuǎn)移至FIN_WAIT_2狀態(tài)。當(dāng)客戶端處于FIN_WAIT_2狀態(tài)時(shí),服務(wù)器處于CLOSE_WAIT狀態(tài),這一對(duì)狀態(tài)是可能發(fā)生半關(guān)閉的狀態(tài)。此時(shí)如果服務(wù)器也關(guān)閉連接(發(fā)送結(jié)束報(bào)文段),則客戶端將給予確認(rèn)并進(jìn)入TIME_WAIT狀態(tài)
? 客戶端從FIN_WAIT_1狀態(tài)可能直接進(jìn)入TIME_WAIT狀態(tài)(不經(jīng)過FIN_WAIT_2狀態(tài)),前提是處于FIN_WAIT_1狀態(tài)的服務(wù)器直接收到帶確認(rèn)信息的結(jié)束報(bào)文段(而不是先收到確認(rèn)報(bào)文段,再收到結(jié)束報(bào)文段)
? 處于FIN_WAIT_2狀態(tài)的客戶端需要等待服務(wù)器發(fā)送結(jié)束報(bào)文段,才能轉(zhuǎn)移至TIME_WAIT狀態(tài),否則它將一直停留在這個(gè)狀態(tài)。如果不是為了在半關(guān)閉狀態(tài)下繼續(xù)接收數(shù)據(jù),連接長(zhǎng)時(shí)間地停留在FIN_WAIT_2狀態(tài)并無益處。連接停留在FIN_WAIT_2狀態(tài)的情況可能發(fā)生在:客戶端執(zhí)行半關(guān)閉后
,未等服務(wù)器關(guān)閉連接就強(qiáng)行退出了。此時(shí)客戶端連接由內(nèi)核來接管,可稱之為孤兒連接(和孤兒進(jìn)程類似)
? Linux為了防止孤兒連接長(zhǎng)時(shí)間存留在內(nèi)核中,定義了兩個(gè)內(nèi)核參數(shù):
? /proc/sys/net/ipv4/tcp_max_orphans 指定內(nèi)核能接管的孤兒連接數(shù)目
? /proc/sys/net/ipv4/tcp_fin_timeout 指定孤兒連接在內(nèi)核中生存的時(shí)間

十五:TCP超時(shí)重傳
? 異常網(wǎng)絡(luò)狀況下(開始出現(xiàn)超時(shí)或丟包),TCP控制數(shù)據(jù)傳輸以保證其承諾的可靠服務(wù)
? TCP服務(wù)必須能夠重傳超時(shí)時(shí)間內(nèi)未收到確認(rèn)的TCP報(bào)文段。為此,TCP模塊為每個(gè)TCP報(bào)文段都維護(hù)一個(gè)重傳定時(shí)器,該定時(shí)器在TCP報(bào)文段第一次被發(fā)送時(shí)啟動(dòng)。如果超時(shí)時(shí)間內(nèi)未收到接收方的應(yīng)答,TCP模塊將重傳TCP報(bào)文段并重置定時(shí)器。至于下次重傳的超時(shí)時(shí)間如何選擇,以及最多執(zhí)行多少次重傳,就是TCP的重傳策略
? 與TCP超時(shí)重傳相關(guān)的兩個(gè)內(nèi)核參數(shù):
? /proc/sys/net/ipv4/tcp_retries1,指定在底層IP接管之前TCP最少執(zhí)行的重傳次數(shù),默認(rèn)值是3
? /proc/sys/net/ipv4/tcp_retries2,指定連接放棄前TCP最多可以執(zhí)行的重傳次數(shù),默認(rèn)值15(一般對(duì)應(yīng)13~30min)

十六、UDP特性
? 工作在傳輸層
? 提供不可靠的網(wǎng)絡(luò)訪問
? 非面向連接協(xié)議
? 有限的錯(cuò)誤檢查
? 傳輸性能高
? 無數(shù)據(jù)恢復(fù)特性

十七、Internet協(xié)議特征
? 運(yùn)行于 OSI 網(wǎng)絡(luò)層
? 面向無連接的協(xié)議
? 獨(dú)立處理數(shù)據(jù)包
? 分層編址
? 盡力而為傳輸
? 無數(shù)據(jù)恢復(fù)功能

IP PDU報(bào)頭

1、 版本:占4位,指 IP 協(xié)議的版本目前的IP協(xié)議版本號(hào)為4
2、首部長(zhǎng)度:占4位,可表示的最大數(shù)值是15個(gè)單位,一個(gè)單位為4字節(jié),因此IP 的首部長(zhǎng)度的最大值是60字節(jié)
3、區(qū)分服務(wù):占8位,用來獲得更好的服務(wù),在舊標(biāo)準(zhǔn)中叫做服務(wù)類型,但實(shí)際上一直未被使用過.后改名為區(qū)分服務(wù).只有在使用區(qū)分服務(wù)(DiffServ)時(shí),這個(gè)字段才起作用.一般的情況下都不使用
4、總長(zhǎng)度:占16位,指首部和數(shù)據(jù)之和的長(zhǎng)度,單位為字節(jié),因此數(shù)據(jù)報(bào)的最大長(zhǎng)度為 65535 字節(jié).總長(zhǎng)度必須不超過最大傳送單元 MTU
5、標(biāo)識(shí):占16位,它是一個(gè)計(jì)數(shù)器,通常,每發(fā)送一個(gè)報(bào)文,該值會(huì)加1, 也用于數(shù)據(jù)包分片,在同一個(gè)包的若干分片中,該值是相同的
6、標(biāo)志(flag):占3位,目前只有后兩位有意義
7、DF: Don‘t Fragment,中間的一位,只有當(dāng) DF=0 時(shí)才允許分片
8、MF: More Fragment,最高位,MF=1表示后面還有分片。MF=0表示最后一個(gè)分片
9、片偏移:占12位,指較長(zhǎng)的分組在分片后,該分片在原分組中的相對(duì)位置.片偏移以8個(gè)字節(jié)為偏移單位
10、生存時(shí)間:占8位,記為TTL (Time To Live) 數(shù)據(jù)報(bào)在網(wǎng)絡(luò)中可通過的路由器數(shù)的最大值,TTL 字段是由發(fā)送端初始設(shè)置一個(gè) 8 bit字段.推薦的初始值由分配數(shù)字 RFC 指定,當(dāng)前值為64.發(fā)送 ICMP 回顯應(yīng)答時(shí)經(jīng)常把 TTL 設(shè)為最大值 255
11、協(xié)議:占8位,指出此數(shù)據(jù)報(bào)攜帶的數(shù)據(jù)使用何種協(xié)議以便目的主機(jī)的IP層將數(shù)據(jù)部分上交給哪個(gè)處理過程, 1表示為 ICMP協(xié)議, 2表示為 IGMP 協(xié)議, 6表示為 TCP 協(xié)議, 17表示為UDP 協(xié)議
12、首部檢驗(yàn)和:占16位,只檢驗(yàn)數(shù)據(jù)報(bào)的首部不檢驗(yàn)數(shù)據(jù)部分.這里不采用 CRC 檢驗(yàn)碼而采用簡(jiǎn)單的計(jì)算方法
13、源地址和目的地址:都各占4字節(jié),分別記錄源地址和目的地址
14、片偏移以8個(gè)字節(jié)為偏移單位
15、假定MTU=1400,三個(gè)包id=100相同, 前兩個(gè) mf=1,最后一個(gè)mf=0

十八、IP地址
1、它們可唯一標(biāo)識(shí) IP 網(wǎng)絡(luò)中的每臺(tái)設(shè)備
2、每臺(tái)主機(jī)(計(jì)算機(jī)、網(wǎng)絡(luò)設(shè)備、外圍設(shè)備)必須具有唯一的地址
3、IP地址由兩部分組成:
? 網(wǎng)絡(luò)ID:
? 標(biāo)識(shí)網(wǎng)絡(luò)
? 每個(gè)網(wǎng)段分配一個(gè)網(wǎng)絡(luò)ID
? 主機(jī) ID:
? 標(biāo)識(shí)單個(gè)主機(jī)
? 由組織分配給各設(shè)備

4、IPv4地址格式:點(diǎn)分十進(jìn)制記法5、IP地址分類A類:0 000 0000 - 0 111 1111: 1-127網(wǎng)絡(luò)數(shù):126, 127每個(gè)網(wǎng)絡(luò)中的主機(jī)數(shù):2^24-2默認(rèn)子網(wǎng)掩碼:255.0.0.0私網(wǎng)地址:10.0.0.0 B類:10 00 0000 - 10 11 1111:128-191網(wǎng)絡(luò)數(shù):2^14每個(gè)網(wǎng)絡(luò)中的主機(jī)數(shù):2^16-2默認(rèn)子網(wǎng)掩碼:255.255.0.0私網(wǎng)地址:172.16.0.0-172.31.0.0 C類:110 0 0000 - 110 1 1111: 192-223網(wǎng)絡(luò)數(shù):2^21每個(gè)網(wǎng)絡(luò)中的主機(jī)數(shù):2^8-2默認(rèn)子網(wǎng)掩碼:255.255.255.0私網(wǎng)地址:192.168.0.0-192.168.255.0 D類:組播1110 0000 - 1110 1111: 224-239 E類:240-2556、公共IP地址7、私有IP地址7、特殊地址1、0.0.0.00.0.0.0不是一個(gè)真正意義上的IP地址。它表示一個(gè)集合:所有不清楚的主機(jī)和目的網(wǎng)絡(luò)。2、255.255.255.255限制廣播地址。對(duì)本機(jī)來說,這個(gè)地址指本網(wǎng)段內(nèi)(同一廣播域)的所有主機(jī)3、127.0.0.1~127.255.255.254本機(jī)回環(huán)地址,主要用于測(cè)試。在傳輸介質(zhì)上永遠(yuǎn)不應(yīng)該出現(xiàn)目的地址為“127.0.0.1”的 數(shù)據(jù)包。4、224.0.0.0到239.255.255.255組播地址,224.0.0.1特指所有主機(jī),224.0.0.2特指所有路由器。224.0.0.5指OSPF 路由器,地址多用于一些特定的程序以及多媒體程序5、169.254.x.x如果Windows主機(jī)使用了DHCP自動(dòng)分配IP地址,而又無法從DHCP服務(wù)器獲取地址,系統(tǒng)會(huì)為主機(jī)分配這樣地址。8、保留地址9、子網(wǎng)掩碼10、有子網(wǎng)的子網(wǎng)絡(luò)11、子網(wǎng)掩碼的八位12、可變長(zhǎng)度子網(wǎng)掩碼13、Subnet地址14、優(yōu)化IP地址分配15、跨網(wǎng)絡(luò)通信1、跨網(wǎng)絡(luò)通信:路由2、路由分類:主機(jī)路由網(wǎng)絡(luò)路由默認(rèn)路由3、優(yōu)先級(jí):精度越高,優(yōu)先級(jí)越高16、動(dòng)態(tài)主機(jī)配置協(xié)議DHCP17、基本網(wǎng)絡(luò)配置1、將Linux主機(jī)接入到網(wǎng)絡(luò),需要配置網(wǎng)絡(luò)相關(guān)設(shè)置。2、一般包括如下內(nèi)容:主機(jī)名IP/netmask路由:默認(rèn)網(wǎng)關(guān)DNS服務(wù)器主DNS服務(wù)器次DNS服務(wù)器第三DNS服務(wù)器18、CentOS 6網(wǎng)卡名稱1、接口命名方式:CentOS 6以太網(wǎng):eth[0,1,2,...]ppp:ppp[0,1,2,...]2、網(wǎng)絡(luò)接口識(shí)別并命名相關(guān)的udev配置文件:/etc/udev/rules.d/70-persistent-net.rules3、查看網(wǎng)卡:dmesg |grep –i ethethtool -i eth04、卸載網(wǎng)卡驅(qū)動(dòng):modprobe -r e1000rmmod e10005、裝載網(wǎng)卡驅(qū)動(dòng):modprobe e100019、網(wǎng)絡(luò)配置方式1、靜態(tài)指定:ifconfig, route, netstatip: object {link, addr, route}, ss, tcsystem-config-network-tui,setup配置文件2、動(dòng)態(tài)分配:DHCP: Dynamic Host Configuration Protocol20、配置網(wǎng)絡(luò)接口ifconfig命令ifconfig [interface]ifconfig -aifconfig IFACE [up|down]ifconfig interface [aftype] options | address ...ifconfig IFACE IP/netmask [up]ifconfig IFACE IP netmask NETMASK注意:立即生效啟用混雜模式:[-]promisc21、route命令1、路由管理命令2、查看:route -n3、添加:route addroute add [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]4、目標(biāo):192.168.1.3 網(wǎng)關(guān):172.16.0.1route add -host 192.168.1.3 gw 172.16.0.1 dev eth05、目標(biāo):192.168.0.0 網(wǎng)關(guān):172.16.0.1route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1 dev eth0route add -net 192.168.0.0/24 gw 172.16.0.1 dev eth06、默認(rèn)路由,網(wǎng)關(guān):172.16.0.1route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.1route add default gw 172.16.0.17、刪除:route delroute del [-net|-host] target [gw Gw] [netmask Nm] [[dev] If]8、目標(biāo):192.168.1.3 網(wǎng)關(guān):172.16.0.1route del -host 192.168.1.39、目標(biāo):192.168.0.0 網(wǎng)關(guān):172.16.0.1route del -net 192.168.0.0 netmask 255.255.255.022、配置動(dòng)態(tài)路由通過守護(hù)進(jìn)程獲取動(dòng)態(tài)路由? 安裝quagga包? 支持多種路由協(xié)議:RIP、OSPF和BGP? 命令vtysh配置23、netstat命令1、netstat - Print network connections, routing tables, interface,statistics, masquerade connections, and multicast memberships2、顯示網(wǎng)絡(luò)連接:netstat [--tcp|-t] [--udp|-u] [--raw|-w] [--listening|-l] [--all|-a] [--numeric|-n] [--extend|-e[--extend|-e]] [--program|-p]-t: tcp協(xié)議相關(guān)-u: udp協(xié)議相關(guān)-w: raw socket相關(guān)-l: 處于監(jiān)聽狀態(tài)-a: 所有狀態(tài)-n: 以數(shù)字顯示IP和端口;-e:擴(kuò)展格式-p: 顯示相關(guān)進(jìn)程及PID3、常用組合:-tan, -uan, -tnl, -unl4、顯示路由表:netstat {--route|-r} [--numeric|-n]-r: 顯示內(nèi)核路由表-n: 數(shù)字格式5、顯示接口統(tǒng)計(jì)數(shù)據(jù):netstat {--interfaces|-I|-i} [iface] [--all|-a] [--extend|-e] [--program|-p] [--numeric|-n]netstat -inetstat –I=IFACEifconfig -s eth024、ip命令1、配置Linux網(wǎng)絡(luò)屬性:ip命令2、ip - show / manipulate routing, devices, policy routing and tunnelsip [ OPTIONS ] OBJECT { COMMAND | help }OBJECT := { link | addr | route }ip link - network device configurationset dev IFACE可設(shè)置屬性:up and down:激活或禁用指定接口ifup/ifdownshow [dev IFACE]:指定接口[up]:僅顯示處于激活狀態(tài)的接口3、ip addr { add | del } IFADDR dev STRING[label LABEL]:添加地址時(shí)指明網(wǎng)卡別名[scope {global|link|host}]:指明作用域global: 全局可用link: 僅鏈接可用host: 本機(jī)可用[broadcast ADDRESS]:指明廣播地址4、ip address show - look at protocol addresses[dev DEVICE][label PATTERN][primary and secondary]5、ip address flush - 使用格式同showip addr add 172.16.100.100/16 dev eth0 label eth0:0ip addr del 172.16.100.100/16 dev eth0 label eth0:0ip addr flush dev eth0 label eth0:06、ip route - routing table management添加路由:ip route addip route add TARGET via GW dev IFACE src SOURCE_IPTARGET:主機(jī)路由:IP網(wǎng)絡(luò)路由:NETWORK/MASKip route add 192.168.0.0/24 via 172.16.0.1ip route add 192.168.1.13 via 172.16.0.1添加網(wǎng)關(guān):ip route add default via GW dev IFACEip route add default via 172.16.0.1刪除路由:ip route deleteip route del TARGET顯示路由:ip route show|list清空路由表:ip route flush [dev IFACE] [via PREFIX]ip route flush dev eth025、ss命令1、格式:ss [OPTION]... [FILTER]2、netstat通過遍歷proc來獲取socket信息,ss使用netlink與內(nèi)核tcp_diag模塊通信獲取socket信息。3、選項(xiàng):-t: tcp協(xié)議相關(guān)-u: udp協(xié)議相關(guān)-w: 裸套接字相關(guān)-x:unix sock相關(guān)-l: listen狀態(tài)的連接-a: 所有-n: 數(shù)字格式-p: 相關(guān)的程序及PID-e: 擴(kuò)展的信息-m:內(nèi)存用量-o:計(jì)時(shí)器信息4、FILTER : [ state TCP-STATE ] [ EXPRESSION ]5、TCP的常見狀態(tài):tcp finite state machine:LISTEN: 監(jiān)聽ESTABLISHED:已建立的連接FIN_WAIT_1FIN_WAIT_2SYN_SENTSYN_RECVCLOSED6、EXPRESSION:dport =sport =示例:’( dport = :ssh or sport = :ssh )’7、常用組合:-tan, -tanl, -tanlp, -uan8、常見用法ss -l 顯示本地打開的所有端口ss -pl 顯示每個(gè)進(jìn)程具體打開的socketss -t -a 顯示所有tcp socketss -u -a 顯示所有的UDP Socektss -o state established '( dport = :ssh or sport = :ssh)' 顯示所有已建立的ssh連接ss -o state established '( dport = :http or sport =:http )' 顯示所有已建立的HTTP連接ss -s 列出當(dāng)前socket詳細(xì)信息26、網(wǎng)絡(luò)配置文件1、IP、MASK、GW、DNS相關(guān)配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE2、路由相關(guān)的配置文件:/etc/sysconfig/network-scripts/route-IFACE3、/etc/sysconfig/network-scripts/ifcfg-IFACE:說明參考/usr/share/doc/initscripts-9.49.30/sysconfig.txtDEVICE:此配置文件應(yīng)用到的設(shè)備HWADDR:對(duì)應(yīng)的設(shè)備的MAC地址BOOTPROTO:激活此設(shè)備時(shí)使用的地址配置協(xié)議,常用的dhcp, static, none, bootpNM_CONTROLLED:NM是NetworkManager的簡(jiǎn)寫,此網(wǎng)卡是否接受NM控制;建議CentOS6為“no"4、ONBOOT:在系統(tǒng)引導(dǎo)時(shí)是否激活此設(shè)備5、TYPE:接口類型;常見有的Ethernet, Bridge6、UUID:設(shè)備的惟一標(biāo)識(shí)7、IPADDR:指明IP地址8、NETMASK:子網(wǎng)掩碼9、GATEWAY: 默認(rèn)網(wǎng)關(guān)10、DNS1:第一個(gè)DNS服務(wù)器指向11、DNS2:第二個(gè)DNS服務(wù)器指向12、USERCTL:普通用戶是否可控制此設(shè)備13、PEERDNS:如果BOOTPROTO的值為“dhcp”,是否允許dhcp server分配的dns服務(wù)器指向信息直接覆蓋至/etc/resolv.conf文件中27、主機(jī)名和本地解析器1、配置當(dāng)前主機(jī)的主機(jī)名:hostname [HOSTNAME]/etc/sysconfig/networkHOSTNAME=2、解析器執(zhí)行正向和逆向查詢3、/etc/hosts? 本地主機(jī)名數(shù)據(jù)庫(kù)和IP地址的映像? 對(duì)小型獨(dú)立網(wǎng)絡(luò)有用? 通常,在使用DNS前檢查? getent hosts 查看/etc/hosts 內(nèi)容28、dns名字解析1、/etc/resolv.confnameserver DNS_SERVER_IP1nameserver DNS_SERVER_IP2nameserver DNS_SERVER_IP3search magedu.com2、/etc/nsswitch.conf與/etc/hosts相比優(yōu)先于DNS3、正向解析:FQDN-->IPdig -t A FQDNhost -t A FQDN4、反向解析:IP-->FQDNdig -x IPhost -t PTR IP29、網(wǎng)絡(luò)配置文件1、/etc/sysconfig/network-scripts/route-IFACE? 注意:需service network restart生效? 兩種風(fēng)格:(1) TARGET via GW如:10.0.0.0/8 via 172.16.0.1(2) 每三行定義一條路由ADDRESS#=TARGETNETMASK#=maskGATEWAY#=GW30、網(wǎng)卡別名1、對(duì)虛擬主機(jī)有用2、將多個(gè)IP地址綁定到一個(gè)NIC上eth0:1 、eth0:2、 eth0:33、ifconfig命令:ifconfig eth0:0 192.168.1.100/24 upifconfig eth0:0 down4、ip命令:ip addr add 172.16.1.2/16 dev eth0ip addr add 172.16.1.1/16 dev eth0 label eth0:0ip addr add 172.16.1.2/16 dev eth0 label eth0:0ip addr del 172.16.1.1/16 dev eth0 label eth0:0ip addr flush dev eth0 label eth0:031、設(shè)備別名1、為每個(gè)設(shè)備別名生成獨(dú)立的接口配置文件? 關(guān)閉NetworkManager服務(wù)? ifcfg-ethX:xxx? 必須使用靜態(tài)聯(lián)網(wǎng)DEVICE=eth0:0IPADDR=10.10.10.10NETMASK=255.0.0.0ONPARENT=yes2、注意:service network restart 生效3、參考/usr/share/doc/initscripts-*/sysconfig.txt32、網(wǎng)卡名稱1、基于BIOS支持啟用biosdevname軟件內(nèi)置網(wǎng)卡:em1,em2pci卡:pYpX Y:slot ,X:port2、名稱組成格式en: Ethernet 有線局域網(wǎng)wl: wlan 無線局域網(wǎng)ww: wwan無線廣域網(wǎng)名稱類型:o<index>: 集成設(shè)備的設(shè)備索引號(hào)s<slot>: 擴(kuò)展槽的索引號(hào)x<MAC>: 基于MAC地址的命名p<bus>s<slot>: enp2s133、采用傳統(tǒng)命名方式1、使用傳統(tǒng)命名方式:2、(1) 編輯/etc/default/grub配置文件GRUB_CMDLINE_LINUX="rhgb quiet net.ifnames=0"或:修改/boot/grub2/grub.cfg3、(2) 為grub2生成其配置文件grub2-mkconfig -o /etc/grub2.cfg4、(3) 重啟系統(tǒng)34、CentOS 7網(wǎng)絡(luò)配置工具1、CentOS7主機(jī)名2、配置文件:/etc/hostname ,默認(rèn)沒有此文件,通過DNS反向解析獲取主機(jī)名,主機(jī)名默認(rèn)為:localhost.localdomain3、顯示主機(jī)名信息hostnamehostnamectl status4、設(shè)置主機(jī)名hostnamectl set-hostname centos7.magedu.com5、刪除文件/etc/hostname,恢復(fù)主機(jī)名localhost.localdomain6、CentOS 7網(wǎng)絡(luò)配置工具7、圖形工具:nm-connection-editor8、字符配置tui工具:nmtui9、命令行工具:nmcli35、nmcli命令1、地址配置工具:nmcli2、nmcli [ OPTIONS ] OBJECT { COMMAND | help }device - show and manage network interfacesnmcli device helpconnection - start, stop, and manage network connectionsnmcli connection help3、修改IP地址等屬性:nmcli connection modify IFACE [+|-]setting.property valuesetting.property:ipv4.addresses ipv4.gatewayipv4.dns1 ipv4.method manual | auto4、修改配置文件執(zhí)行生效:systemctl restart networknmcli con reload5、nmcli命令生效: nmcli con down eth0 ;nmcli con up eth036、使用nmcli配置網(wǎng)絡(luò)1、NeworkManager是管理和監(jiān)控網(wǎng)絡(luò)設(shè)置的守護(hù)進(jìn)程2、設(shè)備即網(wǎng)絡(luò)接口,連接是對(duì)網(wǎng)絡(luò)接口的配置。一個(gè)網(wǎng)絡(luò)接口可有多個(gè)連接配置,但同時(shí)只有一個(gè)連接配置生效3、顯示所有包括不活動(dòng)連接nmcli con show4、顯示所有活動(dòng)連接nmcli con show --active5、顯示網(wǎng)絡(luò)連接配置nmcli con show "System eth0“6、顯示設(shè)備狀態(tài)nmcli dev status7、顯示網(wǎng)絡(luò)接口屬性nmcli dev show eth08、創(chuàng)建新連接default,IP自動(dòng)通過dhcp獲取nmcli con add con-name default type Ethernet ifname eth09、刪除連接nmcli con del default10、創(chuàng)建新連接static ,指定靜態(tài)IP,不自動(dòng)連接nmcti con add con-name static ifname eth0 autoconnect no type Ethernet ipv4.addresses 172.25.X.10/24 ipv4.gateway 172.25.X.25411、啟用static連接配置nmcli con up static12、啟用default連接配置nmcli con up default13、查看幫助nmcli con add help14、修改連接設(shè)置nmcli con mod“static” connection.autoconnect nonmcli con mod “static” ipv4.dns 172.25.X.254nmcli con mod “static” +ipv4.dns 8.8.8.8nmcli con mod “static” -ipv4.dns 8.8.8.8nmcli con mod “static” ipv4.addresses “172.25.X.10/24 172.25.X.254”nmcli con mod “static” +ipv4.addresses 10.10.10.10/1615、DNS設(shè)置,存放在/etc/resolv.conf文件中PEERDNS=no 表示當(dāng)IP通過dhcp自動(dòng)獲取時(shí),dns仍是手動(dòng)設(shè)置,不自動(dòng)獲取。等價(jià)于下面命令:nmcli con mod “system eth0” ipv4.ignore-auto-dns yes37、nmcli命令38、網(wǎng)絡(luò)配置文件1、設(shè)備配置被保存在文本文件中? /etc/sysconfig/network-scripts/ifcfg-<name>? 幫助文檔列出完整選項(xiàng)列表:/usr/share/doc/initcripts-*/sysconfig.txt39、nmcli命令1、修改連接配置后,需要重新加載配置nmcli con reloadnmcli con down “system eth0” 可被自動(dòng)激活nmcli con up “system eth0”nmcli dev dis eth0 禁用網(wǎng)卡,訪止被自動(dòng)激活2、圖形工具nm-connection-editor3、字符工具nmtuinmtui-connectnmtui-editnmtui-hostname40、測(cè)試網(wǎng)絡(luò)工具1、在命令行下測(cè)試網(wǎng)絡(luò)的連通性 顯示主機(jī)名hostname2、測(cè)試網(wǎng)絡(luò)連通性pingmtr3、顯示正確的路由表ip route4、確定名稱服務(wù)器使用: nslookup host dig 5、跟蹤路由? traceroute? tracepath41、網(wǎng)絡(luò)客戶端工具1、ftp,lftp:子命令:get、mget、ls、helplftp [-p port] [-u user[,password]] SERVER2、lftpget URL3、wget [option]... [URL]...-q: 靜默模式-c: 斷點(diǎn)續(xù)傳-P:保存在指定目錄-O: 保存為指定的文件名--limit-rate=: 指定傳輸速率,單位K,M等4、links URL--dump--source

轉(zhuǎn)載于:https://blog.51cto.com/13287682/2044869

總結(jié)

以上是生活随笔為你收集整理的Python第十课 网络管理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。