概述 应用程序可以绕过传输层而直接使用IPv4和IPv6,这称为原始套接口(raw socket).http://www.cnblogs.com/nufangrensheng/p/3583435.html. 原始套接口是一种对原始网络报文进行处理的套接口.原始套接口主要应用在底层网络编程上,同时也是网络黑客的必备手段.例如sniffer.拒绝服务(DoS).IP地址欺骗等都需要在原始套接字的基础上实现. 与原始套接字对应,之前的TCP/UDP的套接字称为标准套接字,如下图所示,为标准套接字与原始…
概述 SCTP是一个较新的传输协议,于2000年在IETF得到标准化(TCP是在1981年标准化的).它最初是为满足不断增长的IP电话市场设计的:具体地说,就是穿越因特网传输电话信令. SCTP是一个可靠的面向消息的协议,在端点之间提供多个流,并为多宿提供传输级支持. 尽管SCTP和TCP之间存在一些本质性的差别,然而SCTP的一到一(one-to-one)接口与TCP提供的应用接口非常接近.这一点允许轻而易举地移植应用程序,不过没法使用SCTP的某些高级特性.SCTP的一到多(one-to-m…
概述 有很多方法来获取和设置影响套接口的选项: getsockopt和setsockopt函数 fcntl函数 ioctl函数 getsockopt和setsockopt函数 这两个函数仅用于套接口. #include <sys/socket.h> int getsockopt(int sockfd, int level, int optname, void *optval, socklen_t *optlen); int setsockopt(int sockfd, int level, i…
端口号 端口号(port number):16位整数,用来区分不同的进程. 服务器使用的端口号:TCP和UDP定义了一组众所周知的端口(well-known port),用于标识众所周知的服务. 客户端使用的端口号:通常使用短期存活的临时端口(ephemeral port).这些端口号通常由传输层协议自动赋予客户.客户一般不关心其临时端口的具体值,而只需确信它在所在主机中是唯一的就行.传输层协议的代码确保这种唯一性. 端口号被划分成三段: (1)众所周知的端口为0-1023. 这些端口由IANA…
TCP输出 下图展示了应用进程写数据到TCP套接口的过程. 每一个TCP套接口有一个发送缓冲区,我们可以用SO_SNDBUF套接口选项来改变这个缓冲区的大小. 当应用进程调用write时,内核从应用进程的缓冲区中拷贝所有数据到套接口的发送缓冲区.如果套接口的发送缓冲区容不下应用程序的所有数据(或是应用进程的缓冲区大于套接口发送缓冲区,或是套接口发送缓冲区还有其他数据),应用进程将被挂起(睡眠).这里假设套接口是阻塞的,这通常也是它的默认设置.直到应用进程缓冲区中的所有数据都拷贝到套接口发送缓冲区…
认知套接口编程接口 理解原始套接口(raw socket)的概念   值得注意的是,客户和服务器是典型的用户进程,而TCP和IP协议则通常是系统内核协议栈的一部分. 上图中在TCP和UDP之间留有间隙,用于指出应用程序可以绕过传输层而直接使用IPv4和IPv6,这称为原始套接口(raw socket). UNIX网络编程中所说的套接口编程接口是应用层到传输层的接口.UNIX网络编程的焦点是:如何使用套接口编写使用TCP或UDP的网络应用程序.…
第四章 基本tcp 套接口编程 注意区分AF_XXX 和PF_XXX,AF代表address family, PF代表protocol family. 1 socket 函数 2 connect 函数 3 bind 函数 4 listen 函数 注:主动.被动 与 服务器.客户端没有明确的对应关系 linux中定义backlog为 完成队列的最大个数 5 accept 函数 5 getsockname和getpeername的用法及实例 getsockname和getpeername #incl…
转自:http://www.makaidong.com/%E5%8D%9A%E5%AE%A2%E5%9B%AD%E6%96%87/71405.shtml "C++Windows核心编程读书笔记":   关键词:c++windows 核心 编程 读书笔记   这篇笔记是我在读<windows核心编程>第5版时做的记录和总结(部分章节是第4版的书),没有摘抄原句,包含了很多我个人的思考和对实现的推断,因此不少条款和windows实际机制可能有出入,但应该是合理的.开头几章由于我…
Motivation 世俗一把,看看前端的JavaScript究竟能做什么. 顺便检验一下自己的学习能力. Audience 想看偏后台的Java程序员关于前端JavaScript的认识的职业前端工程师.全栈工程师. 本人技术积累: 3年+语义网技术研究经验: 1年+Java Web开发经验(SSH+jQuery).已读过<HTTP权威指南>.有REST架构风格的意识: 粗略读过APUE.UNP第一卷,稍微详细的读过Netty in Action MEAP5. Scope Node.js文件.…
搜狐视频的屌丝男士第二季大结局了,惊现波多野老师,怀揣着无比鸡冻的心情啊,可惜随着剧情的推进发展,并没有出现期待中的屌丝奇遇,大鹏还是没敢冲破尺度的界线.想百度些种子吧,又不想让电脑留下污点证据,要知道大洋彼岸有个棱镜计划,只好作罢.不如看看书吧,书中自有颜如玉. 开始本次读书笔记前,先扯两个哲学观点,提高下境界.第一个就是<Data-Intensive Text Processing with mapReduce>读书笔记前言中谈到的,大数据产生了大价值,对应的思想很简单:量变导致了质变.第…