网络
文章平均质量分 56
newrtc
这个作者很懒,什么都没留下…
展开
-
centos7 虚拟机中,网卡不启动的解决方式
使用NAT模式的虚拟centos, 只显示两个网卡,无法连接外网,输入systemctl start network后报错信息"Restarting network (via systemctl): Job for network.service failed because the control process exited with error code.See “systemctl status network.service” and “journalctl -xe” for detail原创 2022-03-23 11:25:44 · 2277 阅读 · 2 评论 -
vmware 桥接模式无法联网
vmware15 ubuntu18.04 无法联网试过手动配置和自动获取都没法联网,这种问题也挺烦人,怀疑是电脑多个网卡导致解决办法:1、网络适配器共享设置网络连接属性,共享设置2、vmware编辑 虚拟网络编辑器vmware->编辑->虚拟网络编辑桥接到,选择自己的物理网卡。感觉应该是这里的问题,多个网卡系统默认出错了...原创 2020-12-14 10:53:56 · 380 阅读 · 0 评论 -
测试udp 端口是否开放
文章概述:怎样测试远程UDP端口,我们一般情况下,应用服务都使用的TCP端口,但是某些情况下,我们也需要开启UDP端口。本文简要描述怎样测试UDP端口是否正常?TCP端口大家都知道,比如80端口,可以使用 telnet ip 80,来验证端口是否正常监听,那UDP端口是否可以同样测试呢?详细如下:下面我们来进行测试,123端口是服务器42.11.12.13打开的UDP端口,ud转载 2013-12-27 12:06:53 · 96583 阅读 · 7 评论 -
epoll完整实例
转自:http://www.cppblog.com/API/archive/2013/07/01/201424.htmlepoll完整实例#include deque>#include map>#include vector>#include pthread.h>#include semaphore.h>#include time.h>#includ转载 2013-10-30 10:54:25 · 1499 阅读 · 0 评论 -
很多TIME_WAIT连接解决
发现很多TIME_WAIT连接,但是进程fd正常,connect 返回-1时候errno==99 Cannot assign requested address的解决办法今天多进程导数据时候,遇到一个问题,现象是 多进程跑一会,所有进程开始connect 返回-1 同时errno==99 Cannot assign requested address。看每一个进程的fd是正常的 各种方法转载 2013-09-15 08:37:35 · 871 阅读 · 0 评论 -
双网卡的路由表设置
因为Windows 2000 下只允许配置一个默认网关,如果在网上邻居--〉属性里面把本地连接(内网)配上网关192.168.97.10,本地连接2(外网)配上网关10.42.29.10,表面上看是配置了2个网关,但是在DOS环境下输入route print命令查看路由表,在路由表下的default gateway只有1个网关。实际上,如果我们的内部网Intranet只处于一个网段192.转载 2013-08-19 13:44:59 · 3130 阅读 · 0 评论 -
关于recvfrom产生10054的错误
http://blog.sina.com.cn/s/blog_536e955201009xqp.html 差点被这个问题给弄疯了,过程如下 UDP套接字A向本机一个端口发送数据,而这个端口没有套接字在接收,然后套接字A向另一个端口B发送数据,这个端口上有套接字在接收并在收到数据后立即向A返回一个数据,然后套接字A接收,此时套接字A就发疯鸟,返回SOCKET_ERROR,查看错误是转载 2013-07-29 09:34:28 · 3473 阅读 · 0 评论 -
recvfrom error 10022
http://blog.sina.com.cn/s/blog_6ffee9410100pqdt.html折腾了一个下午加大半个晚上,查了300多个网页,20多个技术论坛,终于把这个问题解决了,真不容易。总结下出现这个错误的一般原因和我出错的原因。出现这个错误的一般原因:1.fromlen参数没有初始化2.from参数没有设置正确,也就是结构问题3.参转载 2013-07-29 09:35:59 · 6529 阅读 · 2 评论 -
NAT分类
NAT分类 根据Stun协议(RFC3489),NAT大致分为下面四类 1) Full Cone 这种NAT内部的机器A连接过外网机器C后,NAT会打开一个端口.然后外网的任何发到这个打开的端口的UDP数据报都可以到达A.不管是不是C发过来的. 例如 A:192.168.8.100 NAT:202.100.100.100 C:292.88.88.88 A(192.168转载 2013-08-03 18:05:11 · 1268 阅读 · 0 评论 -
RTP协议解读
RTP协议解读这两天又复习了一下RTP协议.看到网上两篇文章说的很通透明白,在此转发一下.RTP协议分析(转自:http://blog.csdn.net/bripengandre/article/details/2238818)分类: Network Security2008-04-01 16:34 5687人阅读 评论(6) 收藏 举报整理记录转载 2013-05-23 10:51:49 · 915 阅读 · 0 评论 -
sendmsg recgmsg 函数
sendmsg(2)与recvmsg(2)函数这些函数为程序提供了一些其他的套接口I/O接口所不具备的高级特性。下面的内容我们将会先来看一下sendmsg来介绍这些主题。然后将会完整的介绍recvmsg函数,因为他们的函数接口是相似的。接下来,将会描述msghdr的完整结构。sendmsg(2)函数现在是时候进入这个大同盟了。从概念上说,sendmsg函数是所有写入函数的基础,而他是从转载 2013-04-08 16:16:34 · 1563 阅读 · 0 评论 -
TCP协议疑难杂症全景解析
http://blog.csdn.net/dog250/article/details/6612496说明:1).本文以TCP的发展历程解析容易引起混淆,误会的方方面面2).本文不会贴大量的源码,大多数是以文字形式描述,我相信文字看起来是要比代码更轻松的3).针对对象:对TCP已经有了全面了解的人。因为本文不会解析TCP头里面的每一个字段或者3次握手的细节,也不会解释慢启动转载 2013-12-12 11:44:06 · 784 阅读 · 0 评论 -
Epoll在LT和ET模式下的读写方式
转自:http://www.ccvita.com/515.html在一个非阻塞的socket上调用read/write函数, 返回EAGAIN或者EWOULDBLOCK(注: EAGAIN就是EWOULDBLOCK)从字面上看, 意思是:EAGAIN: 再试一次,EWOULDBLOCK: 如果这是一个阻塞socket, 操作将被block,perror输出: Resource temp转载 2013-12-05 16:18:42 · 802 阅读 · 0 评论 -
setsockopt中参数之SO_REUSEADDR的意义
1、一般来说,一个端口释放后会等待两分钟之后才能再被使用,SO_REUSEADDR是让端口释放后立即就可以被再次使用。 SO_REUSEADDR用于对TCP套接字处于TIME_WAIT状态下的socket,才可以重复绑定使用。server程序总是应该在调用bind()之前设置SO_REUSEADDR套接字选项。TCP,先调用close()的一方会进入TIME_WAIT状态2、转载 2013-12-13 14:00:09 · 4673 阅读 · 0 评论 -
P2P实时音视频之NAT穿越
在P2P实时音视频领域,NAT穿越是一个非常重要的技术。NAT穿越技术使得客户端和客户端直接进行通讯,从而减少了端到端的延迟,并大大减轻了服务器的压力,降低成本。NAT是什么NAT的全称Network Address Translation,通常指的是把内网地址转换成外网地址。一般家用的无线路由器就用到了NAT技术。NAT技术的出现是为了解决IPv4地址不够的问题,而且还能够避免来转载 2016-03-27 07:28:54 · 1887 阅读 · 0 评论 -
linux 下使用 tc 模拟网络延迟和丢包
1 模拟延迟传输简介netem 与 tc: netem 是 Linux 2.6 及以上内核版本提供的一个网络模拟功能模块。该功能模块可以用来在性能良好的局域网中,模拟出复杂的互联网传输性能,诸如低带宽、传输延迟、丢包等等情况。使用 Linux 2.6 (或以上) 版本内核的很多发行版 Linux 都开启了该内核功能,比如 Fedora、Ubuntu、Redhat、OpenSuse、Cent转载 2016-02-20 14:44:05 · 1387 阅读 · 0 评论 -
几个牛逼的网站
http://2014.qconbeijing.com/http://sacc.it168.com/http://djt.qq.com/ppts/原创 2014-11-24 17:44:57 · 6946 阅读 · 0 评论 -
HTTP POST GET详解
一 原理区别 一般在浏览器中输入网址访问资源都是通过GET方式;在FORM提交中,可以通过Method指定提交方式为GET或者POST,默认为GET提交Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETEURL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST转载 2014-05-21 14:17:19 · 647 阅读 · 0 评论 -
linux IPTABLES 设置
http://www.cnblogs.com/JemBai/archive/2009/03/19/1416364.html如果你的IPTABLES基础知识还不了解,建议先去看看.开始配置我们来配置一个filter表的防火墙.(1)查看本机关于IPTABLES的设置情况[root@tp ~]# iptables -L -nChain INP转载 2014-03-31 11:00:30 · 660 阅读 · 0 评论 -
telnet :No route to host
[root@zshts011 backup]# telnet 192.168.31.42Trying 192.168.31.42...telnet: connect to address 192.168.31.42: No route to host解决方法:在目标机器上执行:iptables -F [root@zshts011 ba转载 2014-03-31 10:21:24 · 17792 阅读 · 4 评论 -
Linux静态IP设置
Linux静态IP设置http://weilaisecond.blog.163.com/blog/static/115927600201082243642682/IP配置:/etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0BOOTPROTO=staticHWADDR=00:26:18:0B:38:转载 2014-03-31 09:41:18 · 1516 阅读 · 0 评论 -
RIP/BGP/OSPF 比较
http://bbs.c114.net/thread-376129-1-1.htmlRIP( Routing Information Protocol )路由信息协议:是在一个AS系统中使用地内部路由选择协议,是个非常简单的基于距离向量路由选择的协议。 它路由器生产商之间使用的第一个开放标准,是最广泛的路由协议,在所有IP路由平台上都可以得到。当使用RIP时,一台Cisco路由器可以与其他转载 2014-02-12 10:30:46 · 5157 阅读 · 0 评论 -
sendmsg and recvmsg
#include #include #include #include #include #include #include ssize_t readn(int fd, void *buf, size_t nbytes){ssize_t nleft = 0;ssize_t nread = 0;char *ptmp = NULL;pt原创 2013-04-08 15:59:12 · 843 阅读 · 0 评论 -
HTTP协议通信过程汇总
来源网络 原创不详 当我们在浏览器的地址栏输入“www.baidu.com”然后按回车,这之后发生了什么事,我们直接看到的是打开了对应的网页,那么内部客户端和服务端是如何通信的呢?1、 1、URL自动解析 HTTP URL包含了用于查找某个资源的足够信息,基本格式如下:HTTP://host[“:”port][abs_path],其中HTTP表示桶盖H转载 2013-03-25 09:35:37 · 849 阅读 · 0 评论 -
HTTP请求报文和HTTP响应报文
HTTP报文是面向文本的,报文中的每一个字段都是一些ASCII码串,各个字段的长度是不确定的。HTTP有两类报文:请求报文和响应报文。HTTP请求报文一个HTTP请求报文由请求行(request line)、请求头部(header)、空行和请求数据4个部分组成,下图给出了请求报文的一般格式。or<request-line><headers><blank line转载 2013-03-25 09:42:04 · 942 阅读 · 0 评论 -
TCP/UDP相关知识总汇
TCP如何保证可靠传输的?确认机制:保证每个数据包都能收到,差错检验:保证数据包的正确,流量控制:保证接收方不会溢出。顺序编号:保证传输的有序性 1、TCP/IP的可靠传输服务五个特征:面向数据流、虚电路连接、有缓冲的传输、无结构的数据流、全双工的连接。 2、TCP采用了具有重传功能的肯定确认技术作为可靠数据流传输服务的基础。 3、为了提高数据流传输过程转载 2012-09-19 14:45:05 · 1117 阅读 · 0 评论 -
高性能服务器本质论
作者:CppExplore 网址:http://www.cppblog.com/CppExplore/本章主要列举服务器程序的各种网络模型,示例程序以及性能对比后面再写。一、分类依据。服务器的网络模型分类主要依据以下几点(1)是否阻塞方式处理请求,是否多路复用,使用哪种多路复用函数(2)是否多线程,多线程间如何组织(3)是否多进程,多进程的切入点一般都是accept函数前二转载 2012-09-13 16:42:05 · 501 阅读 · 0 评论 -
服务器技术系列综述(三)
网络请求包经过网络层(技术系列综述(一))被解析翻译成程序自定义的消息,之后被投递到业务线程的线程消息队列(技术系列综述(二))中。业务线程在队列的另一端取出消息,开始处理,这是本章要介绍的部分。业务处理部分:主要有会话类(Session)和会话管理类(SessionManager,常见该类为单例)。先给出类图,后文详细介绍:一 SessionManager的职责:(1)继承IMsgT转载 2012-09-13 17:34:53 · 867 阅读 · 0 评论 -
服务器技术系列综述(二)
《技术系列综述(一)》介绍了网络层部分。网络层基本都是多路复用函数作为运行的主线程,使用管道或者sockpair与之通讯,这是网络层线程的固有特点,和业务线程的呈现方式完全不同。经过网络层以后,数据开始流向业务线程,现在就顺着数据流向往上看。一 业务线程《技术系列之 线程(一)》有对线程的一个入门描述,里面的消息队列只是示例,真实可用的可以看《技术系列之 线程(二)》。(1)业务线转载 2012-09-13 17:21:02 · 530 阅读 · 0 评论 -
服务器技术系列综述(一)
一 系统框架概述网络上的服务器,无论是嵌入式的网络设备,还是pc上服务器,整体结构以及主要思想都大体相同:根据业务模型确定主要数据结构,根据数据结构确定线程模型,在各个业务线程内根据围绕主要数据结构进行的操作确定状态机模型,低层使用网络层收发数据完成和其它网元的通讯。线程交互模型简单描述如下图:其中网络层包括收发模块,收数据模块是单独线程,而发数据模块则被业务线程调用在其本身线程中发送转载 2012-09-13 17:14:01 · 652 阅读 · 0 评论 -
高性能服务器本质论
作者:CppExplore http://www.cppblog.com/CppExplore/和http://blog.csdn.net/cppexplore同步发布一 服务器分类从软件性能角度,高性能服务器分:cpu密集型服务器/IO密集型服务器(1)CPU密集型:该类服务器没有对io的访问/没有同步点,性能瓶颈在于对cpu的充分利用。典型的如转发服务器/代理服务器/协议转换转载 2012-09-13 16:55:45 · 430 阅读 · 0 评论 -
SCTP编程
http://blog.chinaunix.net/space.php?uid=8118579&do=blog&id=20341191. 简介SCTP是为了在IP网上传输信令而由IETF的信令传输工作组(SIGTRAN)提出的传输层协议(RFC2960,RFC4960)。 和TCP,UDP相比, UDP是无连接的传输协议,它能满足低延迟的要求,但是它却无法保证可靠传输。TCP能保证转载 2012-08-21 09:49:52 · 1539 阅读 · 0 评论 -
TCP 三次握手
TCP 三次握手TCP 连接是通过三次握手进行初始化的。三次握手的目的是同步连接双方的序列号和确认号并交换 TCP 窗口大小信息。以下步骤概述了通常情况下客户端计算机联系服务器计算机的过程:1. 客户端向服务器发送一个SYN置位的TCP报文,其中包含连接的初始序列号x和一个窗口大小(表示客户端上用来存储从服务器发送来的传入段的缓冲区的大小)。2. 服务器收到客户端发送过来的SYN报文后转载 2012-06-26 14:22:56 · 561 阅读 · 0 评论 -
MFC疑难注解:CAsyncSocket及CSocket
MFC疑难注解:CAsyncSocket及CSocketMFC对SOCKET编程的支持其实是很充分的,然而其文档是语焉不详的。以至于大多数用VC编写的功能稍复杂的网络程序,还是使用API的。故CAsyncSocket及CSocket事实上成为疑难,群众多敬而远之。余好事者也,不忍资源浪费,特为之注解。一、CAsyncSocket与CSocket的区别前者是异步通信,转载 2012-07-06 17:07:43 · 1401 阅读 · 0 评论 -
UDT源码剖析(一):UDT自带例程sendfile注释
#ifndef WIN32 #include #include #else #include #include #endif#include #include #include #include using namespace std;#ifndef WIN32void* sendfile(void*);#转载 2012-09-19 17:15:23 · 19264 阅读 · 2 评论 -
UDT源码剖析(三):UDT::startup()过程代码注释
调用路线UDT::startup()->CUDT::startup()->CUDTUnited::startup()1int startup()2{3 return CUDT::startup();4转载 2012-09-19 17:17:38 · 3636 阅读 · 0 评论 -
UDT源码剖析(六):UDT::socket()过程代码注释
调用路线UDT::socket()->CUDT::socket()->CUDTUnited::newSocket()1UDTSOCKET CUDT::socket(int af, int type, int)2{3 // 如果垃圾收集没启动转载 2012-09-19 17:19:58 · 4615 阅读 · 0 评论 -
Linux服务器多进程模型
http://blog.csdn.net/winlinvip/article/details/7764526Linux多进程服务器真的很给力,赞一个!Linux多进程一般是master负责侦听,worker接受和伺服client。一个使用了以下技术的多进程模型:1. sigset:安全信号,信号屏蔽和接受。2. epoll:异步io模型。mast转载 2013-03-01 11:32:02 · 2763 阅读 · 1 评论 -
epoll精髓
http://www.cnblogs.com/OnlyXP/archive/2007/08/10/851222.htmlepoll精髓在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select转载 2013-02-28 15:11:50 · 542 阅读 · 0 评论 -
epoll的理解
一直以来觉得自己对epoll的理解还是可以的,没想到今天通过看同事的一段代码,及后来查资料发现还有很多未知的属性不知道。学无止境啊。1、如果fd被注册到两个epoll中时,如果有时间发生则两个epoll都会触发事件。2、如果注册到epoll中的fd被关闭,则其会自动被清除出epoll监听列表。3、如果多个事件同时触发epoll,则多个事件会被联合在一起返回。4、epoll_wa转载 2013-02-28 15:38:54 · 801 阅读 · 0 评论