一個實例服務器
開放系統參加模型spa
有兩個哲學家AB,他們身在不一樣的地方,說不一樣的語言,但有一個相同的哲學話題要進行討論。要討論就要進行相互的交流,所面臨的問題就是:一、解決語言問題二、異地交流的問題。咱們所使用的方法就是,給A找一個翻譯A和祕書A,也給B找一個翻譯B和祕書B。讓翻譯來解決語言問題,讓祕書來解決交流問題。假設他們要用通訊的方式來交流blog
接下來,哲學家A就把要與哲學家B討論的內容寫成信裝在信封裏,而後在信封上面寫上收信人和地址。而後將信交給翻譯A,且告訴翻譯A翻譯的要求是什麼。但哲學家A並不關心翻譯是如何翻譯這封信的。等翻譯A譯好這封信時再交給祕書A,並告訴祕書A這信要在多長時間內交給誰等要求。而後祕書A就跟對方的祕書B約定好我用什麼方式寄給你,你在收到信的時候給我打個電話之類的信息,等祕書B收到信後再將信交給翻譯B,翻譯B將信再譯成哲學家B能看懂的語言交給他。這就完成了一次通訊。接口
這樣子作會帶來什麼好處呢?進程
一、可行性增長了。由於就算若是有一天,給哲學家幹活的翻譯辭職不幹了,再找一個翻譯也不是啥難事。(靈活性好:當任意層發生變化時,只要接口不變,上下層均不受影響。)ip
二、讓哲學家專心搞學術,其它的工做都給別人作。讓翻譯專心搞翻譯,讓祕書專心搞外交等等。(各層獨立:每一層不要知道下層是如何實現的,只要知道層間的接口和所提供的服務) 資源
網絡體系結構能夠說是:層、服務、協議,這三者的集合。
層與層之間服務是經過接口來實現的,協議是水平的概念(翻譯A與翻譯B之間),服務是垂直的概念(哲學家與翻譯,翻譯與祕書之間)。
服務:各層向上層提供的一組操做,只定義接口,不涉及具體實現。也就是僅告訴上層我能夠能作什麼,但不告訴我我是怎麼作到的。服務是每一層存在的意義。
協議:同層對等實體的具體規則。是服務的實現,爲了服務,我要制定哪些規則,兩個對等實體要怎麼樣通信,才能實現服務。
兩者的關係:實體利用協議實現服務定義的接口,只要服務不變,能夠任意改變協議。
這就是很是經典的OSI網絡模型了,可是很惋惜,他在現實世界中並無實際的例子與之對應。並且它的產生要比咱們所熟知的TCP/IP協議集要晚。0.0
上三層是資源子網,下三層是通訊子網,中間的 傳輸層是起到承上啓下的做用。外部兩列對應着資源子網的設備如計算機服務器等,內部兩列對應着通訊子網的設備路由器等。兩個系統想要直接通訊,就要符合必定的要求:要加載每一層且一一對應,而通訊子網與資源子網沒有對應,是由於通訊子網只解決通訊問題。
對這七層總結起來以下: