時間:2023-03-07 15:01:19
緒論:在尋找寫作靈感嗎?愛發表網為您精選了8篇通信協議,愿這些內容能夠啟迪您的思維,激發您的創作熱情,歡迎您的閱讀與分享!
關鍵詞:Modbus; RTU; FPGA; VHDL
中圖分類號:TP316 文獻標識碼:A
文章編號:1004-373X(2010)11-0203-05
Modbus Communication Protocol Based on FPGA
YU Zheng-lin, ZHANG Long, HUANG Yong
(Changchun University of Science and Technology,Changchun 130022,China)
Abstract: Modbus protocol is a popular fieldbus, and has become one of national standards in China with easy perfor-mance, widely opening and compact frame format. A method of implementing Modbus RTU protocol based on Cyclone FPGA is introduced. A interface can be used both in Modbus server and client, a Modbus slave coprocessor was designed based on it. The test results show that the design meets the communication requirement of industry environment, and has certain value in other kinds of FPGA.
Keywords: Modbus; RTU; FPGA; VHDL
0 引 言
現場總線是一種應用于生產現場,在現場設備之間,現場設備與控制裝置之間實現雙向、串行、多節點數字通信的技術[1]。Modbus協議其節點安裝數量非常多,安裝的地區遍及世界各地。
今天的FPGA可包含內嵌乘法器、專用計算例程和片上RAM等,加上FPGA的并行性,其結果比最快的DSP芯片還要快上500倍乃至更多。隨著FPGA價格不斷下降,甚至最小的器件都足以實現一個集成可選定制I/O功能的軟處理器核??梢?FPGA對嵌入控制應用越來越具有吸引力[2]。
目前Modbus協議實現方式多為單片機和PLC,隨著FPGA的廣泛應用,研究Modbus現場總線的FPGA解決方案有很大的實用價值。
1 Modbus協議簡介[3-4]
Modbus串行鏈路系統可以使用不同的物理接口(RS 485,RS 232),最常用的是RS 485兩線制接口。為了提高通信模塊在工業應用中的抗干擾性和穩定性,接口芯片和FPGA核心模塊之間應加入高速光耦進行隔離,總線兩端處放置線路終端電阻,采用屏蔽雙絞線作為通信線等。
在串行鏈路上,Modbus RTU(Remote Terminal Unit)模式報文中每8個位字節含有兩個4位十六進制字符,這種模式的主要優點是較高的數據密度,在相同的波特率下比ASCII模式有更高的吞吐率。RTU模式每個字節(11位)的格式如圖1所示,支持奇、偶和無校驗,使用無校驗時要求2個停止位。Modbus RTU幀最大為256 B,由發送設備將Modbus報文構造為帶有已知起始和結束標記的幀,報文幀由時長至少為3.5個字符時間的空閑間隔區分,整個報文幀必須以連續的字符流發送,如果兩個字符之間的空閑間隔大于1.5個字符時間,則報文幀被認為不完整被接收節點丟棄,如圖1所示。
圖1 RTU模式位序列和報文幀
在應用層上,Modbus是一個請求/應答協議,并且提供功能碼規定的服務。有三類Modbus功能碼:公共碼、用戶定義碼和保留碼,大多數情況下只用公共碼,其主要包括比特(線圈)訪問、16 b(寄存器)訪問、文件記錄訪問、診斷和其他信息訪問。
2 Modbus RTU通信協議接口設計
2.1 接口功能及模塊劃分
Modbus RTU接口框圖及輸入、輸出引腳示意圖如圖2所示。
圖2 Modbus接口示意圖
在某一確定的主時鐘頻率、通信波特率和奇偶校驗方式下,通過設置CE_Modbus和R_Tn的狀態,可以控制該接口模塊處于接收Modbus協議幀模式、發送Modbus協議幀模式或輸入/輸出寄存器操作模式,如表1所示。
表1 操作模式控制
CE_ModbusR_Tn操作模式
11接收Modbus協議幀
10發送Modbus協議幀
0×輸入/輸出寄存器操作
典型的波特率和奇偶校驗位設置如表2、表3所示。這兩組控制信號可以從端口引出接到撥碼開關,然后可以通過調節撥碼開關來靈活控制該設備奇偶性與波特率,也可以通過寄存器配置方式控制。
表2 波特率控制
Sel_baud[2..0]波特率/(b/s)
009 600
0119 200
1038 400
11115 200
表3 奇偶校驗控制
Sel_parity [2..0]校驗方式
00偶
01奇
10或11無
2.2 接收過程
(1) 系統處于接收Modbus協議幀模式下之后,清零標志位和定時器,然后啟動定時器,如果檢測到有串口輸入數據,則清零定時器,如果沒有檢測到串口輸入數據且定時器第一次計時到3.5個字符時間,置幀起始標志;
(2) 把接收到的第一個字符放入接收緩沖寄存器的0x00地址(協議幀最長為256 B,故接收緩沖大小為256 B,地址為8 b),置已開始接收標志;
(3) 將接收到的正確字符依次放入接收緩沖寄存器中,即地址每次加1,每接收完一個字符之后清零定時器;如果在接收字符時檢查到起始錯誤(起始位沒有持續波特率所對應bit時間的一半),奇偶校驗錯誤,或者幀錯誤(停止位為0),則丟棄該字符,重新同步起始位;
(4) 如果檢測到兩個字符時間間隔大于1.5個字符時間,則重置幀起始標志,把下一個接收到的字符放入接收緩沖寄存器的0x00地址,再繼續步驟(3);
(5) 當檢測到沒有字符輸入且定時器第二次檢測到3.5個字符時間,置協議幀接收完全標志;
[局域網;通信協議;TCP/IP
不同的網絡協議都有其存在的必要,每一種協議都有它所主要依靠的操作系統和工作環境。在一個網絡上運行得很好的通信協議,在另一個看起來很相似的網絡上可能完全不適合。因此,組建網絡時通信協議的選擇尤為重要。
無論是幾臺機器組成的Windows95/98對等網,還是規模較大的WindowsNT、Novell或Unix/Xenix局域網,凡是親自組建或管理過網絡的人,都碰到過如何選擇和配置網絡通信協議的新問題。由于許多用戶對網絡中的協議及其功能特征不是很清楚,所以在組網中經常選用了不符合自身網絡特征的通信協議。其結果就造成了網絡無法接通,或者是速度太慢,工作不穩定等現象而影響了網絡的可靠性。下面我就分析一下各個協議的特征和性能借以說明我配置協議的理論和立場。
一、通信協議
組建網絡時,必須選擇一種網絡通信協議,使得用戶之間能夠相互進行“交流”。協議(Protocol)是網絡設備用來通信的一套規則,這套規則可以理解為一種彼此都能聽得懂的公用語言。有關網絡中的協議可以概括為兩類摘要:“內部協議”和“外部協議”下面分別予以介紹。
1.內部協議
1978年,國際標準化組織(ISO)為網絡通信制定了一個標準模式,稱為OSI/RM(OpenSystemInterconnect/ReferenceModel,開放系統互聯參考模型)體系結構。該結構共分七層,從低到高分別是物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層和應用層。其中,任何一個網絡設備的上下層之間都有其特定的協議形式,同時兩個設備(如工作站和服務器)的同層之間也有其使用的協議約定。在這里,我們將這種上下層之間和同層之間的協議全部定義為“內部協議”。內部協議在組網中一般很少涉及到,它主要提供給網絡開發人員使用。假如你只是為了組建一個網絡,可不去理會內部協議。
2.外部協議
外部協議即我們組網時所必須選擇的協議。由于它直接負責計算機之間的相互通信,所以通常稱為網絡通信協議。自從網絡問世以來,有許多公司投入到了通信協議的開發中,如IBM、Banyan、Novell、Microsoft等。每家公司開發的協議,最初一般是為了滿足自己的網絡通信,但隨著網絡應用的普及,不同網絡之間進行互聯的要求越來越迫切,因此通信協議就成為解決網絡之間互聯的關鍵技術。就像使用不同母語的人和人之間需要一種通用語言才能交談一樣,網絡之間的通信也需要一種通用語言,這種通用語言就是通信協議。目前,局域網中常用的通信協議(外部協議)主要有NetBEUI、IPX/SPX及其兼容協議和TCP/IP三類。
3.選擇網絡通信協議的原則
我們在選擇通信協議時一般應遵循以下的原則摘要:
第
一、所選協議要和網絡結構和功能相一致。如你的網絡存在多個網段或要通過路由器相連時,就不能使用不具備路由和跨網段操作功能的NetBEUI協議,而必須選擇IPX/SPX或TCP/IP等協議。另外,假如你的網絡規模較小,同時只是為了簡單的文件和設備的共享,這時你最關心的就是網絡速度,所以在選擇協議時應選擇占用內存小和帶寬利用率高的協議,如NetBEUI。當你的網絡規模較大,且網絡結構復雜時,應選擇可管理性和可擴充性較好的協議,如TCP/IP。
第
二、除非凡情況外,一個網絡盡量只選擇一種通信協議。現實中許多人的做法是一次選擇多個協議,或選擇系統所提供的所有協議,其實這樣做是很不可取的。因為每個協議都要占用計算機的內存,選擇的協議越多,占用計算機的內存資源就越多。一方面影響了計算機的運行速度,另一方面不利于網絡的管理。事實上一個網絡中一般一種通信協議就可以滿足需要。
第
三、注重協議的版本。每個協議都有它的發展和完善過程,因而出現了不同的版本,每個版本的協議都有它最為合適的網絡環境。從整體來看,高版本協議的功能和性能要比低版本好。所以在選擇時,在滿足網絡功能要求的前提下,應盡量選擇高版本的通信協議。
第
四、協議的一致性。假如要讓兩臺實現互聯的計算機間進行對話,它們兩者使用的通信協議必須相同。否則中間還需要一個“翻譯”進行不同協議的轉換,這樣不僅影響通信速度,同時也不利于網絡的平安和穩定運行。
二、局域網中常用的三種通信協議
BEUI協議
NetBEUI通信協議的特征。NetBEUI(NetBIOSExtendedUserInterface,用戶擴展接口)由IBM于1985年開發完成,它是一種體積小、效率高、速度快的通信協議。NetBEUI也是微軟最鐘愛的一種通信協議,所以它被稱為微軟所有產品中通信協議的“母語”。微軟在其早期產品,如DOS、LANManager、Windows3.x和WindowsforWorkgroup中主要選擇NetBEUI作為自己的通信協議。在微軟如今的主流產品,如Windows95/98和WindowsNT中,NetBEUI已成為其固有的缺省協議。有人將WinNT定位為低端網絡服務器操作系統,這和微軟的產品過于依靠NetBEUI有直接的關系。NetBEUI是專門為幾臺到百余臺PC所組成的單網段部門級小型局域網而設計的,它不具有跨網段工作的功能,即NetBEUI不具備路由功能。假如你在一個服務器上安裝了多塊網卡,或要采用路由器等設備進行兩個局域網的互聯時,將不能使用NetBEUI通信協議。否則,和不同網卡(每一塊網卡連接一個網段)相連的設備之間,以及不同的局域網之間將無法進行通信。
雖然NetBEUI存在許多不盡人意的地方,但它也具有其他協議所不具備的優點。在三種通信協議中,NetBEUI占用內存最少,在網絡中基本不需要任何配置。尤其在微軟產品幾乎獨占PC操作系統的今天,它很適合于廣大的網絡初學者使用。
NetBEUI和NetBIOS之間的關系。細心的讀者可能已經發現,NetBEUI中包含一個網絡接口標準NetBIOS。NetBIOS(NetworkBasicInput/OutputSystem,網絡基本輸入/輸出系統)是IBM在1983年開發的一套用于實現PC間相互通信的標準,其目的是開發一種僅僅在小型局域網上使用的通信規范。該網絡由PC組成,最大用戶數不超過30個,其特征是突出一個“小”字。后來,IBM發現NetBIOS存在的許多缺陷,所以于1985年對其進行了改進,推出了NetBEUI通信協議。隨即,微軟將NetBEUI作為其客戶機/服務器網絡系統的基本通信協議,并進一步進行了擴充和完善。最有代表性的是在NetBEUI中增加了叫做SMB(ServerMessageBlocks,服務器消息塊)的組成部分,以降低網絡的通信堵塞。為此,有時將NetBEUI協議也稱為“SMB協議”。
人們常將NetBIOS和NetBEUI混淆起來,其實NetBIOS只能算是一個網絡應用程序的接口規范,是NetBEUI的基礎,它不具有嚴格的通信協議功能。而NetBEUI是建立在NetBIOS基礎之上的一個網絡傳輸協議。
2.IPX/SPX及其兼容協議
IPX/SPX通信協議的特征。IPX/SPX(InternetworkPacketeXchange/SequencesPacketeXchange,網際包交換/順序包交換)是Novell公司的通信協議集。和NetBEUI的明顯區別是,IPX/SPX顯得比較龐大,在復雜環境下具有很強的適應性。因為,IPX/SPX在設計一開始就考慮了多網段的新問題,具有強大的路由功能,適合于大型網絡使用。當用戶端接入NetWare服務器時,IPX/SPX及其兼容協議是最好的選擇。但在非Novell網絡環境中,一般不使用IPX/SPX。尤其在WindowsNT網絡和由Windows95/98組成的對等網中,無法直接使用IPX/SPX通信協議。
IPX/SPX協議的工作方式。IPX/SPX及其兼容協議不需要任何配置,它可通過“網絡地址”來識別自己的身份。Novell網絡中的網絡地址由兩部分組成摘要:標明物理網段的“網絡ID”和標明非凡設備的“節點ID”。其中網絡ID集中在NetWare服務器或路由器中,節點ID即為每個網卡的ID號(網卡卡號)。所有的網絡ID和節點ID都是一個獨一無二的“內部IPX地址”。正是由于網絡地址的唯一性,才使IPX/SPX具有較強的路由功能。
在IPX/SPX協議中,IPX是NetWare最底層的協議,它只負責數據在網絡中的移動,并不保證數據是否傳輸成功,也不提供糾錯服務。IPX在負責數據傳送時,假如接收節點在同一網段內,就直接按該節點的ID將數據傳給它;假如接收節點是遠程的(不在同一網段內,或位于不同的局域網中),數據將交給NetWare服務器或路由器中的網絡ID,繼續數據的下一步傳輸。SPX在整個協議中負責對所傳輸的數據進行無差錯處理,所以我們將IPX/SPX也叫做“Novell的協議集”。
NWLink通信協議。WindowsNT中提供了兩個IPX/SPX的兼容協議摘要:“NWLinkSPX/SPX兼容協議”和“NWLinkNetBIOS”,兩者統稱為“NWLink通信協議”。NWLink協議是Novell公司IPX/SPX協議在微軟網絡中的實現,它在繼續IPX/SPX協議優點的同時,更適應了微軟的操作系統和網絡環境。WindowsNT網絡和Windows95/98的用戶,可以利用NWLink協議獲得NetWare服務器的服務。假如你的網絡從Novell環境轉向微軟平臺,或兩種平臺共存時,NWLink通信協議是最好的選擇。不過在使用NWLink協議時,其中“NWLinkIPX/SPX兼容協議”類似于Windows95/98中的“IPX/SPX兼容協議”,它只能作為客戶端的協議實現對NetWare服務器的訪問,離開了NetWare服務器,此兼容協議將失去功能;而“NWLinkNetBIOS”協議不但可在NetWare服務器和WindowsNT之間傳遞信息,而且能夠用于WindowsNT、Windows95/98相互之間任意通信。
3.TCP/IP協議
TCP/IP(TransmissionControlProtocol/InternetProtocol,傳輸控制協議/網際協議)是目前最常用到的一種通信協議,它是計算機世界里的一個通用協議。在局域網中,TCP/IP最早出現在Unix系統中,現在幾乎所有的廠商和操作系統都開始支持它。同時,TCP/IP也是Internet的基礎協議。
TCP/IP通信協議的特征。TCP/IP具有很高的靈活性,支持任意規模的網絡,幾乎可連接所有的服務器和工作站。但其靈活性也為它的使用帶來了許多不便,在使用NetBEUI和IPX/SPX及其兼容協議時都不需要進行配置,而TCP/IP協議在使用時首先要進行復雜的設置。每個節點至少需要一個“IP地址”、一個“子網掩碼”、一個“默認網關”和一個“主機名”。如此復雜的設置,對于一些初識網絡的用戶來說的確帶來了不便。不過,在WindowsNT中提供了一個稱為動態主機配置協議(DHCP)的工具,它可自動為客戶機分配連入網絡時所需的信息,減輕了聯網工作上的負擔,并避免了出錯。當然,DHCP所擁有的功能必須要有DHCP服務器才能實現。
同IPX/SPX及其兼容協議一樣,TCP/IP也是一種可路由的協議。但是,兩者存在著一些差別。TCP/IP的地址是分級的,這使得它很輕易確定并找到網上的用戶,同時也提高了網絡帶寬的利用率。當需要時,運行TCP/IP協議的服務器(如WindowsNT服務器)還可以被配置成TCP/IP路由器。和TCP/IP不同的是,IPX/SPX協議中的IPX使用的是一種廣播協議,它經常出現廣播包堵塞,所以無法獲得最佳的網絡帶寬。
Windows95/98中的TCP/IP協議。Windows95/98的用戶不但可以使用TCP/IP組建對等網,而且可以方便地接入其它的服務器。值得注重的是,假如Windows95/98工作站只安裝了TCP/IP協議,它是不能直接加入WindowsNT域的。雖然該工作站可通過運行在WindowsNT服務器上的服務器(如ProxyServer)來訪問Internet,但卻不能通過它登錄WindowsNT服務器的域。假如要讓只安裝TCP/IP協議的Windows95/98用戶加入到WindowsNT域,還必須在Windows95/98上安裝NetBEUI協議。
TCP/IP協議在局域網中的配置。在提到TCP/IP協議時,有許多用戶便被其復雜的描述和配置所困擾,而不敢放心地去使用。其實就局域網用戶來說,只要你把握了一些有關TCP/IP方面的知識,使用起來也非常方便。
IP地址基礎知識。前面在談到IPX/SPX協議時就已知道,IPX的地址由“網絡ID”(NetWorkID)和“節點ID”(NodeID)兩部分組成,IPX/SPX協議是靠IPX地址來進行網上用戶的識別的。同樣,TCP/IP協議也是靠自己的IP地址來識別在網上的位置和身份的,IP地址同樣由“網絡ID”和“節點ID”(或稱HOSTID,主機地址)兩部分組成。一個完整的IP地址用32位(bit)二進制數組成,每8位(1個字節)為一個段(Segment),共4段(Segment1~Segment4),段和段之間用“.”號隔開。為了便于應用,IP地址在實際使用時并不直接用二進制,而是用大家熟悉的十進制數表示,如192.168.0.1等。IP地址的完整組成摘要:“網絡ID”和“節點ID”都包含在32位二進制數中。目前,IP地址主要分為A、B、C三類(除此之外,還存在D和E兩類地址,現在局域網中這兩類地址基本不用,故本文暫且不涉及),A類用于大型網絡,B類用于中型網絡,C類一般用于局域網等小型網絡中。其中,A類地址中的最前面一段Segment1用來表示“網絡ID”,且Segment1的8位二進制數中的第一位必須是“0”。其余3段表示“節點ID”;B類地址中,前兩段用來表示“網絡ID”,且Segment1的8位二進制數中的前二位必須是“10”。后兩段用來表示“節點ID”;在C類地址中,前三段表示“網絡ID”,且Segment1的8位二進制數中的前三位必須是“110”。最后一段Segment4用來表示“節點ID”。
值得一提的是,IP地址中的所有“網絡ID”都要向一個名為InterNIC(InternetNetworkInformationCenter,互聯網絡信息中心)申請,而“節點ID”可以自由分配。目前可供使用的IP地址只有C類,A類和B類的資源均已用盡。不過在選用IP地址時,總的原則是摘要:網絡中每個設備的IP地址必須唯一,在不同的設備上不答應出現相同的IP地址。表1列出了IP地址中的“網絡ID”的有關屬性,“節點ID”在互不重復的情況下由用戶自由分配。其實,將IP地址進行分類,主要是為了滿足網絡的互聯。假如你的網絡是一個封閉式的網絡,只要在保證每個設備的IP地址唯一的前提下,三類地址中的任意一個都可以直接使用(為以防萬一,你還是老老實實地使用C類IP地址為好)。
子網掩碼。對IP地址的解釋稱之為子網掩碼。從名稱可以看出,子網掩碼是用于對子網的管理,主要是在多網段環境中對IP地址中的“網絡ID”進行擴展。舉個例子來說明摘要:例如某個節點的IP地址為192.168.0.1,它是一個C類網。其中前面三段共24位用來表示“網絡ID”,是非常珍貴的資源;而最后一段共8位可以作為“節點ID”自由分配。但是,假如公司的局域網是分段管理的,或者該網絡是由多個局域網互聯而成,是否要給每個網段或每個局域網都申請分配一個“網絡ID”呢?這顯然是不合理的。此時,我們可以使用子網掩碼的功能,將其中一個或幾個節點的IP地址全部充當成“網絡ID”來使用,用來擴展“網絡ID”不足的困難。
當我們將某一節點的IP地址如192.168.0.1已設置成一個“網絡ID”時,網絡上的其它設備又怎樣知道它是一個“網絡ID”,而不是一個節點IP地址呢?這就要靠子網掩碼來告知。子網掩碼是這樣做的摘要:假如某一位的二進制數是“1”,它就知道是“網絡ID”的一部分;假如是“0”便認作是“節點ID”的一部分。如將192.168.0.1當做“網絡ID”時,其子網掩碼就是11111111.11111111.11111111.00000001,對應的十進制數表示為255.255.255.1。否則它的子網掩碼就是11111111.11111111.11111111.00000000,對應的十進制數表示應為255.255.255.0。有了子網掩碼,便可方便地實現用戶跨網段或跨網絡操作。不過,為了讓子網掩碼能夠正常工作,同一子網中的所有設備都必須支持子網掩碼,且子網掩碼相同。表2列出了A、B、C三類網絡的缺省子網掩碼。
網關。網關(Gateway)是用來連接異種網絡的設置。它充當了一個翻譯的身份,負責對不同的通信協議進行翻譯,使運行不同協議的兩種網絡之間可以實現相互通信。如運行TCP/IP協議的WindowsNT用戶要訪問運行IPX/SPX協議的Novell網絡資源時,則必須由網關作為中介。假如兩個運行TCP/IP協議的網絡之間進行互聯,則可以使用WindowsNT所提供的“默認網關”(DefaultGateway)來完成。網關的地址該如何分配呢?可舉一個例子往返答摘要:假如A網絡的用戶要訪問B網絡上的資源,必須在A網絡中設置一個網關,該網關的地址應為B網絡的“網絡ID”(一般可理解為B網絡服務器的IP地址)。當A網絡的用戶同時還要訪問C網絡的資源時又該怎么呢?你只需將C網絡的“網絡ID”添加到A網絡的網關中即可。依次類推……網關連多少個網絡,就擁有多少個IP地址。
主機名。網絡中唯一能夠代表用戶或設備身份的只有IP地址。但一般情況下,眾多的IP地址不輕易記憶,操作起來也不方便。為了改善這種狀況,我們可給予每個用戶或設備一個有意義的名稱,如“WANGQUN”。至于在網絡中用到“WANGQUN”時,怎樣知道其對應的IP地址呢?這完全由操作系統自己完成,我們大可不必考慮。
三、通信協議的安裝、設置和測試
局域網中的一些協議,在安裝操作系統時會自動安裝。如在安裝WindowsNT或Windows95/98時,系統會自動安裝NetBEUI通信協議。在安裝NetWare時,系統會自動安裝IPX/SPX通信協議。其中三種協議中,NetBEUI和IPX/SPX在安裝后不需要進行設置就可以直接使用,但TCP/IP要經過必要的設置。所以下文主要以WindowsNT環境下的TCP/IP協議為主,介紹其安裝、設置和測試方法,其他操作系統中協議的有關操作和WindowsNT基本相同,甚至更為簡單。
TCP/IP通信協議的安裝。在WindowsNT中,假如未安裝有TCP/IP通信協議,可選擇“開始/設置/控制面板/網絡”,將出現“網絡”對話框,選擇對話框中的“協議/添加”,選取其中的TCP/IP協議,然后單擊“確定”按鈕。系統會詢問你是否要進行“DHCP服務器”的設置?假如你的IP地址是固定的(一般是這樣),可選擇“否”。隨后,系統開始從安裝盤中復制所需的文件。
TCP/IP通信協議的設置。在“網絡”對話框中選擇已安裝的TCP/IP協議,打開其“屬性”,在指定的位置輸入已分配好的“IP地址”和“子網掩碼”。假如該用戶還要訪問其它WidnowsNT網絡的資源,還可以在“默認網關”處輸入網關的地址。
TCP/IP通信協議的測試。當TCP/IP協議安裝并設置結束后,為了保證其能夠正常工作,在使用前一定要進行測試。筆者建議大家使用系統自帶的工具程序摘要:PING.EXE,該工具可以檢查任何一個用戶是否和同一網段的其他用戶連通,是否和其他網段的用戶連接正常,同時還能檢查出自己的IP地址是否和其他用戶的IP地址發生沖突。假如服務器的IP地址為192.168.0.1,如要測試你的機器是否和服務器接通時,只需切換到DOS提示符下,并鍵入命令“PING192.168.0.1”即可。假如出現類似于“Replyfrom192.168.0.1……”的回應,說明TCP/IP協議工作正常;假如顯示類似于“Requesttimedout”的信息,說明雙方的TCP/IP協議的設置可能有錯,或網絡的其它連接(如網卡、HUB或連線等)有新問題,還需進一步檢查。
通信協議是指雙方實體完成通信或服務所必須遵循的規則和約定。通過通信信道和設備互連起來的多個不同地理位置的數據通信系統,要使其能協同工作實現信息交換和資源共享,它們之間必須具有共同的語言。
在計算機通信中,通信協議用于實現計算機與網絡連接之間的標準,網絡如果沒有統一的通信協議,電腦之間的信息傳遞就通信協議是指通信各方事前約定的通信規則,可以簡單地理解為各計算機之間進行相互會話所使用的共同語言。兩臺計算機在進行通信時,必須使用的通信協議。
(來源:文章屋網 )
[關鍵詞]局域網;通信協議;TCP/IP
How TO Configure the Communication Protocols of the LAN
Wang Guang ming
(Class One,Grade Three,Department of Computer Science,Zaozhuang Teachers' College,Zaozhuang 277100)
Abstract: Based on the LAN,for NetWare、Windows 95/98 and the main is Windows NT operation system,this paper introduce and analysis the characteristic、 capability and the essential configure method of the communication protocols.
Key Words: LAN;Communication Protocols; TCP/IP
不同的網絡協議都有其存在的必要,每一種協議都有它所主要依賴的操作系統和工作環境。在一個網絡上運行得很好的通信協議,在另一個看起來很相似的網絡上可能完全不適合。因此,組建網絡時通信協議的選擇尤為重要。
無論是幾臺機器組成的Windows 95/98對等網,還是規模較大的Windows NT、Novell或Unix/Xenix局域網,凡是親自組建或管理過網絡的人,都遇到過如何選擇和配置網絡通信協議的問題。由于許多用戶對網絡中的協議及其功能特點不是很清楚,所以在組網中經常選用了不符合自身網絡特點的通信協議。其結果就造成了網絡無法接通,或者是速度太慢,工作不穩定等現象而影響了網絡的可靠性。 下面我就分析一下各個協議的特點和性能借以說明我配置協議的理論和立場。
一、通信協議
組建網絡時,必須選擇一種網絡通信協議,使得用戶之間能夠相互進行“交流”。協議(Protocol)是網絡設備用來通信的一套規則,這套規則可以理解為一種彼此都能聽得懂的公用語言。關于網絡中的協議可以概括為兩類:“內部協議”和“外部協議”下面分別予以介紹。
1.內部協議
1978年,國際標準化組織(ISO)為網絡通信制定了一個標準模式,稱為OSI/RM(Open System Interconnect/Reference Model,開放系統互聯參考模型)體系結構。該結構共分七層,從低到高分別是物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層和應用層。其中,任何一個網絡設備的上下層之間都有其特定的協議形式,同時兩個設備(如工作站與服務器)的同層之間也有其使用的協議約定。在這里,我們將這種上下層之間和同層之間的協議全部定義為“內部協議”。內部協議在組網中一般很少涉及到,它主要提供給網絡開發人員使用。如果你只是為了組建一個網絡,可不去理會內部協議。
2.外部協議
外部協議即我們組網時所必須選擇的協議。由于它直接負責計算機之間的相互通信,所以通常稱為網絡通信協議。自從網絡問世以來,有許多公司投入到了通信協議的開發中,如IBM、Banyan、Novell、Microsoft等。每家公司開發的協議,最初一般是為了滿足自己的網絡通信,但隨著網絡應用的普及,不同網絡之間進行互聯的要求越來越迫切,因此通信協議就成為解決網絡之間互聯的關鍵技術。就像使用不同母語的人與人之間需要一種通用語言才能交談一樣,網絡之間的通信也需要一種通用語言,這種通用語言就是通信協議。目前,局域網中常用的通信協議(外部協議)主要有NetBEUI、IPX/SPX及其兼容協議和TCP/IP三類。
3.選擇網絡通信協議的原則
我們在選擇通信協議時一般應遵循以下的原則:
第一、所選協議要與網絡結構和功能相一致。如你的網絡存在多個網段或要通過路由器相連時,就不能使用不具備路由和跨網段操作功能的NetBEUI協議,而必須選擇IPX/SPX或TCP/IP等協議。另外,如果你的網絡規模較小,同時只是為了簡單的文件和設備的共享,這時你最關心的就是網絡速度,所以在選擇協議時應選擇占用內存小和帶寬利用率高的協議,如NetBEUI。當你的網絡規模較大,且網絡結構復雜時,應選擇可管理性和可擴充性較好的協議,如TCP/IP。
第二、除特殊情況外,一個網絡盡量只選擇一種通信協議。現實中許多人的做法是一次選擇多個協議,或選擇系統所提供的所有協議,其實這樣做是很不可取的。因為每個協議都要占用計算機的內存,選擇的協議越多,占用計算機的內存資源就越多。一方面影響了計算機的運行速度,另一方面不利于網絡的管理。事實上一個網絡中一般一種通信協議就可以滿足需要。
第三、注意協議的版本。每個協議都有它的發展和完善過程,因而出現了不同的版本,每個版本的協議都有它最為合適的網絡環境。從整體來看,高版本協議的功能和性能要比低版本好。所以在選擇時,在滿足網絡功能要求的前提下,應盡量選擇高版本的通信協議。
第四、協議的一致性。如果要讓兩臺實現互聯的計算機間進行對話,它們兩者使用的通信協議必須相同。否則中間還需要一個“翻譯”進行不同協議的轉換,這樣不僅影響通信速度,同時也不利于網絡的安全和穩定運行。
二、局域網中常用的三種通信協議
1.NetBEUI協議
■NetBEUI通信協議的特點。NetBEUI(NetBIOS Extended User Interface,用戶擴展接口)由IBM于1985年開發完成,它是一種體積小、效率高、速度快的通信協議。NetBEUI也是微軟最鐘愛的一種通信協議,所以它被稱為微軟所有產品中通信協議的“母語”。微軟在其早期產品,如DOS、LAN Manager、Windows 3.x和Windows for Workgroup中主要選擇NetBEUI作為自己的通信協議。在微軟如今的主流產品,如Windows 95/98和Windows NT中,NetBEUI已成為其固有的缺省協議。有人將WinNT定位為低端網絡服務器操作系統,這與微軟的產品過于依賴NetBEUI有直接的關系。NetBEUI是專門為幾臺到百余臺PC所組成的單網段部門級小型局域網而設計的,它不具有跨網段工作的功能,即NetBEUI不具備路由功能。如果你在一個服務器上安裝了多塊網卡,或要采用路由器等設備進行兩個局域網的互聯時,將不能使用NetBEUI通信協議。否則,與不同網卡(每一塊網卡連接一個網段)相連的設備之間,以及不同的局域網之間將無法進行通信。
雖然NetBEUI存在許多不盡人意的地方,但它也具有其他協議所不具備的優點。在三種通信協議中,NetBEUI占用內存最少,在網絡中基本不需要任何配置。尤其在微軟產品幾乎獨占PC操作系統的今天,它很適合于廣大的網絡初學者使用。
■NetBEUI與NetBIOS之間的關系。細心的讀者可能已經發現,NetBEUI中包含一個網絡接口標準NetBIOS。NetBIOS(Network Basic Input/Output System,網絡基本輸入/輸出系統)是IBM在1983年開發的一套用于實現PC間相互通信的標準,其目的是開發一種僅僅在小型局域網上使用的通信規范。該網絡由PC組成,最大用戶數不超過30個,其特點是突出一個“小”字。后來,IBM發現NetBIOS存在的許多缺陷,所以于1985年對其進行了改進,推出了NetBEUI通信協議。隨即,微軟將NetBEUI作為其客戶機/服務器網絡系統的基本通信協議,并進一步進行了擴充和完善。最有代表性的是在NetBEUI中增加了叫做SMB(Server Message Blocks,服務器消息塊)的組成部分,以降低網絡的通信堵塞。為此,有時將NetBEUI協議也稱為“SMB協議”。
人們常將NetBIOS和NetBEUI混淆起來,其實NetBIOS只能算是一個網絡應用程序的接口規范,是NetBEUI的基礎,它不具有嚴格的通信協議功能。而NetBEUI是建立在NetBIOS基礎之上的一個網絡傳輸協議。
2.IPX/SPX及其兼容協議
■IPX/SPX通信協議的特點。IPX/SPX(Internetwork Packet eXchange/Sequences Packet eXchange,網際包交換/順序包交換)是Novell公司的通信協議集。與NetBEUI的明顯區別是,IPX/SPX顯得比較龐大,在復雜環境下具有很強的適應性。因為,IPX/SPX在設計一開始就考慮了多網段的問題,具有強大的路由功能,適合于大型網絡使用。當用戶端接入NetWare服務器時,IPX/SPX及其兼容協議是最好的選擇。但在非Novell網絡環境中,一般不使用IPX/SPX。尤其在Windows NT網絡和由Windows 95/98組成的對等網中,無法直接使用IPX/SPX通信協議。
■IPX/SPX協議的工作方式。IPX/SPX及其兼容協議不需要任何配置,它可通過“網絡地址”來識別自己的身份。Novell網絡中的網絡地址由兩部分組成:標明物理網段的“網絡ID”和標明特殊設備的“節點ID”。其中網絡ID集中在NetWare服務器或路由器中,節點ID即為每個網卡的ID號(網卡卡號)。所有的網絡ID和節點ID都是一個獨一無二的“內部IPX地址”。正是由于網絡地址的唯一性,才使IPX/SPX具有較強的路由功能。
在IPX/SPX協議中,IPX是NetWare最底層的協議,它只負責數據在網絡中的移動,并不保證數據是否傳輸成功,也不提供糾錯服務。IPX在負責數據傳送時,如果接收節點在同一網段內,就直接按該節點的ID將數據傳給它;如果接收節點是遠程的(不在同一網段內,或位于不同的局域網中),數據將交給NetWare服務器或路由器中的網絡ID,繼續數據的下一步傳輸。SPX在整個協議中負責對所傳輸的數據進行無差錯處理,所以我們將IPX/SPX也叫做“Novell的協議集”。
■NWLink通信協議。Windows NT中提供了兩個IPX/SPX的兼容協議:“NWLink SPX/SPX兼容協議”和“NWLink NetBIOS”,兩者統稱為“NWLink通信協議”。NWLink協議是Novell公司IPX/SPX協議在微軟網絡中的實現,它在繼承IPX/SPX協議優點的同時,更適應了微軟的操作系統和網絡環境。Windows NT網絡和Windows 95/98的用戶,可以利用NWLink協議獲得NetWare服務器的服務。如果你的網絡從Novell環境轉向微軟平臺,或兩種平臺共存時,NWLink通信協議是最好的選擇。不過在使用NWLink協議時,其中“NWLink IPX/SPX兼容協議”類似于Windows 95/98中的“IPX/SPX兼容協議”,它只能作為客戶端的協議實現對NetWare服務器的訪問,離開了NetWare服務器,此兼容協議將失去作用;而“NWLink NetBIOS”協議不但可在NetWare服務器與Windows NT之間傳遞信息,而且能夠用于Windows NT、Windows 95/98相互之間任意通信。
3.TCP/IP協議
TCP/IP(Transmission Control Protocol/Internet Protocol,傳輸控制協議/網際協議)是目前最常用到的一種通信協議,它是計算機世界里的一個通用協議。在局域網中,TCP/IP最早出現在Unix系統中,現在幾乎所有的廠商和操作系統都開始支持它。同時,TCP/IP也是Internet的基礎協議。
■TCP/IP通信協議的特點。TCP/IP具有很高的靈活性,支持任意規模的網絡,幾乎可連接所有的服務器和工作站。但其靈活性也為它的使用帶來了許多不便,在使用NetBEUI和IPX/SPX及其兼容協議時都不需要進行配置,而TCP/IP協議在使用時首先要進行復雜的設置。每個節點至少需要一個“IP地址”、一個“子網掩碼”、一個“默認網關”和一個“主機名”。如此復雜的設置,對于一些初識網絡的用戶來說的確帶來了不便。不過,在Windows NT中提供了一個稱為動態主機配置協議(DHCP)的工具,它可自動為客戶機分配連入網絡時所需的信息,減輕了聯網工作上的負擔,并避免了出錯。當然,DHCP所擁有的功能必須要有DHCP服務器才能實現。
同IPX/SPX及其兼容協議一樣,TCP/IP也是一種可路由的協議。但是,兩者存在著一些差別。TCP/IP的地址是分級的,這使得它很容易確定并找到網上的用戶,同時也提高了網絡帶寬的利用率。當需要時,運行TCP/IP協議的服務器(如Windows NT服務器)還可以被配置成TCP/IP路由器。與TCP/IP不同的是,IPX/SPX協議中的IPX使用的是一種廣播協議,它經常出現廣播包堵塞,所以無法獲得最佳的網絡帶寬。
■Windows 95/98中的TCP/IP協議。Windows 95/98的用戶不但可以使用TCP/IP組建對等網,而且可以方便地接入其它的服務器。值得注意的是,如果Windows 95/98工作站只安裝了TCP/IP協議,它是不能直接加入Windows NT域的。雖然該工作站可通過運行在Windows NT服務器上的服務器(如Proxy Server)來訪問Internet,但卻不能通過它登錄Windows NT服務器的域。如果要讓只安裝TCP/IP協議的Windows 95/98用戶加入到Windows NT域,還必須在Windows 95/98上安裝NetBEUI協議。 轉貼于
■TCP/IP協議在局域網中的配置。在提到TCP/IP協議時,有許多用戶便被其復雜的描述和配置所困擾,而不敢放心地去使用。其實就局域網用戶來說,只要你掌握了一些有關TCP/IP方面的知識,使用起來也非常方便。
IP地址基礎知識。前面在談到IPX/SPX協議時就已知道,IPX的地址由“網絡ID”(NetWork ID)和“節點ID”(Node ID)兩部分組成,IPX/SPX協議是靠IPX地址來進行網上用戶的識別的。同樣,TCP/IP協議也是靠自己的IP地址來識別在網上的位置和身份的,IP地址同樣由“網絡ID”和“節點ID”(或稱HOST ID,主機地址)兩部分組成。一個完整的IP地址用32位(bit)二進制數組成,每8位(1個字節)為一個段(Segment),共4段(Segment1~Segment4),段與段之間用“.”號隔開。為了便于應用,IP地址在實際使用時并不直接用二進制,而是用大家熟悉的十進制數表示,如192.168.0.1等。IP地址的完整組成:“網絡ID”和“節點ID”都包含在32位二進制數中。目前,IP地址主要分為A、B、C三類(除此之外,還存在D和E兩類地址,現在局域網中這兩類地址基本不用,故本文暫且不涉及),A類用于大型網絡,B類用于中型網絡,C類一般用于局域網等小型網絡中。其中,A類地址中的最前面一段Segment1用來表示“網絡ID”,且Segment1的8位二進制數中的第一位必須是“0”。其余3段表示“節點ID”;B類地址中,前兩段用來表示“網絡ID”,且Segment1的8位二進制數中的前二位必須是“10”。后兩段用來表示“節點ID”;在C類地址中,前三段表示“網絡ID”,且Segment1的8位二進制數中的前三位必須是“110”。最后一段Segment4用來表示“節點ID”。
值得一提的是,IP地址中的所有“網絡ID”都要向一個名為InterNIC(Internet Network Information Center,互聯網絡信息中心)申請,而“節點ID”可以自由分配。目前可供使用的IP地址只有C類,A類和B類的資源均已用盡。不過在選用IP地址時,總的原則是:網絡中每個設備的IP地址必須唯一,在不同的設備上不允許出現相同的IP地址。表1列出了IP地址中的“網絡ID”的有關屬性,“節點ID”在互不重復的情況下由用戶自由分配。其實,將IP地址進行分類,主要是為了滿足網絡的互聯。如果你的網絡是一個封閉式的網絡,只要在保證每個設備的IP地址唯一的前提下,三類地址中的任意一個都可以直接使用(為以防萬一,你還是老老實實地使用C類IP地址為好)。
子網掩碼。對IP地址的解釋稱之為子網掩碼。從名稱可以看出,子網掩碼是用于對子網的管理,主要是在多網段環境中對IP地址中的“網絡ID”進行擴展。舉個例子來說明:例如某個節點的IP地址為192.168.0.1,它是一個C類網。其中前面三段共24位用來表示“網絡ID”,是非常珍貴的資源;而最后一段共8位可以作為“節點ID”自由分配。但是,如果公司的局域網是分段管理的,或者該網絡是由多個局域網互聯而成,是否要給每個網段或每個局域網都申請分配一個“網絡ID”呢?這顯然是不合理的。此時,我們可以使用子網掩碼的功能,將其中一個或幾個節點的IP地址全部充當成“網絡ID”來使用,用來擴展“網絡ID”不足的困難。
當我們將某一節點的IP地址如192.168.0.1已設置成一個“網絡ID”時,網絡上的其它設備又怎樣知道它是一個“網絡ID”,而不是一個節點IP地址呢?這就要靠子網掩碼來告知。子網掩碼是這樣做的:如果某一位的二進制數是“1”,它就知道是“網絡ID”的一部分;如果是“0”便認作是“節點ID”的一部分。如將192.168.0.1當做“網絡ID”時,其子網掩碼就是11111111.11111111.11111111.00000001,對應的十進制數表示為255.255.255.1。否則它的子網掩碼就是11111111.11111111.11111111.00000000,對應的十進制數表示應為255.255.255.0。有了子網掩碼,便可方便地實現用戶跨網段或跨網絡操作。不過,為了讓子網掩碼能夠正常工作,同一子網中的所有設備都必須支持子網掩碼,且子網掩碼相同。表2列出了A、B、C三類網絡的缺省子網掩碼。
網關。網關(Gateway)是用來連接異種網絡的設置。它充當了一個翻譯的身份,負責對不同的通信協議進行翻譯,使運行不同協議的兩種網絡之間可以實現相互通信。如運行TCP/IP協議的Windows NT用戶要訪問運行IPX/SPX協議的Novell網絡資源時,則必須由網關作為中介。如果兩個運行TCP/IP協議的網絡之間進行互聯,則可以使用Windows NT所提供的“默認網關”(Default Gateway)來完成。網關的地址該如何分配呢?可舉一個例子來回答:假如A網絡的用戶要訪問B網絡上的資源,必須在A網絡中設置一個網關,該網關的地址應為B網絡的“網絡ID”(一般可理解為B網絡服務器的IP地址)。當A網絡的用戶同時還要訪問C網絡的資源時又該怎么呢?你只需將C網絡的“網絡ID”添加到A網絡的網關中即可。依次類推……網關連多少個網絡,就擁有多少個IP地址。
主機名。網絡中唯一能夠代表用戶或設備身份的只有IP地址。但一般情況下,眾多的IP地址不容易記憶,操作起來也不方便。為了改善這種狀況,我們可給予每個用戶或設備一個有意義的名稱,如“WANGQUN”。至于在網絡中用到“WANGQUN”時,怎樣知道其對應的IP地址呢?這完全由操作系統自己完成,我們大可不必考慮。
三、通信協議的安裝、設置和測試
局域網中的一些協議,在安裝操作系統時會自動安裝。如在安裝Windows NT或Windows 95/98時,系統會自動安裝NetBEUI通信協議。在安裝NetWare時,系統會自動安裝IPX/SPX通信協議。其中三種協議中,NetBEUI和IPX/SPX在安裝后不需要進行設置就可以直接使用,但TCP/IP要經過必要的設置。所以下文主要以Windows NT環境下的TCP/IP協議為主,介紹其安裝、設置和測試方法,其他操作系統中協議的有關操作與Windows NT基本相同,甚至更為簡單。
■TCP/IP通信協議的安裝。在Windows NT中,如果未安裝有TCP/IP通信協議,可選擇“開始/設置/控制面板/網絡”,將出現“網絡”對話框,選擇對話框中的“協議/添加”,選取其中的TCP/IP協議,然后單擊“確定”按鈕。系統會詢問你是否要進行“DHCP服務器”的設置?如果你的IP地址是固定的(一般是這樣),可選擇“否”。隨后,系統開始從安裝盤中復制所需的文件。
■TCP/IP通信協議的設置。在“網絡”對話框中選擇已安裝的TCP/IP協議,打開其“屬性”,在指定的位置輸入已分配好的“IP地址”和“子網掩碼”。如果該用戶還要訪問其它Widnows NT網絡的資源,還可以在“默認網關”處輸入網關的地址。
■TCP/IP通信協議的測試。當TCP/IP協議安裝并設置結束后,為了保證其能夠正常工作,在使用前一定要進行測試。筆者建議大家使用系統自帶的工具程序:PING.EXE,該工具可以檢查任何一個用戶是否與同一網段的其他用戶連通,是否與其他網段的用戶連接正常,同時還能檢查出自己的IP地址是否與其他用戶的IP地址發生沖突。假如服務器的IP地址為192.168.0.1,如要測試你的機器是否與服務器接通時,只需切換到DOS提示符下,并鍵入命令“PING 192.168.0.1”即可。如果出現類似于“Reply from 192.168.0.1……”的回應,說明TCP/IP協議工作正常;如果顯示類似于“Request timed out”的信息,說明雙方的TCP/IP協議的設置可能有錯,或網絡的其它連接(如網卡、HUB或連線等)有問題,還需進一步檢查。
四、小結
在組建局域網時,具體選擇哪一種網絡通信協議主要取決于網絡規模、網絡間的兼容性和網絡管理幾個方面。如果正在組建一個小型的單網段的網絡,并且對外沒有連接的需要,這時最好選擇NetBEUI通信協議。如果你正從NetWare遷移到Windows NT,或兩種平臺共存時,IPX/SPX及其兼容協議可提供一個很好的傳輸環境。如果你正在規劃一個高效率、可互聯性和可擴展性的網絡,TCP/IP則將是理想的選擇。
參考文獻
[1]阮家棟 俞麗和 《微型計算機網絡原理及應用》 北京 中國紡織大學出版社 1995
[2]瞿 坦 《計算機網絡及應用》 北京 化學工業出版社 2002
【關鍵詞】計算機網絡通信協議TCP/IP協議IPX/SPX及其兼容協議
隨著計算機技術的普及,網絡信息化得到了新的發展。在這個過程中計算機網絡通信協議成為該行業討論的焦點問題。因此,本文將從通信協議的概念、原則和常見協議幾個方面進行分析,力求提供新的思路。
1網絡通信協議的概念
在計算機通信的過程中,兩臺計算機之間必須使用通信協議。網絡通信協議主要是指通過信道和設備將多個不同位置的數據進行連接的通信系統,是計算機之間實現會話的必要基礎。通信協議具有可靠性、有效性和層次性的特點。其本質是一種規則的體現,即計算機網絡硬件和軟件必須共同遵守的規則。與此同時,我們認為網絡協議并不是單獨存在的,常常存在于其他軟件中。其中,基礎型協議主要用來提供網絡連接的服務,是通信服務中最基礎的層面;應用型協議需要針對具體的網絡服務來進行選擇,不屬于必備協議。從組成方面來看,網絡協議主要包含三個要素,即語義、語法和時序。語義主要是對協議元素進行必要的解釋,而不同的協議元素對語義的規定有所差別。語法主要是將各個協議的元素進行組合,通過計算機語言表達出相對完整的內容,是對信息數據處理的結構形式。時序則是對事件發生的順序進行調整和說明。
2網絡通信協議的原則
在計算機網絡通信協議中進行信息和數據傳遞需要堅持三大原則。即所選協議的一致性、選擇高版本協議和通信協議的單一性。所選協議的一致性是指協議需要和網絡結構、功能相一致。在計算機網絡通信協議中,網絡通信協議需要對網絡規模、兼容性和管理進行綜合考慮。具體而言,當網絡規模較小時,對網絡的要求也隨之較低。因此在網絡配置的選擇上重心在于網絡速度。故,在協議的選擇上以占用內存小和寬帶利用率高的協議為主,常見的有:NetBEUI。反之,當網絡規模較大時,網絡結構也變得復雜,此時可以選擇擴充性和管理性較強的協議,常見的有:TCP/IP。通信協議的單一性主要是指計算機之間的通信離不開通信協議,常規模式下每一個網絡只能選擇一種通信協議。這是因為,每一個網絡通信協議均會占用計算機內存,當選擇協議較多時,無疑會造成內存資源的不足和浪費,從而直接影響到計算機的運行速度,加大了網絡管理的難度。選擇高版本協議主要原因是:高版本協議的功能和性能相對較好。值得一提的是每個通信協議都有其最合適的網絡環境。因此,使用者需要根據網絡計算機的環境選擇與之匹配的網絡通信協議。
3常見的網絡通信協議
3.1TCP/IP協議
TCP/IP協議是TCP協議和IP協議的結合體,是最重要的兩種協議。最早使用該協議的是Unix系統,并且得到了市場上大多數計算機廠商和操作系統的大力支持。在互聯網的使用過程中,TCP/IP協議能夠提供有效地端字節傳輸服務。首先,傳給IP層的數據流可以通過TCP分割成長度較為合適的數據段后再進行二次傳輸,然后根據接收端主機從IP層接收的數據包進行上傳。常見的IP協議主要為IPV4協議和IPV6協議,該協議規定了在互聯網傳輸過程中準確的數據格式,因此,在TCP/IP協議中的傳輸是相對嚴格的一個過程。與此同時,IPV6協議優于IPV4協議,具體表現在三個方面。即IPV6協議擁有更為廣闊的地址空間,將IP地址長度從32位上升到128位;擁有更小的路由表,即IPV6協議遵循聚類原則,路由器可以在路由表中選擇一條記錄來代表一片子網,因此縮短了路由表的長度,進而提高了路由器轉發數據包的速度。最后,IPV6協議協議增加了自動配置的支持功能,該功能能夠使網絡管理更為便利和安全,同時可以對網絡層提供加密數據處理,提高了互聯網安全。除此之外,TCP/IP協議本身具有較強的靈活性,可以支持不同規模的網絡,連接所有的服務器和工作站。但是,在這個過程中也存在一些麻煩和問題。即在使用其他協議的過程中不需要進行配置,可以自動的分配網絡所需的必要信息,減少人工操作。而TCP/IP協議需要完成相對復雜的設置過程,即每一個節點都需要IP地址、子網掩碼、默認網關和主機名。此外,對于Windows中的TCP/IP協議而言,想要直接加入WindowsNT域只安裝TCP/IP協議是無法登陸的,還需要在Windows系統上安裝NetBEUI協議,從而順利的訪問其服務器的域中。
3.2IPX/SPX及其兼容協議
IPX/SPX及其兼容協議是由Novell公司開發的一種網絡通信協議集,與NetBEUI通信協議不同的地方在于該協議較為龐大,在復雜的網絡環境下依舊有強大的適應性。因此,非常適合大型網絡使用。與此同時,IPX/SPX及其兼容協議可以通過網絡地址信息來辨別身份,不需要任何其他配置,是其最大的優點。此外,IPX/SPX及其兼容協議所有的網絡IP和節點IP都有內部的一個IPX地址,具有唯一性。然而,IPX屬于NetWare自帶的最底層的網絡協議,其功能主要是對網絡中傳輸的數據負責,即僅保證傳輸的成功,不保證傳輸的正確性。而SPX主要是針對數據的正確性進行核查與處理。因此,當兩種協議合并在一起的時候能夠具備較強的功能,彌補其劣勢。因此,使用Windows的用戶可以獲得NetWare服務器的相關服務,當Novell環境開始轉向微軟平臺的時候,這兩種平臺將實現共存。
3.3NetBEUI協議
NetBEUI協議最大的優點在于速度快、體積小和效率高,且NetBEUI協議是微軟主流產品的缺省協議。該協議主要應用于小型局域網環境中,且局域網中可以實現幾百臺PC機的互聯。NetBIOS是NetBEUI通信協議中的一個網絡接口標準,其功能是加強PC機之間的通信,而內網PC機一般不超過30個。
4結語
隨著局域網的組建和發展,網絡兼容性和網絡規則將直接影響到網絡通信協議的選擇。與此同時,TCP/IP協議主要用于效率高且擴展性能較強的網絡,而NetBEUI通信協議比較適合小型網絡。IPX/SPX及其兼容協議協議主要適用于兩種平臺共存的計算機網絡系統。因此,在網絡通信協議的選擇上需要根據實際需要進行科學的、合理的選擇,提高計算機的使用效率。
參考文獻:
[1]劉芳基.于通信順序進程的計算機網絡通信協議形式化描述[J].信息系統工程,2016(2).
[2]吉逸,吳國新.計算機網絡體系結構及通信協議[J].江蘇機械制造與自動化,2011(5).
[3]石全民,何輝.網絡安全協議在計算機通信技術當中的作用與意義[J].中國建材科技,2015(4).
【關鍵詞】CBTC系統 通信協議 設計 分析
前言:所謂CBTC系統,是指基于通信的列車運行控制系統(Communications Train Control),此項技術最早發源于歐洲,經過多年的發展,CBTC系統已經發展的比較完善。當前,我國在應用CBTC系統對列車進行控制時,應該在借鑒國外先進技術的基礎上,研發出適合我國實際情況的CBTC系統,同時,此種新型CBTC系統要以移動通信為基礎。
一、CBTC系統通信協議的設計
1、需求分析和設計思想。CBTC系統對安全性的要求非常高,因此,在進行通信協議設計之前,首先需要進行需求分析,主要從系統結構及安全防護措施兩個方面來進行分析,之后,再在需求分析的基礎上,結合安全傳輸規范中的方法,提出具體的設計思想。系統結構需求:在進行數據傳輸的搭建工作時,以標準的TCP/IP四層協議為基礎,具體使用的為應用層定義的傳輸協議,鑒于此點要求,系統結構需求有三種,分別為對上層應用透明、具備安全相關的傳輸功能及訪問保護功能、通信協議的統一性。防護措施要求:在確定防護措施的要求時,要以影響系統安全的危險因素為基礎,進而根據EN50159-2標準來進行合理的設計。
2、通信協議架構設計。在進行CBTC系統的通信協議設計時,需要具備三大功能,一是具有獨立性,二是對上層應用透明,三是保證雙冗余總線發送?;谕ㄐ艆f議功能上的要求,架構設計也應該包含三個層次:第一層次,安全時間層,主要的功能是在進行數據傳輸時,加蓋時間戳,同時,在完成數據接收之后,將數據所帶有的時間戳解析出來,通過對比分析,將信息的正確性與實效性予以確定;第二層次,安全鏈接層,主要功能就是對鏈接進行管理,從而使鏈接處于良好的狀態當中;第三層次,冗余管理層,安全數據處理完成之后,安全鏈接層會對其進行打包,而冗余管理層就是對打包之后的數據進行加密,并在兩條總線上發送,同時接受發來的報文,進行解密之后傳送給上層。
二、CBTC系統通信協議的形式化分析
1、系統模型的分解和驗證。對于設計完成的CBTC系統通信協議來說,有三項指標需要進行考察和驗證,這三項指標分別為鏈接建立時間、信息傳輸延時范圍、信道性能對鏈路狀態的影響。在實際的考察和驗證中,鏈接建立過程與實際數據傳輸過程分別進行驗證,在對鏈接建立過程中進行驗證時,主要是對建立時間進行考察,而對實際數據傳輸過程中進行驗證時,主要是對剩余性能指標進行考察,進而通過分解模型,將狀態空間科學的分析,使模型的動態特性得到合理的驗證。
2、危險分析。CBTC系統在運行的過程中,存在著很多影響安全的危險因素,而危險分析就是對危險因素進行明確,并確定是否采取有效地防護措施。一般來說,在CBTC系統中,存在的危險因素主要有三種:第一,信道的丟包率,在利用信道進行數據傳輸的過程中,信息丟失的可能性非常大,因而,信道的丟包率是一項非常主要的危險因素,在對其進行分析時,分析的方法為隨機數模擬,從而將丟包概率值予以改變,最終得出合理的接受范圍;第二,信道的傳輸延遲,通過分析,將延遲的最大范圍進行明確;第三,入侵者的惡意數據,一旦此種危險因素的危險發生,那么CBTC系統就會出現錯誤,因此,必須要對其采取相應的防護措施。
3、系統的仿真及結果分析。經過前兩個步驟,可以分析相關的性能參數并得出結果。在進行系統仿真的過程中,首選需要對鏈接建立時間進行仿真,進而對其性能進行科學的評價,仿真實驗時,建鏈操作為300次,通過對每次操作時間的考察,進行有效地分析,并得出結果。接著進行信息傳輸延時范圍仿真,采取的是建立模型的方法,同樣實驗次數為300次,通過取平均值的方式將變化規律確定。第三是對信道性能對鏈路狀態的影響進行仿真,以此來分析狀態的好與壞。通過各項系統仿真的結果,對其進行全面的分析后可知,CBTC系統的通信協議具備非常優異的性能,而且安全系數也提高了許多,因此,此次CBTC系統的通信協議設計的安全性非常高,能夠滿足CBTC系統對安全性的需求,從而保證列車運行控制的有效性。
【關鍵詞】計算機網絡;通信協議;TCP/IP;SMTP
一、計算機網絡通信協議概述
1.通信協議概念。網絡通信協議(Network Communication Protocol),通常簡稱為網絡協議(Network Protocol),就是對計算機之間通信的信息格式、能被收/發雙方接受的傳送信息內容的一組定義。
2.網絡協議的分類。網絡協議是一種特殊的軟件,是計算機網絡實現其功能的最基本機制。網絡協議的本質是規則,即各種硬件和軟件必須遵循的共同守則。但網絡協議又不是一套單獨的軟件,它通常融合在其他軟件系統中。網絡協議遍及OSI通信模型的各個層次,從我們非常熟悉TCP/IP、HTTP、FTP協議,到OSPF、IGP等高級路由協議都可以認為是網絡協議,有上千種之多。在所有常用的網絡協議中,又可以分常用的基礎型協議和常用的應用型協議。TCP/IP、IPX/SPX、NetBEUI屬于常用的基礎型協議;而HTTP、PPP、FTP則屬于常用的應用型協議?;A型協議用來提供網絡連接服務,它在網絡連接和通信活動中必不可少;應用型協議對于網絡來說不是必需的,而是在具體應用到網絡服務時才需要。
3.網絡協議的作用與組成。網絡協議所起的主要作用和所適用的應用環境各不相同,有的是專用的,如IPX/SPX就專用于Novell公司的NetWare操作系統,而NetBEUI協議則專用于微軟公司的Windows系統;有的則是通用的(當然是相對的),如TCP/IP協議就適用于幾乎所有的系統和應用環境。在這么多的網絡協議中,一般網絡用戶只需要著重掌握幾種常用和主要的協議即可。網絡協議包括語義、語法和時序三個組成部分。語義是對協議元素的含義進行解釋,不同類型的協議元素所規定的語義是不同的。語法是將若干個協議元素和數據組合在一起用來表達一個完整的內容所應遵循的格式,也就是對信息的數據結構做一種規定。而時序是對事件實現順序的詳細說明。
二、TCP/IP協議族
TCP/IP協議族從字面上理解只有兩個協議:TCP協議和IP協議,而事實上它是一個協議集合,而TCP和IP協議是協議族中最基本的最重要的兩個協議。
1.IP協議。(1)IPv4協議。IPv4協議運行在網絡層上,可實現異構的網絡之間的互連互通。它是一種不可靠、無連接的協議。IPv4定義了在整個TCP/IP互聯網上數據傳輸所用的基本單元,規定了互聯網上傳輸數據的確切格式;IP軟件完成路由選擇的功能,選擇一個數據發送的路徑;除了數據格式和路由選擇精確而正式的定義之外,還包括一組不可靠分組傳送思想的規則。IP協議是TCP/IP互聯網設計中最基本的部分。(2)IPv6協議。互聯網發展到當前的規模,IPv4協議的建立功不可沒。但是同時它的缺點也充分顯現出來,如地址空間耗盡、路由表急劇膨脹、缺乏對QoS的支持、移動性差等。盡管采用了許多新的機制來緩解這些問題,如DHCP技術、NAT技術等,但問題沒有得到根本解決。終于在1995年12月,IPv6協議誕生,該協議全稱“互聯網協議第6版”,即下一代的網際協議。相對于IPv4來說,其特點主要有以下兩點,首先,講IPv4的32位IP地址擴大到了128位;另外,在IPv6數據報的首部格式中,用固定格式的擴展首部取代了IPv4中可變長的選項字段。
2.TCP協議。TCP用于在不可靠的互聯網上提供可靠的端到端字節流傳輸服務。在一個TCP連接中,僅有兩方進行彼此通信。TCP的功能是:TCP把發送端試題要求發送的數據流分割成適當長度的數據段,然后傳給IP層,再由IP層通過網絡接口層將包傳送給接收端主機。接收端主機接受到數據后,會將數據一路上傳給制定的接收端實體。
3.SMTP協議。SMTP協議又稱為簡單郵件傳輸協議,是在應用層的協議。主要對如何將電子郵件從發送方傳送到接收方,即對傳輸的規則做了規定。SMTP協議的通信模型并不復雜,主要工作集中在發送SMTP和接受SMTP上:首先針對用戶發出的郵件請求,建立發送SMTP(發送方)到接受SMTP(接收方)的雙工通信鏈路,接收方是相對于發送方而言,實際上它既可以是最終的接受者也可以是中間傳送者。發送方負責向接收方發送SMTP命令,接收方負責接受并反饋應答。
上面只簡單的介紹了幾種通信協議,還有很多協議值得研究,如有數據鏈路層的CSMA/CD協議,應用層的FPT、HTTP和DNS協議等。就是在這些許許多多的通信協議的共同作用下,才能確保網絡通信的正常。
參考文獻
1 網絡通信協議的概念
網絡通信協議簡稱為網絡協議,它是一種網絡通用語言,為連接不同操作系統和不同硬件體系結構的互聯網絡提供通信支持。
2 常見的網絡通信協議
局域網中常用的通信協議主要有:tcp/ip協議、ipx/spx兼容協議以及netbeui協議。
2.1 tcp/ip協議
tcp/ip協議實際上是tcp協議與ip協議的集合,是最基礎也是最重要的兩個協議。unix系統中最早使用它,得到目前市場上的絕大多數的廠商和操作系統的支持。在不可靠的互聯網上,tcp/ip可以提供可靠的端到端字節流傳輸服務。首先傳給ip層的數據流通過tcp分割成長度適當的數據段后再進行傳送,然后接收端主機接收來自ip層傳送過來的數據包,最后數據被一步一步上傳到制定的接收端實體。目前ip協議有ipv4協議和ipv6兩種,其中現階段采用最為普遍的依舊是ipv4協議,該協議是一種無連接、可靠性較差的協議,他規定了互聯網中傳輸數據的準確格式,在整個tcp/ip協議的網絡中數據傳輸都是具有嚴格的要求。同時ip軟件可以實現路由選擇的功能,將一組數據選擇好發送的路徑,通過不可靠分組傳輸的思想,將數據在網絡中進行傳輸。再加上ip協議是tcp/ip在互聯網設計中最為基礎的部分,那么協議的不斷發展和更新也是時代進步的標志。然后相對于ipv4來說,隨著互聯網發展的不斷深入,有限的地址空間必定阻礙互聯網的進一步發展,于是被稱為互聯網協議第6版的新一代協議,即ipv6早在1995年底就已經誕生,但被廣泛應用和重視的程度,卻是近幾年才被突顯其優勢的。
所以相對于ipv4來說,ipv6的優勢具體有3點:(1)擁有更大的地址空間,也就是ip地址長度從32位擴大到128位。(2)擁有更小的路由表,即ipv6的地址分配遵循聚類原則,這就使得路由器可以在路由表中用一條記錄表示一片子網,從而大大減小了路由表的長度,提高了路由器轉發數據包的速度。(3)增加了自動配置的支持功能,這就使得網絡在管理上更加便捷、安全,而ipv6網絡中用戶還可以對網絡層的數據進行加密,并對ip進行校驗,這就更增強了網絡的安全效益。
然而對于windows中的tcp/ip協議來說,用戶不但可以通過tcp/ip來組建對等網,還可以很便捷的接入其他的服務器。如果當用戶想直接加入windows nt域的話,那么工作站只安裝了tcp/ip協議,是不可以登錄和訪問的。即使工作站能夠通過windows nt服務器上的服務器來訪問網絡,但卻無法通過windows nt服務器來登錄到它的域,所以只安裝了tcp/ip協議的windows用戶,需要加入到windows nt域,就必須在windows上還要安裝netbeui協議,才能順利訪問到其服務器的域中去。
同時由于tcp/ip本身就具有很高的靈活性,可以支持不同規模的網絡,連接所以的服務器和工作站,但這些靈活性的特點也為其帶來許多的麻煩,比如在使用netbeui和ipx/spx及其兼容協議時,通常都不需要進行配置,但tcp/ip協議在使用時卻要進行復雜的一個設置過程,且每個節點都需要一個ip地址、一個子網掩碼、一個默認網關及一個主機名。而在windows nt中,啊可以自動為客戶機分配接入網絡所需的信息,減輕互聯網在工作上的壓力,避免錯誤機會的產生。再加上ipx/spx及兼容協議、tcp/ip都是一種可路由的協議,且tcp/ip的地址是分級的,那么找到網上的用戶更容易確定其位置,這樣也大大提高了網絡寬帶的有效利用率。所以當有需要時,運行tcp/ip協議中windows nt的服務器,就可以將其配置成tcp/ip路由器,但與tcp/ip不同的是,ipx/spx協議中的ipx在使用過程中采用的是一種廣播協議,經常會出現廣播包堵塞等現象,這就使得網絡在船傳輸使用過程中無法獲得最佳的帶寬。
2.2 ipx/spx及其兼容協議
ipx/spx是novell公司為了適應網絡的發展而開發的一種通信協議集,與netbeui的明顯區別就是ipx/spx比較龐大,在復雜環境下也依然具有很強的適應性。正因為這個特點ipx/spx在最初的設計中就考慮到多網段的問題,所以具有超強的路由功能,非常適合大型網絡的使用;另外,由于ipx/spx及其兼容協議可以通過網絡地址來辨別各自的身份,且不需要任何的配置,這也是他的優勢所在。同時目前的novell的網絡地址由兩部分組成,即標明物理網段的‘網絡id’和標明特殊設備的‘節點id’。其中網絡id主要集中在netware服務器或路由器中,而節點id也就是用戶使用不同網卡的id號。因為所有的網絡id和節點id都是獨有的內部ipx地址,也正是具有網絡地址的唯一性,才給ipx/spx帶來了如此強大的路由功能。
然而在ipx/spx協議中,ipx是netware自帶的最底層的網絡協議,它的功能就是負責數據在網絡中的傳輸,但不保證數據是否傳輸成功,更不提供糾錯服務。所以當ipx在負責數據傳輸時,如果接收節點處在同一網段內,就直接按該節點的id將數據傳給它;如果接收節點是遠程的,數據將交給netware服務器或路由器中的網絡id,繼續數據的下一步傳輸。而spx就是只針對整個協議中傳輸的數據進行無差錯處理,所以將兩個協議合并在
轉貼于
一起,就是ipx/spx即‘novell的協議集’。綜上所述, windows?nt網絡和windows的用戶,可以利用nwlink協議獲得netware服務器的服務,然而當novell環境開始轉向微軟平臺時,就會出現兩種平臺共存的局面,這時nwlink通信協議便是最好的選擇。
2.3 netbeui協議
netbeui協議具有速度快、效率高、體積小的特點。netbeui早已經成為微軟主流產品的缺省協議,如windows系統系列中。netbeui的設計主要服務與單網段部門級小型局域網,局域網中互聯幾臺至上百臺的pc機。netbios是netbeui中的一個網絡接口標準,主要作用是實現pc機之間的互相通信,專門應用于小型局域網,網內pc機數不超過30個。
3 網絡通信協議的選擇原則
3.1 所選協議要與網絡結構和功能相一致
當用戶的網絡存在多個網段時,就需要使用具備路由和跨網斷操作功能的netbeui協議,那么這時就必須選擇ipx/spx或tcp/ip等協議。此外,如果你所在的網絡規模不大,只是為了簡單的設備共文件享的話,這個時候你應該最為關心的是網速問題,所以在此時你應該選擇占用內存較小且貸款利用率較高的協議,即netbeui協議。但如果你的網絡規模較大且網絡結構復雜的時候,就應該選擇管理性和擴充性良好的協議,即tcp/ip協議。
3.2 注意協議的版本
由于發展和完善過程的不同,每個的協議都有它合適的網絡環境,那么從整體上來看,版本越高功能和性能相對就要好些,所以用戶在選擇時,盡量在滿足網絡需求的前提下,選擇高版本的通信協議。
3.3 協議的一致性
要使得兩臺互聯的計算機之間實現正常的對話,就需要采用相同的通信協議,相反未采用一致的協議就需要一個中間環節的翻譯來進行協議間的轉換,這樣做只會影響通信速度還不利于網絡運行的穩定和安全。