为什么tcp/ip协议被写在了Linux内核里面,或者说有什么好处

为什么tcp/ip协议被写在了Linux内核里面,或者说有什么好处,求高手专业性
的解答,谢谢

6个回答

因为Windows对微内核原理的应用(虽然Windows是混合内核),NT内核中的网络架构遵循NDIS三层驱动模型,最底层的NDIS小端口驱动一般是网卡驱动,中间有NDIS中间层驱动(过滤、防火墙),上面是NDIS协议驱动,比如TCP/IP,负责为应用程序提供socket支持和处理非链路层网络包。Windows允许安装任何的协议驱动,因为NDIS小端口驱动的接口是统一的,这是微软和硬件商协商好的统一标准,上层协议驱动可以是任何协议,不需要知道底层网络设备和网络链路类型,他们只需要处理好上层协议和调用接口就好了,用户因此可以安装/卸载自己喜欢的协议,充分体现了微内核的思想。

非高手也不专业,分享一点心得:
Linux之所以是网络通信的天然利器,就是因为内核里有着天然的传输层协议(TCP/IP)啊。
比如socket通信里,各函数及协议调用都是浑然一体,效率奇高。
其他的嘛~y因为我很水,好像也不知道该怎么解释的样子。

linux是宏内核而己

John_ToString
John_ToString 什么意思
接近 5 年之前 回复

很正常,这是基本功能,个人觉得,不然你安装完系统还要去安装相关协议,即使是开发者估计也受不了

可以不写在里面啊,你下载Linux源码,编译的时候不编译TCP/IP,这样编译出来的Linux内核就没有了TCP/IP,只不过Linux发行版都是有的,谁愿意用不能上网的系统啊

zuishikonghuan
zuishikonghuan 因为Windows对微内核原理的应用(虽然Windows是混合内核),NT内核中的网络架构遵循NDIS三层驱动模型,最底层的NDIS小端口驱动一般是网卡驱动,中间有NDIS中间层驱动(过滤、防火墙),上面是NDIS协议驱动,比如TCP/IP,负责为应用程序提供socket支持和处理非链路层网络包。Windows允许安装任何的协议驱动,因为NDIS小端口驱动的接口是统一的,这是微软和硬件商协商好的统一标准,上层协议驱动可以是任何协议,不需要知道底层网络设备和网络链路类型,他们只需要处理好上层协议和调用接口就好了,用户因此可以安装/卸载自己喜欢的协议,充分体现了微内核的思想。
接近 5 年之前 回复
John_ToString
John_ToString 那Windows为什么没有写到里面呢?
接近 5 年之前 回复

如果把协议放到用户态, 需要大量资源 来进行状态切换,

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐