1:web網路服務:訪問互聯網時如淘寶,電商後都有web伺服器,傳統公司apache,互聯網公司一般用 web伺服器 2:網路的特性 速度:帶寬 成本 安全性 可用性:系統的正常運行時間 / 總時間(正常+異常)的百分比。cluster(集群)可實現高可用性 可擴展性:模塊化 可靠性 拓撲:1匯流排拓 ...
1:web網路服務:訪問互聯網時如淘寶,電商後都有web伺服器,傳統公司apache,互聯網公司一般用 web伺服器 2:網路的特性 速度:帶寬 成本 安全性 可用性:系統的正常運行時間 / 總時間(正常+異常)的百分比。cluster(集群)可實現高可用性 可擴展性:模塊化 可靠性 拓撲:1匯流排拓撲(早期) 2環狀拓撲 3 星型拓撲(主用) 4雙環拓撲:外環壞了,內環備用,FDDI:光纖數字分散式介面,叫城市網路,5全網狀拓撲:成本高 3:網路模型分層:由於網路比較複雜,分層降低複雜性 OSI:開放系統互聯:網路國標:開放系統互連參考模型是一個為實現開放系統互連所建立的具有通信功能的分層模型,簡稱OSI參考模型。 ISO:國際標準化組織,ISO對網路下了一個標註定義就是OSI IOS:蘋果的操作系統 ATM:非同步傳輸模式 BAT:A:阿裡 B:騰訊 T:小米 AEEE:國際電子電器工程師協會(國際組織) OSI七層模型: 1)物理層:主要作用是用來傳輸比特流以0 1 代表電壓的高低,燈光的閃滅,這一層的數據就叫做比特。 2)數據鏈路層:1物理地址=MAT地址 2定義瞭如何讓格式化數據進行傳輸,3以及如何讓控制對物理介質進行訪問,4這一層通常還會提供錯誤檢測和糾正,以確保數據的可靠傳輸 3)網路層:數據傳輸 ,路由數據包,對位於不同地理位置的網路中的兩個主機系統之間提供連接和最佳路徑選擇, 4)傳輸層:確保數據的可靠性,它的作用主要是將從下層接收到的數據進行分段和傳輸,到達目的地址後再將數據進行重組,通過錯誤檢測和恢復 5)會話層:主機間通信通過傳輸層(埠號:傳輸埠與接收埠)建立數據傳輸的通路,主要是在系統之間發起會話或者接受會話請求(設備之間需要互相認識可以是IP也可以是MAC或者是主機名)。 6)表示層:1確保接受系統可以讀出該數據,2格式化數據,3協商用於應用層的數據傳輸語法,4提供加密 7)應用層: 是最靠近用戶的OSI層,這一層作為用戶的應用程式(例如電子郵件、文件傳輸和終端模擬)來提供網路服務。提供用戶身份服務 4:PDU: Protocol Data Unit,協議數據單元是指對等層次之間傳遞的數據單位 物理層的 PDU是數據位 bit 數據鏈路層的 PDU是數據幀 frame 最小數據位是46-1500 網路層的PDU是數據包 packet 傳輸層的 PDU是數據段 segment 其他更高層次的PDU是消息 message 5:三種通訊模式 單播:unicast 目標是一臺機器 廣播: broadcast 目標是所有人 多播/組播: multicast 目標是部分人 6:LAN:區域網: 1 Computers PCs 普通電腦 Servers :伺服器 2 Interconnections NICs :網卡 Media :網線 3 Network devices Hubs :集線器 Switches :交換機 Routers :路由器 4 Protocols :通信相關的網路協議 Ethernet IP ARP DHCP 單工: 單向傳輸 電視機,電臺 雙工: 雙向傳輸 半雙工:對講機 全雙工:電話,視頻,語音聊天 衝突域:衝突檢測的載波偵聽多路訪問CSMA/CD(早期通訊方式)衝突 域不同 , 廣播域:WAN 7:UTP分為非屏蔽式雙絞線(常用) 和 屏蔽式雙絞線(價格高)外層加固 8:UTP直通線(Straight-Through):兩邊線序相同 9:UTP交叉線(Crossover):線序不同,一邊是T568B 一邊是T568A, 總結:同一類型的設備相連要用交叉線,不通設備相連用直連線,現在的網卡智能化後,不用做交 叉,電腦和交換機相連,交換機內部的介面已經做好交叉,企業路由器和交換機相連 10: 乙太網工作在物理層和數據鏈路層,乙太網定義了數據鏈路層的相關內容, 乙太網平時用的網卡都有MAC地址,出廠的網卡都有MAC地址, 11:00:0c:29:94:7b:38 MAC地址:世界唯一的,16進位,目標和源是48位,前一半是國際組織分配的編號,後一半是廠家自己的編號,type:網路層協議的類型 12:Hub集線器:多埠中繼器 ,帶有廣播的特性,沒有任何安全性,同一時間只能一臺電 腦發數據,效率低下,Hub並不記憶該信息包是由哪個MAC地址發出,哪個MAC地址在Hub的哪個 埠,簡單說HUB相當於網線,工作在物理層 13:網橋工作原理:學習的時候是根據源地址,轉發的時候是根據目標地址, 1 網橋是不能隔斷廣播的,能隔斷衝突域,網橋只有兩個介面,配合集線器來連, 2 交換機有多個介面,直接連主機就可以了,是全雙工(FULL),可以同時發送信息 網橋交換機工作在數據鏈路層 14: hub:集線器 switch:交換機 router:路由器 15:主要是連接廣域網 16:路由器:主要工作在網路層:只要和網路通訊都有路由表,記錄的不是MAK地址,記錄的是IP地址,把一個數據包從一個設備發送到不同網路里的另一個設備上去。這些工作依靠路由器來完成。路由器只關心網路的狀態和決定網路中的最佳路徑。路由的實現依靠路由器中的路由表來完成 17:網卡主要工作在數據鏈路層 18:VLAN:虛擬區域網 • 分隔廣播域 • 安全 • 靈活管理 19:TCP/IP協議 cat /etcservices 對應的協議區分標記:埠號是在傳輸層中 工作在傳輸層 (特性)1面向連接協議(在通訊的時候確 保網路狀態的穩定才會發送包) 2全雙工協議 3半關閉 4錯誤檢查 5將數據打包成段,排序 6確認機制,(可靠的協議) 7數據恢復,重傳(斷電續傳) 8流量控制,滑動視窗 9擁塞控制,慢啟動和擁塞避免法 10傳輸層中有 TCP(可靠的,面向連接的,有包的編號,有糾錯能力哪個包出錯了可重新發送) UDP(不面向連接,不可靠,沒有包的標記,帶來的結果是有的包可能是錯誤的) 1工作在傳輸層 2提供不可靠的網路訪問 3非面向連接協議 4有限的錯誤檢查 5傳輸性能高 6無數據恢復特性 (2)網路協議和埠號:cat /etc/services http (web協議) 80 https(加密的web協議) 443 ftp(文件傳輸協議) 21 dns (功能變數名稱解析協議)53 tftp(小文件傳輸協議) 69 smtp(郵件傳輸協議) 25 pop3(郵箱有關協議) 110 imap (從伺服器上下載郵件用)143 telnet 23 ssh(遠程連接協議) 22 埠號總數是65536個 (3) IANA:互聯網數字分配機構(負責功能變數名稱,數字資源,協議分配) 0-1023:系統埠或特權埠(僅管理員可用) ,眾所周知,永久的分配給固系統應用使用,22/tcp(ssh), 80/tcp(http), 443/tcp(https) 1024-49151:用戶埠或註冊埠,但要求並不嚴格,分配給程式註冊為某應用用, 1433/tcp(SqlServer),1521/tcp(oracle), 3306/tcp(mysql),11211/tcp/udp (memcached) 49152-65535:動態埠或私有埠,客戶端程式隨機使用的埠 客戶端訪問的隨機號的範圍:/proc/sys/net/ipv4/ip_local_port_range ( 4)(TCP包頭) (5)我們在著重講一下在三次握手和四次揮手中的用到序列號、確認號及標誌位。 1. 序列號seq 占4個位元組,用來標記數據段的順序,TCP把連接中發送的所有數據位元組都編上一個序 號,第一個位元組的編號由本地隨機產生,給位元組編上序號後,就給每一個報文段指派一個序號,序列號seq就是這個報文段中的第一個位元組的數據編號。 2. 確認號ack 占4個位元組,期待收到對方下一個報文段的第一個數據位元組的序號,序列號表示報文段攜帶數據的第一個位元組的編號,而確認號指的是期望接受到下一個位元組的編號,因此擋牆報文段最後一個位元組的編號+1即是確認號。 3. 確認ACK 占1個比特位,僅當ACK=1,確認號欄位才有效。ACK=0,確認號無效。 4. 同步SYN 連接建立時用於同步序號。當SYN=1,ACK=0表示:這是一個連接請求報文段。若同意連接,則在響應報文段中使用SYN=1,ACK=1.因此,SYN=1表示這是一個連接請求,或連接接收報文,SYN這個標誌位只有在TCP建立連接才會被置為1,握手完成後SYN標誌位被置為0. 5. 終止FIN 用來釋放一個 ( 6)三次握手的過程 通過抓包,查看三次握手,先走TCP協議,後面的都是ssh協 step1:第一次握手 建立連接時,客戶端發送SYN包到伺服器,其中包含客戶端的初始序號seq=x,併進入SYN_SENT狀態,等待伺服器確認。(其中,SYN=1,ACK=0,表示這是一個TCP連接請求數據報文;序號seq=x,表明傳輸數據時的第一個數據位元組的序號是x)。 step2:第二次握手 伺服器收到請求後,必須確認客戶的數據包。同時自己也發送一個SYN包,即SYN+ACK包,此時伺服器進入SYN_RECV狀態。(其中確認報文段中,標識位SYN=1,ACK=1,表示這是一個TCP連接響應數據報文,並含服務端的初始序號seq(伺服器)=y,以及伺服器對客戶端初始序號的確認號ack(伺服器)=seq(客戶端)+1=x+1)。 step3:第三次握手 客戶端收到伺服器的SYN+ACK包,向伺服器發送一個序列號(seq=x+1),確認號為ack(客戶端)=y+1,此包發送完畢,客戶端和伺服器進入ESTAB_LISHED(TCP連接成功)狀態,完成三次握手。 ( 7)四次揮手的過程 step1:第一次揮手 首先,客戶端發送一個FIN,用來關閉客戶端到伺服器的數據傳送,然後等待伺服器的確認。其中終止標誌位FIN=1,序列號seq=u。 step2:第二次揮手 伺服器收到這個FIN,它發送一個ACK,確認ack為收到的序號加一。 step3:第三次揮手 關閉伺服器到客戶端的連接,發送一個FIN給客戶端。 step4:第四次揮手 客戶端收到FIN後,併發回一個ACK報文確認,並將確認序號seq設置為收到序號加一。首先進行關閉的一方將執行主動關閉,而另一方執行被動關閉。 ( 8)常見面試題: 1.為什麼需要三次握手,兩次不可以嗎?或者四次、五次可以嗎? 我們來分析一種特殊情況,假設客戶端請求建立連接,發給伺服器SYN包等待伺服器認,伺服器收到確認後,如果是兩次握手,假設伺服器給客戶端在第二次握手時發送數據,數據從伺服器發出,伺服器認為連接已經建立,但在發送數據的過程中數據丟失,客戶端認為連接沒有建立,會進行重傳。假設每次發送的數據一直在丟失,客戶端一直SYN,伺服器就會產生多個無效連接,占用資源,這個時候伺服器可能會掛掉。這個現象就是我們聽過的“SYN的洪水攻擊”。 總結:第三次握手是為了防止:如果客戶端遲遲沒有收到伺服器返回確認報文,這時會放棄連接,重新啟動一條連接請求,但問題是:伺服器不知道客戶端沒有收到,所以他會收到兩個連接,浪費連接開銷。如果每次都是這樣,就會浪費多個連接開銷。 (9): ss -ntl:查看該機器上有哪些軟體監聽遠程訪問的網站, 20: ping命令 調大判斷網路的穩定性,預設每次只發一個包ping -s 指定包的大小,每次發多少包 -f ping 192.168.30.128 -c 10 (ping10次) 21: ARP: 在網路層 工作機制,信任機制 基於廣播 通訊過一次就會在主機上生成緩存表 (1): 如果在同一個網段工作原理是A,B主機進行通訊 ,A基於發arp廣播,可能會找到一臺假冒的ip地址和MAK地址, arp得到的MAK地址就是假的 (2) :如果不在同一個網段,A主機會就發arp廣播 ,把數據發送到網管,(也就是和路由器相鄰的介面),同時會學習網管的MAK地址,路由的另一個介面則會通過發arp廣播就行尋找C主機,則進行通訊
- (3):此圖為誇路由的情況下,