中国协议分析论坛's Archiver

lyl19 发表于 2006-1-11 13:50

对代码研究的一些感触

期待已久的版面终于开张了,心里高兴,以后有地方可以向高手请教了,想着要为这个版面出一份力,写一份自己的感受给初学者,以激发兴趣和少走弯路

        记得读研开始的时候,老师问我们最近忙什么,我说我在看tcp/ip协议,他问我怎么看的,我说我就是泛泛看了看,他说,研究协议你不看源代码,那叫什么研究。还有一次,导师请一牛人来讲座,他谈到了stevens的三本书,看我们都很茫然,他很惊讶,说学通信的这三书本都没读过,实在是太可惜了,这三本书是通信专业必读的。从此,我开始了这三本书的学习。
       到现在,我也才学习了大半年,而对于偌大的tcp/ip栈的认识恐怕连熟悉都还谈不到,这篇贴子写给希望研究代码而且刚入门的人,高手就权作一笑吧:)
       首先,这书是建立在unix上面的,但并不需要太多的unix知识和操作系统知识,熟悉C就够了,当然,你最好把卷一看过三篇再看卷二比较好。
       其次,要有心理准备,读代码确实是个很枯燥,而且有难度的事情,所以你要做的就是坚持,切不可三天打鱼两天晒网,有时候你会发现不知道说的些什么,我的感受是,你大可以一次看不懂再看第二次,三次,这本书注释很详细,相信三次后,你会明白一些的。
      第三,如果第一次看,不要想着读懂它,这是不可能的,你要做的是通读,了解插口,协议,接口层的层次关系,以及一些主要函数之间的调用,能画出一些主要的流程,比如从建立一个套接字后,绑定,监听,接受,到发出报文,报文如何经过协议层,再到接口层,再到目的主机,目的主机再从接口接收再传到进程。不要想着要精通每一章,有些内容,如果有后面的知识,再来理解前面的知识,将会很容易 。
      第四,初读不要太注重细节,更不要钻牛角尖,深有感触的就是,如果顺着一条主线下去感觉很顺利,但脑中突然冒出了一个想法,尽管这在实际中很少出现,但如果去研究它,会发现头疼不已,所以如果不是对代码有了全面的了解,不要太关注细节了。
     第五,初看我觉得SLIP,IGMP,以及路由我觉得可以略过(路由第一章要做了解),感觉它们在整个的理解上并没有占多大的作用,以后需要时再看也不迟。
     第六,爱惜你的书,每次读代码时都会前后翻,不可避免的,如果不爱惜,等你看完一次,估计书已破不成样了。:)
     第七,有做笔记的习惯,这么多东西,随时记下自己的心得,不管正确与否,这么多东西,看了后面就会忘前面。
      第八,如果对代码有一定的熟悉了,再怎样呢?应该是自己修改代码,然后编译内核了吧,哈哈 ,我不知道了,:)因为我还没处于这个阶段,高手补充。
       希望这个版面能红火起来,如果在代码研究过程中有朋友指导,讨论,将是一件有趣而且大有裨益的事情,有志于代码研究的朋友们,行动起来。

masterlee 发表于 2006-1-12 10:25

好贴。

lemon_tree 发表于 2006-1-12 14:02

stevens的哪三本书?

yun.yang 发表于 2006-1-12 18:53

谢楼主好建议~~

lyl19 发表于 2006-1-12 19:42

哦,那三本书是《tcp/ip详解》卷一,二,三

zhgaojylian 发表于 2006-1-16 16:57

第三卷就忽略吧

lyl19 发表于 2006-1-18 08:59

也是,第三卷我也没怎么看

fjin_bird 发表于 2006-1-22 16:58

看过第一卷的,但第二卷只看了前面100页就没看下去了,读的中文版的感觉读的不顺.
后来读完了stevens网络编程的两卷,希望有时间能看完TCP/IP的第二卷.

fanxinghua 发表于 2006-1-25 16:29

只看过第一卷,而且没怎么看,主要看源代码

sdeven.lee 发表于 2006-2-8 10:49

网络编程那也就讲讲一些API的应用,
TCP/IP详解很好,第一本几年前看的,也就理论。第二本才是实现和编码的关键啊!

cice 发表于 2006-2-9 13:18

回去再次拿起来读!!
这次要多读几遍!

locus2714 发表于 2006-2-9 18:40

回复 #1 lyl19 的帖子

研究协议你不看源代码,那叫什么研究
发人深省的话啊,有方向了

fiish 发表于 2006-2-15 08:19

昨天刚买了tcp/ip vol2
要努力了的说...

seaturn 发表于 2006-2-15 15:11

深有同感。是该好好学习一下代码,熟悉内部原理。“厚积薄发”啊!

xu3405325 发表于 2006-4-27 09:20

支持

freesoaring 发表于 2006-4-30 14:01

感觉没有实践的机会

wanghao90151 发表于 2006-5-9 19:47

thanks

webjj 发表于 2006-5-9 23:33

^_^

lyl19 发表于 2006-5-10 15:00

没实践机会确实是个很大的问题,才过了半年,我感觉除了大致流程我还记得,其它都忘干净了.如果能学了及时实践将是很好的办法

marsfox 发表于 2006-5-10 22:55

卷2应该多看看

psh361 发表于 2006-5-11 22:43

顶一下,好铁!

giantmangjm 发表于 2006-5-14 20:01

好好

aonu 发表于 2006-5-23 11:07

我有卷一和卷二,刚刚开始看一!
希望能有收获!

qhch 发表于 2006-6-4 19:52

感激楼主指点啊!
现在才找到一点点方向啊!

windzhg 发表于 2006-6-20 14:15

hehe  还没看过第二本  不过个人觉得第三本好像没毛用

whgwbn 发表于 2006-6-21 09:48

armey 发表于 2006-6-21 10:59

回复 #1 lyl19 的帖子

向各位问好!请多多关照!
今天才发现有这么一个好地方,高兴啊!可惜本人比较菜,
谢谢搂主的好贴,让我看到了方向。希望能在此向大家学习进步一下!

llfcmer 发表于 2006-6-27 09:47

有机会就要看看了哦

405067229 发表于 2006-6-27 10:29

什么是原代码

snow 发表于 2006-6-28 14:56

顶一下

daguo 发表于 2006-7-5 00:23

有下载吗,我刚刚学linux 请帮忙一下!

lyl19 发表于 2006-7-5 12:37

买一本吧,这样大部头的书看屏幕多累啊

页: [1] 2 3

Powered by cnpaf.net 6.1.0  © 2001-2007 中国协议分析网