A. 簡述數據通過計算機網路的通信過程。
過程:電腦將數據封裝上一定的頭部,轉換成0,1等二進制信號在線路上傳播給路由器,路由器根據路由表轉發數據,直達目的主機,再拆去頭部信息,將純的數據交給應用程序。
c/s(客戶機/伺服器)有三個主要部件:資料庫伺服器、客戶應用程序和網路。伺服器負責有效地管理系統的資源,其任務集中於:
1.資料庫安全性的要求
2.資料庫訪問並發性的控制
3.資料庫前端的客戶應用程序的全局數據完整性規則
4.資料庫的備份與恢復
客戶端應用程序的的主要任務是:
1.提供用戶與資料庫交互的界面
2.向資料庫伺服器提交用戶請求並接收來自資料庫伺服器的信息
3.利用客戶應用程序對存在於客戶端的數據執行應用邏輯要求
4.網路通信軟體的主要作用是,完成資料庫伺服器和客戶應用程序之間的數據傳輸。
三層C/S結構是將應用功能分成表示層、功能層和數據層三部分。
解決方案是:對這三層進行明確分割,並在邏輯上使其獨立。
在三層C/S中, 表示層 是應用的用戶介面部分,它擔負著用戶與應用間的對話功能。它用於檢查用戶從鍵盤等輸入的數據,顯示應用輸出的數據。為使用戶能直觀地進行操作,一般要使用圖形用戶介面 (GUI),操作簡單、易學易用。在變更用戶介面時,只需改寫顯示控制和數據檢查程序,而不影響其他兩層。檢查的內容也只限於數據的形式和值的范圍,不包括有關業務本身的處理邏輯。
功能層 相當於應用的本體,它是將具體的業務處理邏輯地編入程序中。表示層和功能層之間的數據交往要盡可能簡潔。
數據層 就是DBMS,負責管理對資料庫數據的讀寫。DBMS必須能迅速執行大量數據的更新和檢索。現在的主流是關系資料庫管理系統 (RDBMS)。因此一般從功能層傳送到數據層的要求大都使用SQL語言。
在三層或N層C/S結構中,中間件 (Middleware) 是最重要的部件。所謂中間件是一個用API定義的軟體層,是具有強大通信能力和良好可擴展性的分布式軟體管理框架。它的功能是在客戶機和伺服器或者伺服器和伺服器之間傳送數據,實現客戶機群和伺服器群之間的通信。其工作流程是:在客戶機里的應用程序需要駐留網路上某個伺服器的數據或服務時,搜索此數據的C/S應用程序需訪問中間件系統。該系統將查找數據源或服務,並在發送應用程序請求後重新打包響應,將其傳送回應用程序。隨著網路計算模式的發展,中間件日益成為軟體領域的新的熱點。中間件在整個分布式系統中起數據匯流排的作用,各種異構系統通過中間件有機地結合成一個整體。每個C/S環境,從最小的LAN環境到超級網路環境,都使用某種形式的中間件。無論客戶機何時給伺服器發送請求,也無論它何時應用存取資料庫文件,都有某種形式的中間件傳遞C/S鏈路,用以消除通信協議、資料庫查詢語言、應用邏輯與操作系統之間潛在的不兼容問題。
三層C/S結構的優勢主要表現在以下幾個方面:
1.利用單一的訪問點,可以在任何地方訪問站點的資料庫;
2.對於各種信息源,不論是文本還是圖形都採用相同的界面;
3.所有的信息,不論其基於的平台,都可以用相同的界面訪問;
4.可跨平台操作;
5.減少整個系統的成本;
6.維護升級十分方便;
7.具有良好的開放性;
8.系統的可擴充性良好;
9.進行嚴密的安全管理;
10.系統管理簡單,可支持異種資料庫,有很高的可用性。
B. 電腦怎樣通過互聯網傳輸數據
網路中數據傳輸過程
我們每天都在使用互聯網,我們電腦上的數據是怎麼樣通過互聯網傳輸到到另外的一台電腦上的呢?
我們知道現在的互聯網中使用的TCP/IP協議是基於,OSI(開放系統互聯)的七層參考模型的,(雖然不是完全符合)從上到下分別為 應用層 表示層 會話層 傳輸層 網路層 數據鏈路層和物理層。其中數據鏈路層又可是分為兩個子層分別為邏輯鏈路控制層(Logic Link Control,LLC )和介質訪問控制層((Media Access Control,MAC )也就是平常說的MAC層。LLC對兩個節點中的鏈路進行初始化,防止連接中斷,保持可靠的通信。MAC層用來檢驗包含在每個楨中的地址信息。在下面會分析到。還要明白一點路由器是在網路層的,而網卡在數據鏈路層。
我們知道,ARP(Address Resolution Protocol,地址轉換協議)被當作底層協議,用於IP地址到物理地址的轉換。在乙太網中,所有對IP的訪問最終都轉化為對網卡MAC地址的訪問。如果主機A的ARP列表中,到主機B的IP地址與MAC地址對應不正確,由A發往B數據包就會發向錯誤的MAC地址,當然無法順利到達B,結 果是A與B根本不能進行通信。
首先我們分析一下在同一個網段的情況。假設有兩台電腦分別命名為A和B,A需要相B發送數據的話,A主機首先把目標設備B的IP地址與自己的子網掩碼進行「與」操作,以判斷目標設備與自己是否位於同一網段內。如果目標設備在同一網段內,並且A沒有獲得與目標設備B的IP地址相對應的MAC地址信息,則源設備(A)以第二層廣播的形式(目標MAC地址為全1)發送ARP請求報文,在ARP請求報文中包含了源設備(A)與目標設備(B)的IP地址。同一網段中的所有其他設備都可以收到並分析這個ARP請求報文,如果某設備發現報文中的目標IP地址與自己的IP地址相同,則它向源設備發回ARP響應報文,通過該報文使源設備獲得目標設備的MAC地址信息。為了減少廣播量,網路設備通過ARP表在緩存中保存IP與MAC地址的映射信息。在一次 ARP的請求與響應過程中,通信雙方都把對方的MAC地址與IP地址的對應關系保存在各自的ARP表中,以在後續的通信中使用。ARP表使用老化機制,刪除在一段時間內沒有使用過的IP與MAC地址的映射關系。一個最基本的網路拓撲結構:
PC-A並不需要獲取遠程主機(PC-C)的MAC地址,而是把IP分組發向預設網關,由網關IP分組的完成轉發過程。如果源主機(PC-A)沒有預設網關MAC地址的緩存記錄,則它會通過ARP協議獲取網關的MAC地址,因此在A的ARP表中只觀察到網關的MAC地址記錄,而觀察不到遠程主機的 MAC地址。在乙太網(Ethernet)中,一個網路設備要和另一個網路設備進行直接通信,
除了知道目標設備的網路層邏輯地址(如IP地址)外,還要知道目標設備的第二層物理地址(MAC地址)。ARP協議的基本功能就是通過目標設備的IP地址,查詢目標設備的MAC地址,以保證通信的順利進行。 數據包在網路中的發送是一個及其復雜的過程,上圖只是一種很簡單的情況,中間沒有過多的中間節點,其實現實中只會比這個更復雜,但是大致的原理是一致的。
(1)PC-A要發送數據包到PC-C的話,如果PC-A沒有PC-C的IP地址,則PC-A首先要發出一個dns的請求,路由器A或者dns解析伺服器會給PC-A回應PC-C的ip地址,這樣PC-A關於數據包第三層的IP地址信息就全了:源IP地址:PC-A,目的ip地址:PC-C。
(2)接下來PC-A要知道如何到達PC-C,然後,PC-A會發送一個arp的地址解析請求,發送這個地址解析請求,不是為了獲得目標主機PC-C的MAC地址,而是把請求發送到了路由器A中,然後路由器A中的MAC地址會發送給源主機PC-A,這樣PC-A的數據包的第二層信息也全了,源MAC地址:PC-A的MAC地址,目的MAC地址:路由器A的MAC地址,
(3)然後數據會到達交換機A,交換機A看到數據包的第二層目的MAC地址,是去往路由器A的,就把數據包發送到路由器A,路由器A收到數據包,首先查看數據包的第三層ip目的地址,如果在自己的路由表中有去往PC-C的路由,說明這是一個可路由的數據包。 (4)然後路由器進行IP重組和分組的過程。首先更換此數據包的第二層包頭信息,路由器PC-A到達PC—C要經過一個廣域網,在這里會封裝很多廣域網相關的協議。其作用也是為了找下一階段的信息。同時對第二層和第三層的數據包重校驗。把數據經過Internet發送出去。最後經過很多的節點發送到目標主機PC_C中。
現在我們想一個問題,PC-A和PC-C的MAC地址如果是相同的話,會不會影響正常的通訊呢!答案是不會影響的,因為這兩個主機所處的區域網被廣域網分隔開了,通過對發包過程的分析可以看出來,不會有任何的問題。而如果在同一個區域網中的話,那麼就會產生通訊的混亂。當數據發送到交換機是,這是的埠信息會有兩個相同的MAC地址,而這時數據會發送到兩個主機上,這樣信息就會混亂。因此這也是保證MAC地址唯一性的一個理由。
我暫且按我的理解說說吧。
先看一下計算機網路OSI模型的七個層次:
┌—————┐
│ 應用層 │←第七層
├—————┤
│ 表示層 │
├—————┤
│ 會話層 │
├—————┤
│ 傳輸層 │
├—————┤
│ 網路層 │
├—————┤
│數據鏈路層│
├—————┤
│ 物理層 │←第一層
└—————┘
而我們現在用的網路通信協議TCP/IP協議者只劃分了四成:
┌—————┐
│ 應用層 │ ←包括OSI的上三層
├—————┤
│ 傳輸層 │
├—————┤
│ 網路層 │
├—————┤
│網路介面層 │←包括OSI模型的下兩層,也就是各種不同區域網。
└—————┘
兩台計算機通信所必須需要的東西:IP地址(網路層)+埠號(傳送層)。
兩台計算機通信(TCP/IP協議)的最精簡模型大致如下:
主機A---->路由器(零個或多個)---->主機B
舉個例子:主機A上的應用程序a想要和主機B上面的應用程序b通信,大致如下
程序a將要通信的數據發到傳送層,在傳送層上加上與該應用程序對應的通信埠號(主機A上不同的應用程序有不同的埠號),如果是用的TCP的話就加上TCP頭部,UDP就加上UDP頭部。
在傳送成加上頭部之後繼續嚮往下傳到網路層,然後加上IP頭部(標識主機地址以及一些其他的數據,這里就不詳細說了)。
然後傳給下層到數據鏈路層封裝成幀,最後到物理層變成二進制數據經過編碼之後向外傳輸。
在這個過程中可能會經過許多各種各樣的區域網,舉個例子:
主機A--->(區域網1--->路由器--->區域網2)--->主機B
這個模型比上面一個稍微詳細點,其中括弧裡面的可以沒有也可能有一個或多個,這個取決於你和誰通信,也就是主機B的位置。
主機A的數據已經到了具體的物理介質了,然後經過區域網1到了路由器,路由器接受主機A來的數據先經過解碼,還原成數據幀,然後變成網路層數據,這個過程也就是主機A的數據經過網路層、數據鏈路層、物理層在路由器上面的一個反過程。
然後路由器分析主機A來的數據的IP頭部(也就是在主機A的網路層加上的數據),並且修改頭部中的一些內容之後繼續把數據傳送出去。
一直到主機B收到數據為止,主機B就按照主機A處理數據的反過程處理數據,直到把數據交付給主機B的應用程序b。完成主機A到主機B的單方向通信。
這里的主機A、B只是為了書寫方便而已,可能通信的雙方不一定就是個人PC,伺服器與主機,主機與主機,伺服器與伺服器之間的通信大致都是這樣的。
再舉個例子,我們開網頁上網路:
就是我們的主機瀏覽器的這個應用程序和網路的伺服器之間的通信。應用成所用的協議就是HTTP,而伺服器的埠號就是熟知埠號80.
大致過程就是上面所說,其中的細節很復雜,任何一個細節都可以寫成一本書,對於非專業人員也沒有必要深究。
C. 計算機通信的主要原理是什麼
計算機網路通信的工作原理1)TCP/IP協議的數據傳輸過程:
TCP/IP協議所採用的通信方式是分組交換方式。所謂分組交換,簡單說就是數據在傳輸時分成若干段,每個數據段稱為一個數據包,TCP/IP協議的基本傳輸單位是數據包,TCP/IP協議主要包括兩個主要的協議,即TCP協議和IP協議,這兩個協議可以聯合使用,也可以與其他協議聯合使用,它們在數據傳輸過程中主要完成以下功能:
1)首先由TCP協議把數據分成若干數據包,給每個數據包寫上序號,以便接收端把數據還原成原來的格式。
2)IP協議給每個數據包寫上發送主機和接收主機的地址,一旦寫上的源地址和目的地址,數據包就可以在物理網上傳送數據了。IP協議還具有利用路由演算法進行路由選擇的功能。
3)這些數據包可以通過不同的傳輸途徑(路由)進行傳輸,由於路徑不同,加上其它的原因,可能出現順序顛倒、數據丟失、數據失真甚至重復的現象。這些問題都由TCP協議來處理,它具有檢查和處理錯誤的功能,必要時還可以請求發送端重發。
簡言之,IP協議負責數據的傳輸,而TCP協議負責數據的可靠性。
D. 計算機的兩種基本通信方式是什麼
計算機的兩種基本通信方式是串列通信和並行通信。
串列通信是指在計算機匯流排或其他數據通道上,每次傳輸一個位元數據,並連續進行以上單次過程的通信方式。串列通信被用於長距離通信以及大多數計算機網路。
並行通信是在串列埠上通過一次同時傳輸若干位元數據的方式進行通信。多比特數據同時通過並行線進行傳送,這樣數據傳送速度宴迅大大提高,但並行傳送的線路長度受到限制,因為長度增加,干擾就會增加,數據也就容易出錯。
(4)計算機網路數據的通信過程擴展閱讀:
兩種通信方式的特點:
串列通信:
1、節省傳輸線,這是顯而易見的。尤陸大其是在遠程通信時,此特點尤為重要。這也是串列通信的主要優點。
2、數據傳送效率低。與並行通信比,這也這是顯而易見的。這也是串列通信的主要缺點。
3、每次傳輸一個位元數據。
並行通信:
1、各數據位同時傳輸,傳輸速度快、效率高,多用在實時、快速的場合。
2、並行傳遞的信息不要求固定的格式。
3、並行介面的數據傳輸率較快,比串列介面快8倍。
4、並行傳輸的傳輸的成本較早祥豎高。
5、並行通信抗干擾能力差。
6、適合外部設備與微機之間進行近距離、大量和快速的信息交換,通常傳輸距離小於30米。