A. sql bit類型賦值
Bit數據類型在SQL Server 資料庫中以存儲1、0 進行存儲。
如果它是連通的,那麼它連續同構於R或C(關於通常絕對值的拓撲);如果它是完全不連通的,那麼它就連續同構於 p進數域Qp的一個有限擴域,或者某個有限域K上的形式冪級數域 K((x))的有限擴域。
(1)sql拓撲查詢擴展閱讀:
實數(或復數)絕對值在任意域上的推廣。賦值這個概念最初是由J.屈爾沙克於1913年提出的。設φ是定義在任意域F上的一個取非負實數值的函數,並滿足以下三個條件:
①φ(α)=0,當且僅當α=0,並對某個α∈F有φ(α)≠1;
②φ(αb)=φ(α)φ(b)。
③φ(α+b)≤φ(α)+φ(b),J.屈爾沙克把這樣的φ稱為F上的一個賦值。
按照通行的叫法,後改稱之為F的絕對值。不久以後,A.奧斯特羅夫斯基引進了另一種絕對值φ,它滿足上述的①和②,以及,並把這種φ稱為非阿基米德絕對值,而把滿足①、②、③而不滿足④的那些φ稱為阿基米德絕對值。
B. 區域網內一台電腦建立了SQL資料庫,如何讓區域網內其它電腦連接使用
--訪問不同電腦上的資料庫(遠程只要聯好網就一樣)
--如果經常訪問或數據量大,建議用鏈接伺服器
--創建鏈接伺服器
exec sp_addlinkedserver 'srv_lnk','','SQLOLEDB','遠程伺服器名或ip地址'
exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'用戶名','密碼'
go
--查詢示例
select * from srv_lnk.資料庫名.dbo.表名
--導入示例
select * into 表 from srv_lnk.資料庫名.dbo.表名
go
--處理完成後刪除鏈接伺服器
exec sp_dropserver 'srv_lnk','droplogins'
C. SQL在數據檢查中的應用
關於SQL在數據檢查中的應用
結構化查詢語言SQL是工業標准資料庫操作語言,在實踐中得到了廣泛運用,下面是我為大家搜索整理了關於SQL在數據檢查中的應用,歡迎參考閱讀,希望對大家有所幫助。想了解更多相關信息請持續關注我們應屆畢業生培訓網!
矢量地形圖是地圖要素的數字化表示,主要由屬性數據、拓撲數據和元數據三部分組成。屬性數據用於描述地理實體的類別、等級等質量特徵和數量特徵,拓撲數據用於描述地圖上點、線、面狀要素之間關聯、鄰接、包含等空間關系,元數據則包含了數據和信息資源的描述性信息。境外判繪生成的矢量數據是按照地形圖作業規范規定的標准格式;其數據的正確性、完備性、規范性的檢查是十分重要的環節。若能對數據屬性進行分類顯示,即按照某一屬性項(編碼、名稱、編號等)分類和排序,將有共同屬性的地圖目標排列在一起,將會給屬性檢查帶來很大的便利。現有的檢查軟體都會進行屬性項檢查,但是這種檢查方式比較單一,不能自己定義查找方式,且操作比較繁瑣,所以需要尋找一種能對屬性數據進行快速查詢、分析的方法。
一、屬性數據文件記錄格式
屬性數據文件由點記錄、線記錄、面記錄三部分組成。點、線、面記錄各部分都有一個類首記錄和若干中間記錄,以文本方式存儲。
作業中使用的式矢量地形圖數據是嚴格按照生產記錄格式組織、存儲的,具有嚴謹規范的數據結構,很自然我們可以利用資料庫來實現屬性數據的查詢分析。
二、操作流程
要實現這一設想,方法有很多,可以利用EXCEL、ACCESS導入分析,也可以編程直接讀取屬性數據文件。筆者採用的方法是將屬性文件讀入MDB資料庫,利用SQL語言進行自定義查詢,並輸出結果的方式。流程圖如下:
按圖幅建立的mdb資料庫中為每個圖層建立一個數據表,用於存儲每層的.屬性數據。數據表的結構(欄位名稱、數據類型、長度等)應按照軍標格式設置,避免出現轉換時數據丟失。利用自編程序將屬性文件中的記錄逐個讀入資料庫,在查詢語句框中輸入SQL語句即可進行數據篩選。通過分類篩選,將同類地物放在一起比較,就可以很輕松的檢查出地物屬性是否存在遺漏和錯誤。若需輸出查詢結果,程序可根據相應的坐標文件生成err文件,以供在freescan中檢查修改。程序利用VB6.0+數據控制項的方式實現,主界面如下:
三、利用SQL實現屬性數據查詢分析
結構化查詢語言SQL是工業標准資料庫操作語言,是一種資料庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關系資料庫系統,在實踐中得到了廣泛運用。它以記錄集合作為操作對象,所有SQL語句接受集合作為輸入,返回集合作為輸出,這種集合特性允許一條SQL語句的輸出作為另一條SQL語句的輸入,所以SQL語句可以嵌套,這使他具有極大的靈活性和強大的功能。
SQL語言包含4個部分 數據定義語言(如CREATE、DROP、ALTER等語句)、數據操作語言(如INSERT、UPDATE、DELETE語句)、數據查詢語言(如SELECT語句)、數據控制語言(如GRANT、REVOKE、COMMIT、ROLLBACK等語句)。我們最常用到的SQL包括選擇列表、FROM子句和WHERE子句,它們分別說明所查詢列、查詢的表、以及搜索條件等。
通過SQL語句的組合可以實現更多復雜的查詢,實現對數據的分析與篩選。
如進行獨立房與街區名稱指針的掛接SQL語句:
SELECT * FROM 居民地C WHERE (居民地C.注記編號=Any (select 注記編號 from 居民地C where 居民地C.編碼=130204)) and 注記編號<>0 and 編碼=130201;
這是查找街道名未掛指針的SQL語句:
SELECT * FROM 注記R
WHERE 注記R.編碼=280338 and (注記R.注記號 NOT in (select 陸地交通D.注記編號 from 陸地交通D));
通過修改SQL語句就可以非常靈活的實現各種查詢和篩選。為了方便操作,還可以將各種條件的查詢語句存放在一個文本文件中,隨時調用。
本文主要介紹了利用SQL語句在資料庫中對矢量地形圖屬性數據進行分析檢查的一種方法,這種方法在往年的數據入庫中是可行的,且在一定程度上提高了作業效率。在當前進行境外數字判繪過程中,需要我們通過實踐不斷總結和探索新的更有效的作業方法,高質量、高效率圓滿完成任務。
;D. sql server 2014拓撲同步嗎
針對SQL Server 2005版本,來說一下它的性能。從中,我們能更具體的了解到這個版本的特點以及和負載均衡相關的內容介紹。
Sql Server 2005的新特性
端到端拓撲的事務性復制
SQL Server 2005對端到端(P2P)拓撲結構上事務性的復制加強了支持。P2P的拓撲結構支持無限的發布伺服器,它們彼此之間可以互相交換事務。
P2P拓撲是SQL Server的一個巨大進步。現在,多端點伺服器可以更改數據,並且向其他的發布者復制事務。這就是說,訂閱伺服器不再被限制在主要的報告環境中,可以通過事務性負載全球共享的方式將伺服器分布開來。當用戶的數量增加的時候,只要簡單地向這個群體中添加伺服器即可。
除了將負載分布之外,這個拓撲結構還增加了可用性。如果任何一個點的伺服器不可達,則池中其他伺服器就會共享這個負載,因為每個伺服器都有其他所有伺服器上可獲得的全部數據集合。
資料庫鏡像和快照
SQL Server 2005引入了資料庫鏡像的概念,來幫助獲得高可用性。特別提醒的是,只要它正式發布了,資料庫鏡像就可以在SQL Server 2005上使用。然而,只有到SQL Server 2005 Service Pack 1才會支持鏡像。
資料庫快照是SQL Server 2005中引入的另一項特性。快照是某一個時間點上的資料庫的克隆。只要對鏡像資料庫進行了快照,就可以讓用戶查詢快照。快照的生成通常只需要幾秒鍾,因為它實際上在這個過程中並沒有拷貝任何數據。因此,要把負載分布到主伺服器和備用伺服器上,就可以將資料庫做鏡像,然後階段性地對備份伺服器進行快照。而且還可以使用快照在主伺服器上進行報告。
E. 干貨分享|優炫資料庫支持多業務場景(二)
上期分享中,我們介紹優炫資料庫支持的數據存儲方式。
戳: 干貨分享 優炫資料庫支持多業務場景
本期,我們來講講優炫資料庫支持的多種數據類型。
基本數據類型存儲與管理
優炫資料庫擁有完備的數據類型,內置數據類型包括 數字類型、貨幣類型、字元類型、日期/時間類型、布爾類型、枚舉類型、網路地址類型、位串類型、文本搜索類型等, 支持使用 serial 類型創建表自增列。
通常為了加快指定過濾條件下從表中查詢數據的速度,可以為表的某個欄位或某幾個欄位建立索引。資料庫對基本數據提供多種索引類型:B-tree、Hash、GIN(倒排序索引)和 BRIN(資料庫塊范圍索引)。每一種索引類型使用了一種不同的演算法來適應不同類型的查詢。 默認情況下, CREATE INDEX命令創建適合於大部分情況的B-tree索引。
XML/JSON數據類型存儲與管理
優炫資料庫內置半結構化XML、JSON、JSONB數據類型。
xml數據類型可以被用來存儲XML數據,它比直接在一個text域中存儲XML數據的優勢在於,它會檢查輸入值的結構是不是良好,並且有支持函數用於在其上執行類型安全的操作。xml類型可以存儲結構良好(如XML標准所定義)的「文檔」,以及「內容」片段,它們由XML標准所定義,這意味著內容片段中可以有多於一個的頂層元素或字元節點。通過表達式來評估一個特定的xml值是一個完整文檔或者僅僅是一個文檔片段。
JSON類型強制檢查數據有效性,使用專門的操作符和內置函數操作數據,保留空格,重復鍵和順序等。JSONB是解析輸入後保存的二進制數據,刪除了數據中的空格、調整了順序、優化了存儲、保留最後一個重復鍵值,可被索引。和 JSON 一樣,JSONB支持嵌入式的文檔和數組。JSONB 由若干個鍵值對存儲為單個實體,這種實體稱為文檔。 JSONB具有以下幾個特性:輕量級(Lightweight),可遍歷性(Traversable),高效性(Efficient)。 由於所需存儲更小,JSONB通常是首選格式。兩者區別在於:JSON類型寫快讀慢,JSONB類型寫慢讀快,支持SQL/JSON路徑語言。此外,資料庫支持對這兩類數據的全文檢索。
GIS空間類型存儲與管理
優炫資料庫支持GIS的地理信息應用,支持PostGIS、ArcGIS、超圖,支持OpenGIS聯盟(開放地理信息系統,OGC)抽象數據類型的SQL3規范,提供對地理矢量數據、3D模型、線性參考數據的組織、存儲、空間索引和管理。
Geometry(幾何對象類型)是優炫資料庫的一個基本存儲類型, 空間數據都會以Geometry的形式存儲在資料庫里,本質是個二進制對象。使用OGC推薦的WKT(Well-Known Text)和WKB(Well-Known Binary)格式進行描述,大幅增加了易用性,WKT與WKB基本數據類型(矢量數據)包括:
l 點 (POINT):例如POINT(0 0);
l 線 (LINESTRING):例如LINESTRING(0 0,1 1,1 2)
l 面 (POLYGON多邊形):例如POLYGON((0 0,4 0,4 4,0 4,0 0)) 簡單多邊形,例如POLYGON((0 0,4 0,4 4,0 4,0 0),(1 1, 2 1, 2 2, 1 2,1 1)) 多邊形有一個內部的"孔洞(hole)";
l 多點 (MULTIPOINT):例如MULTIPOINT((0 0),(1 2));
l 多線 (MULTILINESTRING):例如MULTILINESTRING((0 0,1 1,1 2),(2 3,3 2,5 4));
l 多面 (MULTIPOLYGON):例如MULTIPOLYGON(((0 0,4 0,4 4,0 4,0 0),(1 1,2 1,2 2,1 2,1 1)), ((-1 -1,-1 -2,-2 -2,-2 -1,-1 -1)));
l 幾何集合 (GEOMETRYCOLLECTION):例如GEOMETRYCOLLECTION(POINT(2 3),LINESTRING(2 3,3 4))。
柵格空間數據類型raster用於表示jpeg,tiff,png,DEM模型這樣文件格式的數據。每一個柵格至少有1個波段,每個波段又有一系列像素值,柵格數據是轉換成地理坐標的。可以從資料庫外部導入已有柵格數據,也可在資料庫內創建柵格數據。下面是一個在資料庫內部創建柵格數據的示例:
拓撲類型和函數用於管理拓撲結構,比如面、邊界和點。
創建一個帶有柵格記錄的柵格列的表可以用下面的SQL完成:
如果創建的柵格不依賴於其他柵格,那麼可以使用函數:
ST_MakeEmptyRaster,接著使用ST_AddBand添加柵格數據。也可以使用geometry對象來創建柵格你需要使用函數ST_AsRaster。可能還需要和其他函數比如函數ST_Union 或函數 ST_MapAlgebraFct 或者其他地圖代數系列函數聯合使用。甚至還有一些根據一些已經存在的柵格表創建新的柵格表的可選函數。例如可以使用函數ST_Transform 根據一個已有的柵格表在其他投影系中創建一個新的柵格表。然後通過下SQL命令創建一個空間索引:
通過空間索引R-Tree實現空間數據查詢和操作,R-Tree將數據分解為矩形(rectangle)、子矩形(sub-rectangle)和子-子矩形(sub-sub rectangle)等。它是一種可自動處理可變數據的密度和對象大小的自調優(self-tuning)索引結構。
圖數據存儲與管理
圖數據以圖關系這種數據結構存儲,把圖數據的頂點和邊信息存儲到關系型數據類型中,這些信息包括:
l 頂點(Vertices):一個實體一個頂點,一個實體可以有多個屬性。
l 邊(Edges):兩個實體之間的連接線。
l 屬性:實體和邊都可以有多個屬性。形象舉個例子,一個實體對應關系表中一行記錄,一個實體的屬性代表關系表中這行記錄的所有欄位和值構成的鍵值對。
在優炫資料庫中圖數據通過關系型數據進行存儲,這些數據與圖模型中的數據相對應。例如通過下SQL語句建立存儲圖數據的表:
然後新增加數據,後續就可以根據這些數據進行圖相關的計算和分析了。
時序數據存儲與管理
時序數據存儲和管理,通過把時序數據存儲到關系型數據類型中。時序數據是指時間序列數據。時間序列數據是同一統一指標按時間順序記錄的數據列。在同一數據列中的各個數據必須是同口徑的,要求具有可比性。時序數據可以是時期數,也可以時點數。時間序列分析的目的是通過找出樣本內時間序列的統計特性和發展規律性,構建時間序列模型,進行樣本外預測。
文檔/圖片/視頻類型存儲與管理
優炫資料庫可存儲任意未知具體內容的圖片、聲音、視頻等非結構化數據,支持 GB 級大對象數據類型與流式數據訪問。可藉助於資料庫圖形化管理工具、應用程序、第三方工具等查看這些非結構化數據。根據業務需要也可藉助資料庫插件讀取或識別這些非結構化數據的內容用於數據分析。
優炫資料庫支持多種二進制數據類型,包括:Bytea、OID、Blob、raw、Varbinary、Longvarbinary。
自定義數據類型存儲與管理
優炫資料庫可自定義數據類型、索引、函數等資料庫對象。 新增加的數據類型可以是新數據類型,也可以是已知幾個數據類型的復合數據類型。
模分析型資料庫用戶可在資料庫中使用CREATE TYPE或CREATE DOMAIN命令增加新的數據類型;可通過自定義函數或存儲過程對數據進行各種處理。
CREATE TYPE在當前資料庫中注冊一種新的數據類型,定義數據類型的用戶將成為它的擁有者。五種形式的CREATE TYPE,它們分別創建組合類型、枚舉類型、 范圍類型、基礎類型或者 shell 類型。shell 類型僅僅是一種用於後面要定義的類型的佔位符,通過發出一個不帶除類型名之外其他參數的CREATE TYPE命令可以創建這種類型。在創建范圍類型和基礎類型時,需要 shell 類型作為一種向前引用。
CREATE DOMAIN創建一個新的域。 域本質上是一種帶有可選約束(在允許的值集合上的限制)的數據類型。域主要被用於把欄位上的常用約束抽象到一個單一的位置以便維護。例如,幾個表可能都包含電子郵件地址列,而且都要求相同的 CHECK 約束來驗證地址的語法。可以為此定義一個域,而不是在每個表上都單獨設置一個約束。
F. sql的七層及每層的作用
OSI分層模型。
┌—————┐
│ 應用層 │←第七層
├—————┤
│ 表示層 │
├—————┤
│ 會話層 │
├—————┤
│ 傳輸層 │
├—————┤
│ 網路層 │
├—————┤
│數據鏈路層│
├—————┤
│ 物理層 │←第一層
└—————┘
OSI七層參考模型
OSI模型的七層分別進行以下的操作:
第一層:物理層
負責最後將信息編碼成電流脈沖或其它信號用於網上傳輸。它由計算機和網路介質之間的實際界面組成,可定義電氣信號、符號、線的狀態和時鍾要求、數據編碼和數據傳輸用的連接器。如最常用的RS-232規范、10BASE-T的曼徹斯特編碼以及RJ-45就屬於第一層。所有比物理層高的層都通過事先定義好的介面而與它通話。如乙太網的附屬單元介面(AUI),一個DB-15連接器可被用來連接層一和層二。
第二層:數據鏈路層
通過物理網路鏈路提供可靠的數據傳輸。不同的數據鏈路層定義了不同的網路和協議特徵,其中包括物理編址、網路拓撲結構、錯誤校驗、幀序列以及流控。物理編址(相對應的是網路編址)定義了設備在數據鏈路層的編址方式;網路拓撲結構定義了設備的物理連接方式,如匯流排拓撲結構和環拓撲結構;錯誤校驗向發生傳輸錯誤的上層協議告警;數據幀序列重新整理並傳輸除序列以外的幀;流控可能延緩數據的傳輸,以使接收設備不會因為在某一時刻接收到超過其處理能力的信息流而崩潰。數據鏈路層實際上由兩個獨立的部分組成,介質存取控制(Media Access Control,MAC)和邏輯鏈路控制層(Logical Link Control,LLC)。MAC描述在共享介質環境中如何進行站的調度、發生和接收數據。MAC確保信息跨鏈路的可靠傳輸,對數據傳輸進行同步,識別錯誤和控制數據的流向。一般地講,MAC只在共享介質環境中才是重要的,只有在共享介質環境中多個節點才能連接到同一傳輸介質上。IEEE MAC規則定義了地址,以標識數據鏈路層中的多個設備。邏輯鏈路控制子層管理單一網路鏈路上的設備間的通信,IEEE 802.2標準定義了LLC。LLC支持無連接服務和面向連接的服務。在數據鏈路層的信息幀中定義了許多域。這些域使得多種高層協議可以共享一個物理數據鏈路。
第三層:網路層
負責在源和終點之間建立連接。它一般包括網路尋徑,還可能包括流量控制、錯誤檢查等。相同MAC標準的不同網段之間的數據傳輸一般只涉及到數據鏈路層,而不同的MAC標准之間的數據傳輸都涉及到網路層。例如IP路由器工作在網路層,因而可以實現多種網路間的互聯。
第四層:傳輸層
向高層提供可靠的端到端的網路數據流服務。傳輸層的功能一般包括流控、多路傳輸、虛電路管理及差錯校驗和恢復。流控管理設備之間的數據傳輸,確保傳輸設備不發送比接收設備處理能力大的數據;多路傳輸使得多個應用程序的數據可以傳輸到一個物理鏈路上;虛電路由傳輸層建立、維護和終止;差錯校驗包括為檢測傳輸錯誤而建立的各種不同結構;而差錯恢復包括所採取的行動(如請求數據重發),以便解決發生的任何錯誤。傳輸控制協議(TCP)是提供可靠數據傳輸的TCP/IP協議族中的傳輸層協議。
第五層:會話層
建立、管理和終止表示層與實體之間的通信會話。通信會話包括發生在不同網路應用層之間的服務請求和服務應答,這些請求與應答通過會話層的協議實現。它還包括創建檢查點,使通信發生中斷的時候可以返回到以前的一個狀態。
第六層:表示層
提供多種功能用於應用層數據編碼和轉化,以確保以一個系統應用層發送的信息可以被另一個系統應用層識別。表示層的編碼和轉化模式包括公用數據表示格式、性能轉化表示格式、公用數據壓縮模式和公用數據加密模式。
公用數據表示格式就是標準的圖像、聲音和視頻格式。通過使用這些標准格式,不同類型的計算機系統可以相互交換數據;轉化模式通過使用不同的文本和數據表示,在系統間交換信息,例如ASCII(American Standard Code for Information Interchange,美國標准信息交換碼);標准數據壓縮模式確保原始設備上被壓縮的數據可以在目標設備上正確的解壓;加密模式確保原始設備上加密的數據可以在目標設備上正確地解密。
表示層協議一般不與特殊的協議棧關聯,如QuickTime是Applet計算機的視頻和音頻的標准,MPEG是ISO的視頻壓縮與編碼標准。常見的圖形圖像格式PCX、GIF、JPEG是不同的靜態圖像壓縮和編碼標准。
第七層:應用層
最接近終端用戶的OSI層,這就意味著OSI應用層與用戶之間是通過應用軟體直接相互作用的。注意,應用層並非由計算機上運行的實際應用軟體組成,而是由向應用程序提供訪問網路資源的API(Application Program Interface,應用程序介面)組成,這類應用軟體程序超出了OSI模型的范疇。應用層的功能一般包括標識通信夥伴、定義資源的可用性和同步通信。因為可能丟失通信夥伴,應用層必須為傳輸數據的應用子程序定義通信夥伴的標識和可用性。定義資源可用性時,應用層為了請求通信而必須判定是否有足夠的網路資源。在同步通信中,所有應用程序之間的通信都需要應用層的協同操作。
OSI的應用層協議包括文件的傳輸、訪問及管理協議(FTAM) ,以及文件虛擬終端協議(VIP)和公用管理系統信息(CMIP)等。
G. 內部網路路由器的地址是192.168.254.1,sql資料庫伺服器的地址是192.168.254.101,
網路資料,僅供參考,復制一段可從網上搜到。希望能幫你!
靜態路由表配置實例
當一個區域網內存在2台以上的路由器時,由於其下主機互訪的需求,往往需要設置路由。由於網路規模較小且不經常變動,所以靜態路由是最合適的選擇。
隨著寬頻接入的普及,很多家庭和小企業都組建了區域網來共享寬頻接入。而且隨著區域網規模的擴大,很多地方都涉及到2台或以上路由器的應用。當一個區域網內存在2台以上的路由器時,由於其下主機互訪的需求,往往需要設置路由。由於網路規模較小且不經常變動,所以靜態路由是最合適的選擇。
本文作為一篇初級入門類文章,會以幾個簡單實例講解靜態路由,並在最後講解一點關於路由匯總(歸納)的知識。由於這類家庭和小型辦公區域網所採用的一般都是中低檔寬頻路由器,所以這篇文章就以最簡單的寬頻路由器為例。(其實無論在什麼檔次的路由器上,除了配置方式和命令不同,其配置靜態路由的原理是不會有差別的。)常見的1WAN口、4LAN口寬頻路由器可以看作是一個最簡單的雙以太口路由器+一個4口小交換機,其WAN口接外網,LAN口接內網以做區分。
路由就是把信息從源傳輸到目的地的行為。形象一點來說,信息包好比是一個要去某地點的人,路由就是這個人選擇路徑的過程。而路由表就像一張地圖,標記著各種路線,信息包就依靠路由表中的路線指引來到達目的地,路由條目就好像是路標。在大多數寬頻路由器中,未配置靜態路由的情況下,內部就存在一條默認路由,這條路由將LAN口下所有目的地不在自己區域網之內的信息包轉發到WAN口的網關去。寬頻路由器只需要進行簡單的WAN口參數的配置,內網的主機就能訪問外網,就是這條路由在起作用。本文將分兩個部分,第一部分講解靜態路由的設置應用,第二部分講解關於路由歸納的方法和作用。
下面就以地瓜這個網路初學者遇到的幾個典型應用為例,讓高手大蝦來說明一下什麼情況需要設置靜態路由,靜態路由條目的組成,以及靜態路由的具體作用。
例一:最簡單的串連式雙路由器型環境
這種情況多出現於中小企業在原有的路由器共享Internet的網路中,由於擴展的需要,再接入一台路由器以連接另一個新加入的網段。而家庭中也很可能出現這種情況,如用一台寬頻路由器共享寬頻後,又加入了一台無線路由器滿足無線客戶端的接入。
地瓜:公司里原有一個區域網LAN 1,靠一台路由器共享Internet,現在又在其中添加了一台路由器,下掛另一個網段LAN 2的主機。經過簡單設置後,發現所有主機共享Internet沒有問題,但是LAN 1的主機無法與LAN 2的主機通信,而LAN 2的主機卻能Ping通LAN 1下的主機。這是怎麼回事?
大蝦:這是因為路由器隔絕廣播,劃分了廣播域,此時LAN 1和LAN 2的主機位於兩個不同的網段中,中間被新加入的路由器隔離了。所以此時LAN 1下的主機不能「看」到LAN 1里的主機,只能將信息包先發送到默認網關,而此時的網關沒有設置到LAN 2的路由,無法做有效的轉發。這種情況下,必須要設置靜態路由條目。此種網路環境的拓撲示意如下:
(註:圖中省略了可能存在的交換層設備)
如圖一所示,LAN 1為192.168.0.0這個標准C類網段,路由器R1為原有路由器,它的WAN口接入寬頻,LAN口(IP為192.168.0.1)掛著192.168.0.0網段(子網掩碼255.255.255.0的C類網)主機和路由器R2(新添加)的WAN口(IP為192.168.0.100)。R2的LAN口(IP為192.168.1.1)下掛著新加入的LAN 2這個192.168.1.0的C類不同網段的主機。
如果按照共享Internet的方式簡單設置,此時應將192.168.0.0的主機網關都指向R1的LAN口(192.168.0.1),192.168.1.0網段的主機網關指向R2的LAN口(192.168.1.1),那麼只要R2的WAN口網關指向192.168.0.1,192.168.1.0的主機就都能訪問192.168.0.0網段的主機並能通過寬頻連接上網。這是因為前面所說的寬頻路由器中一條默認路由在起作用,它將所有非本網段的目的IP包都發到WAN口的網關(即路由器R1),再由R1來決定信息包應該轉發到它自己連的內網還是發到外網去。但是192.168.0.0網段的主機網關肯定要指向192.168.0.1,而R1這時並不知道192.168.1.0這個LAN 2的正確位置,那麼此時只能上網以及本網段內的互訪,不能訪問到192.168.1.0網段的主機。這時就需要在R1上指定一條靜態路由,使目的IP為192.168.1.0網段的信息包能轉發到路由器R2去。
一條靜態路由條目一般由3部分組成:1.目的IP地址或者叫信宿網路、子網;2.子網掩碼;3.網關或叫下一跳。
例一中R1上設定的靜態路由條目就應該為:目的IP地址192.168.1.0(代表1.x這個網段),子網掩碼255.255.255.0(因為是C類網段),下一跳192.168.0.100。如圖2,此圖為TP-LINK R410中的靜態路由表配置項,保存後即可生效。如果是Cisco的路由器,則在全局配置模式下鍵入命令:Router(config)# ip route 192.168.1.0 255.255.255.0 192.168.0.100。
注意:其中的網關IP必須是與WAN或LAN口屬於同一個網段。那條默認路由寫出來就是:目的IP為 0.0.0.0,子網掩碼0.0.0.0,下一跳為WAN口上的默認網關,有時我們也稱它為「8個0的默認路由」。另外,如果目的IP是一個具體的主機IP(如192.168.1.2),那麼路由條目應為:目的IP 192.168.1.2,子網掩碼255.255.255.255,下一跳或網關192.168.0.100。
使用此種連接方式,還可以方便的使用路由器內置的訪問控制列表來設置LAN 2下主機的訪問許可權,這對企業用戶而言還是很方便的。寬頻路由器中的「防火牆設置」其實就是一個簡化的訪問控制列表,即ACL- Access Control Lists。如:希望區域網LAN 2中IP地址為192.168.1.7的計算機不能收發郵件,IP地址為192.168.1.8的計算機不能訪問企業內部位於LAN 1的ERP伺服器(假設其IP為192.168.0.10),對區域網中的其它計算機則不做任何限制,這時您需要指定如下的數據包過濾表,如圖:
一條靜態路由條目一般由3部分組成:1.目的IP地址或者叫信宿網路、子網;2.子網掩碼;3.網關或叫下一跳。
例一中R1上設定的靜態路由條目就應該為:目的IP地址192.168.1.0(代表1.x這個網段),子網掩碼255.255.255.0(因為是C類網段),下一跳192.168.0.100。如圖2,此圖為TP-LINK R410中的靜態路由表配置項,保存後即可生效。如果是Cisco的路由器,則在全局配置模式下鍵入命令:Router(config)# ip route 192.168.1.0 255.255.255.0 192.168.0.100。
注意:其中的網關IP必須是與WAN或LAN口屬於同一個網段。那條默認路由寫出來就是:目的IP為 0.0.0.0,子網掩碼0.0.0.0,下一跳為WAN口上的默認網關,有時我們也稱它為「8個0的默認路由」。另外,如果目的IP是一個具體的主機IP(如192.168.1.2),那麼路由條目應為:目的IP 192.168.1.2,子網掩碼255.255.255.255,下一跳或網關192.168.0.100。
使用此種連接方式,還可以方便的使用路由器內置的訪問控制列表來設置LAN 2下主機的訪問許可權,這對企業用戶而言還是很方便的。寬頻路由器中的「防火牆設置」其實就是一個簡化的訪問控制列表,即ACL- Access Control Lists。如:希望區域網LAN 2中IP地址為192.168.1.7的計算機不能收發郵件,IP地址為192.168.1.8的計算機不能訪問企業內部位於LAN 1的ERP伺服器(假設其IP為192.168.0.10),對區域網中的其它計算機則不做任何限制,這時您需要指定如下的數據包過濾表,如圖:
例二:兩台平級並連的路由器,下掛子網中主機需要互相通信的環境
這種情況,兩台平行並連的路由器上層應該還有一個總的出口網關,而這個網關有可能因某種原因不便設置路由,而此時網路中存在3個不同的網段。
地瓜:我家是小區共享型的寬頻接入,我自己用一台寬頻路由器構建了一個家庭區域網以共享Internet,正好鄰居也跟我一樣用寬頻路由器構建了另一個家庭區域網。而我們各自區域網內的主機之間卻不能互相通信,根本ping不通,這是怎麼回事?
大蝦:這種情況下整個小區其實就是一個大的區域網,主機不能互通的原因,其實跟例一中LAN 1不能ping通LAN 2的原因一樣,都是因為上層的默認網關不知道目的IP所屬網段的正確位置,無法做有效轉發所致。這種環境的典型示意圖如下:
圖中內網網關就是小區的網關,R1和R3分別為兩戶的寬頻路由器,它們之間一般通過樓層的接入交換機和小區的骨幹交換機連接在一起,此圖省略了這一部分。圖4的這種情況,只要在網關設備上按例一的方式添加兩條路由就能實現兩個子網中主機的互訪,而且其10.0.0.0這個A類網段中存在的主機也都能通過這兩條路由訪問到R1和R3下的內網機。但是如果是小區的網關設備,那肯定是不會讓用戶隨便配置路由條目的,而且你應該也不想小區內的所有用戶都能直接訪問到你的內網主機。這時,我們可以在R1和R3上各添加一條路由指向對方來實現R1和R3下主機直接互訪的效果。
在R1上:目的IP地址172.16.0.0,子網掩碼255.255.0.0(B類網段),下一跳10.1.1.3。
在R3上:目的IP地址192.168.0.0,子網掩碼255.255.255.0(C類網段),下一跳10.1.1.2。
註:有些新型小區中使用了P-VLAN技術,這種網路的情況比較復雜,這樣上面簡單的靜態路由設置有可能無法達到目的。
例三:既串且並,網路中有多級路由設備的環境。
這種情況可以說是例一和例二兩種應用的整合和延伸,看似復雜其實簡單。
地瓜:如果像例二中那樣的環境中,我家裡的區域網再添置一個路由器,下掛另一個網段以做擴展,那要怎麼設置呢?
大蝦:你說的這種網路結構,確實就是將例一和例二合在一起了。這時一共有4個網段並存,我們的設置是要讓兩戶家庭區域網下的3個子網內主機能夠互通,而此時小區的網關當然還是不能去設置的。其拓撲示意圖如下:
可以看到圖5就是將圖1和圖4整合在一起了。既然拓撲圖是例一、例二的結合,那將例一、例二中的路由條目加在一起是不是就可以了呢?當然也不是這么簡單,如果只是配置了前兩例的路由條目,R3下的主機是無法直接訪問到R2下的192.168.1.0這個子網的。所以在R3上還要加一條到192.168.1.0這個子網的路由。靜態路由條目配置如下:
R1:目的IP地址192.168.1.0,子網掩碼255.255.255.0,下一跳192.168.0.100。
目的IP地址172.16.0.0,子網掩碼255.255.0.0,下一跳10.1.1.3。
R3:目的IP地址192.168.0.0,子網掩碼255.255.255.0,下一跳10.1.1.2。
目的IP地址192.168.1.0,子網掩碼255.255.255.0,下一跳10.1.1.2。
地瓜:為何R3中第二條路由的下一跳不是直接指向R2,而是也指向R1呢?
大蝦:就知道你會問這個,這個問題要從路由器間通信的原理來講解。路由器是通過ARP解析協議來獲得下一跳路由器的MAC地址,而ARP基於廣播,在一般情況下路由器是不會轉發廣播,也就是廣播包無法過路由。所以對於路由器R3來講,R1和R3才是同等級的,它只能看到R1,不能看到R2,這就是為何在例一的注意中提到:「其中的網關IP必須是與WAN或LAN口屬於同一個網段」的原因。而文中所說的靜態路由條目組成的第3部分:網關又叫下一跳,而不叫下兩跳、下三跳也是這個意思。總之,在一般情況下,下一跳路由的IP地址肯定要跟這個路由器的某個介面是在同一個網段的。
本篇文章下面的部分將講解關於路由匯總(或叫路由歸納)的知識。
上面例三中R3上的靜態路由條目,其實可以寫成一條:目的IP地址192.168.0.0,子網掩碼255.255.0.0(不再是C類子網的掩碼),下一跳10.1.1.2。這時192.168.0.0,掩碼255.255.0.0這個網段不能稱為C類或B類的子網了,由於它超過了本身C類網段的范圍,所以可以稱它是一個超網。這個網段包含了192.168.0.0~192.168.255.0所有的子網。也就是說,這條靜態路由會使所有目的IP在這個范圍內的信息包,都發給10.1.1.2的路由器R1。將多條子路由條目匯總成一條都包含其內的總路由條目,這就是路由匯總或叫路由歸納。路由器在檢查計算路由時是比較消耗資源的,路由條目越多,路由表越長,則這個過程耗時越多,所以通過路由匯總減少路由表的長度,對提高路由器工作效率是很有幫助的。雖然在舉例中的這種只有幾個路由器的小網路中起到的作用有限,但是如果是幾十、幾百甚至上千、上萬個路由器的大型網路中,路由歸納起到的作用就非常明顯了,可以說不使用路由歸納是不可想像的。
例四:
例三最後的那條歸納路由雖然包含了R1下所有的兩個子網(192.168.0.0和192.168.1.0),但是也包含了R1下實際上並不存在的一些子網(192.168.2.0~192.168.255.0)。如果在整個區域網中別的路由器下還存在這些子網(如圖6,R4下存在192.168.2.0子網),那麼路由就會出錯了,所以這條匯總路由是一條不精確的匯總。
我們都知道IPv4的地址是由4段8位的二進制數組成,一部分是網路位,一部分是主機位。其對應的子網掩碼網路位部分就是全1的二進制數,而主機位就是全0的二進制數。每個信息包在過路由器時會檢查其目的IP,和路由表中路由條目的子網掩碼做「與」運算,並與路由條目中目的IP進行比對,相同的就按照這條路由規則轉發,不相同的就再檢查比對下一條。可以看出我們做的匯總路由的操作,就是將多條路由條目中目的IP相同的網路位提取出來寫成一條。而例三中的匯總路由之所以不精確就是因為相同部分未能全部提出來。
如例三中,R3上的第一條:目的IP為192.168.0.0;第二條:目的IP為192.168.1.0。我們只提取了前面的兩段192.168,而後面的第三段網路位中還是有相同的部分的。192.168.0.0中第三段寫成二進制數為00000000(8位0),182.168.1.0中第三段寫成二進制數為00000001(7位0,1位1),那麼它們的前7位是相同的,在對應的子網掩碼位置上就應該是11111110(7位1,1位0),合成十進制為254。所以這條匯總路由應該寫成:目的IP為192.168.0.0,子網掩碼255.255.254.0,下一跳10.1.1.2。這樣,這條匯總路由只包含192.168.0.0和192.168.1.0兩個子網,是一條精確的匯總路由。如圖6中,R3下172.16.0.0的主機發送到192.168.2.0網段的信息包,其第三段網路位寫成二進制為00000010(前6位0),就不包含在這條精確的匯總路由內了。
這時我們在R3上靜態路由條目應該為:
1.目的IP地址192.168.0.0,子網掩碼255.255.254.0,下一跳10.1.1.2。
2.目的IP地址192.168.2.0,子網掩碼255.255.255.0,下一跳10.1.1.4。
我們在進行路由匯總時應該盡量使用精確的匯總條目,本著能匯總的條目就匯總,不能精確匯總的條目就不匯總的原則。這樣在網路以後的擴展和變動時能更有條理的增改路由表,減少出錯的幾率。
總結:
靜態路由因為其設置簡單明了,在不常變動的網路中穩定性好,排錯也相對容易,所以在中小企業甚至一些大型的園區網中也都使用靜態路由,它在實際應用中是很常見的,屬於網路工作人員必會的基礎知識。如文中所述,靜態路由的設置原理是比較簡單的,但可以說它是學習各種路由協議的基礎,屬於學習路由知識時必學的部分。另外,在越復雜越大的網路中,匯總路由的效果就越顯著,而能不能進行有效的路由匯總、匯總的效率如何,都跟網路結構中IP地址網段的分布有密切關系。IP地址的部署越連續而有條理,則路由匯總越容易也越有效,所以我們在部署網路時應該重視體系化編址。(註:在子網環境中,當網路地址是以2的指數形式的連續區塊時,路由歸納是最有效的。)
H. 試驗說明
下面以具體試驗來說明,由演算法生成的大連灣區域土地利用應用本體實例,如圖5.42 所示,描述了大連灣地區土地利用方面的信息,包含空間數據和非空間數據的語義信息,圖 5.42 是對應土地利用本體的樹狀結構圖。本體構建過程參照 《國家資源環境遙感宏觀調查土地資源分類系統》和中國科學院地理科學與資源研究所數據中心土地利用本體分類體系。敬枝脊
當用戶提出查找在大連灣東北方向,並位於大連灣50 km 內包含湖泊的所有林地地理實體時,此查詢語句較為復雜包括方位關系(大連灣東北方向)、距離關系(大連灣 50km 內)、拓撲關系(林地包含湖泊)和語義關系(林地是有林地、灌木林、疏林地和宜林地的父類)。傳統的方法很難實現這種復雜的查詢請求,通過創建 DALIAN Region 應用本體就可以很好的解決這種復雜的查詢請求。本試驗是基於 Jena 和 ArcServer 開發的,首先在伺服器端調用編寫的本體查詢函數(用 Jena 解析),利用應用本體實例中的空間語義關系進行推理。如圖 5.42 和圖 5.43,「有林地」、「灌木林」、「疏林地」和 「宜林地」是林地的子類,宜林地和草山草坡是同義關系,灌木林和疏林地是林間草地的父亮滲類。利用Jena 工具很容易就可以把對林地的查詢自動的推理到 「有林地」、「灌木林」、「疏林地」、「宜林地」、「草山草坡」和林間草地中去; 對空間關系的查詢,應用本體中已經描述了拓撲關系(Contain)、方位關系(EastNorth)和距離關系(11.7,36.5)只需要用 Xpath、Xquery 查詢語言進行查詢轉換即可。然後將查詢到的 DALIAN Region 土地利用應用本體的結果,組織成 SQL 語句傳遞給 ArcServer 的 GetFeatureClass 類,由 ArcServer 返搭塵回查詢結果,在客戶端顯示。客戶端顯示的查詢結果如彩圖 5.1 所示,其中黃色高亮顯示的為查詢結果。
圖 5.43 土地利用應用本體實例(局部)
空間信息的查詢與檢索是空間信息共享的前提條件。但由於用戶認知和概念世界中的概念與系統模型中的概念之間存在語義異質性,用戶檢索出來的數據往往並不是他們真正想要的。通過建立等價關系、繼承關系、逆反關系以及拓撲、方位和距離等空間關系的地理本體並將之用於檢索請求可以解決這種語義異質性,從而實現更高級別的檢索。在檢索處理過程中,以空間數據的屬性關系圖 ARG 作為描述地理實體空間關系的基礎,基於應用本體實例生成演算法 AOGA 和語義推理工具 Jena 實現異構消解和語義擴展,極大地提高了檢索准確率。以下是本解決方案的優點和將來的工作。
(1)提出了描述空間關系的 ARG 模型,利用 ARG 可以方便地查詢任意兩個地理實體的空間關系,改進以往空間關系查詢時 SQL 擴展的不便性;
(2)建立了非空間數據之間的語義關系,可以更全面的檢索出所需數據;
(3)提出了應用本體實例生成方法,可以較為方便的生成所需應用本體實例;作為將來的工作,將集中在以下兩點。
(4)建立 ARG 模型時,需花費大量的時間,且容易出錯,下一步將研究更自動化的方法建立所需的 ARG。
(5)本體建立層次還較低,只是建立到大類,後續工作,需要在建立地理本體時,建立到具體地理實例一級,要具體到地理實體的名稱。