网络编程
出走刺猬
这个作者很懒,什么都没留下…
展开
-
NAT技术调研
本博客中5.NAT原理中所有内容引用自: http://www.cnblogs.com/derrick/p/4052401.html?utm_source=tuicool&utm_medium=referral#undefinedNAT技术1.定义 NAT为网络地址转换,它是一种把内部私有网络地址(IP地址)翻译成合法网络IP地址的技术。 所有使用本地地址的主机在和外界通信时,都要在原创 2017-06-18 10:11:15 · 422 阅读 · 0 评论 -
Linux I/O多路转接----poll模型
1.poll模型属于I/O多路转接模型,是对select模型的一种优化; int poll(struct pollfd *fds,nfd_t nfds,int timeout);2.poll的优点: ①poll使用数组存储文件描述符,所以能描述的文件描述个数在理论上没有上限; ②poll将输入输出型参数进行了分离,因此使用时不需要重新设置; ③不要求计原创 2017-06-22 16:58:29 · 405 阅读 · 0 评论 -
多进程、多线程服务器程序
版本一:客户端和服务器端可以进行通信,但是只能有一个客户端。1.服务器端程序tcp_server.c#include<stdio.h>#include<string.h>#include<stdlib.h>#include<sys/types.h>#include<sys/socket.h>#include<netinet/in.h>#include<arpa/inet.h>static原创 2017-06-21 16:45:43 · 495 阅读 · 0 评论 -
dup/dup2实现客户端
1.dup/dup2介绍 man dup后: 作用:进行文件描述符重定向;①dup将oldfd复制给一个新的描述符,这个新文件描述符指向oldfd拥有的文件表项,dup函数返回新文件描述符; ②dup2与dup的作用相似,只是它用newfd参数指定新的文件描述符,即newfd是oldfd的一份拷贝; 2.使用dup/dup2实现客户端 #include<stdio.h>#include原创 2017-06-30 16:10:59 · 499 阅读 · 0 评论 -
select服务器
1.select简单介绍 ①select:一次用来等待多个文件描述符,只负责等待 ②select函数: int select(int nfds,fd_set *readfds,fd_set *writefds,fd_set *exceptfds,struct timeval *timeout) ③参数介绍: 第一个参数nfds表示最大的文件描述符+1 fd_set是文件描述原创 2017-06-30 15:37:12 · 361 阅读 · 0 评论 -
解析TCP三次握手四次挥手
1.TCP的运输连接 TCP的运输连接用于传送TCP报文,包括三个阶段:建立连接、数据传送、释放连接;2.TCP建立连接要解决的问题: ①使双方要知道对方的存在; ②允许双方协商一些参数,如最大窗口值 ③能对运输实体资源进行分配,如缓存大小;3.TCP三次握手过程(假设客户端为A,服务器端为B) ①A向B发送建立连接请求(SYN设置为有效); ②B收原创 2017-06-20 00:37:42 · 333 阅读 · 0 评论 -
TCP定时器调研
TCP常用的四种定时器:重传定时器坚持定时器保活定时器时间等待定时器具体介绍: (1)重传定时器 ①应用场景: TCP报文段超时 ② 特点:对于tcp协议,在规定的时间内,发现没有收到ACK,就会重新发送消息,如果还没有收到ACK,继续重新发送消息,每次重新发送消息的时间间隔不同,默认第一次重传是发现超时后1s,第二次重传是第一次重传后3s,第三次是6s; ③原创 2017-06-19 17:24:42 · 328 阅读 · 0 评论 -
TCP报文标志位--URG,PSH调研
1.URG:紧急位 当设置为1时,表示TCP报文中的紧急指针有效,此时告诉系统此报文段中有紧急数据,应优先传送,发送方会把紧急数据放至报文最前面,URG设置为0时,紧急指针无意义; 窗口大小为0时,也可以发送紧急数据;2.PSH:推送位 当两个应用进程交互式通信时,客户可能发送一个请求给服务器,希望能尽快收到对方的响应,此时,客户应用程序通知TCP将PSH置为1,并立即创建一个原创 2017-06-19 16:38:33 · 1260 阅读 · 0 评论 -
端口调研
1.定义: 端口一般认为是设备与外界通讯交流的出口; 端口可以分为物理端口和虚拟端口: ①物理端口:可以叫做接口,是可见端口,如交换机,路由器,集线器,用于连接其他网络设备的接口,比如RJ-45端口; ②虚拟接口:是逻辑意义的端口,指计算机或交换机、路由器内部的端口,是不可见端口,如80端口、21端口、23端口;2.有效端口号范围: 0 ~ 216-1 即 0~655原创 2017-06-19 16:11:17 · 499 阅读 · 0 评论 -
ARP协议
1.ARP协议 ARP,地址解析协议,是根据IP地址获取物理地址的一个TCP/IP协议;2.工作过程 当数据包进行转发时,源主机不知道不知道目的主机的物理地址,会首先查一下自己的ARP高速缓存表,如果查询的IP-MAC值不存在,那么主机就向网络广播一个ARP请求包,这个包里面就有待查询的IP地址,而直接收到这份广播的包的所有主机都会查询自己的IP地址,如果收到广播包的某一个主机发现自己符合原创 2017-06-18 12:42:15 · 480 阅读 · 0 评论 -
路由生成算法调研
1.路由 路由(名词):数据包从源地址到目的地址所经过的路径,由一系列路由节点组成。 路由(动词):从一个接口上收到数据包,根据数据包的目的地址进行定向并转发到另一个接口的过程。 2.路由表 路由表是一个存储在路由器或者联网计算机中的电子表格(文件)或类数据库。路由表存储着指向特定网络地址的路径,路由表中含有网络周边的拓扑信息。建立路由表的主要是为了实现路由协议和静态路由选择原创 2017-06-18 10:57:01 · 405 阅读 · 0 评论 -
代理服务器调研
1.名词解释: 代理服务器是一种重要的服务器安全功能,它的工作主要在开放系统互联(OSI)模型的会话层,从而起到防火墙的作用。代理服务器大多被用来连接国际互联网和局域网。2.相关概念 (1)代理也称网络代理,是一种特殊的网络服务,允许一个网络终端(一般为客户端)通过这个服务与另一个网络终端(一般为服务器)进行非直接的连接。一些网关、路由器等网络设备具备网络代理功能。一般认为代理服务有利于保原创 2017-06-18 10:22:57 · 1501 阅读 · 0 评论 -
Linux进程池、线程池调研
1.进程池 (1)进程池是由服务器预先创建的一组子进程,这些子进程的数目在3-10个之间。进程池中的所有子进程都运行着相同的代码,并具有相同的属性,比如优先级,PGID等等。因为进程池在服务器启动之初就创建好了,所以他们没有打开不必要的文件描述符(从父进程继承而来),也不会错误地使用大块的堆内存(从父进程复制得到)。 (2) 当有新的任务到来时,主进程将通过某种方式选择进程池中的某一个原创 2017-06-23 16:40:05 · 460 阅读 · 0 评论