首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
TCP/IP
chirpyli
创建于2021-12-03
订阅专栏
分享计算机网络,TCP/IP相关技术文章
等 2 人订阅
共14篇文章
创建于2021-12-03
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Linux端口扫描与开放指定端口方法
端口扫描 在开发,调试,测试中,经常需要查看某台机子有没有开放指定的断口,这里列出了两种常用的查找Linux系统上哪些端口向外部开放的方法。当然,不止这两种方法,也可以自己写一个端口扫描工具。具体实现
以太坊RLPx传输协议
本文档定义了RLPx传输协议,一种基于TCP的用于Ethereum节点间通信的传输协议。该协议适用于任意内容的加密帧,但它通常用于承载devp2p应用程序协议。 所有加密操作都基于secp256k1椭圆曲线。每个节点都需要维护一个在会话间保存和复原的静态私钥。建议私钥只能手动重…
Linux poll编程实例
相关定义poll实现的echo服务端代码
ECHO服务器的epoll实现代码(Linux C)
下面是echo服务端代码,在处理边缘触发时,一定要十分小心,另外这里的错误处理比较简单粗暴,实际的工程中错误处理比较麻烦。代码如下,采用边缘触发模式。
UDP协议
UDP(User Datagram Protocol),用户数据报协议,是一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。UDP报文没有可靠性保证、顺序保证和流量控制字段等,可靠性较差。但是正因为UDP协议的控制选项较少,在数据传输过程中延迟小、数据传输效率高,适…
TCP三次握手与四次分手
理解与掌握TCP的三次握手与四次分手是每一个程序开发人员的基本功,让我们先从TCP首部开始吧。 TCP工作在传输层,提供应用程序到应用程序之间的可靠传输。学习TCP协议,首先从TCP协议头部开始: Acknowledgment Number:32位确认序列号包含发送确认的一端所…
TCP重置报文段及RST常见场景分析
RST表示连接重置,用于关闭那些已经没有必要继续存在的连接。一般情况下表示异常关闭连接,区别与四次分手正常关闭连接。 TCP接收到一个根本不存在的连接上的分节。 下面的几种场景,都会产生RST,以此来说明重置报文段的用途。 客户端向服务端某端口发起连接请求SYN,但是目的服务端…
TCP保活机制
在需要长连接的网络通信程序中,经常需要心跳检测机制,来实现检测对方是否在线或者维持网络连接的需要。这一机制是在应用层实现的,对应的,在TCP协议中,也有类似的机制,就是TCP保活机制。 设想这种情况,TCP连接建立后,在一段时间范围内双发没有互相发送任何数据。思考以下两个问题:…
127.0.0.1与0.0.0.0及本机IP地址的区别
127.0.0.1,特殊的环回地址,大多数系统把此IP地址分配给换回接口分配给这个接口,并命名为localhost(主机名),一般用来对运行在同一台主机上的程序通过TCP/IP进行通信。 0.0.0.0,特殊的源地址,表示的是网络上的所有主机,一般在写服务端程序绑定监听地址时常…
ICMP协议及应用实例(ping,traceroute)
在互联网传输过程中,IP数据报难免会出现差错,通常出现差错,处理方法就是丢弃,但是有很多情况出现差错后,会发送ICMP报文给主机,告诉它一些差错信息,以及对当前的网络状态进行一个探寻。可以说,ICMP的主要目的是用于在TCP/IP网络中发送出错和控制消息。ICMP报文封装如下:…
ARP协议
地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机与主机之间的通信在物理上实质是网卡与网卡之间的通信,而网卡只认识MAC地址,所以要想实现主机与主机之间的通信,需要知道对方IP地址所对应的MA…
epoll边缘触发与水平触发
在网络编程中,会涉及到水平触发与边缘触发的概念,工程中以边缘触发较为常见,本文讲述了边缘触发与水平触发的概念,并给出代码示例,通过代码可以很清楚的看到它们之间的区别。 所以边缘触发需要一次性的把缓冲区的数据读完为止,也就是一直读,直到读到EGAIN(EGAIN说明缓冲区已经空了…
网络错误:Destination unreachable (Host administratively prohibited)的原因及解决办法
当其他主机向本地虚拟机中运行的服务程序发送数据时,服务端无法收到数据,wireshark抓包分析后,发现错误提示信息:Destination unreachable (Host administratively prohibited)。意思是:目的主机被强制禁止。基本可以断定是…
Rust轻量级I/O库mio
mio是rust实现的一个轻量级的I/O库。其实现基本上就是对不同操作系统底层相关API的封装,抽象出统一的接口供上层使用。Linux下为epoll,Windows下为IOCP,OS X下为kqueue。 mio提供可跨平台的sytem selector访问,不同平台如下表,都…