网络程序设计复习题
1、为了实现网络的互联,互联网技术必须保证使用不同硬件结构的计算机能够进行通信
适用于多种不同的操作系统、能够使用多种分组交换网络硬件
2、因特网体系结构委员会的英文简称是ICCB
3、协议的实现要落实到一个个具体的硬件模块和软件模块上,在网络中将这些实现特定功能的模块称为实体
4、连接控制、流控制、报文分段等属于传输层功能
5、IP数据报协议标识字段指明了IP数据报封装的协议,当标识字段为 6 时表示封装的是TCP协议
6、ICMP报文不包括地址解析报文
7、套接字是指IP地址和端口号的组合。
8、SOCKET编程中的全相关是指源端口号、目的端口号、源IP、目的IP、协议
9、IP分组的中的TTL值描述,每经过一个路由器,它的值会减1是正确的
10、TELNET通过TCP/IP协议模块在客户机和远程登录服务器之间建立一个TCP
11、以下提供可靠服务不是UDP协议的特性
12、虚拟局域网通常采用交换机端口号、MAC地址、网络层地址或IP广播组地
址定义
13、办公自动化服务不是网络操作系统提供的服务
socket通信报文格式14、分析IP数据报所携带的TCP内容不是IP路由器应具备的主要功能
15、java当中网络编程的接口是在java包当中提供的。
16、会话的建立、维护和交互过程中的同步等属于会话层功能
17、在网络层,IP模块根据IP数据报首部中的协议值决定将数据报中的数据交
给哪一个模块去处理,当协议值为17,应将数据交给UDP模块处理
18、ARP请求帧在物理网络中是以广播方式发送的
19、ICMP在重组定时器超时情况下会产生数据报超时报告。
20、回应请求与应答报文的目的是对网络进行诊断和测试,使用它可以了解
设备的可达性
21、网络的功能主要由各层的协议来完成,互联网技术经过多年的发展形成了现在的TCP/IP协议。
22、为了保证网络的各个功能的相对独立性,以及便于实现和维护,通常将协议划分为多个子协议,并且让这些协议保持一种层次结构,子协议的集合通常称为协议簇。
23、IP协议是TCP/IP协议簇中的核心协议,提供数据传输的最基本服务,是实现网络互联的基本协议。
24、ICMP协议将请求转变为ICMP报文,然后将报文封装在IP协议中进行发送。包含ICMP报文的IP数据报首部的协议字段为1。
25、DNS服务器和客户端属于TCP/IP模型的应用层,DNS既可以使用TCP,也可以使用UDP来进行通讯。
26、RIP规定最大跳数为15,若跳数为16则表示不可达。
27、网络互联的根本问题是解决网络技术和应用所带来的网络异构性问题。
28、在通信系统中发送方称为信源,接收方称为信宿
29、IP选项用于网络控制和测试,主要包括严格源路由、宽松源路由、记录路由和时间戳。
30、IP协议的主要功能包括封装IP数据报,对数据报进行分片和重组,处理数据环回、IP选项、校验码和TTL值,进行路由选择等
31、BGP报文被封装在TCP段中传输,使用TCP的179号端口。
32、系统中的用户代理程序至少应当具有以下3个功能:撰写、显示、处理。
33、HTTP通信方式主要有:点对点方式、中间服务器方式和缓存方式三种。
34、简述TCP/IP协议各层的主要功能。
链路层:也被称为数据链路层或网络接口层,通常包括操作系统中的设备驱
动程序和计算机中对应的网络接口卡,他们一起处理与电缆的物理接口细
节。
网络层:也称为互联网层,负责抱我呢分组在网络中的活动,包括IP协议,
ICMP及IGMP等。
传输层:为两台主机上的应用程序提供端到端的数据通信。
应用层:负责处理实际的应用程序细节,包括Telnet、HTTP协议、SMTP协
议、FTP、SNMP等。
35、简述套接字的非阻塞模式的含义,针对非阻塞模式Winsock提供了哪些不同的套接字I/O模型对I/O进行管理?
Windows套接字在阻塞和非阻塞两种模式下执行I/O操作。在阻塞模式下,在I/O操作完成前,执行的操作函数一直等候而不会立即返回,该函数所在的线程会阻塞在这里。相反,在非阻塞模式下,套接字函数会立即返回,而不管I/O 是否完成,该函数所在的线程会继续运行。
提供了select,WSAAsyncSelect(异步选择),WSAEventSelect(事件选择),Overlapped(重叠)以及Completion port(完成端口)。
36、简述直接网络编程3种方法。
第一种是原始套接字,原始套接字可以对底层的传输协议加以控制,对IP 头信息进行实际的操作,通过它可以模拟一些IP实用的工具。
第二种是基于WinPcap的网络数据包捕获技术,通过WinPcap可以捕获网络中的各种链路数据帧,为用户分析网络运行状况提供支持。
第三种是基于libnet的网络数据包构造技术。Libnet提供了一个跨平台的网络数据包构造和发送编程接口。
37、什么叫套接字,套接字按通信性质可以分为哪两类,简述这两类的套接字。
多个TCP连接或多个应用程序进程可能需要通过同一个 TCP协议端口传输数据。为了区别不同的应用程序进程和连接,许多计算机操作系统为应用程序与TCP/IP协议交互提供了称为套接字(Socket)的接口。
套接字按通信性质分:会话套接字和数据报套接字。
会话套接字提供双向的、有序的、无重复并且无记录边界的数据流服务,及一种可靠的面向连接的数据传输方法。数据报套接字支持双向通信,提供不可靠的、非连接的数据报通信方式。
38、简述winpcap提供的主要功能及典型的应用。
主要功能:捕获网络原始数据包;根据用户定义的规则过滤数据包;发送用户构造的数据包到网络中;统计网络流量;保存捕获的数据包。
典型应用:网络协议分析器;网络;网络流量记录;网络流量产生器;用户级的网桥和路由器;网络入侵检测系统;网络扫描器;网络安全工具。
39、什么是网络编程?简述应用进程间的两种通信方式。
网络编程就是利用网络应用编程接口编写网络应用程序,实现网络应用进程间的信息交互功能。
应用进程间的通信可分为两种:同一系统上应用进程间的通信和不同系统上应用进程间的通信。同一系统间的通信又称为进程间通信,不同系统间上进程间的通信必须通过网络编程接口访问网络协议提供的服务来实现。
40、Socket网络编程通过调用一系列Socket API函数实现,了解这些函数的作
和基本调用流程是进行网络编程的重要前提。请说明在面向连接的套接字程序设计为中,进行网络通信程序设计时,客户机和服务器端socket函数的基本调用流程图。
流程图如下图:
……10分
工作过程:服务器先启动,通过调用socket()建立一个套接字,然后调用bind() 将套接字与本地网络地址连接在一起,再调用listen()使套接字做好侦听的准备,并规定它的请求队列的长度,之后调用accept()来接受连接,连接一旦建立,客气机和服务器之间就可以通过调用read()和write()来发送和接收数据。结束后用close()关闭连接。
41、编写java程序,读取网络上文件内容
import java.io.*;
import java.*;
import java.awt.*;
import java.applet.*;
public class showfile extends Applet{
URL fileur;
TextArea showarea = new TextArea("Please wait a while for get text",10,70);
public void init() {
String url = "www.shu.edu/~xyx/doc/manhua.html";
try { fileur = new URL(url); }
catch ( MalformedURLException e) {
System.out.println("Can´t get URL: " );
}
add(showarea);
}
public void paint(Graphics g) {
InputStream filecon = null;
DataInputStream filedata = null;
String fileline;
try {
filecon = fileur.openStream();
filedata = new DataInputStream(filecon);
while ((fileline = adLine()) != null) { showarea.appendText(fileline+"\n");
}
}
catch (IOException e) {
System.out.println("Error in I/O:" + e.getMessage()); }
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论