-
當前位置:首頁 > 創(chuàng)意學院 > 景觀設計 > 專題列表 > 正文
設計本機ip(設定本機ip)
大家好!今天讓小編來大家介紹下關于設計本機ip的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。
創(chuàng)意嶺作為行業(yè)內優(yōu)秀的企業(yè),服務客戶遍布全球各地,相關業(yè)務請撥打電話:175-8598-2043,或添加微信:1454722008
文章目錄列表:
一、ip地址分類及網(wǎng)段有哪些?
A類IP地址 地址范圍1.0.0.0到127.255.255.255??捎玫腁類網(wǎng)絡有126個,每個網(wǎng)絡能容納1億多個主機。
B類IP地址地址范圍128.0.0.0-191.255.255.255??捎玫腂類網(wǎng)絡有16382個,每個網(wǎng)絡能容納6萬多個主機 。
C類IP地址范圍從192.0.0.0到223.255.255.255。C類網(wǎng)絡可達209萬余個,每個網(wǎng)絡能容納254個主機。
擴展資料:
特殊的網(wǎng)址
1、每一個字節(jié)都為0的地址(“0.0.0.0”)對應于當前主機;
2、IP地址中的每一個字節(jié)都為1的IP地址(“255.255.255.255”)是當前子網(wǎng)的廣播地址;
3、IP地址中凡是以“11110”開頭的E類IP地址都保留用于將來和實驗使用。
4、IP地址中不能以十進制“127”作為開頭,該類地址中數(shù)字127.0.0.1到127.255.255.255用于回路測試,如:127.0.0.1可以代表本機IP地址,用“http://127.0.0.1”就可以測試本機中配置的Web服務器。
5、網(wǎng)絡ID的第一個8位組也不能全置為“0”,全“0”表示本地網(wǎng)絡。
IP網(wǎng)絡段
IP地址根據(jù)網(wǎng)絡ID的不同分為5種類型,A類地址、B類地址、C類地址、D類地址和E類地址。
查找ip有個cmd命令:tracert 后面加ip地址,可以查所經過的路由!
局域網(wǎng)的IP
在一個局域網(wǎng)中,有兩個IP地址比較特殊,一個是網(wǎng)絡號,一個是廣播地址。網(wǎng)絡號是用于三層尋址的地址,它代表了整個網(wǎng)絡本身;另一個是廣播地址,它代表了網(wǎng)絡全部的主機。、網(wǎng)絡號是網(wǎng)段中的第一個地址,廣播地址是網(wǎng)段中的最后一個地址,這兩個地址是不能配置在計算機主機上的。
例如在192.168.0.0這樣的網(wǎng)段中,網(wǎng)絡號是192.168.0.0,廣播地址是192.168.0.255。
因此,在一個局域網(wǎng)中,能配置在計算機中的地址比網(wǎng)段內的地址要少兩個(網(wǎng)絡號、廣播地址),這些地址稱之為主機地址。在上面的例子中,主機地址就只有192.168.0.1至192.168.0.254可以配置在計算機上了。
IPV4和IPV6
現(xiàn)有的互聯(lián)網(wǎng)是在IPv4協(xié)議的基礎上運行的。IPv6是下一版本的互聯(lián)網(wǎng)協(xié)議,也可以說是下一代互聯(lián)網(wǎng)的協(xié)議,它的提出最初是因為隨著互聯(lián)網(wǎng)的迅速發(fā)展,IPv4定義的有限地址空間將被耗盡,而地址空間的不足必將妨礙互聯(lián)網(wǎng)的進一步發(fā)展。
為了擴大地址空間,擬通過IPv6以重新定義地址空間。IPv4采用32位地址長度,只有大約43億個地址,估計在2005~2010年間將被分配完畢,而IPv6采用128位地址長度,幾乎可以不受限制地提供地址。
按保守方法估算IPv6實際可分配的地址,整個地球的每平方米面積上仍可分配1000多個地址。在IPv6的設計過程中除解決了地址短缺問題以外,還考慮了在IPv4中解決不好的其它一些問題,主要有端到端IP連接、服務質量(QoS)、安全性、多播、移動性、即插即用等。
與IPv4相比,IPv6主要有如下一些優(yōu)勢。第一,明顯地擴大了地址空間。IPv6采用128位地址長度,幾乎可以不受限制地提供IP地址,從而確保了端到端連接的可能性。
第二,提高了網(wǎng)絡的整體吞吐量。由于IPv6的數(shù)據(jù)包可以遠遠超過64k字節(jié),應用程序可以利用最大傳輸單元(MTU),獲得更快、更可靠的數(shù)據(jù)傳輸,同時在設計上改進了選路結構,采用簡化的報頭定長結構和更合理的分段方法。
使路由器加快數(shù)據(jù)包處理速度,提高了轉發(fā)效率,從而提高網(wǎng)絡的整體吞吐量。第三,使得整個服務質量得到很大改善。報頭中的業(yè)務級別和流標記通過路由器的配置可以實現(xiàn)優(yōu)先級控制和QoS保障,從而極大改善了IPv6的服務質量。第四,安全性有了更好的保證。
采用IPSec可以為上層協(xié)議和應用提供有效的端到端安全保證,能提高在路由器水平上的安全性。第五,支持即插即用和移動性。設備接入網(wǎng)絡時通過自動配置可自動獲取IP地址和必要的參數(shù),實現(xiàn)即插即用,簡化了網(wǎng)絡管理,易于支持移動節(jié)點。
而且IPv6不僅從IPv4中借鑒了許多概念和術語,它還定義了許多移動IPv6所需的新功能。第六,更好地實現(xiàn)了多播功能。在IPv6的多播功能中增加了“范圍”和“標志”,限定了路由范圍和可以區(qū)分永久性與臨時性地址,更有利于多播功能的實現(xiàn)。
隨著互聯(lián)網(wǎng)的飛速發(fā)展和互聯(lián)網(wǎng)用戶對服務水平要求的不斷提高,IPv6在全球將會越來越受到重視。實際上,并不急于推廣IPv6,只需在現(xiàn)有的IPv4基礎上將32位擴展8位到40位,即可解決IPv4地址不夠的問題。這樣一來可用地址數(shù)就擴大了256倍。
參考資料:百度百科-IP地址
二、怎么實現(xiàn)(192.168.1.2-192.168.1.10) DNS是202.96.209.5或202.96.133 自動循環(huán)切換IP 高手指點
你這個批處理只是設置IP192.168.1.2 和DNS是202.96.209.133的功能,沒有別的功能,里面很多是無用提示代碼都可以刪除。 這批處理廢話老多了。
你如果要多個IP 換就準備多個上述批處理就好了。 自動切換 192.168.1.2~192.168.1.10是設計缺陷。 手動切換還差不多
三、用java 編寫一個可以實現(xiàn)IP地址查詢功能的課程設計
下面是獲得本機IP地址的方法,跟你的程序捆綁起來,互相發(fā)送消息的時候直接將IP發(fā)送過去
private static String[] getAllLocalHostIP(){
List<String> res=new ArrayList<String>();
Enumeration netInterfaces;
try {
netInterfaces = NetworkInterface.getNetworkInterfaces();
InetAddress ip = null;
while (netInterfaces.hasMoreElements()) {
NetworkInterface ni = (NetworkInterface) netInterfaces.nextElement();
Enumeration nii=ni.getInetAddresses();
while(nii.hasMoreElements()){
ip = (InetAddress) nii.nextElement();
if (ip.getHostAddress().indexOf(":") == -1) {
res.add(ip.getHostAddress());
}
}
}
} catch (SocketException e) {
e.printStackTrace();
}
return (String[])res.toArray(new String[0]);
}
這是個掃描局域網(wǎng)ip的windows解決方案,在unix系統(tǒng)下可能有問題
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.ArrayList;
public class LanIP {
public ArrayList<String> getLanIPArrayList() {
ArrayList<String> arrayIP = null;
try {
InitSystem initSystem = null;
initSystem = new InitSystem();
Thread thread = new Thread(initSystem);
thread.start();
thread.join();
arrayIP = initSystem.getArrayIPUsed();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
return arrayIP;
}
private class InitSystem implements Runnable {
private int firstIP = 2;// 查詢的 IP 地址的最后一位起始點
private int lastIP = 255;// 查詢的 IP 地址的最后一位結束點
private volatile ArrayList<Thread> arrayThread;// 子線程段
private final int MAXTHREADNUM = 30; // 最大同時進行的子線程數(shù)量
private int threadNumNow;// 當前正在進行的子線程數(shù)量
private volatile ArrayList<String> arrayIP;// 局域網(wǎng)查詢所有可能的 IP 地址的結果集
private volatile ArrayList<String> arrayIPUsed;// 局域網(wǎng)查詢已經使用的 IP 地址的結果集
private InitSystem(String ip) {
arrayIP = new ArrayList<String>();
arrayIPUsed = new ArrayList<String>();
arrayThread = new ArrayList<Thread>();
setIPAddressList(ip);
}
private InitSystem() throws UnknownHostException {
this(InetAddress.getLocalHost().getHostAddress());
}
private synchronized ArrayList<String> getArrayIPUsed() {
try {
while (arrayIP.size() > 0) {
Thread.sleep(300);
}
} catch (InterruptedException e) {
e.printStackTrace();
}
return arrayIPUsed;
}
private void setIPAddressList(String ip) {
// 根據(jù)這個 ip 地址查詢它所在的局域網(wǎng)的所有可能 IP 地址的集合
int lastPointIndex = ip.lastIndexOf('.');
String stringIPHead = ip.substring(0, ++lastPointIndex);
String stringIP = null;
for (int i = firstIP; i <= lastIP; i++) {
stringIP = stringIPHead + i;
arrayIP.add(stringIP);
}
}
public void run() {
synchronized (this) {
try {
while (arrayIP.size() > 0) {
while (threadNumNow >= MAXTHREADNUM) {
for (Thread thread : arrayThread) {
if (!thread.getState().equals(
Thread.State.TERMINATED)) {
thread.join(5);
}
--threadNumNow;
}
arrayThread = new ArrayList<Thread>();
}
Thread thread = new Thread(new InnerClass(arrayIP
.remove(0)));
thread.start();
threadNumNow++;
arrayThread.add(thread);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
private class InnerClass implements Runnable {
// 線程查詢一個 IP 是否是可以連接的 是則加入到相應的 IP 數(shù)組
private String ip;
private InnerClass(String ip) {
this.ip = ip;
}
private boolean isUsedIPAddress(String ip) {
synchronized (this) {
// 判斷這個 IP 地址在當前局域網(wǎng)中是否是可連接的 IP
Process process = null;
BufferedReader bufReader = null;
String bufReadLineString = null;
try {
process = Runtime.getRuntime().exec(
"ping " + ip + " -w 100 -n 1");
bufReader = new BufferedReader(new InputStreamReader(
process.getInputStream()));
for (int i = 0; i < 6 && bufReader != null; i++) {
bufReader.readLine();
}
bufReadLineString = bufReader.readLine();
if (bufReadLineString == null) {
process.destroy();
return false;
}
if (bufReadLineString.indexOf("timed out") > 0
|| bufReadLineString.length() < 17
|| bufReadLineString.indexOf("invalid") > 0) {
process.destroy();
return false;
}
} catch (IOException e) {
e.printStackTrace();
}
process.destroy();
return true;
}
}
public void run() {
synchronized (this) {
if (isUsedIPAddress(ip)) {
arrayIPUsed.add(ip);
}
}
}
}
}
}
四、ip地址分類并列舉
IP地址類型
最初設計互聯(lián)網(wǎng)絡時,為了便于尋址以及層次化構造網(wǎng)絡,每個IP地址包括兩個標識碼(ID),即網(wǎng)絡ID和主機ID。同一個物理網(wǎng)絡上的所有主機都使用同一個網(wǎng)絡ID,網(wǎng)絡上的一個主機(包括網(wǎng)絡上工作站,服務器和路由器等)有一個主機ID與其對應。IP地址根據(jù)網(wǎng)絡ID的不同分為5種類型,A類地址、B類地址、C類地址、D類地址和E類地址。
1. A類IP地址
一個A類IP地址由1字節(jié)的網(wǎng)絡地址和3字節(jié)主機地址組成,網(wǎng)絡地址的最高位必須是“0”, 地址范圍從1.0.0.0 到126.0.0.0。可用的A類網(wǎng)絡有126個,每個網(wǎng)絡能容納1億多個主機。
2. B類IP地址
一個B類IP地址由2個字節(jié)的網(wǎng)絡地址和2個字節(jié)的主機地址組成,網(wǎng)絡地址的最高位必須是“10”,地址范圍從128.0.0.0到191.255.255.255。可用的B類網(wǎng)絡有16382個,每個網(wǎng)絡能容納6萬多個主機 。
3. C類IP地址
一個C類IP地址由3字節(jié)的網(wǎng)絡地址和1字節(jié)的主機地址組成,網(wǎng)絡地址的最高位必須是“110”。范圍從192.0.0.0到223.255.255.255。C類網(wǎng)絡可達209萬余個,每個網(wǎng)絡能容納254個主機。
4. D類地址用于多點廣播(Multicast)。
D類IP地址第一個字節(jié)以“l(fā)ll0”開始,它是一個專門保留的地址。它并不指向特定的網(wǎng)絡,目前這一類地址被用在多點廣播(Multicast)中。多點廣播地址用來一次尋址一組計算機,它標識共享同一協(xié)議的一組計算機。
5. E類IP地址
以“l(fā)lll0”開始,為將來使用保留。
全零(“0.0.0.0”)地址對應于當前主機。全“1”的IP地址(“255.255.255.255”)是當前子網(wǎng)的廣播地址。
在IP地址3種主要類型里,各保留了3個區(qū)域作為私有地址,其地址范圍如下:
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
以上就是小編對于設計本機ip問題和相關問題的解答了,如有疑問,可撥打網(wǎng)站上的電話,或添加微信。
推薦閱讀:
如何網(wǎng)上自己申請商標(商標轉讓 中國商標網(wǎng))