毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

以太网LED图文显示系统的设计 第7页

更新时间:2009-6-3:  来源:毕业论文
以太网LED图文显示系统的设计 第7页
对于需要发出的信息包,则调用ip一uPtutO函数。这个函数将调用Pi一ut(e)来找到
合适的网络接口去发送信息包。当网络接口确定后,信息包将传送给ip-0吻ut一i()f函数。
在这里,所有的正头信息将被填入正信息包,同时正头的校验和将被计算。正信息的源
地址和目的地址将作为参数传递给Pi一Putu--ti助函数。然而,源地址也可以省去。在这
种情况下,出去的网络接口地址将作为源地址填充。
ip--routoe通过线性搜索网络接口地址来找到合适的网络接口。在搜索的过程中,正
信息包中的目的正地址将被网络接口的子网掩码屏蔽。如果屏蔽后的目的地址与屏蔽的
网络接口地址相等,此接口就被选用了。如果没有符合的,则默认的网络接口被选中。
默认网络接口或者是在系统启动时设置,或者是在运行时人为设置。如果默认网络接口
地址与目的地址不相等,则选用网络接口结构中Wg域指明的地址做为连接级的目的地
址。这种简单的路由形式掩盖了一个事实,那就是一个网络可能有很多路由器连在上面。
但是对于最基本的情况,一个局域网只有一个路由器连在上面,这样就这可以工作了。
由于传输层协议UDP和TCP在计算校验和的时候需要知道目的正地址,所以出去的
网络接口在传递信息包给正层的时候需要决定网络接口[15]。这里可以通过传输层直接调
用ip--rout(e),因为出去的网络接口在信息包到达正层的时候已经知道网络接口了,就没
有必要搜索网络接口链表了。
传输层
网络层
网络接口层
图3.5工CMP处理
Fig.3.5ProeessnigofICMP
3.4.3转发信息包
如果网络接口中没有进来信息包中的目的地址,则需要转发。这个过程通过调用
Pi_ofwrard()函数实现。在这里,TTL域将减小直到零,此时这个信息包将被丢弃。由于
正头变化了,护头的校验和就需要重新计算。最终,信息包被发送到合适的网络接口。
3.4.41CMP处理过程
基于以太网的ELD图文显示系统的设计
在wL正中,CIMp的处理相当简单。通过Pi-Inputo接口到的CIMp信息包传递
ic兀甲‘iPnutO,然后其CIMp头将被解开,据此采取正确的动作。一些CIMp信息被传递
上层协议,然后这些被上层协议的特殊函数小心的处理。目的地址无法到达的CIMP
息包被送到传输层协议,通常是IJDP,然后由函数cimP多es七UnraehcO处理。
使用ICMPECHO消息来探测网络的方法用的比较广泛。因此,为了提高性能,
里对cIMpjcHO的处理做了优化。实际的处理发生在icmp--lnputo中,其中包括交换进
来信息包的源地址和正目的地址,将cIMp类型改成显示答复(echorPeI力,调节cIMp
校验和。然后信息包被传送到PI层传送。图3.5115]为CIMp的处理过程。
3.5UOP处理过程
UDP是比较简单的协议,常用于在不同的进程间分离信息包。每一个UDP会话期
状态被存在一个PCB结构中。PCB结构如下:
uPd少bc的数据结构
surtetuPd夕eb{
sUrtetuPd一eb*nxet;
sturetiPesaddrlocalesiP,des甘P;
u16一loea1Jort,destJ0rt;
us_tflgas;
u16tehecksumlen;
void(*reev)(void*arg,sUrtetuPd一eb*Pcb,
surtctPbuf*p);
void*rec--varg;
};
1刃P的PCB存放在链表中,当UDP数据报来到的时候将会搜索此链表。
UDP的PCB结构包含一个指向下一个PCB结构的指针。一个UDP会话期包括PI地址,
端口号,这些数据保存在loea--lip,des甘p,loca吵ort,des--Ptort。flags将保存U’Dp的校
验和策略,如完全关闭校验和,只计算数据报一部分的校验和OJDPLiet)。如果采用UD
Lite,chksmueln域将用来指明需要计算数据报的多少个部分。
当被PcB指明的会话期到来的时候就用到ervc和erc几agr。数据报到来的时候就调用
由recv指向的函数。
因为UDP比较简单,其输入输出的处理比较简单。如图3.0115】。发送数据时,应用
程序调用udp一snedo,这个函数在udpeeouPtutO之上。这里做一些必要的校验和,同时填
大连理工大学硕士学位论文
充UDP头。由于填充的时候有时需要知道正源地址,所以函数ipJouteo有时也会用到。
最后,信息包由中一Putu--ti()f函数发送。
当一个UDP数据报来到的时候,正层调用udp一PnutO函数。
应用层
传输层
网络层
网络接口层
图3.6UDP过程
Fig,3.6PoreeuderofUDP
3.6Tcp处理过程
TCP是一种传输层协议,用于为应用层提供可靠的字节流服务。TCP协议是这里提
及的协议当中最为复杂的,而TCP协议的代码大概为整个LW护协议的50%。
3.6.1概述
基本的TeP处理过程主要由辣个函数分担:tep一即ut(),tcpesporeess(),t叩JeceiveO,
tcP--’wnte(),tep_neuquee(),tPc一Putut()。
当应用程序需要传送TCP数据时,ctp二wrti(e)被调用,然后其将控制权传给
ct--Pneuque(e)。TCP数据在此被分成适当大小的TCP段,如果必要的,还会将这些段放
在传送队列中。然后由函数切c一u切u()t检查现在是否能发送数据,例如,接收者窗口是
否有足够的空间。发送数据使用中一。ut(e)和ip-ouPtu--ti()f。
在ipjPnuto函数验证过正头之后,输入处理便开始了。首先要进行正确性检查,
还要决定TCP段属于哪一个TcP连接。然后段被tcpeeprocesso处理。如果连接处于接
受数据的状态,则tep一eceive()被调用。图3.7[”]为TeP的处理过程。
3.6.2数据结构
基于以太网的LED图文显示系统的设计
因为LW护用于小系统,故其TCP数据结构的实现要尽可能小。由于在使用数据结
网络接口层
图3.7TCP过程
Fig.3,7PoreeudreofTCP
的时候有个权衡,即数据结构复杂度与代码复杂度的权衡,在这里为了使数据结构尽量
小,只能牺牲代码复杂度了〔’“]。
TCP的PCB是相当大的:
ctpespbc的数据结构
surtettcPJeb{
surtcttePwePeb*next;
enu幻以tcP一stateState:
void(*aecPet)(void*arg,stucrttPc夕bc*newPbc);
void*aeePe气arg;
surtetiP_dadrlocaleeiP;
ul勺loca吵ort;
st川ctiP_addrdes--tiP;
u16_tdest--Port;
u32一rev-nxt,rev-Wnd;/*接收变量*/
u16tlmr;
u32tmss;*/最大段大小*/
us挤flags;

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... 下一页  >> 

以太网LED图文显示系统的设计 第7页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©751com.cn 辣文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。