网络协议与分析课后习题

更新时间:2023-10-12 00:44:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第一章

1、异构网络互连的问题是什么?试举例说明。

举例来说,用户A可以通过接入使用以太网技术的校园网,与另外一个使用电话点对点拨号上网的用户B之间进行邮件通信,同时还和一个坐在时速300公里的高铁上的使用WCDMA手机进行3G上网的用户C进行QQ聊天。但问题的关键在于,这些采用不同技术的异构网络之间存在着很大差异:它们的信道访问方式和数据传送方式不同,其帧格式和物理地址形式也各不相同。

2、请描述图1-2中,用户A和用户C进行QQ聊天似的数据转换和传输过程。

用户A的主机将发送的邮件数据先封装到IP数据包中,在封装到以太帧中,发送到其接入的以太网中,并到达路由器R1。

路由器R1从以太帧中提取IP数据包,根据目标IP地址选择合适的路径,再将其封装成SDH帧,转发到因特网主干网中,经过因特网主干网中若干路由器的选路和转发,到达路由器R3

路由器R3从SDH帧中提取IP数据包,转换成WCDMA帧,发送到3G网络中,到达用户C的主机。

用户C的主机提取出IP数据包,最总交付到上层的邮件应用程序,显示给用户C。

3、TCP/IP协议族中的协议主要有哪些?请列举出协议的名称并查找其对应的最新RFC编号。

768 UDP 用户数据报协议 791 IP Internet协议

792 ICMP 网际控制报文协议 793 TCP 传输控制协议 826 ARP 地址解析协议 959 FTP 文件传输协议

4、画出TCP/IP模型和OSI模型之间的层次对应关系,并举例TCP/IP模型中各层次上的协议。

应用层:应用层对应OSI模型的上面三层。应用层是用户和网络的接口,TCP/IP简化了

OSI的会话层和表示层,将其融合到了应用层,使得通信的层次减少,提高通信的效率。应用层包含了一些常用的、基于传输层的网络应用协议,如Telnet、DNS、DHCP、FTP、SMTP、POP3、HTTP、SNMP、RIP、BGP等。

传输层:传输层位于IP层之上,为两台主机上的应用程序提供端到端的通信服务。目前,

应用最广泛的传输层协议是TCP和UDP。 网络层:网络层又称为网际层、互联网层或IP层,是TCP/IP模型的关键部分。该层主要

完成IP数据包的封装、传输、选路和转发,使其尽可能到达目的主机。该层包括的协议主要有IP、ARP、RARP、ICMP和IGMP,其中,IP协议是网络层的核心。

网络接口层:网络接口层对应OSI模型中的物理层和数据链路层,只要底层网络技术和标

准支持数据帧的发送和接收,就可以作为TCP/IP的网络接口,包括前面提到的各种局域网、城域网、广域网技术,如以太网、电话拨号、3G网络等。

5、例举出某一个具体网络通信过程中的多路复用和多路分解过程,并说明?? 多路复用是指多个上层协议复用同一层底层协议数据包 多路分解是指从底层协议数据包解封数据

第二章

1、简述HDLC是什么?有什么应用?

是什么:

高级数据链路控制(High-Level Data Link Control, HDLC)协议是由ISO标准化组织制定的一个面向比特的同步数据链路层协议。它是由IBM的同步链路控制(Synchronous Data Link Control,SDLC)协议发展而来的。

HDLC协议提供了面向连接和无连接两种服务;它既可以工作在点到点线路方式,也可以工作在点到多点线路方式。HDLC协议不依赖于任何一种字符编码集;数据报文可透明传输;既支持半双工,也支持全双工通信,有较高的数据链路传输效率;所有帧采用了流量控制和差错控制,传输可靠性高;传输控制与处理分离,具有较大的灵活性。

应用:

广泛应用于数据通信领域、X.25网络、帧中继网络以及作为数据链路层协议连接服务

器到广域网中。

2、简述PPP协议在SLIP的基础上做了哪些改进?查找资料,说明PPPoE协议和PPP协议的关系,PPPoE的工作流程、帧结构及其应用? 1)改进

SLIP(串行线路因特网协议)协议是一种简单的帧封装方法,有许多缺陷,比如SLIP不支持IP地址分配;SLIP帧中无类型字段,无法同时传输多个上层协议;SLIP中没有校验字段,链路层上无法检测出由于线路噪声导致的差错。

PPP协议克服了SLIP协议中的所有缺陷,它支持多种网络协议、多种数据压缩方法、多种身份认证方式、动态地址分配、差错控制和数据加密等。

2)PPPoE全称为Point to Point Protocol over Ethernet(以太网上的点对点协议),简单地说,就是以太网和PPP结合后的协议,目前广泛应用在ADSL接入方式中,用于宽带拨号上网,使连接在以太网上的许多主机共享一条物理线路接入到因特网。

3、CSMA/CD和CSMA/CA分别是什么?有什么区别?

答:CSMA/CD载波侦听多路访问/冲突检测协议,是一种分布式介质访问控制协议。

其原理如下:

(1) 多个站点平等的接入到共享访问介质(多路访问)。

(2) 每个站在发送帧之前,首先要监听访问介质,只有访问介质空闲时,才允许发送帧(载波监听)。

(3) 如果两个以上的站同时监听到访问介质空闲并发送帧,则会产生冲突现象。因此要求每个站在发送数据的同时,仍然继续监听访问介质(冲突检测)。如果出现冲突,则发送站要发送干扰信号以使所有其它主机都能接收到冲突信号。然后每一个发送站随机延时一段时间后,再次重新发送帧。

和采用总线拓扑结构的以太网类似,无线局域网中的传输介质也是共享的,需要一定的介质访问控制协议来避免冲突。但是由于在无线传输中有“隐藏站”问题,无线局域网没有采用基于冲突检测的CSMA/CD技术,而是设计了一种避免冲突的CSMA/CA(Carrier Sense Multiple Access/Collision Avoidance,载波侦听多路访问/冲突避免)协议。

CSMA/CA工作原理如下:

(1) 发送站在检测到介质空闲后,先发送一个请求发送帧(RTS),帧中存放了它需

要占用介质的时间。

(2) 接收站收到请求RTS后,发送准备发送帧(CTS),所有站点都会收到该帧,知道了介质会被占用一段时间。 (3) 发送站发送数据帧。 (4) 接收站确认所收到的数据。 区别

① CSMA/CD可以一边检测冲突,一边收发数据,一旦检测到冲突,立刻停止数据收发。CSMA/CA则是必须先检测是否有冲突,得到对端确认后,再发送数据,而不能同时进行,是根据无线网络的特点设计出来的。

② 两者的传输介质不同,CSMA/CD用于总线式以太网,而CSMA/CA则用于无线局域网。

③ 检测方式不同,CSMA/CD通过电缆中电压的变化来检测,当数据发生碰撞时,电缆中的电压就会随着发生变化;而CSMA/CA采用能量检测(ED)、载波检测(CS)和能量载波混合检测三种检测信道空闲的方式。

第三章

1、试描述ARP协议软件架构,说明函数间的调用关系。

IP模块rarp_inarp_inarpqsendnetwritearptimerrarpsendni_inarpaddarpfindarpsendslowtimergetaddrarpinitarpallocarpdq创建网络接口驱动netstart

ARP软件初始化是伴随着系统网络模块初始化进行的,网络初始化函数netstart()会调用arpinit()函数初始化ARP软件,同时会创建slowtimer(网络计时器)进程,该进程用于维护ARP缓存、IP分片队列和IP路由表信息。

ARP软件中用于维护ARP缓存信息的函数为arptimer(),该函数通过定期遍历ARP缓存记录的状态释放超时的ARP缓存(通过arpdq()函数),或者重新发送ARP请求数据包(通过arpsend()函数)。

当IP模块需要调用netwrite()函数通过网络接口发送或转发IP数据包时,需要调用arpfind()函数查询当前ARP缓存中是否存在对应数据包下一跳协议地址的物理地址,若查询失败,应该调用arpalloc()函数创建一个空的ARP缓存记录并通过arpsend()函数发送一个ARP请求报文。

当网络接口收到一个ARP数据包时,网卡驱动会调用数据包复用函数ni_in(),该函数会调用ARP输入处理函数arp_in(),arp_in()函数会查询相关的ARP缓存记录(arpfind()函数),根据收到的ARP报文添加ARP缓存记录(arpadd()函数)或者发送获得解析地址的IP数据包(arpqsend()函数)。

2、理解ARP报文处理算法,分析其利弊。 ARP是一个网络层协议,功能是将网络协议地址转换为物理地址。不妨设为IP转换为MAC地址。即ARP算法的前提是知道目标IP地址。 ARP报文处理算法分为以下几个部分:

1)A要发送数据报文时,会先在arp缓存中找。若存在对应项,直接提取即可。(这样可以节省时间)

若arp缓存中没有该IP对应项,则将一个针对特定IP地址的ARP请求通过广播发送到本地

网络。

2)本地网络的主机会接收到arp请求报文,会对IP地址进行匹配,若是自己的则把自己的mac作为数据发送arp回应报文给A。并在arp缓存中添加(更新)A的Ip的相关项,且在这个过程中若arp缓存中存在A相关的项,收到该请求报文的主机在简单的判断该报文的协议,地址类型,接口层定义等信息之后都会更新自己的arp缓存,更新跟A的IP相关的选项。(不会添加)

即无论arp报文是不是发送给自己的,都更新相关项。这样可以防止突然的硬件地址的改变并节约时间。

另外若是不在本网,则路由器相关接口会相应。

3)ARP缓存表采用了老化机制(即设置了生存时间TTL),在一段时间内(一般15到20分钟)如果表中的某一行没有使用,就会被删除,这样可以大大减少ARP缓存表的长度,加快查询速度。

利:在网络环境安全的情况下,是一种效率很高的处理方法。

弊:ARP报文处理算法无条件的将一个看似合法的记录加入到缓冲区中,这种做法是十分危险的,网络攻击者可以构造看似合法的ARP请求报文,进行ARP欺骗攻击。

3、简述主机发送IP数据包的过程。 个人觉得

1)数据封装成IP数据包

2)IP数据包在底层没法发送。应该是先运行arp协议得到硬件地址,然后发送到对应的硬件地址的主机。

当IP模块需要调用netwrite()函数通过网络接口发送或转发IP数据包时,需要调用arpfind()函数查询当前ARP缓存中是否存在对应数据包下一跳协议地址的物理地址,若查询失败,应该调用arpalloc()函数创建一个空的ARP缓存记录并通过arpsend()函数发送一个ARP请求报文。(这一段很重要哦)

可以分析下:即便是网络之间的传输也是要通过一次又一次点对点的发送,最终到达目的地。 4、略

5、简述ARP攻击的原理,并根据你对ARP攻击的理解提出一些改进方案 ARP攻击就是通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞,攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目,造成网络中断或中间人攻击。

改进方案:

1、不要把你的网络安全信任关系建立在IP基础上或MAC基础上,(rarp同样存在欺骗的问题),理想的关系应该建立在IP+MAC基础上。

2、设置静态的MAC-->IP对应表,不要让主机刷新你设定好的转换表。 3、除非很有必要,否则停止使用ARP,将ARP做为永久条目保存在对应表中。

4、使用ARP服务器。通过该服务器查找自己的ARP转换表来响应其他机器的ARP广播。确保这台ARP服务器不被黑。

5、使用硬件屏蔽主机。设置好你的路由,确保IP地址能到达合法的路径。(静态配置路由ARP条目),注意,使用交换集线器和网桥无法阻止ARP欺骗。

6、管理员定期用响应的IP包中获得一个rarp请求,然后检查ARP响应的真实性。 通过以上的方法可以大大降低你受ARP攻击的可能。

本文来源:https://www.bwwdw.com/article/eklf.html

Top