IP學習筆記

TCP/IP模型與OSI模型

TCP/IP學習筆記

TCP/IP模型與OSI模型

1、TCP/IP協議簇

TCP/IP學習筆記

TCP/IP協議簇

2、應用層

Telnet、SNMP、FTP、SSH、TFTP、HTTP、HTTPS、SMTP、POP、IGMP、DNS、DHCP

3、主機到主機層

  • 傳輸控制協議(TCP) 面向連接 可靠傳輸 使用TCP的應用:web瀏覽器、電子郵件、文件傳輸程序
  • 用戶數據報協議(UDP) 高效 盡力傳輸 使用UDP的應用:域名系統(DNS)、視頻系統、IP語音(VoIP)

4、特點

  • TCP:安全可靠、效率低
  • UDP:安全性低、效率高

TCP機制

1、TCP三次握手

TCP採用三次握手建立連接

TCP/IP學習筆記

TCP三次握手


  • 第一次握手:Client向Server發送一個連接請求,在這過程中,標誌位SYN=1,發送序號seq=x,Client進入SYN_SENT狀態,等待Server確認;(我要開始一個連接)
  • 第二次握手:Server收到數據包後由標誌位SYN=1知道Client請求建立連接,Server將標誌位SYN和ACK都置為1,確認序號ack=x+1,隨機產生一個發送序號seq=y,並將該數據包發送給Client以確認連接請求,Server進入SYN_RCVD狀態;(好的,可以連接)
  • 第三次握手:Client收到確認後,檢查確認序列號ACK是否為x+1,標誌位ACK是否為1,若正確,則將標誌位ACK置為1,確認序號ACK=y+1,並將該數據包發送給Server,Server檢查確認序號ACK是否為y+1,標誌位ACK是否為1,若正確則連接成功,Client和Server進入ESTSBLISHED狀態。(好的,收到)
  • 完成三次握手,客戶端和服務器端開始傳送數據。

2、TCP四次揮手

TCP採用四次揮手終止TCP連接

TCP/IP學習筆記

TCP四次揮手


  • 第一次揮手:Client發送一個FIN=N,用來關閉Client到Server的數據傳輸,Client進入FN_WAIT_1狀態;(我要終止連接)
  • 第二次揮手:Server收到FIN後,先發送ack=N+1,告知Client請求已收到,但Server還沒準備好,繼續等Server的消息,這時Client進入FN_WAIT_2狀態;(可以終止連接)
  • 第三次揮手:當Server確認數據已經發送完成,則向Client發送FIN=M確認報文,告知Client數據發送完成了,準備關閉連接,Server進入LAST_ACK狀態;(終止連接了)
  • 第四次揮手:Client收到Server的斷開連接FIN=M確認報文後,向Server發送ack=M+1確認斷開報文,Client進入TIME_WAIT狀態;Server收到Client確認斷開報文後,進入CLOSED狀態,斷開TCP連接。(好的,收到)
  • 完成四次揮手,客戶端和服務器斷終止TCP連接。終止連接端可以是客戶端,也可以是服務器端。

3、端口號類型

  • 範圍:0~65535
  • 已劃分給特定協議,不能隨意使用:0~1023
  • 可以有限的去使用:1024~49511
  • 可以隨意使用:49512~65535

4、源/目的端口

  • 源端口隨機分配,目標端口使用已知端口
  • 應用客戶端使用的源端口號一般為系統中未使用且大於1023
  • 目的端口號為服務器端應用服務的進程,如telnet23

5、TCP的特點

  • TCP/IP 協議棧的傳輸層
  • 面向連接的協議
  • 全雙工模式運行
  • 錯誤檢查
  • 數據包序列化
  • 接收確認
  • 數據恢復功能

IP

1、IP報頭

TCP/IP學習筆記

IP報頭

  • 版本(Ver):IP版本號。
  • 報頭長度(IHL):報頭的長度,單位為32 位字。
  • 服務類型(Service Type):服務類型指出應如何處理數據報。
  • 數據包總長度(Packet Length):包括報頭和數據的總長度。
  • 標識(Identification):唯一的IP分組值,用於區分不同的數據報。
  • 標誌(Flag):指出是否進行了分段。
  • 片內偏移(Frag.Offset):在分組太大,無法放入一個幀中時,提供了分段和重組功能。它還使得因特網上可有不同的MTU (Maximum Transmission Unit ,最大傳輸單元)。
  • 生存時間(Time to Live):生成分組時給它指定的存活時間。如果分組到達目的地之前TTL就已到期,分組將被丟棄。這可避免IP 分組因尋找目的地不斷在網絡中傳輸。0-255,ttl減少1,一般16跳足夠了。
  • 協議(Protocol):告訴IP上層用的是TCP(6)還是UDP(7)。
  • 報頭校驗和(Header Checksum):對報頭執行CRC的結果。
  • 源IP地址(Source Address):發送方的32位IP地址。
  • 目標IP地址(Destination Address):接收方的32位IP地址。
  • 選頂(Options):用於網絡測試、調試、安全等。
  • 填充(Padding)

2、IP編址

IP地址長32 位,這些位被劃分成4 組,每組8 位。總的有2^32個地址,3 種方法描述IP 地址:

  • 點分十進制表示,如172.16.57.186 。(常用)
  • 二進制,如10101100.00010000.00111001.10111010。
  • 十六進制,如AC.10.39.BA 。
TCP/IP學習筆記

IP編址

3、地址範圍

  • A類 : 8位network/24位host 取值範圍 :1~126 127.x.x.x本機迴環地址(0xxxxxxx)
  • B類 :16位network/16位host 取值範圍 :128~191 (10xxxxxx)
  • C類 :24位network/8位host 取值範圍 :192~223 (110xxxxx)
  • D類 :取值範圍 :224~239 (1110xxxx)
  • E 類 : 保留

4、私有地址

  • A類 :10.0.0.0~10.255.255.255
  • B類 :172.16.0.0~172.31.255.255
  • C類 :192.168.0.0~192.168.255.255

5、ICMP(因特網控制消息協議)

  • 作用:控制網絡層的連通性,面向連接的協議;用於向原節點發送“錯誤報告”信息。
  • 原理:發送echo request,目標收到後發送echo reply
  • 常用命令:ping、traceroute

5.1、ping

  • ping是個應用程序
  • 工作原理: 發送ICMP的echo request ICMP被IP封裝,途徑的網絡設備看到的是IP包 目標主機接收到echo request後發送echo reply
  • ping通: 通信子網——去與回 資源子網——發送主機與接收主機

5.2、Traceroute

  • 目的:探測到目標主機所經過的路徑
  • 工作原理:利用IP頭部的TTL字段,TTL報超時信息探測每一個設備節點;從TTL=1開始發送,每次累加TTL值,直到達到目的地

6、ARP

  • ARP(地址解析協議):通過廣播查詢IP對應的MAC 過程:目標主機在本地網絡 基本功能:將IPv4地址解析為MAC地址;維護映射緩存
  • 代理ARP(Rroxy ARP):目標IP不在廣播域時,使用本接口MAC進行數據轉發
  • RARP(逆向地址解析協議Reverse ARP):通過MAC來獲得IP——DHCP
  • 免費ARP: 端口UP時發送一個免費ARP,若地址有衝突就會回應 當設備變更了硬件(網卡),也會發送免費ARP,如果其他設備有相應的ARP表,則將更新


分享到:


相關文章: