我想知道OSI模型的傳輸層在計算機系統中運行的位置。它是否是操作系統的一部分?它在自己的進程或線程中運行嗎?它如何將信息傳遞給其他應用程序或傳遞到其他層?傳輸層在哪裏運行?
回答
我想知道OSI模型的傳輸層在計算機系統中運行的位置。
不是。 OSI模型適用於OSI協議套件,該協議套件已停用,並且不在任何位置運行AFAICS。但是TCP/IP有其自己的模型,其中還包括一個傳輸層。我會認爲這就是你以後的意思。
它是操作系統的一部分嗎?
是的。
它運行在它自己的進程或線程中嗎?
不,它作爲操作系統的一部分運行。
它是如何將信息傳遞給其它應用
通過系統調用,例如Berkeley套接字API,WinSock等。
或下降到其他層?
通過內部內核API。
你可以請發佈一些鏈接或教程嗎?如果您還可以提及網絡層的實施位置,那將非常棒。它是在一個WiFi適配器?我希望教程能夠顯示所有這些,而不是抽象層的舊框圖。 – testerjoe2 2017-01-26 07:12:25
@ testerjoe2應用程序層下的所有東西都在操作系統中。某些鏈接層和更低層可能位於網絡適配器中。 – EJP 2017-10-09 04:53:23
OSI模型稱爲傳輸層的東西與TCP/IP中的TCP層相當接近。也就是說,它提供了有保證的交付/錯誤恢復,以及主機之間的透明傳輸 - 您無需關注數據如何從一臺主機路由到另一臺主機 - 您只需指定一個目的地,網絡就會計算出來如何在那裏得到它。
至於實現的地方:好的,主要是在TCP/IP堆棧中,這通常是操作系統的一部分。現代硬件可以在硬件中實現至少幾個比特和塊(例如,TCP校驗和和流量控制)。網絡堆棧將通過設備驅動程序將TCP操作的這些部分卸載到硬件中。
讓我們舉個例子,C++的winsock庫使用'send'與tcp交換信息。該方法正在進行,以確保傳遞的字節流的正確傳遞。我對此感興趣。那是在做什麼?我在最低級別上猜測,而不是直接在該方法調用中。 – 2012-04-06 05:55:21
@SotiriosDelimanolis:它毫無疑問不是那個函數的全部內容,而是它在TCP層之內(下層IP層不提供保證傳遞)。然而事實上,跟蹤事情有點難以理解 - 例如,微軟擁有一個數據包過濾框架來支持防火牆等,這大大侵入了這一切,同時支持內核模式和用戶模式過濾。 – 2012-04-06 06:01:48
這個答案不正確。 TCP/IP有一個傳輸層,它包括TCP和UDP,以及即將到來的一天,即SCTP。 – EJP 2017-10-09 04:58:30
傳輸層可用作通常隨操作系統一起提供的庫。
邏輯部分在庫中實現。與運輸媒介的互動是通過司機。
它通常作爲內核組件提供,表現爲驅動程序。不是圖書館。 – EJP 2013-10-23 07:37:48
- 1. Spark Streaming在哪裏運行?
- 2. 在哪裏運行node.js
- 3. bootloader在哪裏運行?
- 4. Ubercart USPS運輸模塊在哪裏
- 5. 哪裏運行Opengl命令?
- 6. rspec/cucumber運行後,在哪裏清理cloudinary文件上傳
- 7. 當用DE2運行C程序時,輸出在哪裏?
- 8. 當作爲後臺進程運行時,輸出在哪裏?
- 9. WebRTC:是否有一個SFU在傳輸層運行?
- 10. 運行服務器在哪裏成組?
- 11. UIImage在哪裏運行watchOS擴展
- 12. 查詢重定向在哪裏運行
- 13. 運行時在哪裏存儲密碼?
- 14. Riak Post-Commit掛鉤在哪裏運行?
- 15. AzureML在哪裏運行其分析?
- 16. 查找控件在哪裏運行javascript
- 17. MongoDB「forEach」命令在哪裏運行?
- 18. sidekiq進程在哪裏運行?
- 19. SQL更新在哪裏運行?
- 20. 在哪裏運行`$ php vendor install`?
- 21. 這個AsyncTask在哪裏運行?
- 22. PyQt事件循環在哪裏運行?
- 23. Java Servlets和Applets在哪裏運行?
- 24. 在哪裏運行setspn命令?
- 25. 調度算法在哪裏運行?
- 26. BIRT腳本在哪裏運行?
- 27. 在哪裏運行symfony2調試命令?
- 28. 分層傳輸
- 29. 我在哪裏可以運行Java Dependencies來運行crawler4j-2.2.jar?
- 30. 在哪裏創建「服務層」?
哪個操作系統?我注意到你有'tcp'標籤。您的問題只針對IP嗎?還是您在詢問其他協議棧? – 2012-04-06 14:44:31
關於網絡層以上的協議棧。 – 2012-04-06 15:41:46