John_ToString
John_ToString
2015-11-07 15:17
采纳率: 27.3%
浏览 2.5k

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

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

6条回答 默认 最新

  • John_ToString
    John_ToString 2015-12-05 06:29
    已采纳

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

    点赞 评论
  • Meditator_hkx
    Meditator_hkx 2015-11-07 15:48

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

    点赞 评论
  • oneleafpz
    oneleafpz 2015-11-07 16:12

    linux是宏内核而己

    点赞 评论
  • dcxy0
    Q544471255 2015-11-08 07:22

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

    点赞 评论
  • zuishikonghuan
    zuishikonghuan 2015-11-09 15:07

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

    点赞 评论
  • LeaveJoeyAlone
    LeaveJoeyAlone 2019-08-13 22:00

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

    点赞 评论

相关推荐