
网络编程
minghu9
这个作者很懒,什么都没留下…
展开
-
有噪声通道下的通信
通道在建立了以后,就需要需要考虑差错控制(EC)与流量控制(FC)此时可以参考滑动窗口的概念 滑动窗口在数据链路层的HDLC协议与传输层的TCP协议等都有应用滑动窗口结合ARQ(AutomaticRepeatReQuest)自动重传协议 Go-back-N型:错误就回退N帧后全部重发Select型:只重发丢失的帧所谓“发送窗口”就是发送方在收到确认帧之前能连续发送的数据帧的数量(所有原创 2015-11-04 18:09:34 · 781 阅读 · 0 评论 -
路由的距离向量算法等(也不知道该起什么名字好)
默认路由表: 掩码段,网络段全为0单源点最短路径:依次计算第一跳到第n跳的 每一跳都更新前一跳的所有点的最短路由 一直到路由不再发生变化,停止下一跳探索 (也是贪心算法) Dijkstra原创 2015-12-22 13:10:43 · 492 阅读 · 0 评论 -
随机访问情况下的多路访问
前言:这里是以数据链路层的ALOHO协议算法为例1. pureALOHO夏威夷大学的Hello算法所有站点直接发送数据,collesion以后就重发,重发前需要等待一个(0,2^k-1)范围的随机时间(二进制指数回退),其中k为该站点重发次数(k一般设上限15,超过上限后,认为断网)这个算法优点是实现方便,成本低廉;缺点是带宽利用率不高,而且存在先发后到的问题(先发碰撞,平均总比后发碰撞等待的时间原创 2015-11-23 16:06:28 · 1011 阅读 · 0 评论 -
信号的数字编码方案
前言:数字编码方案面临的最基本的三个问题: 1. 基线偏移(baseline wandering) 基线--信号功率的平均**运行**值,信号代表的高低电平根据信号的功率与基线比较得到。 因此,长0或长1的串会引起平均运行值比总体平均值过低或过高,也就是基线偏移的现象,使接收方不能正确解码直流成分(DC component) 当电平保持一段时间恒定时,根据傅里叶分析,频谱会产生很低原创 2015-11-11 19:19:37 · 3324 阅读 · 1 评论 -
码字的检错纠错
前言:任何编码方案都至少有三个参数: 码字长度d(数据字长度+校验位长度) 数据字长度k 最小汉明距离dmind_{min} 也即 C(n,k),dminC(n,k) ,d_{min}汉明距离(Hamming distance)两个位数相同的字,对应位值不同的数量最小汉明距离所有码字对中最小的汉明距离检错的最小距离s=d+1,s为最小汉明距离s=d+1,s为最小汉明距离(大于一个圆半径)原创 2015-11-11 19:57:02 · 2013 阅读 · 0 评论 -
网络编程(2)--服务器模型
一切源代码在这里0.循环服务提供一收一发1.无脑并发为每一个请求提供一个线程, 1.可以在线程中建立连接并处理。 2.也可以统一连接然后在线程中处理2.请求资源池1.一个生产队列监听连接请求,将请求的文件描述符加入客户连接表(比如一个int[]) 2.另一个消费者队列从客户连接表中,取出文件描述符进行处理原创 2015-10-23 22:27:33 · 485 阅读 · 0 评论 -
网络编程(1)--FloodAck
前言:这里用的都是原始套接字,涉及到内核部分blabla,总之需要root权限运行 linux下推荐一个方便查看网络流量工具iptraf(iptraffic 字符界面gui)0.0.ICMP源代码在这里 说明:1.这是一个隐含bug不少的例程修改的,作为学习.可能会有很多调试性的输出语句,不过无关紧要。2.本来例程的想法是将靶机的ip或dns地址作为参数传入程序,不知为何当传入dns地址时,原创 2015-10-22 22:27:13 · 333 阅读 · 0 评论 -
数据链路层HDLC与PPP协议
HDLC(High-level Data Link Control)协议是点到点、点到多点的通用协议PPP(Point-to-Point Protocol)协议是点到点协议,针对路由器的一个协议,它在以太网上的一个实现- -PPPoE(PPP-on-Ethernet)将家庭电脑与因特网服务商(ISP)的服务器连起来0.HDLC的位填充与PPP的字节填充两个协议的数据帧都以01111110(0原创 2015-11-06 16:33:17 · 5521 阅读 · 0 评论 -
受控访问
随机访问1.预约访问先在时隙中预约,然后按照预约顺序发送数据2.轮寻主站控制3.令牌传递(token-passing)从站点控制原创 2015-11-06 19:21:06 · 1145 阅读 · 0 评论 -
网络编程(1)--数据链路层访问
Linux下利用原始套接字对链路层进行访问,首先需要设置网卡为混杂模式,注意1.标志位的获取与修改需要root权限,这意味你的设置程序也需要有root权限sudo .\setPromiscity 2.标志位修改用 |=而不是|,因为要保留原来的设置 3.分别用SIGCGIFFLAGS 与SIGCSIFFLAGS取出与设置标志位原创 2015-10-22 11:56:39 · 956 阅读 · 0 评论 -
网络编程(0)--multicast
多播(multicast)也称作组播 优点: 同一组内主机共享同一数据流,所以不会对服务器造成压力,因此广泛应用于网上视频应用 缺点: 1.与单播相比没有原生的纠错机制,但可以从应用层实现 2.需要路由器及网络协议栈支持D类地址用于多播 224.0.0.0-239.255.255.2551.局部多播地址 路由器及其他用途保留的地址,路由器不转发原创 2015-10-20 22:52:53 · 449 阅读 · 0 评论 -
网络编程遇到的一些问题
1. 不管怎样总是出现 “目标计算机积极拒绝 ,无法连接”也许只是对应端口被占用了: 比如之前的测试非正常退出,未能解除对端口的占用,比如又一次Windows CMD下强行关闭窗口,端口就一直被占用。 对应方法:1.ps/taskmgr结束占用的程序 2.换一个端口 3.重启大发好原创 2016-03-07 20:24:33 · 537 阅读 · 0 评论