问几个网络编程的问题

liuwei2500 2011-11-02 09:55:31
1.网口在发送数据包和广播包的效率谁比较高?为什么?
2.有没有方法在不知道目标ip和mac的情况高速的发送数据?
3.一般UDP协议下,千兆网卡的效能有多高?


注:本人在网络编程领域是新手,如果你们说叫我自己论证,我无从写代码,还劳烦大神们多加解释或者帮我论证一下。
...全文
234 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
bigblacktree1 2012-01-10
  • 打赏
  • 举报
回复
to:icechenbing
"winpcap不是开源的吗?自己看看源码就知道了。

另外,本人做过实验,winpcap在千兆网,接受局域网组播信号,流量达300M时候开始丢包"

你说的300M是300MByte/S 还是300Mbit/s,而且是程序优化到极致了么?
liuwei2500 2011-11-18
  • 打赏
  • 举报
回复
已经了解到采用pcap_sendqueqe方式效率可以达到60%+,效率很客观。
Defonds 2011-11-03
  • 打赏
  • 举报
回复
liuwei2500 2011-11-03
  • 打赏
  • 举报
回复
今天继续
hulongchuan 2011-11-03
  • 打赏
  • 举报
回复
顶起!不太了解!
恨天低 2011-11-02
  • 打赏
  • 举报
回复
winpcap不是开源的吗?自己看看源码就知道了。

另外,本人做过实验,winpcap在千兆网,接受局域网组播信号,流量达300M时候开始丢包
liuwei2500 2011-11-02
  • 打赏
  • 举报
回复
继续的雄起,高手们支声啊
liuwei2500 2011-11-02
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 jk110333 的回复:]
我对网络编程的方向没什么感悟,但是我有个疑问,在不知道目标IP和MAC的情况下你把包发给谁呢?MARK
[/Quote]
你可以看看winpcap里面在不包含目标ip和目标mac的情况下照样是可以发送数据,并且用硬件监测过,数据的确是发送过去了,所以我就怀疑winpcap是采用将数据包含在广播包里面当作广播包来发送的。所以我要问问关于发送广播包和数据包的速度问题。
siasjack 2011-11-02
  • 打赏
  • 举报
回复
我对网络编程的方向没什么感悟,但是我有个疑问,在不知道目标IP和MAC的情况下你把包发给谁呢?MARK
测试NULL 2011-11-02
  • 打赏
  • 举报
回复
我也想知道,mark!
lanneret1234 2011-11-02
  • 打赏
  • 举报
回复
等待高手
liuwei2500 2011-11-02
  • 打赏
  • 举报
回复
补充一个问题:winpcap里面的发包函数是不是以发送数据包的形式发送的?
vilnies 2011-11-02
  • 打赏
  • 举报
回复
我也想知道,mark!
liuwei2500 2011-11-02
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 jiahehao 的回复:]
2.有没有方法在不知道目标ip和mac的情况高速的发送数据?

除了广播,应该是没有别方法。组播要知道组播组地址,单播就更不用说了。没有IP,你路由器就先出不去,没有MAC,出去了你找谁?
[/Quote]
这个我知道,所有我疑问winpcap是不是采用广播包的额方式在发送数据?pcap_sendpacket
jiahehao 2011-11-02
  • 打赏
  • 举报
回复
2.有没有方法在不知道目标ip和mac的情况高速的发送数据?

除了广播,应该是没有别方法。组播要知道组播组地址,单播就更不用说了。没有IP,你路由器就先出不去,没有MAC,出去了你找谁?
liuwei2500 2011-11-02
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 qq120848369 的回复:]
楼主怎么把网络编程说的那么玄乎呢...

winpcap抓包是用链路层套接字抓的,默认只抓目标IP是本机的,如果置于混杂模式那么流经网卡的都被抓.

发包是raw SOCKET自己从IP头开始构造的,或者也有链路层输出接口,linux下libnet有这个发包的能力。
[/Quote]
我是网络编程新手来着。只是代表自己的一些想法而已。那么winpcap是否也是从链路层输出接口直接输出?
赵4老师 2011-11-02
  • 打赏
  • 举报
回复
《TCP-IP详解卷一:协议》
《TCP-IP详解卷二:实现》
《TCP-IP详解卷三:TCP事务协议,HTTP,NNTP和UNIX域协议》
qq120848369 2011-11-02
  • 打赏
  • 举报
回复
楼主怎么把网络编程说的那么玄乎呢...

winpcap抓包是用链路层套接字抓的,默认只抓目标IP是本机的,如果置于混杂模式那么流经网卡的都被抓.

发包是raw SOCKET自己从IP头开始构造的,或者也有链路层输出接口,linux下libnet有这个发包的能力。
liuwei2500 2011-11-02
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 icechenbing 的回复:]
winpcap不是开源的吗?自己看看源码就知道了。

另外,本人做过实验,winpcap在千兆网,接受局域网组播信号,流量达300M时候开始丢包
[/Quote]
是开源的,我按照例子上面来的,可是发觉效率是否差强人意

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧