tcp\/ip网络编程任泰明版答案(tcpip网络编程课后答案 任泰明)

http://www.itjxue.com  2023-02-14 09:06  来源:未知  点击次数: 

2016 福师《TCP/IP协议原理与编程》在线作业一、二 以及离线作业 全部答案???

福师《TCP/IP协议原理与编程》在线作业一的参考答案:

一、单选题

1、D 2、C 3、C 4、B 5、D 

1. 关于UDP的说法不正确的是()。

A. UDP提供不可靠的服务

B. UDP源端口是可选的

C. UDP是无连接的

D. UDP目的端口是可选的

2. 按照OSI参考模型分层,其第2层,第4层分别为( )

A. 数据链路层,会话层

B. 数据链路层,网络层

C. 数据链路层,传输层

D. 网络层,会话层

3. IP地址202.100.80.110是()地址。

A. A类

B. B类

C. C类

D. D类

4. 下面协议是动态路由协议的是()。

A. UDP

B. RIP

C. ARP

D. TCP

5. RIP协议是使用()进行传输的。

A. TCP

B. HTTP

C. ICMP

D. UDP

6. UDP校验和的计算方法是将数据分为16位长的段,然后对它们进行()。

A. 与运算

B. 或运算

C. 同或运算

D. 异或运算

7. 提供可靠的端到端的服务是()。

A. 物理层

B. 数据链路层

C. 网络层

D. 传输层

8. TCP滑动窗口的功能是什么?

A. 使得窗口尺寸更大,以便一次可以发送更多的数据,从而更加有效地利用带宽。

B. 窗口的尺寸根据每个数据报进行滑动以接收数据,从而更有效地利用带宽。

C. 在TCP会话过程中,允许动态协商窗口尺寸的大小,从而更加有效地利用带宽。

D. 限制进入的数据,使得分段必须逐个发送,不是有效的带宽的利用方式。

9. IP协议提供的是()。

A. 面向连接的数据报服务

B. 无连接的数据报服务

C. 面向连接的虚电路服务

D. 无连接的虚电路服务

10. 你是公司网管,网络中包括一个单独的IP子网,使用DHCP分配IP。你安装了WINS服务以减少名称解析中的广播交通。过了一些天,用户报告网络太慢了。你调查发现广播没有减少。下一步应如何查看?

A. 检查WINS服务器是否有客户机的注册记录

B. 检查WINS服务器是否有其他WINS服务器的注册记录

C. 检查WINS服务器服务是否开启

D. 检查WINS服务器是否存在静态记录

11. 下列哪种说法是错误的()。

A. IP层可以屏蔽各个物理网络的差异。

B. IP层可以代替各个物理网络的数据链路层工作。

C. IP层可以隐藏各个物理网络的实现细节。

D. IP层可以为用户提供通用的服务。

12. 关于PPP协议, 下列哪一句(或几句)话是错误的?

A. 支持IPX及AppleTalk协议

B. 提供面向连接服务

C. 支持身份认证

D. 动态IP地址分配可由NCP完成

13. 关于网络协议,下列()选项是正确的。

A. 是网民们签订的合同

B. 协议,简单的说就是为了网络信息传递,共同遵守的约定

C. TCP/IP协议只是用于Internet,不能用于局域网

D. 拨号网络对应的协议是IPX/SPX

14. IP校验和的计算方法是将数据分为16位长的段,然后对它们进行()。

A. 同或运算

B. 异或运算

C. 与运算

D. 或运算

15. 接收端发现有差错时,设法通知发送端重发,直到正确的码字收到为止,这种差错控制方法称为()

A. 前向纠错

B. 自动请求重发

C. 冗余检验

D. 混合差错控制

16. IP头部中,"总长"字段指的是()。

A. 数据长度

B. 头部长度+选项长度

C. 头部长度+数据长度

D. 选项长度

17. 传输数据时,FTP服务器和FTP客户机之间建立了()连接。

A. 1个

B. 2个

C. 3个

D. 4个

18. 安装Windows 2003时,TCP/IP网络协议是默认安装的。按照OSI协议,有关该协议的工作层,下面的哪项描述是正确的?

A. TCP在会话层进行工作,IP在传输层进行工作

B. TCP在传输层进行工作,IP在网络层进行工作

C. TCP在网络层进行工作,IP在传输层进行工作

D. TCP和IP都在传输层进行工作

19. IGMP的长度是固定的,其大小为()。

A. 8位

B. 16位

C. 32位

D. 64位

20. IP头部中,"目的IP地址"字段的长度是()。

A. 8位

B. 16位

C. 32位

D. 64位

21. 在OSI模型中表示层的功能由对应TCP/IP层次模型的哪一层完成:

A. 应用层

B. 传输层

C. 网络层

D. 物理层

22. 停-等协议的主要缺点是()。

A. 通信不可靠

B. 信道利用率不高

C. 不能进行全双工通信

D. 需要大容量的存储器

23. 假定MAC地址不在ARP表中,如何找到目的地址的MAC地址()。

A. 发送广播信息到整个局域网

B. 发送广播信息到整个网络

C. 以上都不是

D. A和B都是

24. 各种网络在物理层互连时要求()。

A. 数据传输率和链路协议都相同

B. 数据传输率相同,链路协议可不同

C. 数据传输率可不同,链路协议相同

D. 数据传输率和链路协议都可不同

25. 关于ARP的说法错误的是()。

A. 使用询问/回答机制

B. 缓存用于减少地址解析需要的通信

C. 从物理地址到IP地址的映射

D. 在同一个物理网络中使用

26. "TimeToLive"字段的最大值是()。

A. 127

B. 128

C. 255

D. 256

27. 在DNS区域中创建邮件交换记录时,需要设置优先级来指明邮件服务器的优先选择顺序。请问,哪个数字表示服务器具有最高的优先级?

A. 10

B. 9

C. 1

D. 0

28. Intranet技术主要由一系列的组件和技术构成,Intranet的网络协议核心是()。

A. ISP/SPX

B. PPP

C. TCP/IP

D. SLIP

29. 流量控制实际上是对()的控制。

A. 发送方数据流量

B. 接收方数据流量

C. 发送方和接收方数据

D. 以上都不对

30. 某台客户机手工静态设置了WINS服务器的地址,但同时在DHCP服务器中,又通过服务器选项、作用域选项和客户保留选项分别指定了不同WINS服务器的地址。在客户机进行名称解析时,会采用哪个配置的WINS服务器的地址?

A. 手工静态设置的WINS服务器地址

B. 服务器选项指定的WINS服务器地址

C. 作用域选项指定的WINS服务器地址

D. 客户保留选项指定的WINS服务器地址

31. 对已经是分片的IP数据包再进行分片后得到的每个分片中的标志位是()。

A. 一定是1

B. 一定是0

C. 可能是0

D. 以上皆错

32. 形式为202.117.35.170的IP地址按分类方法划分属于()。

A. A类

B. B类

C. C类

D. D类

33. 您的一台WINS服务器出现复制故障。您希望检查"计算机管理"控制台中的WINS统计资料。下列各项统计信息中,哪一项所显示的信息是关于WINS服务器在最后一次指定复制间隔到来时所启动的复制过程的?

A. 最后一次周期复制。

B. 最后一次手动复制。

C. 最后一次网络复制更新。

D. 以上都不对。

34. 一个网络中的计算机要与其他计算机直接通信,必须有什么?()。

A. 使用相同的操作系统

B. 使用相同的硬件

C. 使用相同的协议

D. 在同一公司内部

35. ping命令就是利用()协议来测试网络的连通性。

A. TCP

B. ICMP

C. ARP

D. IP

36. 在互连网中,以下哪些设备具备路由选择功能()。

A. 具有单网卡的主机

B. 具有多网卡的宿主主机

C. 路由器

D. 以上设备都需要

37. 浏览器和WWW服务器之间传输网页使用的协议是()。

A. IP

B. HTTP

C. FTP

D. Telnet

38. 域名服务器上存放有internet主机的()。

A. 域名

B. IP地址

C. 域名和IP地址

D. E-mail地址

39. ICMP的类型字段中,字段值为0表示的是()。

A. 超时

B. 目标不可达

C. 回显应答

D. 回显请求

40. 网络协议主要要素为()。

A. 数据格式、编码、信号电平

B. 数据格式、控制信息、速度匹配

C. 语法、语义、同步

D. 编码、控制信息、同步

Python网络编程 -- TCP/IP

首先放出一个 TCP/IP 的程序,这里是单线程服务器与客户端,在多线程一节会放上多线程的TCP/IP服务程序。

这里将服务端和客户端放到同一个程序当中,方便对比服务端与客户端的不同。

TCP/IP是因特网的通信协议,其参考OSI模型,也采用了分层的方式,对每一层制定了相应的标准。

网际协议(IP)是为全世界通过互联网连接的计算机赋予统一地址系统的机制,它使得数据包能够从互联网的一端发送至另一端,如 130.207.244.244,为了便于记忆,常用主机名代替IP地址,例如 baidu.com。

UDP (User Datagram Protocol,用户数据报协议) 解决了上述第一个问题,通过端口号来实现了多路复用(用不同的端口区分不同的应用程序)但是使用UDP协议的网络程序需要自己处理丢包、重包和包的乱序问题。

TCP (Transmission Control Protocol,传输控制协议) 解决了上述两个问题,同样使用端口号实现了复用。

TCP 实现可靠连接的方法:

socket通信模型及 TCP 通信过程如下两张图。

[图片上传失败...(image-6d947d-1610703914730)]

[图片上传失败...(image-30b472-1610703914730)]

socket.getaddrinfo(host, port, family, socktype, proto, flags)

返回: [(family, socktype, proto, cannonname, sockaddr), ] 由元组组成的列表。

family:表示socket使用的协议簇, AF_UNIX : 1, AF_INET: 2, AF_INET6 : 10。 0 表示不指定。

socktype: socket 的类型, SOCK_STREAM : 1, SOCK_DGRAM : 2, SOCK_RAW : 3

proto: 协议, 套接字所用的协议,如果不指定, 则为 0。 IPPROTO_TCP : 6, IPPRTOTO_UDP : 17

flags:标记,限制返回内容。 AI_ADDRCONFIG 把计算机无法连接的所有地址都过滤掉(如果一个机构既有IPv4,又有IPv6,而主机只有IPv4,则会把 IPv6过滤掉)

AI _V4MAPPED, 如果本机只有IPv6,服务却只有IPv4,这个标记会将 IPv4地址重新编码为可实际使用的IPv6地址。

AI_CANONNAME,返回规范主机名:cannonname。

getaddrinfo(None, 'smtp', 0, socket.SOCK_STREAM, 0, socket.AP_PASSIVE)

getaddrinfo('', 'ftp', 0, 'socket.SOCK_STREAM, 0, socket.AI_ADDRCONFIG | socket.AI_V4MAPPED)

利用已经通信的套接字名提供给getaddrinfo

mysock = server_sock.accept()

addr, port = mysock.getpeername()

getaddrinfo(addr, port, mysock.family, mysock.type, mysock.proto, socket.AI_CANONNAME)

TCP 数据发送模式:

由于 TCP 是发送流式数据,并且会自动分割发送的数据包,而且在 recv 的时候会阻塞进程,直到接收到数据为止,因此会出现死锁现象,及通信双方都在等待接收数据导致无法响应,或者都在发送数据导致缓存区溢出。所以就有了封帧(framing)的问题,即如何分割消息,使得接收方能够识别消息的开始与结束。

关于封帧,需要考虑的问题是, 接收方何时最终停止调用recv才是安全的?整个消息或数据何时才能完整无缺的传达?何时才能将接收到的消息作为一个整体来解析或处理。

适用UDP的场景:

由于TCP每次连接与断开都需要有三次握手,若有大量连接,则会产生大量的开销,在客户端与服务器之间不存在长时间连接的情况下,适用UDP更为合适,尤其是客户端太多的时候。

第二种情况: 当丢包现象发生时,如果应用程序有比简单地重传数据聪明得多的方法的话,那么就不适用TCP了。例如,如果正在进行音频通话,如果有1s的数据由于丢包而丢失了,那么只是简单地不断重新发送这1s的数据直至其成功传达是无济于事的。反之,客户端应该从传达的数据包中任意选择一些组合成一段音频(为了解决这一问题,一个智能的音频协议会用前一段音频的高度压缩版本作为数据包的开始部分,同样将其后继音频压缩,作为数据包的结束部分),然后继续进行后续操作,就好像没有发生丢包一样。如果使用TCP,那么这是不可能的,因为TCP会固执地重传丢失的信息,即使这些信息早已过时无用也不例外。UDP数据报通常是互联网实时多媒体流的基础。

参考资料:

TCP/IP习题求答案!!!!!!!!

1,1200-1176=24 ,20字节是IP头,4个字节为UDP头,可以判断这是一个UDP的报文。

2,头部当然不能小于5了,5表示5个32bit长,那就是20个字节,刚好是IP头部的最小长度。小于5长度的IP头部都是坏的。

3,原头是5的长,现在是7,7-5=2,2*32bit=64bit 64bit/8=8个字节,选项大小个8个字节。

4,36-5=31 ,31*32bit=992bit 992bit/8=124个字节。

5,没有选项,那就是20个字节的头,头长度字段等于5,1024应该是指传输层大小(如果包含IP头,1024-20=1004,1004除以32除不尽),1024字节除以32,刚好是32,所以总长度字段等于32+5=37

(责任编辑:IT教学网)

更多

推荐java认证文章