ip,arp,icmp兩大應用,tcp三握四揮,udp理論白話講解,易懂

      昨天給大一同學上課,在這裏總結一下大致內容。

      IP、ARP、ICMP、TCP/UDP,四大部分。耗時兩小時,沒有講得很細,主要幫助他們理解。

      IP,先從Ipv4開始講,ipv4總共32位,255.255.255.255。2^32約等於42.9億個ipv4地址,遠遠不夠現在物聯網時代的需求所以也延伸了ipv6地址,但是今天的內容是圍繞ipv4,IP編址:網絡位、主機位。

這裏例子192.168.1 代表是c類私網地址的網絡位。後者的.1代表這個子網的主機位。說到IP編址這裏就要說一下網絡地址和廣播地址,網絡地址其實是用於確定網絡設備位置的邏輯地址,廣播地址其實是專門用於同時向網絡中所有工作站進行發送的一個地址。例如192.168.1.1/24 ,網絡地址就是192.168.1.0,廣播地址就是192.168.1.255,可以通過ip地址和子網掩碼來算出網絡地址和廣播地址。IP地址分類

這裏着重講了a,b,c三類地址,網絡位分別爲8,16,24  主機位分別爲24,16,8 。私有地址範圍: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。

子網掩碼:默認子網掩碼a類255.0.0.0 b類255.255.0.0 c類255.255.255.0  默認掩碼也代表着其網絡位。可變長子網掩碼:用例子來講述 子網爲192.168.1 如教室1有10臺電腦,教室2有20臺電腦,教室3有30臺電腦,但是需要教室之間進行隔離,但是三間教室主機都很少,分子網去劃分,造成了有類ip地址的浪費,這樣設計就想當不合理,使用率就會很低。比如設計時,把子網掩碼設置爲27,這樣主機數就只有32,可用主機數30 地址就是從192.168.1.224~192.168.1.255 。 這樣就不會造成資源的浪費。

順帶簡單講解了一下網關的作用,1,轉發來自不同網段的數據包。2,處理arp請求。

明天在更arp,icmp,tcp/udp

      ARP,概念:當網絡設備有數據要發送給另一臺網絡設備時,必須要知道對方的網絡層地址(即IP地址)。IP地址由網絡層來提供,但是僅有IP地址是不夠的,IP數據報文必須封裝成幀才能通過數據鏈路進行發送。數據幀必須要包含目的MAC地址,因此發送端還必須獲取到目的MAC地址。通過目的IP地址來獲取目的MAC地址的過程是由ARP(Address Resolution Protocol)協議來實現的。

      通過一個實驗來形象化的解釋。網絡拓撲如下,已配置交換機,pc之間都可以通信。

先進入pc1,pc3,查看arp表

表內無信息

然後抓包,pc1去ping  pc3

arp不知道目的mac地址,通過廣播去給發包,迴應的就是目的ip,然後就得到了目的ip的mac地址,得到mac地址後就ping五個包。

此時arp表裏面也會記錄目的ip和目的mac 這叫做arp緩存。緩存有有效期,過了有效期就會被刪除。如果目標設備位於其他網絡,則源設備會在ARP緩存表中查找網關的MAC地址,然後將數據發送給網關,網關再把數據轉發給目的設備。

免費ARP主機被分配了IP地址或者IP地址發生變更後,必須立刻檢測其所分配的IP地址在網絡上是否是唯一的,以避免地址衝突。主機通過發送ARP Request報文來進行地址衝突檢測。

主機A將ARP Request廣播報文中的目的IP地址字段設置爲自己的IP地址,且該網絡中所有主機包括網關都會接收到此報文。當目的IP地址已經被某一個主機或網關使用時,該主機或網關就會迴應ARP Reply報文。通過這種方式,主機A就能探測到IP地址衝突了。

      ICMP,概念:Internet控制消息協議ICMP(Internet Control Message Protocol)是網絡層的一個重要協議。ICMP協議用來在網絡設備間傳遞各種差錯和控制信息,並對於收集各種網絡信息、診斷和排除各種網絡故障等方面起着至關重要的作用。

ICMP是TCP/IP協議簇的核心協議之一,它用於在IP網絡設備之間發送控制報文,傳遞差錯、控制、查詢等信息。

從兩個應用入手,ping和tracert。

pingPing是檢測網絡連通性的常用工具,同時也能夠收集其他相關信息。用戶可以在Ping命令中指定不同參數,如ICMP報文長度、發送的ICMP報文個數、等待回覆響應的超時時間等,設備根據配置的參數來構造併發送ICMP報文,進行Ping測試。

Ping常用的配置參數說明如下:

1. -a source-ip-address指定發送ICMP ECHO-REQUEST報文的源IP地址。如果不指定源IP地址,將採用出接口的IP地址作爲ICMP ECHO-REQUEST報文發送的源地址。

2. -c count指定發送ICMP ECHO-REQUEST報文次數。缺省情況下發送5個ICMP ECHO-REQUEST報文。

3. -h ttl-value指定TTL的值。缺省值是255。

4. -t timeout指定發送完ICMP ECHO-REQUEST後,等待ICMP ECHO-REPLY的超時時間。

tracert,路由追蹤

Tracert基於報文頭中的TTL值來逐跳跟蹤報文的轉發路徑。爲了跟蹤到達某特定目的地址的路徑,源端首先將報文的TTL值設置爲1。該報文到達第一個節點後,TTL超時,於是該節點向源端發送TTL超時消息,消息中攜帶時間戳。然後源端將報文的TTL值設置爲2,報文到達第二個節點後超時,該節點同樣返回TTL超時消息,以此類推,直到報文到達目的地。這樣,源端根據返回的報文中的信息可以跟蹤到報文經過的每一個節點,並根據時間戳信息計算往返時間。Tracert是檢測網絡丟包及時延的有效手段,同時可以幫助管理員發現網絡中的路由環路。

Tracert常用的配置參數說明如下:

1、-a source-ip-address指定tracert報文的源地址。

2、-f first-ttl指定初始TTL。缺省值是1。

3、-m max-ttl指定最大TTL。缺省值是30。

4、-name使能顯示每一跳的主機名。

5、-p port指定目的主機的UDP端口號。

 

      TCP/UDP

傳輸層定義了主機應用程序之間端到端的連通性。傳輸層中最爲常見的兩個協議分別是傳輸控制協議TCP(Transmission Control Protocol)和用戶數據包協議UDP(User Datagram Protocol)。

tcp端口號:常見的21,80,443,23,25,。不同端口用來區分不同服務。

着重講解TCP的三次握手和四次揮手

tcp被稱爲可靠傳輸協議

三次握手:

  1. 主機A對服務器A發送請求連接
  2. 服務器A收到了主機A的請求,迴應請求說我可以跟你進行,連接,但是你得再回應我,這樣才能保證我的迴應你收到了
  3. 主機A收到這樣的迴應後,便會再次迴應服務器A說,你剛纔了的迴應我這邊收到了,可以進行連接了

這樣三次握手後便進行了可靠連接。

四次揮手:

  1. 主機A對服務器A發送請求說我想跟你斷開連接,收到請回應
  2. 服務器A接到請求後說收到迴應了,但是我這邊還沒有準備好斷開連接,等我準備好了我會再次迴應你斷開連接
  3. 服務器A再次迴應說我這邊已經準備好斷開連接了,你那邊收到此請求請回應。
  4. 主機A收到了服務器A的請求後,迴應道我收到了你的請求,可以正式斷開了

這樣四次揮手後正式斷開連接。

udp傳輸協議

udp是一種無面向連接的傳輸協議,不可靠。

在傳輸過程中可能會出現丟包的情況,即使丟包也不會重傳。

舉例說明,在和別人視屏通話過程中就是一種udp傳輸,視屏過程中可能會出現丟包,可能就是一瞬間的掉幀,不會因爲這一瞬鍵掉幀再次傳輸,那樣就達不到udp傳輸的快的特點。

總結一下tcp和udp各自特點,tcp可靠性高,但是速度較慢,upd速度較快,但是不可靠。

這就是兩個小時的內容,更完。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章