<form id="dlljd"></form>
        <address id="dlljd"><address id="dlljd"><listing id="dlljd"></listing></address></address>

        <em id="dlljd"><form id="dlljd"></form></em>

          <address id="dlljd"></address>
            <noframes id="dlljd">

              聯系我們 - 廣告服務 - 聯系電話:
              您的當前位置: > 關注 > > 正文

              【天天新要聞】工程師必知:IP協議和IP地址是什么關系?

              來源:CSDN 時間:2022-12-21 19:02:04

              一、IP協議


              (資料圖)

              1. 簡介

              相比之前講的ARP協議,IP協議無論對于普通用戶還是對于工程師而言,大家都要熟悉得多。

              無論如何,經過這些影視劇和各路媒體的熏陶,最普通的民眾也知道以下這些常識=>

              ①IP就是一張身份證,存在于電腦、手機、監控攝像頭、汽車等任何需要聯網的設備上面;

              ②IP是可以被追蹤到和定位的,無論是網上發帖造謠生事或通過黑客技術攻擊別人,所做的事情都會基于IP和其他ID信息被服務器記錄下來,然后"阿sir"就可以追蹤并抓到你。

              當然,作為工程師,我們不僅僅要懂常識,更需要掌握這些專業的內容=>

              IP協議的原理是什么?

              IP協議和IP地址到底是什么關系?

              IP協議有什么字段?

              2.原理

              IP協議(Internet Protocol,互聯網協議),是TCP/IP協議棧中最核心的協議之一,通過IP地址,保證了聯網設備的唯一性,實現了網絡通信的面向無連接和不可靠的傳輸功能。

              當多臺接入互聯網的電腦訪問同一臺服務器時,服務器如何區分不同電腦的請求,并準確的將資源返回?

              眾所周知,只要給每個設備加上"身份證",并且在通信的時候,將"身份證"嵌入到數據包里面,則整個往返過程可以準確無誤。

              以PC1訪問服務器為例,PC1的地址是12.1.8.66,Server的地址是8.8.4.4,整個通信過程是這樣的:

              ①PC1在請求數據包里面封裝源目IP地址,并將帶有IP地址的數據包發送到互聯網;

              ②互聯網有大量的網絡通信設備(例如路由器),路由器根據數據包的IP地址查找路由表(地圖),然后以接力棒的方式逐跳轉發直到目標服務器;

              ③服務器收到請求數據后,將源目IP地址翻轉,并封裝回應數據包發送到互聯網。

              上述這個IP通信過程,跟我們日??爝f收寄件的流程是幾乎類似的:

              ①寄快遞的時候,需要先寫快遞單,快遞單要求寫入寄件方和收件方的姓名和聯系信息(電話號碼、地址),寫完之后,再將快遞單貼在包裹上面。

              ②物流公司(或快遞員)根據包裹的寄件地址,通過物流平臺(飛機、長途貨車、卡車)將包裹在省市中傳輸,直到收件方的城市。

              ③收快遞的時候,快遞員根據包裹收件地址,找到對應的街道或小區,然后通過電話聯系并交付到我們手里。

              在這里,快遞單相當于IP地址、快遞包裹相當于數據包,物流公司/快遞員相當于路由器/交換機。

              小結:經過上面這個案例,我們需要更明確這些知識點:

              ①IP協議提供了IP地址,并將源目IP地址夾帶在通信數據包里面,為路由器指明通信方向;

              ②IP協議只能指明數據包的源目通信方即"這是誰的送給誰的",但不能保證數據包一定能到達對方,數據是否會被丟棄以及丟棄之后如何處理。所以,上面才有這句:"IP協議提供面向無連接不可靠傳輸功能"。那么,如果出現丟包且需要重傳時,誰來解決呢?這就需要TCP/IP協議棧另外一個"半壁江山"來實現,大家肯定猜到了:TCP協議能解決以上這些IP協議不能實現的功能。

              當然,IP協議不僅僅只有"快遞單"功能,它還能防止數據包環路、為數據打上重要或不重要等標簽實現流量控制、能驗證數據包是否損壞、能實現數據包分片和組裝功能;而要深入學習這些功能,必須掌握IP頭部的封裝格式。

              3.IP協議頭部

              解析:

              字段解釋

              4位版本號(version)指定IP協議的版本, 對于IPv4來說,就是4

              4位頭部長度(header length)IP頭部的長度是多少個32bit, 也就是 length * 4 的字節數. 4bit表示最大的數字是15, 因此IP頭部最大長度是60字節

              8位服務類型(Type Of Service)3位優先權字段(已經棄用), 4位TOS字段, 和1位保留字段(必須置0). 4位TOS(最小延時, 最大吞吐量, 最高可靠性, 最小成本),只能選其一. ssh/telnet這樣的應用程序, 最小延時比較重要; 對于ftp這樣的程序, 最大吞吐量比較重要

              16位總長度(total lengthIP數據報整體占多少個字節

              16位標識(id)唯一的標識主機發送的報文. 如果IP報文在數據鏈路層被分片了, 那么每一個片里面的這個id是相同的

              3位標志字段第一位保留,第二位置為1表示禁止分片, 這時候如果報文長度超MTU, IP模塊就會丟棄報文. 第三位表示”更多分片”, 如果分片了的話, 最后一個分片置為1, 其他是0

              13位分片偏移(framegament offset)是分片相對于原始IP報文開始處的偏移. 其實就是在表示當前分片在原報文中處在哪個位置

              8位生存時間(Time To Live, TTL)數據報到達目的地的最大報文跳數

              8位協議表示上層協議的類型

              16位頭部校驗和使用CRC進行校驗, 來鑒別頭部是否損壞

              32位源地址和32位目標地址表示發送端和接收端

              選項字段不定長, 最多40字節

              4.IP地址劃分類

              所有IP 地址可以分為五類,如下:

              分類地址范圍

              A類0.0.0.0到127.255.255.255

              B類128.0.0.0到191.255.255.255

              C類192.0.0.0到223.255.255.255

              D類224.0.0.0到239.255.255.255

              E類240.0.0.0到247.255.255.255

              但是隨著Internet的飛速發展,這種劃分方案的局限性很快顯現出來,大多數組織都申請B類網絡地址, 導致B類地址很快就分配完了,而A類卻浪費了大量地址。

              針對這種情況提出了新的劃分方案, 稱為CIDR(Classless Interdomain Routing)

              4.1子網劃分

              我們都知道,IP地址是以網絡號和主機號標識網絡上的主機的,只有在同一網絡號下的主機才可以“直接”互通,不同網絡號的主機要通過網關互通。

              為了使同一個網絡下有多個子網,就產生了子網掩碼。

              了解一下這個新概念:

              4.2子網掩碼

              區分網絡號和主機號是一個32位的正整數. 通常用一串 “0” 來結尾將IP地址和子網掩碼進行 “按位與” 操作, 得到的結果就是網絡號網絡號和主機號的劃分與這個IP地址是A類、B類還是C類無關

              那么如何確定子網掩碼呢?

              將一個網絡劃分為多個子網,網絡號就要占用原來的主機位。

              例如:

              C類地址,21位標識網絡號,8位標識主機號,要將其劃分為4個子網,則需占用2位原來的主機標識位。

              此時,網絡號由之前的21位變為23位,子網掩碼為:255.255.255.224

              4.3特殊的IP地址

              將IP地址中的主機地址全部設為0, 就是網絡號, 代表這個局域網將IP地址中的主機地址全部設為1, 就成為了廣播地址, 用于給同一個鏈路中相互連接的所有主機發送數據包127.*的IP地址用于本機環回(loop back)測試,通常是127.0.0.1

              那么IP地址的數量沒有限制嗎?

              我們知道,IP(IPV4)地址是一個四字節32位的正整數,那么一共只有2的32次方個IP地址,大概是43億左右,而 TCP/IP協議規定, 每個主機都需要有一個IP地址,

              那也就是說網絡中最多只可以接入43億主機嗎?

              實際上,由于一些特殊的IP地址的存在,數量就不足43億了。另外,IP地址并非是按照主機臺數配置的,而是每個網卡都需要配置一個或多個IP地址。

              上文講的子網劃分,在一定程度上緩解了IP地址不夠用的問題,提高了利用率,減少了浪費,但IP地址的絕對上限并沒有增加,仍然不夠用,會有三種方式來解決IP地址不夠用的問題:

              動態分配IP地址: 只給接入網絡的設備分配IP地址. 因此同一個MAC地址的設備, 每次接入互聯網中得到的IP地址不一定是相同的NAT技術IPv6: IPv6用16字節128位來表示一個IP地址; 但是目前IPv6還沒有普及。

              注意:IPv6并不是IPv4的簡單升級版. 這是互不相干的兩個協議

              4.4私有IP地址和公網IP地址

              4.4.1私有IP地址

              如果一個組織內部組建局域網,IP地址只用于局域網內的通信,而不直接連到Internet上,對與組建局域網的私有IP地址有如下規則:

              (1)10.,前8位是網絡號,共16,777,216個地址

              (2)172.16. 到 172.31.,前12位是網絡號,共1,048,576個地址

              (3)192.168.,前16位是網絡號,共65,536個地址

              4.4.2.公網IP

              如1中,包含在范圍中的, 都成為私有IP, 其余的就稱為全局IP(或公網IP)。

              可以知道:

              (1)一個路由器可以配置兩個IP地址, 一個是WAN口IP, 一個是LAN口IP(子網IP).

              (2)路由器LAN口連接的主機,都從屬于當前這個路由器的子網中.

              (3)不同的路由器, 子網IP其實都是一樣的(通常都是192.168.1.1)

              (4)子網內的主機IP地址不能重復,但是子網之間的IP地址可以重復,所以,不同子網中的兩個主機不可以進行訪問。

              (5)子網中的主機需要和外網進行通信時,路由器將IP首部中的IP地址進行替換,替換成WAN口IP,逐級替換,最終數據包中的IP地址成為一個公網IP,這種技術被稱為NAT(Network Address Translation,網絡地址轉換)。

              5.IP路由

              IP協議的一個核心任務是數據報的路由,即決定發送數據報到目標機器的路徑。

              發送數據包時所使用的地址是網絡層的地址,即 IP 地址。然而僅僅有 IP 地址還不足以實現將數據包發送到對端目標地址,在數據發送過程中還需要類似于“指明路由器或主機”的信息,以便真正發往目標地址。保存這種信息的就是路由控制表。該路由控制表的形成方式有兩種:一種是管理員手動設置,另一種是路由器與其他路由器相互交換信息時自動刷新。前者也叫做靜態路由控制,而后者叫做動態路由控制。IP 協議始終認為路由表是正確的。然后,IP 本身并沒有定義制作路由控制表的協議。即 IP 沒有制作路由控制表的機制。該表示由一個叫做“路由協議”的協議制作而成。

              5.1 IP 地址與路由控制

              IP 地址的網絡地址部分用于進行路由控制。路由控制表中記錄著網絡地址與下一步應該發送至路由器的地址。在發送 IP 包時,首先要確定 IP 包首部中的目標地址,再從路由控制表中找到與該地址具有相同網絡地址的記錄,根據該記錄將 IP 包轉發給相應的下一個路由器。如果路由控制表中存在多條相同網絡地址的記錄,就選擇一個最為吻合的網絡地址。

              路由控制表與 IP 包發送

              6. IP 分包與組包

              每種數據鏈路的***傳輸單元(MTU)都不盡相同,因為每個不同類型的數據鏈路的使用目的不同。使用目的不同,可承載的 MTU 也就不同。任何一臺主機都有必要對 IP 分片進行相應的處理。分片往往在網絡上遇到比較大的報文無法一下子發送出去時才會進行處理。經過分片之后的 IP 數據報在被重組的時候,只能由目標主機進行。路由器雖然做分片但不會進行重組。

              6.1 路徑 MTU 發現

              分片機制也有它的不足。如路由器的處理負荷加重之類。因此,只要允許,是不希望由路由器進行 IP 數據包的分片處理的。為了應對分片機制的不足,“路徑 MTU 發現” 技術應運而生。路徑 MTU 指的是,從發送端主機到接收端主機之間不需要分片是*** MTU 的大小。即路徑中存在的所有數據鏈路中最小的 MTU 。進行路徑 MTU 發現,就可以避免在中途的路由器上進行分片處理,也可以在 TCP 中發送更大的包。

              7.深入剖析IPv4和IPv6

              深入剖析IP協議,大部分時間就是深入剖析IP頭部協議,隨著現在的IPv6馬上的普及,我們今天就來詳細分析一下IPv4和IPv6的頭部。

              7.1 IPv4

              版本號:占四位,就是IP協議的版本,通信雙方的IP協議必須要達到一致,IPv4的版本就是4.首部長度:占四位,因為長度為四比特,所以首部長度的最大值為1111,15,又因為首部長度代表的單位長度為32個字(也就是4個字節),所以首部長度的最小值就是0101,當然,也確實如此,大部分的ip頭部中首部字節都是0101.也就是5*4=20個字節,如果是最大值15的話,ip首部的最大值就是60個字節,所以記好了,ipv4首部長度的最大值就是60,當然當中我們又能發現,IPv4的首段長度一定是4字節的整數倍,要是不是怎么辦呢?別急,后面的填充字段會自動填充補齊到4字節的整數倍的。區分服務:這個沒有什么用處,也沒有什么好講的了,只要自動這玩意占八位,一個字節就可以了??傞L度:占16位,這個的意思就是ip數據報中首部和數據的總和的長度,因為占16位,所以很好理解,總長度的最大值就是2的16次方減一,65535,這玩意也對應著還有一個很簡單的概念,最大傳輸單元mtu,意味著一個IP數據報的最大長度就只能裝下65535個字節,要是傳輸的長度超過這個怎么辦,很簡單,分片。

              對于最大傳輸單元,我們可以調用netstat -in來進行查看:

              對于分片我們放在片偏移里面進行詳細分析。

              .標識:占16位,標識這玩意很好理解,IP在存儲器中維持一個計數器,每產生一個 數據報,計數器就加1,并將此值賦給標識字段。但這個標識并不是平常的序號,因為IP是 無連接服務,數據報不存在按序接收的問題。當數據報由于長度超過網絡的MTU而必須分 片時,這個標識字段的值就被復制到所有的數據報片的標識字段中,等到重組的時候,相同標識符的值的數據報就會被重新組裝成一個數據報。標志:占三位,一般有用的是前兩位,

              最低位叫做MF,MF=1表示后面還有若干個數據報,MF=0表示這已經是最后一個數據報了。

              中間位叫做DF,DF表示不能進行分片,DF=0才可以進行分片操作。

              片偏移:占13位,片偏移就是,在原來的數據報分片以后,該片在原分組中的相對位置,片偏移中的基本單位是8字節,所以,也就是說,只要是分片,每個分片的長度都是8字節的整數倍,最后一個分片不夠八字節的一樣是填充。生存時間ttl:占8位,(time to live),表明數據報在網絡中的壽命,這個值被設定成跳數,顧名思義,就是這個數據報可以經過多少個路由器的數量,每經過一個路由器,該值就減一,減到為零的時候就被拋棄,顯而易見,這個跳數的最大值就是2的8次方減一,255.協議:就是用來指明數據報攜帶了哪種協議,占8位。首部效驗和:占16位,這個字段用來效驗數據報首段,下面給出簡單的計算方法:

              首先在發送端的時候,將效驗和全部置為0,然后把數據報首段數據全部進行反碼相加,得到的值為效驗和,放入首段效驗和里面,然后接收端將數據報首段數據和效驗和一起全部反碼相加,最后若是得到零,則保留,若是不為零,則說明數據報在傳輸的過程中發生了改變,則丟棄該數據報。

              IP源地址:占32位,將IP地址看作是32位數值則需要將網絡字節順序轉化位主機字節順序。轉化的方法是:將每4個字節首尾互換,將2、3字節互換。目的地址:也占32位,轉換方法和來源IP地址一樣。

              到了可變部分IPv4的頭部基本上就已經講完了,增加頭部的可變選項實際上就是增加了數據報的功能,可變選項在實際上是很少用到的。

              在IP協議中,IP協議是面向非連接的,所謂的非連接就是在數據的傳遞過程中,不需要檢測網絡是否連通,所以是不可靠的數據報協議。IP協議主要用于在主機之間的尋址和選擇數據包路由。

              7.2 IPv6

              與IPv4相比,IPv6的頭部做了如下修改:

              1.取消了首部長度,因為IPv6的首部長度是固定40個字節。2.取消了服務類型,因為流標號和優先級結合起來實現了服務類型的功能。3.取消了總長度字段,改用為有效載荷長度,有效載荷就是后面的擴展首部加上數據報中的數據。4.取消了標識,標志和片偏移,因為這些功能都包含在了擴展首部里面。5.取消了協議字段,改用為下一個首部,功能不變,這樣更容易理解。6.取消了生存時間ttl,改用為跳數限制,功能不變,這樣更容易理解,更形象了。7.取消了首部效驗和,這樣加快了路由器對數據報的處理速度,在數據鏈路層中,當我們發現有差錯的幀就會拋棄,在運輸層中,在udp中,當發現有差錯就會拋棄,在tcp中,當發現有差錯就會重傳,直到傳送到目的進程為止。因此在網路層的檢測就可以精簡掉。8,取消了選項字段,功能歸并在了擴展首部上。

              8.IP地址攻擊

              8.1 獲取IP地址

              工具查詢法:

              1. 這種方法是通過專業的IP地址查詢工具,來快速搜查到對方計算機的IP地址。例如,借助一款名為WhereIsIP的搜查工具,你可以輕松根據對方好友的Web網站地址,搜查得到對方好友的IP地址,甚至還能搜查到對方好友所在的物理位置。在用WhereIsIP程序搜查對方IP地址時,首先啟動該程序打開搜查界面,然后單擊該界面的“Web site”按鈕,在其后的窗口中輸入對方好友的Web地址,再單擊“next”按鈕,這樣該程序就能自動與Internet中的Domain Name Whois數據庫聯系,然后從該數據庫中搜查到與該Web網站地址對應的IP地址了。當然,除了可以知道IP地址外,你還能知道對方好友所在的具體物理位置。http://www.pc0359.cn/article/jiaocheng/67719.html

              2.maitube 生成鏈接發送對方。等待對方點擊打開之后,百度搜索這個ip地址,可以獲取位置

              3.獲取QQ/微信好友的IP地址 https://www.secpulse.com/archives/126081.html

              8.2 IP地址攻擊

              8.2.1 ping 命令攻擊

              Ping -t -l 65550 ip( -t: 一直ping -l: 數據包大小) 死亡之ping, 發送大于64K的文件并一直ping就成為了死亡之ping

              8.2.2 OOB攻擊

              這是利用NETBIOS中一個OOB?。∣ut of Band)的漏洞而來進行的,它的原理是通過TCP/IP協議傳遞一個數據包到計算機某個開放的端口上(一般是137、138和139),當計算機收到這個數據包之后就會瞬間死機或者藍屏現象,不重新啟動計算機就無法繼續使用TCP/IP協議來訪問網絡。

              8.2.3 DoS攻擊

              這是針對Windows 9X所使用的ICMP協議進行的DOS(Denial of Service,拒絕服務)攻擊,一般來說,這種攻擊是利用對方計算機上所安裝協議的漏洞來連續發送大量的數據包,造成對方計算機的死機。

              8.2.4 WinNuke攻擊

              目前的WinNuke系列工具已經從最初的簡單選擇IP攻擊某個端口發展到可以攻擊一個IP區間范圍的計算機,并且可以進行連續攻擊,還能夠驗證攻擊的效果,還可以對檢測和選擇端口,所以使用它可以造成某一個IP地址區間的計算機全部藍屏死機。

              8.2.5 SSPing

              這是一個IP攻擊工具,它的工作原理是向對方的計算機連續發出大型的ICMP數據包,被攻擊的機器此時會試圖將這些文件包合并處理,從而造成系統死機。

              8.2.6 TearDrop攻擊

              這種攻擊方式利用那些在TCP/IP堆棧實現中信任IP碎片中的包的標題頭所包含的信息來實現自己的攻擊,由于IP分段中含有指示該分段所包含的是原包哪一段的信息,所以一些操作系統下的TCP/IP協議在收到含有重疊偏移的偽造分段時將崩潰。TeadDrop最大的特點是除了能夠對Windows 9X/NT進行攻擊之外,連Linux也不能幸免。

              8.3防范IP攻擊

              黑客想要進行攻擊,必須經過兩個端口,IP地址與端口。端口就是計算機與外界通信交流的出口。而IP地址則相當于網絡主機的一個虛擬地址,黑客如果想要攻擊某個網絡主機,首先要確定該目標的域名或者IP地址,然后通過端口來攻擊該主機。

              對于大多數人來說,IP地址只是一個數字身份,他們最不關心其安全性。但實際上,用戶的IP地址與其他信息一樣容易被盜。若IP地址被攻擊,不僅能夠使黑客訪問用戶設備或帳戶,甚至可能會造成更大的損害。

              無論IP地址攻擊背后的網絡犯罪分子的意圖是什么,這對用戶來說總歸是有害的和麻煩的。采取一些預防措施并保護自己免受IP地址攻擊總是更好。

              1. 更改隱私設置

              用戶設備上安裝的大多數應用是黑客進行IP地址攻擊的主要渠道,特別是一些即時消息應用程序允許黑客查看用戶的連接詳細信息。專家建議用戶將所有應用的隱私設置保持為“私密”,并避免接收來自未知ID的呼叫。這將創建一個安全屏障,黑客將無法輕松訪問用戶的IP地址。

              2. 選擇動態IP地址

              大多數游戲玩家和網站所有者選擇靜態IP地址而非動態IP地址。但實際上動態IP地址一直在不斷變化,對黑客來說是一個不太容易攻擊的目標。靜態IP地址在一段時間內保持不變,這就讓黑客有足夠的時間對其進行解碼。因此,最好選擇動態IP地址以減少黑客攻擊的可能性。

              3. 使用虛擬專用網絡(VPN)

              虛擬專用網絡(VPN)是與網絡世界連接的最安全方式。它能夠幫助偽裝用戶的原始身份和位置,并允許從遠程服務器訪問網絡。這樣黑客就無法訪問用戶的原始IP地址,VPN還為用戶的所有在線活動提供加密隧道。無論使用私人連接訪問互聯網還是使用公共Wi-Fi,VPN都可確保用戶完全在線安全。唯一的缺點是許多免費的VPN服務并不像我們想象的那樣安全。

              4. 保護和路由器

              除了保護好用戶設備的安全性,網絡連接所用的路由器同樣如此。因此,安全起見,必須在路由器上安裝防火墻和防病毒軟件,并保持最新狀態。安全軟件不僅可以保護IP地址免遭盜竊,還可以警告設備上的任何網絡釣魚和間諜活動。通過這種方式,用戶可以隨時了解任何可疑活動。

              5. 使用強密碼

              大多數人都不會更改他們的互聯網連接設備的默認密碼,但實際上,默認密碼是最容易被解碼的。專家建議不定期更改設備密碼。創建高強度且唯一的密碼也是必不可少的,盡量不要選擇家庭成員的姓名和紀念日期等作為密碼。強密碼包括字符、數字、大寫和小寫字母的組合,破解起來難度很高。

              責任編輯:

              標簽:

              相關推薦:

              精彩放送:

              新聞聚焦
              Top 中文字幕在线观看亚洲日韩