2017-04-23 116 views
1

我通過串行連接(RS 232)連接計算機和外部設備。然後我從設備發送一些數據到電腦。超級終端正在訪問該數據並顯示它們。在這個過程中,OSI模型的哪些層被使用?

這是我的理解。 RS-232僅覆蓋第1層(物理層)。超級終端運行在應用程序層。對於這個過程只使用這兩個層。

當我搜索stackoverflow時,發現類似「串行協議定義OSI模型的第一層或前兩層(取決於您是否考慮7或8位串行數據包幀)」。 查看完整的article
這是什麼意思?串行協議和OSI模型

+0

*」當我搜索stackoverflow時,我發現了類似於......「* - 然後提供一個鏈接,以便您可以讀取所引用內容的全部內容。解讀一個句子,除非你想要的只是猜測。 – sawdust

+0

@sawdust。感謝並編輯 – user2900405

回答

0

當我搜索stackoverflow時,我發現像「串行協議定義OSI模型的第一層或前兩層(取決於您是否考慮7或8位串行數據包幀)」

該報價交換「數據包」和「框架」的條款。
(I堅持「幀」的定義如UART文檔中使用。
這也將與分組>的幀 - >位的OSI層次相一致。)

在asynchronus串行通信只包含一個字符(5到9位)。
一個字符不是一個消息。
儘管在同步鏈路中,包含幾個字節來組成更高級別的消息單元。
所以EliAlgranti在那個答案似乎是在思索,如果這個異步的框架合格作爲OSI數據鏈路層,並且如果這是「串行協議」的一部分。

但請注意,此UART幀似乎並不是RS-232標準的一部分(即使您可以在網上找到一些包含幀描述以及遺漏網站的「RS-232描述」 )
實際的TIA/EIA文件從TIA site開銷156美元。
該標準的摘要沒有提到框架。

最好確認幀是不是的RS-232標準,我發現的部分是在第二到的"The RS232 Standard"最後一段:

注意,無論是ASCII字母表也不異步串行協議,定義起始位,數據位數,奇偶校驗位和停止位是EIA232規範的一部分。

所以RS-232標準很可能只是物理層。


對於該過程僅這兩個層被使用。

不,您只確定了頂層和底層。
這兩者之間的其他層確實存在(至少在概念上),但是您還沒有確定它們是否已實際實施以及如何實施。
顯然每個數據鏈路層都有幀。

+0

想到了。計算機VB 6程序用於讀取數據MSComm控件是在程序用於串行通信的MSComm的 配置是,每秒9600 數據位 位:8 Partity:奇數 停止位:1 流量控制:無 這是我的理解。 串行通信代表物理層 MSComm的配置(部分,每秒位數,停止位等)表示數據鏈路層 而我開發的VB 6程序代表應用層。 是嗎? – user2900405

+0

幾乎每個人都會將RS-232規範和異步幀混合爲*「串行通信」*。 RS-232是物理層。用於串行通信的數據鏈路層通常用硬件來處理,即UART。 MSComm似乎更適合網絡層。您的VB 6程序可能跨越傳輸,會話,演示文稿和應用程序層。使用串行端口的應用程序通常使用系統調用「讀取」字節,掃描/解析字節以檢測並驗證消息數據包,然後處理該消息。這不僅僅是一個「應用層」。 – sawdust

+0

解決了我的問題。當通過串行電纜進行通信並從vb 6程序讀取數據時,RS 232位於物理層。數據鏈路層的UART和網絡層的MSComm。 VB程序處理所有其他圖層。 – user2900405

0

也許這個圖像回答(它是從here拍攝)

serial protocol in the osi model

在這種web page一個發現這個解釋的問題:「在國際標準化組織的開放系統互連(ISO/OSI)模型用於網絡通信,串行通信在物理層和應用層之間運行,RS-232-C標準描述物理層,串行設備驅動程序存儲在下一層,數據鏈路層,Windows CE串行通信函數使應用程序能夠通過方式交換數據的串行硬件。 (...)。「