怎样算得上熟悉 TCP/IP 协议编程?

链接:https://www.zhihu.com/question/20795067/answer/16249697
来源:知乎

1)熟悉TCP/IP协议族的基本原理
IP地址的分类,定义,获得,大概的管理方法
TCP、UDP等主要协议的特点,主要格式,以及重要字段在协议交互中起到的作用。

2)对于简单的TCP/IP协议导致的问题,有基本的判断
熟悉网络问题的解决方法,一个问题,应该是由上而下(top-button),还是由下而上(button-top)来分析?

3)基本的编程知识。
在系统内,构建简单通信。
在系统间,构建简单的通信。
熟悉系统内的API,知道在什么时候,改使用哪些API协调工作。
能够熟练使用这些API,在系统间传递信息,文件。
能够熟练使用这些API,实现自己的简单的私有协议。

4)进阶编程知识
知道一两个已经封装好的框架(framwork),它们之间的差别。
使用一个框架,写过能正常工作的程序。
知道网络协议处理也是要讲究性能的,知道性能的瓶颈会在什么地方产生。
能有较好的设计技巧,将私有协议设计得更加具有弹性,优雅。
熟悉系统间协议处理的细微的差异,以及将会对业务造成的影响,时延、状态不一致、自定义字段、、、、、

5)熟练阶段的知识
针对业务的需求,快速选型,定框架。
不再认为多线程是万能的。
知道稳定性比性能更加重要。
数据包去了哪儿,不用看代码,也能预估出来。

6)源代码是最好的老师,永远都是。
----------------------------------------------------------------------------------------------------
以上,差不多或者已经达到4)的时候,就是“熟悉”了。

作者:陈礼
链接:https://www.zhihu.com/question/20795067/answer/347116046
来源:知乎

1、tcp/ip的协议基本框架,协议功能和端口,基础知识,基本命令行。这是了解。

2、熟悉能编写基于tcp/ip的程序,了解select,epoll,iocp模型,以及活动窗口类似的概念,以及使用熟练使用常用的抓包工具,比如大白鲨工具。精通,要一眼分析报文协议,比如看报文就能明白问题所在,判断是什么报文,报文反映什么问题,这些问题对应是通讯哪个环节。还要经常去看rfc文档,了解不同系统报文差异,这个时候才能说精通。

大神级别,专注于通讯网络的构建和协议安全。像编程接口就要学习linux和windows 的两类,原理差别不大,接口不同。

 

链接:https://www.zhihu.com/question/20795067/answer/16259037
来源:知乎

1.如果你说你会select,epoll,iocp模型,那会让对方觉得更靠谱
2.如果你说出你做过im,下载之类那会让对方来兴趣.
3.如果你说设计了通讯协议,会让对方觉得更贴切
4.如果你说做过,熟悉, ftp http snmp smtp 这些简单的老古董协议,会加分,但不大.
5.如果你说熟悉bt,emule,udt等协议,那会对你很有好感.
6.如果你说你破解过某大牌 qq,360内某通讯协议,那会对你加分很大.
...
目测楼主在0.5的位置,嘿嘿

我对熟悉的定义是:闭着眼能想起原理和实现,能和其他人侃侃而谈,能在搜索的帮助下,不慢的整出来.

精通的定义是:观点一针见血,实现一挥而就
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值