我想知道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. bootloader在哪里运行?
- 2. Ubercart USPS运输模块在哪里
- 3. 哪里运行Opengl命令?
- 4. 当作为后台进程运行时,输出在哪里?
- 5. WebRTC:是否有一个SFU在传输层运行?
- 6. 运行时在哪里存储密码?
- 7. MongoDB“forEach”命令在哪里运行?
- 8. 在哪里运行setspn命令?
- 9. 查找控件在哪里运行javascript
- 10. SQL更新在哪里运行?
- 11. 查询重定向在哪里运行
- 12. 调度算法在哪里运行?
- 13. Riak Post-Commit挂钩在哪里运行?
- 14. PyQt事件循环在哪里运行?
- 15. 运行服务器在哪里成组?
- 16. 分层传输
- 17. 我在哪里可以运行Java Dependencies来运行crawler4j-2.2.jar?
- 18. 在哪里放置服务层
- 19. ASP.NET MVC - 身份验证层在哪里?
- 20. C#MVVM服务层在哪里坐?
- 21. 在哪里创建“服务层”?
- 22. 我的上传在哪里?
- 23. 建造输出在哪里?
- 24. Start-Job输出在哪里?
- 25. Java OSI传输层
- 26. 哪里扔HTTP运行时异常
- 27. 哪里是EJB方法运行
- 28. InfoStore服务从哪里运行?
- 29. MVP - 演示者和服务层 - 在哪里声明服务层
- 30. 数据传输对象DTO要在哪里构建
哪个操作系统?我注意到你有'tcp'标签。您的问题只针对IP吗?还是您在询问其他协议栈? – 2012-04-06 14:44:31
关于网络层以上的协议栈。 – 2012-04-06 15:41:46