
计算机网络
Fly_bit
不要让虚无的欲望磨灭了真正的渴望
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
网络---端口
一、关于端口: IP地址是标识网络中不同主机的地址,而端口号就是同一台主机上标识不同进程的地址,IP地址和端口号合起来表示网络中的唯一进程。 TCP/IP 的运输层用一个16位的端口号来标志一个端口,端口号只具有本地意义,它只是为了标志本计算机应用层的各个进程在和运输层交互时的层间接口。在互联网不同计算机中,相同的端口是没有关联的。 16位的端口号可允许有2^16-1原创 2017-06-19 19:50:14 · 883 阅读 · 0 评论 -
select、poll、epoll优缺点总结
之前在我的几篇文章中已经对这三个服务器进行了简单的实现: IO多路复用之select IO多路复用之poll IO多路复用之epollselect、poll、epoll共同优点: (1)占用资源少,因为是单进程处理。(相比于多进程、多线程) (2)性能好,可一次等待多个进程。一、select服务器总结: select优点: ( 1)select()的可移植性更好,在某些Unix系统上原创 2017-08-01 22:52:19 · 1723 阅读 · 0 评论 -
IO多路复用之epoll
背景: 在Linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。 相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。 相对于select和poll来说,epoll更加灵活,原创 2017-08-01 21:23:50 · 829 阅读 · 0 评论 -
IO多路复用之poll
poll和select区别: ① poll服务器监视的文件描述符无上限; ② poll将输入、输出参数进行分离。一、poll函数 函数格式如下所示:#include <poll.h>int poll ( struct pollfd * fds, unsigned int nfds, int timeout);不同与select使用三个位图来表示三个fdset的方式,poll使用一个 poll原创 2017-08-01 19:47:55 · 697 阅读 · 0 评论 -
IO多路复用之select
1、背景知识 我们首先来看看服务器编程的模型,客户端发来的请求服务端会产生一个进程来对其进行服务,每当来一个客户请求就产生一个进程来服务,然而进程不可能无限制的产生,因此为了解决大量客户端访问的问题,引入了IO复用技术。 即:一个进程可以同时对多个客户请求进行服务。 也就是说IO复用的“介质”是进程(准确的说复用的是select和poll,因为进程也是靠调用select和p原创 2017-08-01 19:08:25 · 561 阅读 · 0 评论 -
网络---TCP协议的握手与挥手
一、三次握手 TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接; 位码即tcp标志位,有6种标示:SYN(synchronous建立联机)ACK(acknowledgement 确认)PSH(push传送)FIN(finish结束)RST(reset重置)URG(urgent紧急) 各个状态的意义如下: LISTEN - 侦听来自远原创 2017-06-27 00:12:33 · 686 阅读 · 0 评论 -
网络---TCP协议中的urg和psh的区别
首先,我们来先来了解TCP端格式 其中有六个控制位: 1)URG:此标志表示TCP包的紧急指针域(后面马上就要说到)有效,用来保证TCP连接不被中断,并且督促中间层设备要尽快处理这些数据;(2)ACK:此标志表示应答域有效,就是说前面所说的TCP应答号将会包含在TCP数据包中;有两个取值:0和1,为1的时候表示应答域有效,反之为0;(3)PSH:这个标志位表示Push操作。所谓Push操作就原创 2017-06-26 23:14:43 · 1666 阅读 · 0 评论 -
网络---路由生产算法调研
一、相关名词 1.路由 路由(名词):数据包从源地址到目的地址所经过的路径,由一系列路由节点组成。 路由(动词):从一个接口上收到数据包,根据数据包的目的地址进行定向并转发到另一个接口的过程。 2.路由节点 ⼀个具有路由能⼒的主机或路由器,它维护⼀张路由表,通过查询路由表来决定向哪个接口发送数据包。 3.接口 路由节点与某个⽹络相连的⽹卡接口。 4.原创 2017-06-25 16:13:28 · 462 阅读 · 0 评论 -
网络---NAT技术与代理服务器调研
一、关于NAT(网络地址转换) 1、NAT是地址转换协议,将内网地址转换为公网地址。 简单的说,NAT就是在局域网内部网络中使用内部地址,而当内部节点要与外部网络进行通讯时,就在网关处,将内部地址替换成公用地址,从而在外部公网(internet)上正常使用,NAT可以使多台计算机共享Internet连接,这一功能很好地解决了公共IP地址紧缺的问题。 2、NAT的工作原理:原创 2017-06-25 15:40:58 · 607 阅读 · 0 评论 -
网络---ARP协议、脚本
一、ARP协议: 1.什么是ARP? ARP (Address Resolution Protocol) 是个地址解析协议。最直白的说法是:在IP以太网中,当一个上层协议要发包时,有了该节点的IP地址,ARP就能提供该节点的MAC地址。 2.为什么要有ARP? OSI 模式把网络工作分为七层,彼此不直接打交道,只通过接口(layre interface). IP地址原创 2017-06-24 16:03:08 · 1023 阅读 · 0 评论 -
网络---CRC校验
CRC校验(循环冗余校验)是数据通讯中最常采用的校验方式奇偶校验 所谓通讯过程的校验是指在通讯数据后加上一些附加信息,通过这些附加信息来判断接收到的数据是否和发送出的数据相同。比如说RS232串行通讯可以设置奇偶校验位,所谓奇偶校验就是在发送的每一个字节后都加上一位,使得每个字节中1的个数为奇数个或偶数个。比如我们要发送的字节是0x1a,二进制表示为0001 1010。 采用奇校原创 2017-06-19 20:30:46 · 1469 阅读 · 0 评论 -
多线程、多进程TCP服务器比较
背景小知识 关于进程和线程 1.线程是程序执行的最小单位,而进程是操作系统分配资源的最小单位; 2.一个进程由一个或多个线程组成,线程是一个进程中代码的不同执行路线; 3.进程之间相互独立,但同一进程下的各个线程之间共享程序的内存空间(包括代码段、数据集、堆等)及一些进程级的资源(如打开文件和信号),某进程内的线程在其它进程不可见; 4.调度和切换:线程上下文切换比进程上下文切换要快得多。原创 2017-08-03 22:23:51 · 1587 阅读 · 0 评论