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

原创 2013年12月01日 20:57:58
抓包
先从熟悉的下手,HTTP,FTP。
封装包 
自己封装包,和现有协议通信。TCP/IP协议作为一个底层协议,不仅可以编写聊天程序,很多高层协议都是基于TCP/IP编写的。
自己造轮子,这样也有助于理解其它协议,比如连接、查询MySQL(用Socekt函数而不是库函数),自己封装一个memched函数库…
以前我大学时用perl发送“飞鸽传书”包,经常上课的时候同学们集体收到弹出信息,却不知道发送者是谁,很有成就感。如果你做已经事没有成就感,就很快会失去动力。
他山之石
经常去github。
源码

读读TCP/IP协议的实现代码,去翻翻 linux 1.0 源码。


能进行网络编程
1.如果你说你会select,epoll,iocp模型,那会让对方觉得更靠谱
2.如果你说出你做过im,下载之类那会让对方来兴趣.
3.如果你说设计了通讯协议,会让对方觉得更贴切
4.如果你说做过,熟悉, ftp http snmp smtp 这些简单的老古董协议,会加分,但不大.
5.如果你说熟悉bt,emule,udt等协议,那会对你很有好感.
6.如果你说你破解过某大牌 qq,360内某通讯协议,那会对你加分很大.
目测楼主在0.5的位置,嘿嘿
我对熟悉的定义是:闭着眼能想起原理和实现,能和其他人侃侃而谈,能在搜索的帮助下,不慢的整出来.
精通的定义是:观点一针见血,实现一挥而就.


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

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

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

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

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

6)源代码是最好的老师,永远都是。

什么叫熟悉TCP/IP协议?

什么叫熟悉TCP/IP协议? 1.招聘的顺口溜而已。其实大多数需要的是熟悉socket编程。 tcp/ip是协议族,协议定义的东西包括报文格式,流控,控制块fsm之类。 socket是个...
  • foreverhuylee
  • foreverhuylee
  • 2014年08月01日 10:54
  • 8029

TCP/IP网络编程(随书代码)

  • 2015年03月28日 23:07
  • 89KB
  • 下载

聊聊Socket、TCP/IP、HTTP、FTP及网络编程

1 这些都是什么 既然是网络传输,涉及几个系统之间的交互,那么首先要考虑的是如何准确的定位到网络上的一台或几台主机,另一个是如何进行可靠高效的数据传输。这里就要使用到TCP/IP协议。 1.1 T...
  • klp098
  • klp098
  • 2016年04月18日 20:54
  • 3440

TCP/IP编程之select函数详解

前述: linux下的I/O复用模型目前很多都已经不用select函数了,而是用epoll,但是为什么还需要了解select编程呢,其实是从两个方面考虑的:一是为了通过select去理解epoll,而...
  • daiyudong2020
  • daiyudong2020
  • 2016年07月12日 00:14
  • 1568

如何基于TCP/IP协议进行MFC Socket网络通讯编程

MFC Socket简单网络通讯编程
  • qq_32171677
  • qq_32171677
  • 2017年03月09日 14:06
  • 3687

C++基于TCP/IP简单的客户端、服务器通信程序实例

本篇文章实现了一个基于TCP 的
  • shenjie12345678
  • shenjie12345678
  • 2014年06月08日 21:45
  • 72694

TCP/IP的Socket编程

1. TCP/IP、UDP的基本概念 TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,他是一个工业标准的协...
  • xywlpo
  • xywlpo
  • 2011年07月28日 09:20
  • 7263

TCP/IP高效编程:改善网络程序的44个技巧 笔记

TCP/IP高效编程:改善网络程序的44个技巧 跳转至: 导航、 搜索 TCP的ACK窗口:说明接下来期望接受到的序列号发送窗口: 已发送但还未ACK的可以发送但还未...
  • cteng
  • cteng
  • 2014年10月31日 22:37
  • 1620

发现Socekt的好文,适合新手

发现一片Socekt在win32下用c++实现,讲的条目相对比较细致的一片博客,给大家推荐一下Socekt传送门...
  • qq_35078631
  • qq_35078631
  • 2016年11月23日 16:10
  • 236

TCP/IP网络编程之四书五经

TCP/IP协议是当前广域网和局域网通用的网络协议,因此,基于TCP/IP的编程就格外重要。从应用上来说,现在直接利用C层次Socket API进行TCP/IP编程的人确实越来越少了,各种现成的框架(...
  • weiyuefei
  • weiyuefei
  • 2016年06月18日 22:19
  • 1032
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:怎样算得上熟悉TCP/IP编程(协议)
举报原因:
原因补充:

(最多只允许输入30个字)