一.选择题(30分,每题3分)
1.以下哪个是TCP/IP模型(B)
A.应用层,表示层,网络层,物理层; B.应用层,传输层,网络层,链路层C.应用层,传输层,链路层,物理层 D.应用层,传输层,网络层,物理层
的设计架构不包含以下哪一种( C)
A.集中式架构 B.完全分布式架构
C.点对点架构 D.混合型架构
请求方法不包括如下哪一种( B)
A.Post
C.Get
的作用不包括(C)
A.文件共享; B. 通过应用程序直接或间接使用远程主机;
C.提供一致性的协议,避免用户在不同主机上有相同的操作方式;
D. 提供可靠及有效率的数据传输;
与POP3的端口分别是:( B)
A.25,75 B. 25,110
C.21,75 D. 21,110
地址是,子网掩码是,则其网段的广播地址是(C)
A.的特点不包括如下哪一点(C)
A.面向连接 B.全双工数据传送
C.传输速度快 D.面向字节流
8.关于线程哪一点是对的。(D)
A.任何一个C#程序都有一个默认的线程,该线程是后台线程;
B. 每个进程都有一个线程池。线程池默认大小有35个线程;
C.线程池中的线程都是前台线程;
D. C#中常用的线程同步的语句是lock语句;
9.在Internet中用一个三元组可以在全局中唯一标识一个应用层进程,这不包括下列哪一种( A )
A.网络层协议地址
C.端口号 D.传输层协议
IP协议簇中,哪一种是网络层协议( B )
A.TCP
C.SMTP
二.判断题(15分,每题1分,用T表示对,F表示错)
1.端口的分配地址是1-65535,全局分配是1-1023,本地分配是1024-65535 (F)
2.线程池中既有后台线程也有前台线程,某进程的所有前台线程都终止了,后台进程也自
然终止。(F)
3.在SMTP中,电子邮件由信封、首部和正文3部分组成。(T)
4.数字签名是私钥加密,公钥解密。(T)
5.ESMTP与SMTP的区别是发送邮件时要求用户身份验证。(T)
6.HTTP的流水线方式是指客户在收到前一个响应后才能发出下一个请求。(F)
7.HTTP(Hypertext Transfer Protocol),超文本传输协议,目前的版本是。(F)
8.NAT功能是只能用硬件来实现(F)
9.IP地址有A,B,C,D,E五类(F)
10.UDP不需要连接,速度比TCP快;(T)
11.UDP传输的数据无消息边界;(F)
12.Socket类比位于底层TcpClient类提供了更高层次的抽象,它们封装TCP套接字的创建,
不需要处理连接的细节。(F)
13.监听套接字与新创建的套接字所使用的端口不同。(F)
14.本机回送地址是(T)
15.Socket套接字的Accept()方法若检测到监听套接字的缓冲区是空的话,立刻返回(F)三.简答题(55分)
1.什么是端口,网络通信中为什么要引入端口(6分)
答: 端口是TCP/IP协议簇中,应用层进程与传输层协议实体间的通信接口。端口是操作系统可分配的一种资源;应用程序(进程)通过系统调用与某端口绑定(binding)后,传输层传给该端口的数据都被相应进程接收,相应进程发给传输层的数据都通过该端口输出。
1.在网络通信过程中,需要唯一识别通信两端的端点,即运行于某机器中的应用程序。如
果没有引入端口,则只能通过进程号进行识别。进程号是系统动态分配的,不同的系统
会使用不同的进程标识符,应用程序在运行之前并不知道自己的进程号,如果需要运
行后再广播进程号则很难保证通信的顺利进行。而引入端口后,就可以利用端口号识
别应用程序,同时通过固定端口号来识别和使用公共服务,如HTTP和FTP等。
2.什么是套接字(5分)
答:套接字是对网络中不同主机上应用进程之间进行双向通信的端点的抽象,一个套接字就是网络上进程通信的一端,提供了应用进程利用网络协议栈交换数据的机制。
3.套接字有哪些种类,分别有什么特点(6分)
答:
(1)流式套接字。提供面向连接、可靠的数据传输服务,数据无差错、无重复的发送,且按发送顺序接收;内设流量限制,避免数据超流限;数据被看做是字节流,无长度限制;(2)数据报式套接字。提供无连接服务;数据包以独立包形式发送,不提供无差错保证,数据可能丢失或重复,并且接收顺序混乱。
(3)原始套接字。原始套接字允许对较低层次的协议,如IP、ICMP直接访问,用于检验新的协议的实现。
4.消息无边界问题有哪几种解决方法,各有什么优缺点(6分)
答:
1)发送固定消息的长度。程序设计起来容易,但长度的制定没有统一的标准。
2)将消息长度与消息一起发送。长度可自由控制,但长度信息占有一定的比例,影响效率。
3)使用特殊标记分信息。设计起来简单,但发送的信息中不能含有标记符。
5.什么是网络穿越,如何实现UDP网络穿越(6分)
答:网络穿越是指在网络通信过程中,通信的一端如果是内网地址时,需要利用NAT进行地址转换。由于NAT不允许外部主机主动访问内部主机,因此通信的一端在发送消息前,
必须解决如何不被另一端NAT设备拦截的问题,即如何穿越对方NAT的阻止。
基于server的UDP网络穿越
(1)客户端A与客户端B分别登录服务器S;
(2)A发送命令给S,请求S向B发出打洞请求。
(3)S发送打洞命令给B;
(4)B收到消息后向A发送消息;
(5)A向B发送消息,实现网络穿越;
协议的两种工作方式是什么,请简述。(6分)
答:
(1)PORT方式,即客户主动式。客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户端使用并监听某临时端口,并在命令链路上用PORT方式告诉服务器采用主动传输方式。于是服务器从20端口向客户端的临时端口发送连接请求,建立一条数据链路来传送数据。
(2)PASV方式,即客户被动式。客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户端告诉服务器采用被动传输方式。于是服务器使用并监听某临时端口,并在命令链路上用PASV命令告诉客户端对应的端口号。最后客户端向服务器发送连接请求,建立一条数据链路来传送数据。
协议的内容有哪些(5分)
答:
1.HTTP请求信息。
2.HTTP方法。
3.HTTP响应信息。
4.URL
5.HTTP流程
无状态与持久连接分别是什么意思,请简述。(5分)
答:无状态的意思是,每一个请求与响应是互相独立的。而持久连接是,服务器
会在一定时间内保留该连接的相关信息。
9.在IE地址栏中输入域名后的HTTP流程。(5分)
1.URL自动解析;
2.获取IP,建立TCP连接;
3.客户端浏览器向服务器发出HTTP请求;
4.Web服务器应答,并向浏览器发送数据;
5.Web服务器关闭TCP连接。
流程有哪几个阶段(5分)
答:
1)授权阶段,认证;
2)操作阶段,邮件接收;
3)更新阶段,更新邮件信箱;