《TCP-IP网络协议分析.docx》由会员分享,可在线阅读,更多相关《TCP-IP网络协议分析.docx(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、网络字节序:TCP/IP 中规定好的一种数据表示格式,它与具体的CPU 类型,操作系统等无关,从而可以保证数据在不同主机之间传输时能被正确解释。操作系统边界 :操作系统边界把系统和应用区分开来/传输层和应用层之间。幻数:没有变量名的数字,链路配置报文中为防止链路回路的一个选项标识。ARP 哄骗:针对以太网地址解析协议ARP的一种攻击技术,可以让攻击者取得局域网上的数据包甚至篡改数据包,且可让网络上特定电脑或全部电脑无法正常连接。糊涂窗口接收方的小窗口通告造成发送方发送一系列小的报文段,严峻铺张网络带宽路由循环:数据包在一系列路由器不断传输却始终无法到达预期目的网络。水平分割:路由器从某个接口接
2、收到的更信息不允许再从这个接口发回去。 Hello 报文:OSPF 一种报文,用于觉察和维护邻居,选举DR 和 BDR,建立邻接关系DR 和 BDRDR:指定路由器,在一个连接有多个路由器的网络上,指定一个路由器负责向外发送该网络中全部链路状态信息。BDR:备份指定路由器,指定路由的接班人。RIB:路由信息库,用于存储BGP 路由信息。OPEN 报文:在边界路由器间翻开一个BGP 通信会话,是建立传输连接后发送的第一个报文,在对方路由器发送的保活报文确认后,才可以交换其他信息,报文包括BGP 版本,发送方所在的自治系统和路由器的IP 地址。IGMP:网际组治理协议,工作在主机与其直接相连的组播
3、路由器间,被主机用来通 告它想参加哪个组播组,被路由器用来觉察其所连的网络上是否有主机属于某个组播组剪枝:逐步除去不包含组成员的播树分支,精简组播树的过程。NETBios 名字:用于标识应用程序,每个应用程序对应一个NETBios 名字。NCB:构造网络掌握块,是全部NETBios应用程序都要用来访问NETBios 效劳的一个数据构造,并且是唯一的一个,它标识了所要完成的功能。简答网络编程应当考虑的问题?1.并发环境下的网络编程;2.异构环境下的网络编程;3.堵塞与非堵塞通信;4.效劳类型的选择。5.过失处理说明 PAP 和 CHAP 的功能并作比较?PAP 是密码认证协议,基于口令的认证方法
4、,仅在建立连接的阶段发生,通过使用 2 次握手供给一种对等点的建立认证的简洁方法。CHAP:基于挑战的询问握手认证协议,通过三次握手周期地检验对端的身份,可在初始链路完成时,链路建立之后重复进展。试分析比较 PAP 和 CHAP 协议?*PAP:使用双向握手进展简洁身份认证1 发生时机:仅在建立连接的阶段发生2. 认证方式:一端发送明文口令至对等端,由对方认证3. 特性:无法防止窃听,重放,穷举等攻击4. 封装:封装在ppp 的数据字段*CHAP1 发生时机:建立连接时和连接建立后的任何时间2 认证方式:使用唯一且不行推测的可变询问消息值来认证3 特性:防止窃听,重放,穷举等攻击4 封装:封装
5、在 ppp 的数据区IP 数据报分片的缘由?IP 数据报在从信源到信宿的传输过程中,往往要经过不同的物理网络,由于不同的物理网络存在差异,对传输帧的最大长度也有不同的规定,每个物理网络都有自己最大的传输单元MTU,因此承受分片技术以适应不同的传输环境。基于洞分片重组算法的思想及过程?静态缓冲区中空的数据区为“洞“,每个洞用两个元素来描述,洞头和洞尾,一个数据报全部的洞描述符组成一个洞描述符链表。每收到一个数据报的分片,就创立一个空的缓冲区,并在该数据报的洞描述符链表中建立一项,其中洞头为0,洞 尾为缓冲区大小减一;每到来一个已有数据报的分片,就依次检查洞描述符链表中的每个描述符,找到适宜的洞填
6、充进去,修改洞描述符链表,当洞描述符链表为空 时,算法完毕并返回。UDP-Lite 的思想?轻量级用户数据报协议,思想:增加校验和字段的使用敏捷性。它将数据报分为敏感和非敏感两个区域,其中敏感区域为校验和计算的输入区,当这个区域的数据发生过失时,报文将被丢弃。非敏感区的数据则不进展校验,所以即便这个区域的数据发生过失时,报文也不会被丢弃。试比较 UDP 和 UDP-Lite 标准?UDP,1 面对无连接的2 不行靠效劳,无拥塞掌握3 传输速率高4 适用传输量较少的状况UDP-Lite,1 当接收端检测到校验和过失时,将丢弃整个UDP 报文段2 把 UDP 分为敏感区和非敏感区,敏感区使用校验和
7、,非敏感区不使用校验和3 通常设置协议的首部局部为敏感区,数据局部分为非敏感区简述 RIP 产生路由循环的缘由及解决方法?缘由:每台路由器不能同时或接近同时地完成路由表的更。解决方法:水平分割:路由器从某个接口接收到的更信息不允许再从这个接口发回去。;路由毒化和毒性逆转:当一条路径无效后,并不马上删除,而将跳数改为无限大,播送出去,相邻的路由器更该信息,相当于显示被告知无效,收到毒化消息的路由器不遵从水平分割原则;触发更:当路由表发生变化时,更报文马上播送给全部的相邻路由器,而不是等待刷鞋计时器到期;抑制计时器:路由表中的一个路由项无效后,一段时间内该路由都处于抑制状态,即肯定时间内不再接收关
8、于同一目的网络的更远的路由器更。OSPF 报文类型及作用?Hello 报文:1 觉察和维护邻居,检测链路是否可用2 选举指定路由器和后备指定路由器 3 建立邻接关系双向连通性;数据库描述报文:用于相邻路由器之间交换链路状态首部信息; 链路状态恳求报文:用于向相邻路由器恳求链路的具体信息;链路状态更报文:用于相邻路由器之间交换链路状态的具体信息; 链路状态确认报文:对更报文确实认,用于确保牢靠性。比较信源树和共享树的优缺点?信源树优缺点:优点:能找到源到端的最短路径,端到端的延迟最小,不同源的传送分散在各自的多播树上,有利于均衡网络流量,适合流量大、延时高的实时媒体应用场合。缺点:要为每个多播源
9、构造各自的分布树,每个路由器必需为每个组的每个组播源保存路由信息,占用大量系统资源,路由表的规模也比较大,当数据流量不大时,构造开销相对较大。共享树优缺点:优点:路由器所需的存储状态较少,路由树的总代价不会很高。当组的规模较大而每个成员的数据发送率较低时,使用共享树适合。缺点:全部信息都要经过RP 进展转发,所以数据报传送的路径不是最优的。当通信量大时,使用共享树导致流量集中及消灭根RP四周的瓶颈,对RP 的牢靠性和处理力量要求很高。面对连接的客户/效劳器程序的编程流程?效劳器程序端:1、创立套接字socket;2、将套接字绑定到一个本地址和端口上bind;3、将套接字设为监听模式,预备接收客
10、户恳求listen;4、等待客户恳求到来,当恳求到来后,承受连接恳求,返回一个的对应此次连接的套接字accept;5、用返回的套接字和客户端进展通信;6、返回,等待另一个客户恳求;7、关闭套接字客户端程序:1、 创立套接字socket;2、 向效劳器发出连接恳求connect; 3、 和效劳器端进展通信send/recv; 4、 关闭套接字面对无连接的客户/效劳器程序的编程流程?效劳器程序:1、创立套接字socket;2、将套接字绑定到一个本地地址和端口;3、等待接收数据;4、关闭套接字客户端程序:1、创立套接字socket;2、向效劳器发送数据sendto; 3、关闭套接字结合谈天室程序,具
11、体说明。比较两种基于套接字的开发方法,并写出它们的具体开发步骤设计?基于 TCP 的应用编程步骤:1、初始化 WinSock; 2、创立本地套接字;3、侦听;4、建立连接;5、数据传递;6、关闭连接;7、关闭侦听;8、终止 WinSock基于 UDP 的应用编程步骤1、初始化 WinSock; 2、创立本地套接字;3、数据传递;4、关闭套接字;5、终止 Winsock比较:基于 UDP 的应用程序的实现过程较基于TCP 的应用程序简洁,不需要再通信双方建立连接,因此在效劳器程序中也不存在侦听套接字的概念,也无需进入侦听状态结合谈天室程序,具体说明。比较两种基于套接字的开发方法,并写出它们的具体
12、开发步骤设计?基于多线程的方法开发基于窗体的谈天室程序步骤:一、创立基于MFC 的 Dialog 工程。二、删除窗体上的原有控件,添加的空间并修改它们的主要属性;三、使用 MFC 中的 AfxSocketInit 函数加载套接字库,进展版本协商,并确保应用程序退出前调用WSAClearup 终止套接字库;四、初始化套接字,包括创立套接字和绑定套接字;五、编写承受端程序。承受数据放到一个单独的线程中运行。并且要往该线程中传递两个参数:创立的套接字和对话框的句柄。六、在 ChatDlg.h 中添加线程函数的声明,在ChatDlg.cpp 中添加函数实现,在ChatDlg.h 中定义消息;七、定义响
13、应函数,并且要将该函数跟消息关联起来。在 ChatDlg.h 中添加消息响应函数的原型申明,在ChatDlg.cpp 中添加消息跟消息响应函数之间的映射。八、 在 ChatDlg.cpp 中添加消息响应函数的实现; 九、添加发送响应函数。基于异步套接字方法开发的谈天室程序步骤:一、 建基于 MFC 的 Dialog 程序,设计窗体控件;二、 删除窗体上的原有控件,添加的空间并修改它们的主要属性;三、 修改字符集属性,选择【工程】-【属性】-【配置属性】-【常规】-【字符集】;四、 使用MFC 中的 AfxSocketInit 函数加载套接字库,进展版本协商,并确保应用程序退出前调用WSAClearup 终止套接字库;五、 初始化套接字,包括创立套接字和绑定套接字:并且利用向导添加函数BOOL InitSocket实现异步套接字的创立和绑定,以及进展网络大事登记;六、在 OnInitDialog 中调用该函数,完成套接字的初始化工作;在AsyChatDlg.h 头文件中定义自定义消息;七、 在 AsyChatDlg.h 头文件中添加消息响应函数的原型声明,在CAsyChatDlg 类中添加消息映射,实现消息响应函数;八、 添加发送响应函数代码。
限制150内