TCP/IP不同層次的協議
網際協議(IP)
- 不可靠,不能保證數據包傳送成功,也不能保證按特定次序傳輸,也不能校驗正確性。頭部的校驗和部分只能用於校驗數據包IP頭部的正確性,沒有任何機制保證數據凈荷傳輸的正確性。不能保證數據一定是從數據包中所給的源地址發送的。
- 使用了“IP source routing”這一選項的網際協議的數據包好像總是從路徑最后一個系統上傳遞過來的。
- 根據IP協議規定、中間節點不能對小數據包進行拼接組合。
地址解析協議(ARP)
將32bit的IP地址(IP4)轉化為48bit的MAC地址
傳輸控制協議(TCP)
- TCP三次握手
- SYN Flood攻擊和防范。
開放TCP鏈接是一個三步握手過程。在服務器收到初始的SYN(同步序列編號Synchronize Sequence Numbers)數據包后,該鏈接處於半開放狀態。此后,服務器返回自己的序號,並等待確認。最后客戶機發送第三個數據包使TCP鏈接開放,在客戶機和服務器之間建立連接。
客戶端:服務器,你能聽到我嗎?
服務器:我能聽到你,客戶端,你能聽到我嗎?
客戶端:我能聽到你,我跟你講………………
三步握手所交換的信息如下:
- 客戶機首先向服務器發送設置了SYN標志位的數據包和一個初始的客戶機序號CSEQ;
- 服務器返回的數據包既有SYN標志位,又有ACK信息(將客戶機的序號加1),同時附加服務器的序號SSED;
- 客戶機將服務器的序號加1作為返回數據包的ACK值。
當TCP協議處於半開放狀態時,攻擊者可以成功利用SYN Flood對服務器發動攻擊,攻擊者使用第一個數據包對服務器進行大流量沖擊,使服務器一直處於半開放連接狀態,導致服務器無法完成三步握手協議。
用戶數據報協議(UDP)
TCP與UDP的區別:
- UDP傳輸數據時,既沒有糾錯和重傳機制,也沒有對數據包進行丟包,復制,重新排列的檢查機制,進行大流量的數據傳輸時會造成路由器堵塞和數據包丟失。
- UDP忽略了源地址和目的地址
- UDP沒有交換握手信息和序號的過程,因此易受到欺騙
UDP的控制端口的常見端口是21
Internet控制消息協議(ICMP)
ICMP用來處理傳輸錯誤,當某個網關發現傳輸錯誤,立刻向信源主機發送ICMP報文,報告出錯信息。它是一種差錯和控制報文協議。不僅傳輸差錯報文還傳輸控制報文。
路由協議
- 路由協議是一種在Internet上動態尋找恰當路徑的機制
- 路由信息產生兩個通道:主叫主機到目標主機,目標主機到主叫,當這兩個不互逆時叫做非對稱路由(優點:負載均衡 缺點:有多個防火牆引發安全問題)
- 路由協議的攻擊和防范:攻擊者通過自封包或修改網絡節點的IP地址來冒充某個可信節點的IP地址進行攻擊。拋棄外網進來卻聲稱內部主機的報文,關閉路由器的源路由功能
- 邊界網關協議(BGP):通過TCP連接在路由器之間分配路由信息。
- 有限開放最短路徑協議(OSPF)三個優點
- 驗證機制:支持空驗證,簡單口令驗證,加密驗證三種方式對路由器之間交換的信息進行驗證。
- 擴散機制:鏈路狀態定時刷新,或鏈路變化時發送,獨立計算最佳路徑,對錯誤鏈路進行反擊。
- 分層路由:對其他區域屏蔽使得危害對於整個自治區最小,其他區域路由仍能正常使用。
動態主機配置協議(DHCP)
端口:67、68
DNS域名系統協議
53端口,將前向命名和后向命名分離,可能會帶來安全問題
IPV6
128bit,與IPV4不同,IPV6頭部沒有校驗和字段,並且去掉了所有與分段相關的字段
IPV6地址縮寫(可以刪除前導0,例如0DB8->DB8)
2001: 0DB8: 0000: 0000: 0000: 0000: 1428: 57ab這個IP地址可以縮寫為
2001: DB8: 0000: 0000: 0000: : 1428: 57ab
2001: DB8: 0: 0: 0: 0: 1428: 57ab
2001: DB8: 0: : 0: 1428: 57ab
2001: DB8: : : 1428: 57ab
電子郵件協議
- 簡單郵件傳輸協議(SMTP端口:25)
- 郵局協議(POP3端口:110)
- Internet消息訪問協議(IMAP端口:143)
消息傳輸協議
- 簡單文件傳輸協議(TFTP UDP67)
- 文件傳輸協議(FTP) 21端口是控制連接,20端口是數據連接
遠程登錄協議
Telnet服務 遠程登錄 TCP23
SSH(Secure Shell安全殼)服務安全的遠程登錄 TCP22
簡單網絡管理協議(SNMP)
對網元的管理 UDP161
網絡時間協議(NTR)
所有設備時鍾保存一致 UDP123