网络
文章平均质量分 81
maopig
这个作者很懒,什么都没留下…
展开
-
安装Windows10,Ubuntu双系统14.04LTS记录
两种方式都可以制作https://jingyan.baidu.com/article/19192ad85aa445e53e5707c2.htmlhttps://www.cnblogs.com/arcsinw/p/5303615.html转载 2018-01-19 15:46:52 · 642 阅读 · 0 评论 -
LINUX 下tcp 和 udp 套接字收发缓冲区的大小决定规则 .
const int udp_recvbufsize = 384 * 1024 ;int result = ::setsockopt(m_hSocket, SOL_SOCKET, SO_RCVBUF, (char*)&udp_recvbufsize, sizeof(int));// 如果是由于你发送的速率较高而引起的,如500kbit/s, 那么设置大点的UDP缓冲区是比较有效的.转载 2012-08-22 23:38:07 · 5777 阅读 · 0 评论 -
internet网络 checksum校验和计算方法
http://hi.baidu.com/%CE%C4%B3%AD%B9%AB/blog/item/7d9a4e08f82d72b32eddd4cb.html转载 2012-03-16 12:54:40 · 3118 阅读 · 1 评论 -
linux sock_raw原始套接字编程
sock_raw原始套接字编程可以接收到本机网卡上的数据帧或者数据包,对与监听网络的流量和分析是很有作用的.一共可以有3种方式创建这种socket 1.socket(AF_INET, SOCK_RAW, IPPROTO_TCP|IPPROTO_UDP|IPPROTO_ICMP)发送接收ip数据包2.socket(PF_PACKET, SOCK_RAW, htons(ETH_P_IP|E原创 2012-03-14 09:50:32 · 8900 阅读 · 0 评论 -
内核kernel以及根文件系统rootfs是如何映射到对应的nand flash的
初始化代码读取uboot到内存里面,然后跳转到uboot那里去执行uboot,uboot初始化必要的硬件,加载一些驱动,其中包括nand flash的驱动,然后根据uboot里面设置的一个启动命令:nand read 0x30007FC0 0x100000 0x200000;bootm 0x30007FC0意思就是,先去读取nand flash,从0x100000开始,长度为0x200转载 2012-03-08 23:37:05 · 1850 阅读 · 0 评论 -
MII/MDIO接口详解
MII/MDIO接口详解 http://dpinglee.blog.163.com/blog/static/144097753201041131115262/转载 2012-03-08 12:56:38 · 3683 阅读 · 1 评论 -
linux socket UDP编程发送广播
#include#include#include#include#include#include#include#include#include#include#include#include #include#define PORT 7773#define MAXDATASIZE 256int main(int argc,char *a转载 2012-03-08 10:55:50 · 17932 阅读 · 0 评论 -
数据链路层
数据链路的定义链路:计算机网络中相邻节点的一段物理线路。数据链路:计算机网络中节点到节点相邻的一段物理路线加上控制在这些路线上传输数据的协议。数据链路层解决的问题对于计算机网络里面的每一层,其实都是为了解决某一个层面的问题而设计出来的,数据链路层也一样:由于物理层只解决了信号流在物理媒介的传输问题,而数据链路层就在它之上,解决如何在链路这一个层面上实现数据的传输。数据链路的种类原创 2012-02-29 19:23:56 · 2025 阅读 · 0 评论 -
linux setsockopt详解
1.closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket:BOOL bReuseaddr=TRUE;setsockopt(s,SOL_SOCKET ,SO_REUSEADDR,(const char*)&bReuseaddr,sizeof(BOOL));2. 如果要已经处于连接状态的soket在调用closesocket后强制关闭,原创 2012-02-29 16:30:46 · 5097 阅读 · 0 评论 -
ARP协议
ARP协议(Address ResolutionProtocol),或称地址解析协议。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。他是IPv4中网络层必不可少的协议,不过在IPv6中已不再适用,并被icmp v6所替代。目录1基本功能 2原理 3另见 4外部链接原创 2012-02-28 18:16:36 · 1041 阅读 · 0 评论 -
TCP研究
tcp协议本身是可靠的,并不等于应用程序用tcp发送数据就一定是可靠的.不管是否阻塞,send发送的大小,并不代表对端recv到多少的数据在阻塞模式下, send函数的过程是将应用程序请求发送的数据拷贝到发送缓存中发送并得到确认后再返回.但由于发送缓存的存在,表现为:如果发送缓存大小比请求发送的大 小要大,那么send函数立即返回,同时向网络中发送数据;否则,send向网络发送缓存中不转载 2013-04-21 11:57:36 · 1261 阅读 · 0 评论 -
使用setsockopt()接口,设置TCP的接收与发送超时,Invalid argument错误问题
使用TCP套接字时,当无网络连接时,还会继续send,继续recv阻塞,知道TCP自己协议机制判断断开连接时才会停止发送和接收,时间需要几分钟之久。解决的办法是,自己设置接收超时时间,当超时后重新发送,或者从新初始化socket然后在重新创建socket重新connect。代码如下: int iSendTimeout, iRecvTimeOut;转载 2013-04-21 11:59:52 · 4321 阅读 · 0 评论 -
mac与phy如何实现网络自适应
这两天修改网卡驱动以实现10/100/1000M自适应,因此研究了下phy芯片和emac驱动如何兼容10/100/1000M网络环境,记录在此。网络中设备端数据链路层由mac芯片和phy芯片组成,phy芯片根据外部网络环境完成自动协商以及配置,驱动中根据phy状态来配置mac,以达到phy与mac的相互配合工作。现在主流的网卡phy芯片为100M和1000M,都是向下兼容。100M phy转载 2016-10-06 11:35:21 · 3378 阅读 · 1 评论 -
PHY以太网自动协商原理
自协商原理: 自协商是通过一种叫做快速连接脉冲(Fast Link Pulse)的信号实现的,简称FLP。自协商的双方通过FLP来交换数据。 在具备自协商能力的端口没有Link的情况下,端口一直发送FLP,在FLP中包含着自己的连接能力信息,包括支持的速率能力、双工能力、流控能力等。这个连接能力是从自协商能力寄存器中得到的(Auto-Negotiatio转载 2016-10-06 11:29:12 · 25147 阅读 · 1 评论 -
linux下socket连接下的心跳机制
1,在长连接下,有可能很长一段时间都没有数据往来。理论上说,这个连接是一直保持连接的,但是实际情况中,如果中间节点出现什么故障是难以知道的。有的节点(防火墙)会自动把一定时间之内没有数据交互的连接给断掉。在这个时候,就需要我们的心跳包了,用于维持长连接,保活2,心跳包之所以叫心跳包是因为:它像心跳一样每隔固定时间发一次,以此来告诉服务器,这个客户端还活着。事实上这是为了保持长连接,转载 2016-03-19 14:53:17 · 5944 阅读 · 2 评论 -
介绍TCP/udp比较好的博客
http://blog.csdn.net/nana_93/article/details/8743525转载 2015-12-05 17:20:52 · 4451 阅读 · 0 评论 -
Mac与Phy组成原理的简单分析
Mac与Phy组成原理的简单分析 2011-12-28 15:30:43//http://blog.chinaunix.net/uid-20528014-id-3050217.html本文乃fireaxe原创,使用GPL发布,可以自由拷贝,转载。但转载请保持文档的完整性,并注明原作者及原链接。内容可任意使用,但对因使用该内容引起的后果不做任何保证。作者:fireax转载 2015-12-10 11:12:35 · 4177 阅读 · 0 评论 -
select函数分析
Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用Select就可以完成非阻塞(所谓非阻塞方式转载 2013-04-25 17:33:33 · 1025 阅读 · 0 评论 -
Linux下基于C/C++的Socket编程基础
什么是Socket Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。 Socket接口设计者最先是将接口放原创 2011-08-18 23:31:27 · 1590 阅读 · 0 评论 -
sockaddr_in , sockaddr , in_addr区别Socket编程函数集(非常有用)
一、sockaddr和sockaddr_in在字节长度上都为16个BYTE,可以进行转换struct sockaddr { unsigned short sa_family; //2 char sa_data[14]; //14 }; 上面是通用的socket原创 2013-12-07 22:13:52 · 61058 阅读 · 11 评论 -
HDCVI——一种创新性的高清视频传输方案
什么是HDCVI 2012年11月,大华技术股份有限公司发布了具有自主知识产权的同轴高清传输接口技术HDCVI。HDCVI技术是一种基于已有SYV75-3或SYV75-5同轴电缆的高清视频传输方法,能够在低成本和较低质量的同轴电缆上实现超长距离高清视频信号的可靠传输。相比较HD-SDI子系统在实际应用中对传输介质的高要求,HDCVI可以适应长距离、低成本的传输介质以及复杂的部署场合。转载 2013-11-12 09:25:50 · 4552 阅读 · 0 评论 -
Linux下c开发 之 线程通信与pthread_cond_wait()的使用
pthread_cond_wait()/************pthread_cond_wait()的使用方法**********/ pthread_mutex_lock(&qlock); pthread_cond_wait(&qready, &qlock); pthread_mutex_unlock(&qlock);/***********转载 2012-02-19 17:03:39 · 11295 阅读 · 0 评论 -
Socket编程知识必学/SELECT 编程
Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如 connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用Select就可以完成非阻塞(所谓非阻塞方转载 2012-02-19 16:56:01 · 9519 阅读 · 0 评论 -
不同平台下 sleep区别用法
应用程序:#include usleep(n) //n微秒Sleep(n)//n毫秒sleep(n)//n秒驱动程序:#include mdelay(n) //微秒milliseconds 其实现#ifdef notdef#define mdelay(n) (\{unsigned long msec=(n); while (msec--) udelay(10原创 2011-11-28 14:49:44 · 1504 阅读 · 0 评论 -
二层交换机、三层交换机和路由器的基本工作原理和三者之间的主要区别
二层交换机:二层交换技术是发展比较成熟,二层交换机属数据链路层设备,可以识别数据包中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中。具体如下:(1)当交换机从某个端口收到一个数据包,它先读取包头中的源MAC地址,这样它原创 2011-10-09 09:31:38 · 8145 阅读 · 2 评论 -
什么是单播、多播和广播br
什么是单播、多播和广播 “单播”(Unicast)、“多播”(Multicast)和“广播”(Broadcast)这三个术语都是用来描述网络节点之间通讯方式的术语。那么这些术语究竟是什么意思?区别何在?且听下文分解。 ——★单 播★—— 网转载 2011-10-11 16:22:03 · 19971 阅读 · 4 评论 -
IP组播与组播协议
IP组播与组播协议2008-4-27来源:不详 作者:佚名 点击:次 在Internet上,多媒体业务诸如:流媒体,视频会议和视频点播等,正在成为信息传送的重要组成部分。点对点传输的单播方式不能适应这一类业务传输特性--单点发送多点接收,因为服务器必须为转载 2011-10-11 23:07:43 · 1539 阅读 · 0 评论 -
多播(组播)原理分析
为什么要使用多播: 网卡从网络上接收到目标物理地址对应的所有bit位都为1的数据报时,会收到这条消息并将其上传给驱动程序,网卡的这种工作模式称为广播模式,网卡的缺省工作模式包含直接模式和广播模式。利用这一特性,UDP(用户数据报协议)还提供了向多个目标地址发送广转载 2011-10-13 08:52:09 · 29159 阅读 · 0 评论 -
udp发送接收数据
using System;using System.Collections.Generic;using System.Text;using System.Net;using System.Net.Sockets;using System.Threading原创 2011-08-18 23:13:11 · 1145 阅读 · 0 评论 -
Linux下C++ UDP Socket例子
这里我们给出了linux下C++的socket代码如下: #include #include #include #include #include #include #include #include #inc原创 2011-08-18 23:40:35 · 9124 阅读 · 1 评论 -
TCP/UDP 网络编程实例
TCP服务器:TCP_Server.c #includestdio.h>#include stdlib.h>#include errno.h>#include string.h>#include netdb.h>#i原创 2011-08-18 23:43:36 · 1830 阅读 · 1 评论 -
单播、多播(组播)和广播的区别
单播、多播和广播单播”(Unicast)、“多播”(Multicast)和“广播”(Broadcast)这三个术语都是用来描述网络节点之间通讯方式的术语。那么这些术语究竟是什么意思?区别何在?1.单播:网络节点之间的通信就好像是人们之间的对话一样。如果一个人对另外一个人说原创 2011-08-18 23:00:30 · 4282 阅读 · 1 评论 -
TCP/IP数据包结构分析
一般来说,网络编程我们只需要调用一些封装好的函数或者组件就能完成大部分的工作,但是一些特殊的情况下,就需要深入的理解网络数据包的结构,以及协议分析。如:网络监控,故障排查等…… IP包是不安全的,但是它是互联网的基础,在各方面都有广泛的应用。由IP协议衍生的协议族有1原创 2011-09-14 13:57:18 · 4295 阅读 · 0 评论 -
路由器与交换机的工作原理
路由器与交换机的工作原理计算机网络往往由许多种不同类型的网络互连连接而成。如果几个计算机网络只是在物理上连接在一起,它们之间并不能进行通信,那么这种“互连”并没有什么实际意义。因此通常在谈到“互连”时,就已经暗示这些相互连接的计算机是可以进行通信的,也就是说,从功能上和逻辑上转载 2011-10-09 10:24:01 · 24862 阅读 · 2 评论 -
CMD下查看路由表
在cmd下面输入route print 就可以查看路由表 如何读懂路由表如何读懂路由表 源码:--------------------------------------------------------------------------------Activ转载 2011-10-10 13:35:05 · 40382 阅读 · 1 评论 -
linux设置套接字缓冲区的大小
系统提供的socket缓冲区大小为8K,你可以将之设置为64K,尤其在传输实时视频时。 socket发送数据时候先把数据发送到socket缓冲区中,之后接受函数再从缓冲区中取数据,如果发送端特别快的时候,缓冲区很快就被填满(socket默认的是1024×8=8192字节),这时候我们应该根据情况设置缓冲区的大小,可以通过setsockopt函数实现 #include #inc原创 2011-11-17 16:14:22 · 23456 阅读 · 2 评论 -
Linux Socket编程(不限Linux)
“一切皆Socket!”话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket。——有感于实际编程和开源项目研究。我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠socket?那什么是socket?socket的类型有哪些?还有转载 2011-11-07 11:05:41 · 1033 阅读 · 0 评论 -
LINUX多播编程
一.单播,广播和多播1.单播用于两个主机之间的端对端通信,广播用于一个主机对整个局域网上所有主机上的数据通信。单播和广播是两个极端,要么对一个主机进行通信,要么对整个局域网上的主机进行通信。实际情况下,经常需要对一组特定的主机进行通信,而不是整个局域网上的所有主机,这就是多播的用途。2.多播的概念: 1>多播,也称为“组播”,将局域网中同一业务类型主机进行了逻辑上的分组,进行数据收转载 2011-11-23 11:13:30 · 2808 阅读 · 1 评论 -
Linux 多播(组播)例程
ser.c #include #include #include #include #include #include #include #include #define BUFLEN 255 intmain (int argc, char **argv) { struct sockaddr_in peeraddr,ia;转载 2011-11-22 13:42:45 · 1415 阅读 · 1 评论 -
网络编程之 TCP / UDP 及其流程比较
TCP与UDP的区别1、基于连接与无连接 2、对系统资源的要求(TCP较多,UDP少)3、UDP程序结构较简单 流模式与数据报模式4、TCP保证数据正确性,UDP可能丢包5、TCP保证数据顺序,UDP不保证具体编程时的区别1、socket()的参数不同 2、UDP Server不需要调用listen和accept3、 UDP收发数据用sendto/recvf原创 2011-11-19 08:09:50 · 1456 阅读 · 0 评论