怎样算得上熟悉 TCP/IP 协议编程
大部分提这个的到最后都用不上socket编程,毕竟现在是WebService的时代,大部分时候都可以把对外提供服务的协议限定在HTTP、WebSocket和JSON-RPC三种协议上。这就看你对岗位的了解了。而且熟悉协议和熟悉编程本质上来说是两个要求啊……熟悉协议是指底层(三层及以下)数据包交换的规则,而熟悉socket编程,指的是熟悉socket, bind, listen, accept, recv, send等一系列接口,这个可要比熟悉协议简单多了。至于真的称得上熟悉协议的我觉得没多少,我做网络相关也不会指望招人的时候能来个熟悉TCP协议的,比如说窗长为什么最多是2^30字节,窗长和带宽、延迟各自是什么关系,TCP有哪些选项,TCP选项如何协商,为什么初始的seq序号需要在不同五元组上独立生成,TCP协商的MSS与实际发送的包长和payload大小是什么关系等等,说实话真的有点难,TCP作为一个有状态的协议是非常难懂的。RFC都修了好多个版本了。熟悉socket编程相对来说就简单多了,主要要点在于理解TCP是个流(所以真心不要再问为什么会“粘包”了),是可靠传输,有缓冲区限制,然后理解一下每个接口的作用和使用方法就行了。然后了解下如何使用多线程和epoll/select同时处理多个socket,tcpserver的一般性的编写方法等等,足够了。

怎样算得上熟悉 TCP/IP 协议编程
1)熟悉TCP/IP协议族的基本原理 IP地址的分类,定义,获得,大概的管理方法TCP、UDP等主要协议的特点,主要格式,以及重要字段在协议交互中起到的作用。2)对于简单的TCP/IP协议导致的问题,有基本的判断 熟悉网络问题的解决方法,一个问题,应该是由上而下(top-button),还是由下而上(button-top)来

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

怎样算得上熟悉 TCP/IP 协议编程
知道建立一个TCP/IP协议连接的流程,可以实际建立一个连接。 其实TCP/IP协议很简单的,这个问题如果在面试体里面,你如果写过一个TCP/IP连接并且调通了。就可以了。

怎样算得上熟悉 TCP/IP 协议编程
1)熟悉TCP/IP协议族的基本原理 IP地址的分类,定义,获得,大概的管理方法TCP、UDP等主要协议的特点,主要格式,以及重要字段在协议交互中起到的作用。2)对于简单的TCP/IP协议导致的问题,有基本的判断 熟悉网络问题的解决方法,一个问题,应该是由上而下(top-button),还是由下而上(button-top)来

本文由 在线网速测试 整理编辑,转载请注明出处。