0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

計算機間如何進行通訊?這些知識點看懂就好

電子設計 ? 來源:互聯(lián)網(wǎng) ? 作者:佚名 ? 2017-12-11 09:22 ? 次閱讀

一 單工/半雙工/全雙工通信的概念

1.單工通信:

單工通信定義:信息在兩點之間只能單方向發(fā)送的工作方式.它的意思是指:假設A 和B 通信,只能由一方向另一方發(fā)送數(shù)據(jù)而不能接收來自另一方發(fā)送來的數(shù)據(jù).就像小朋友們玩的聽筒,在兩個杯子之間系上一條線再拉緊,這就可以對著杯子說話而另一邊能夠聽到聲音.

psb(132).jpeg


圖一 一個小孩對著罐子說話而另一個小孩在當聽眾


2.半雙工通信:

半雙工通信定義:信息在兩點之間能夠在兩個方向上進行發(fā)送,但不能同時發(fā)送的工作方式.這就表示發(fā)送/接收數(shù)據(jù) 是有先后順序的,比如:A 向B 發(fā)送數(shù)據(jù)請求后A 只能接收來自B 發(fā)送來的回傳數(shù)據(jù),但A 接收完來自B 發(fā)送來的會傳數(shù)據(jù)后又可以立即向B 發(fā)送數(shù)據(jù)請求,而且B 也可以向A 發(fā)送數(shù)據(jù).

psb(133).jpeg


圖二 "對講機"式問答


3.全雙工通信:

全雙工通信定義:通信允許數(shù)據(jù)在兩個方向上同時傳輸,它在能力上相當于兩個單工通信方式的結合.全雙工通信和半雙工通信的本質區(qū)別是半雙工通信雙方只共用一條線路實現(xiàn)雙向通信,但全雙工通信卻利用兩條線路,一條作發(fā)送數(shù)據(jù)用,另一條作接收數(shù)據(jù)用.

psb(134).jpeg


圖三 有線固定電話的模型



芯片間通信

1.串口通信:

主機和主機之間的通信,實質上就是兩顆芯片之間來回傳輸數(shù)據(jù)..




圖四 串行接口實物圖

串口通信是通過全雙工通信進行的按位傳輸?shù)耐ㄐ?它的優(yōu)點是可以長距離傳輸數(shù)據(jù)(通過太長的數(shù)據(jù)鏈路時信號是會減小的,但一般我們利用信號放大來實現(xiàn)更遠的數(shù)據(jù)傳輸),占用線路少(發(fā)送線路,接收線路,地線[主要是為了抗干擾]).不過串口通信比并口通信稍微慢些.一般我們使用RS-232 號傳輸標準來規(guī)范數(shù)據(jù)傳輸.

psb(136).jpeg


圖五 串口針腳順序圖


對于DB 9腳的串口接口定義:2號線路 接收數(shù)據(jù)(RxD),3號線路發(fā)送數(shù)據(jù)(TxD),5號線路信號地(GND)[其用意就是屏蔽掉外界的電磁干擾]

*RS-232 協(xié)議設計:

psb(137).jpeg


圖六89S51 系列單片機與PC 間的通信


對于某些沒有輸出RS-232信號的芯片,設計者常用MAX 232 (芯片通信輸出的TTL 電平轉換到RS-232信號的器件) 來把PC 和該芯片相聯(lián).在圖六中,89S51 首先通過TxD 發(fā)送數(shù)據(jù)到MAX 232 T1IN,然后MAX 232 在它的內部把TTL 電平信號轉換為RS-232信號,最后MAX 232 通過T1OUT 發(fā)送到PC 的COM 接口,此時PC 就接收到了我們發(fā)送來的數(shù)據(jù)(反過來就是接收數(shù)據(jù):COM TxD ->R1IN ->R1OUT).關于單片機方面的知識可以上www.51hei.com查閱.寫得比較容易理解.

三 通信協(xié)議

1.以太網(wǎng) 傳輸協(xié)議:

以太網(wǎng)定義:當前廣泛使用,采用共享總線型傳輸媒體方式的局域網(wǎng).過去的年代,多臺計算機要想利用一個Moden 上網(wǎng)的話,就需要添加一塊集線器(HUB ) 來把這些計算機并聯(lián)起來.[PS:集線器和交換機(SWITCH) 相比,集線器會把總網(wǎng)絡數(shù)據(jù)傳輸速率平均分配到每臺計算機,但交換機卻不會,這和硬件設計有關]




圖七 集線器實物圖(這年頭找張沒有水印的圖片還真少啊..)

下面就是多臺計算機共享網(wǎng)絡線路的拓撲圖.

psb(139).jpeg


圖八 總線型數(shù)據(jù)傳輸鏈路


線路倒是共享了,作為在線路中的某臺計算機是怎么知道線路中的數(shù)據(jù)到底是發(fā)送到自己還是發(fā)送到其它計算機的呢?為此人們制定了以太網(wǎng)數(shù)據(jù)傳輸協(xié)議,下圖是傳輸數(shù)據(jù)結構.

psb(140).jpeg


圖九 以太網(wǎng)數(shù)據(jù)傳輸結構


目的地址 指的是該數(shù)據(jù)是由哪臺計算機接收.源地址 就是這個數(shù)據(jù)是從哪兒發(fā)送的.打個比方:比如A 主機需要發(fā)送數(shù)據(jù)到廣域網(wǎng),那這個目的地址就填寫集線器的網(wǎng)絡適配器的地址(這個地址就做MAC地址,它是網(wǎng)絡適配器所擁有的唯一地址). 當集線器接收到數(shù)據(jù)并轉發(fā)B 主機時,總線上所有主機都可以接收都這個數(shù)據(jù)包,假設A 主機接收到這個數(shù)據(jù)包,它會把數(shù)據(jù)包中的目的地址和自己的網(wǎng)絡適配器作對比,相同的話則表明這個數(shù)據(jù)是傳遞到我的,若不相同則丟棄數(shù)據(jù)包.這也就解釋了同集線器總線下監(jiān)聽其它主機發(fā)送/接收網(wǎng)絡信息的原理.

以太網(wǎng)數(shù)據(jù)包有許多不同的類型,上面是在集線器下常用的三個類型:IP 數(shù)據(jù)傳輸[0x0800],ARP 請求/應答[0x0806],RARP 請求/應答[0x8035].

ARP 請求/應答:它的用處是利用某個網(wǎng)絡適配器的地址在總線中發(fā)起詢問,然后得到要查詢的網(wǎng)絡適配器的IP 地址.由于在計算機需要依靠集線器或交換機或路由器來傳遞消息之前,它一定要利用ARP 請求告訴集線器等轉遞消息硬件本機的網(wǎng)絡適配器的MAC 地址[PS:也可以利用RIP (路由信息協(xié)議)協(xié)議來向轉遞消息硬件獲取IP地址(發(fā)送網(wǎng)絡適配器的MAC地址獲取IP 地址)].在轉遞消息硬件接收到這個請求后會在ARP 緩存表(對應著計算機的IP地址和網(wǎng)絡適配器的MAC 地址)中查找,若無該MAC 地址,則在ARP 緩存表更新該MAC 地址,然后發(fā)送ARP 應答數(shù)據(jù)包,那么當轉遞消息硬件接收到消息后就可以根據(jù)數(shù)據(jù)中的IP 地址在ARP 緩存表尋找MAC 地址然后就在總線上發(fā)送.假如接收到一個數(shù)據(jù)包的的IP 地址在ARP 緩存表中找不到的話,那轉遞消息硬件將會丟棄該數(shù)據(jù)包并向源IP 地址發(fā)送ICMP 數(shù)據(jù)不可到達的數(shù)據(jù)包.注意,轉遞消息硬件一般是三十分鐘刷新一次ARP 緩存表的.

RARP 請求/應答:假如我們只知道同集線器下的某臺計算機的IP 地址并想發(fā)送數(shù)據(jù)給它但又沒有該計算機的網(wǎng)絡適配器的MAC 地址那怎么辦呢?那就需要向總線廣播RARP (反向地址轉換協(xié)議)請求,此時以太網(wǎng)數(shù)據(jù)結構中的目的地址置為FFFFFFFFFFFF (即:-1),RARP 數(shù)據(jù)包結構(見圖十三)中的目的IP 地址則置為需要查詢的IP 地址.接下來,當總線下的某臺計算機的網(wǎng)絡適配器接收到后就會把該IP 和自己的對比,假若查詢的是自己的IP 地址,那就返回包含這個網(wǎng)絡適配器的IP 地址和MAC 地址的RARP 應答,最后查詢主機接收到該數(shù)據(jù)包后就更新本機的ARP 緩存表,然后就可以進行IP 層的數(shù)據(jù)發(fā)送了.


圖十 ARP /RARP 數(shù)據(jù)包結構


2.IP 協(xié)議:

由于以太網(wǎng)協(xié)議只適用于局域網(wǎng),而且以太網(wǎng)數(shù)據(jù)不能跨轉遞消息硬件發(fā)送,所以人們制定了IP (Internet Protocol ,因特網(wǎng)協(xié)議)協(xié)議.有了它,只要計算機連接到因特網(wǎng)那它都可以利用IP 地址(就像手機號碼) 來實現(xiàn)通信(就像手機利用GSM 協(xié)議打電話).下面就是IP 協(xié)議數(shù)據(jù)包結構:
psb(141).jpeg

圖十一 IP 協(xié)議頭部數(shù)據(jù)包結構
源IP 地址和目的IP 地址的意思和以太網(wǎng)數(shù)據(jù)包結構中的源地址和目的地址作用相同.(這里略去了其它TCP 特性,因為它們與本文無關)

讀者們先來看看下面的網(wǎng)絡拓撲圖:

psb(142).jpeg

圖十二 網(wǎng)絡門禁系統(tǒng)的網(wǎng)絡拓撲圖


在每一個門禁控制系統(tǒng)里面都有主控制器.而這些主控制器利用以太網(wǎng)通過交換機來實現(xiàn)把數(shù)據(jù)傳遞到因特網(wǎng)(Internet)上.由于以太網(wǎng)傳輸協(xié)議只能使用在同一以太網(wǎng)下,所以這些數(shù)據(jù)是不可能傳遞到這個區(qū)域的外面的.你可以這樣想一下:廣州分廠的其中一個門禁控制系統(tǒng)的主控制器向它所屬的以太網(wǎng)發(fā)送一條信息給上海分廠的管理電腦及卡證中心主機顯然是不行的.而IP 協(xié)議卻不同,IP (Internet Protocol) 協(xié)議適合所有只要連接到因特網(wǎng)而且還擁有其獨立的IP 地址的主機.所以,當廣州分廠的其中一個門禁控制系統(tǒng)要和上海分廠的管理電腦及卡證中心主機實現(xiàn)數(shù)據(jù)交換那就必須要知道該主機的IP 地址.有了它,系統(tǒng)會根據(jù)實際情況把IP 協(xié)議頭部數(shù)據(jù)包的各個數(shù)據(jù)填充好,然后通過以太網(wǎng)指定發(fā)送到交換機.交換機會再把我們的數(shù)據(jù)包轉發(fā)到因特網(wǎng)上,接下來這個數(shù)據(jù)包會到達上海分廠的交換機, 最后上海分廠的交換機通過以太網(wǎng)發(fā)送數(shù)據(jù)包到管理電腦及卡證中心主機.

以IP 協(xié)議為基礎,我們還可以利用TCP 和UDP 的傳輸數(shù)據(jù)方式來實現(xiàn)數(shù)據(jù)的傳輸.一般地,TCP 會提供"無差別","可靠的" 的數(shù)據(jù)傳輸服務.

3.TCP 協(xié)議:

TCP 協(xié)議作為現(xiàn)在廣泛使用的協(xié)議,它有著許多網(wǎng)絡通信協(xié)議所沒有的特性(比如:重傳).TCP 協(xié)議是基于IP 協(xié)議上開發(fā)的.下面先來討論TCP 的數(shù)據(jù)包結構:

psb(143).jpeg


圖十三 TCP協(xié)議頭部數(shù)據(jù)結構


TCP 協(xié)議并沒有指定發(fā)送方/接收方的地址,因為它是以IP 協(xié)議作為基礎的協(xié)議,所以IP 協(xié)議的地址也可以說是TCP 協(xié)議的地址.在TCP 協(xié)議頭部數(shù)據(jù)結構里,有一個新名詞叫"端口",它的用意是為了標識不同的程序接收不同的數(shù)據(jù)包,比如:80 端口發(fā)送/接收HTTP 協(xié)議數(shù)據(jù)包,21 端口實現(xiàn)TELNET 協(xié)議 等.TCP 協(xié)議的傳輸機制是比較特殊的,它首先需要兩臺主機之間建立通信連接,然后才可以傳輸數(shù)據(jù),最后數(shù)據(jù)傳輸完成的時候還必須要對這個連接進行關閉.先看看下面是TCP 的通信流程圖:

psb(144).jpeg


圖十三 TCP 協(xié)議通信連接與關閉連接時數(shù)據(jù)包傳送情況(由于源圖被畫了很多紅圈,沒辦法啊只能搶救成這樣,原諒LC 吧)


對于上面的數(shù)據(jù)包交換我們可以分為兩部分來分析:前三個數(shù)據(jù)包表示的意思是建立TCP 連接,后四個數(shù)據(jù)包的意思是關閉TCP 連接.

在TCP 建立連接的時候,主動建立的一方將會發(fā)送SYN_SENT 類型的TCP 數(shù)據(jù)包到目的主機,目的主機處理完成這個連接請求后立即返回SYN_ACK類型的TCP 數(shù)據(jù)包(編者注:無論目的主機是否愿意和它建立連接,要想實現(xiàn)這個結構那就必須忽略防火墻等的外界影響條件),最后在主動建立的一方接收到該SYN_ACK 數(shù)據(jù)包后返回ACK 數(shù)據(jù)包,它也就代表了TCP 連接真正建立成功.這就是TCP 三次握手過程.


兩臺主機之間的數(shù)據(jù)傳輸結束了,那就要關閉連接.當一方主動關閉連接時,它將會發(fā)送FIN 數(shù)據(jù)包來通告對方.對方接收FIN 數(shù)據(jù)包后就會返回FIN_ACK 數(shù)據(jù)包來確認.(編者注:凡是已經主動發(fā)送過FIN 數(shù)據(jù)包的主機都不能夠再發(fā)送任何數(shù)據(jù),但可以接收數(shù)據(jù))只有雙方都各自都完成了發(fā)送FIN 數(shù)據(jù)包,那么TCP連接也就關閉了.這就是TCP 的四次握手過程.

發(fā)送數(shù)據(jù)和這些差不多,有興趣的讀者可以看看<> 或者給LCatro 留個言.

4.小總結:

數(shù)據(jù)包的結構搞亂了?請看看下圖吧..

psb(6).gif


圖十四 網(wǎng)絡數(shù)據(jù)包結構


由于我們在以太網(wǎng)下利用以太網(wǎng)協(xié)議發(fā)送數(shù)據(jù),所以我們的要發(fā)送到目的主機的數(shù)據(jù)就包含在以太網(wǎng)數(shù)據(jù)包的數(shù)據(jù)里面.對于這個數(shù)據(jù),實際上是IP 數(shù)據(jù)包,然而IP 數(shù)據(jù)包里面的數(shù)據(jù)其實是TCP 數(shù)據(jù)包,TCP 數(shù)據(jù)包里面的數(shù)據(jù)就是我們要發(fā)送的信息.所以讀者們結合上圖來理解網(wǎng)絡數(shù)據(jù)包結構(右邊)就容易了..

至于左邊的結構圖的意思是網(wǎng)絡模型,它代表了哪個協(xié)議所在哪一個網(wǎng)絡模型層的級別.

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單工通信
    +關注

    關注

    0

    文章

    9

    瀏覽量

    8300
  • 計算機通信
    +關注

    關注

    1

    文章

    26

    瀏覽量

    8416
收藏 人收藏

    評論

    相關推薦

    【量子計算機重構未來 | 閱讀體驗】第二章關鍵知識點

    ,就相當于調整輸出的手指朝向。而這個計算方法,剛好就是量子力學中的量子糾纏。而量子糾纏,就有可能將之前計算很麻煩的問題進行簡單計算,從而達到提速的目的。 作者介紹了量子
    發(fā)表于 03-06 23:17

    在ARM中計算機技術和知識的分享

    1.相關資料的分享,c/c++語言面試寶典,從面試的角度看待編程語言應該如何學習2.計算機基礎和操作系統(tǒng)資料分享,在應用的計算機底層的時候必須得掌握的知識3.高性能的mysql語言正確的學習數(shù)據(jù)庫相關的
    發(fā)表于 10-21 14:27

    微型計算機原理及應用知識點總結

    微型計算機原理及應用知識點總結
    發(fā)表于 07-16 07:51

    計算機組成原理期末總結 精選資料分享

    文章目錄寫在前面計算機系統(tǒng)概論知識點習題運算方法和運算器知識點習題寫在前面臨近期末,總結了下知識點,供個人復習使用,僅供參考(近期不間斷更新)。計算
    發(fā)表于 07-29 08:42

    微型計算機控制系統(tǒng)概述

    第一章:微型計算機控制系統(tǒng)概述1.基本要求與基本知識點掌握計算機控制系統(tǒng)的組成及工作原理。了解計算機在工業(yè)控制中的幾種典型應用。2.教學重點與難點本章要求同學掌握
    發(fā)表于 09-13 08:53

    計算機是如何進行分類的

    計算機一級考試基礎知識練習題(三)一、單選題1、第一臺電子數(shù)字計算機的運算速度為每秒______。A:500000次B:50000次C:5000次D:500次答案: C2、計算機可分為
    發(fā)表于 09-13 06:11

    關于計算機網(wǎng)絡技術的知識點你想知道都在這

    關于計算機網(wǎng)絡技術的知識點你想知道都在這
    發(fā)表于 09-27 07:19

    關于計算機組成原理的知識點總結的太棒了

    關于計算機組成原理的知識點總結的太棒了
    發(fā)表于 10-27 07:27

    計算機的基礎知識點匯總,不看肯定后悔

    計算機的基礎知識點匯總,不看肯定后悔
    發(fā)表于 11-15 06:03

    計算機組成原理考研知識點歸納

    計算機組成原理考研知識點歸納 寫在前面的話:理科知識重在于理解知識點本身,對于每一個知識點,大家都有自己理解的方式。這篇
    發(fā)表于 04-13 14:06 ?1916次閱讀

    計算機取證工具及方式

    本內容講述了計算機取證技術,如何進行計算機取證,計算機取證工具及方式等知識
    發(fā)表于 05-07 15:11 ?4285次閱讀

    計算機通信與網(wǎng)絡_知識點_大家看看

    計算機通信與網(wǎng)絡_知識點_大家看看,網(wǎng)絡通信學習的好資料,值得下載哦。
    發(fā)表于 03-21 16:51 ?20次下載

    計算機二級公共基礎電子書

    國家計算機二級考試必記知識點
    發(fā)表于 11-23 15:45 ?0次下載

    計算機控制技術的基礎知識點說明

    本文檔的主要內容詳細介紹的是計算機控制技術的基礎知識點說明包括了:1 計算機控制系統(tǒng)的概念,2 計算機控制系統(tǒng)的組成,3 計算機控制系統(tǒng)的分
    發(fā)表于 04-27 08:00 ?5次下載
    <b class='flag-5'>計算機</b>控制技術的基礎<b class='flag-5'>知識點</b>說明

    計算機最核心的CPU 12大知識點

    計算機芯片,通常嵌入在電腦的主板上。 CPU的構建是通過在單個計算機芯片上放置數(shù)十億個微型晶體管來實現(xiàn)。 這些晶體管使它能夠執(zhí)行運行存儲在系統(tǒng)內存中的程序所需的計算,所以,也可以說C
    的頭像 發(fā)表于 09-27 10:10 ?3173次閱讀