Chinaunix

标题: 网络编程需要哪些内核知识 [打印本页]

作者: qq948299114    时间: 2013-04-09 22:53
标题: 网络编程需要哪些内核知识
把LKD看完了 ULK刚把中断看完了, 想学一些网络编程方面的应用,已购APUE,有了<UNIX网络编程>电子书.
不知应遵从什么养的路线 从哪方面入手 网络编程与内核编程的关系大不大呢?

作者: linux_c_py_php    时间: 2013-04-09 23:38
内核都看懂了, 应用层没啥了吧..
作者: lenky0401    时间: 2013-04-10 07:37
昨天面试了一童鞋 在华为专门做内核驱动 应用层还真不懂
作者: 瀚海书香    时间: 2013-04-10 07:59
回复 3# lenky0401
昨天面试了一童鞋 在华为专门做内核驱动 应用层还真不懂

正所谓术业有专攻吗。有些做驱动的完全是follow代码,不从整体架构上了解的话,的确对应用层了解不多。
不过个人感觉,做内核的,还是需要搞懂应用层以及直接的关系的。
   
作者: daniel_11    时间: 2013-04-10 10:10
不管怎样,俺觉得netfilter应该要看下
作者: qq948299114    时间: 2013-04-10 12:38
回复 2# linux_c_py_php

看你的ID,应该会c python php吧?我也学了一点

内核原理方面懂了不少 但还是感觉所学太宽 想学精细点 就是不知道从何下手

   
作者: qq948299114    时间: 2013-04-10 12:53
回复 3# lenky0401
驱动是我能想到的唯一与内核原理相关的开发项目了 还没来得及学习
入手一本UNIX编程艺术 ,大家都说不错,先看看这本书...


   
作者: scutan    时间: 2013-04-11 22:28
楼主学生还是工作了的?如果只是学网络编程的话,建议先看APUE,然后再看UNIX网络编程 这本书,结合 TCP/IP详解 第1卷来看,可能能够深入理解socket的一些机制。
另外就是一定要动手,可以找点相关的代码来学习学习。
作者: smalloc    时间: 2013-04-12 17:10
回复 3# lenky0401


    求入门性质的工作
作者: image_z    时间: 2013-04-12 17:49
回复 3# lenky0401

即使专做驱动的,应用层也应该了解下,可能不是很有经验,但不能完全不懂。

作者: junnyg    时间: 2013-04-13 15:20
本帖最后由 junnyg 于 2013-04-13 20:27 编辑

个人对内核协议栈分层理解:
1. SOCKET api(recvmsg、sendmsg、bind、accept,etc.)系统调用实现
2. sock文件系统
3. sk_buff & net_device结构定义的含义
4. AF_INET域与scoket api的衔接
5. TCP & UDP协议处理(三次握手,滑动窗口,超时重传,etc.)
6. IP层处理(分组转发,路由选择,分片重组,etc.)
7. 网络帧的收与发(mac协议处理,网卡napi处理模型&收发包中断处理,包的DMA拷贝)
作者: qq948299114    时间: 2013-04-13 19:28
回复 8# scutan
谢谢 我还是学生 希望自己能持续 保持学习的动力


   




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2