网络编程复2习题.doc
《网络编程复2习题.doc》由会员分享,可在线阅读,更多相关《网络编程复2习题.doc(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、一、选择题(共15题,每题2分,共30分)1. 下列不属于应用层协议的是 A 。A.UDP B. SNMP C. TELNET D. HTTP2. DNS是指(B ) A. 发信服务器 B.域名服务器 C. 收信服务器 D.邮箱服务器3. 环回地址是指 C 。A. 255.255.255.255 B. 127.255.255.255 C. 127.0.0.1 D. 10.0.0.04. 以下哪些不是UDP协议的特性 A 。A. 提供可靠服务 B. 提供无连接服务C. 提供端到端服务 D. 提供全双工服务5. 高层互连是指传输层及其以上各层协议不同的网络之间的互连。实现高层互连的设备是 D A.
2、 中继器 B. 网桥C. 路由器D. 网关6. IP路由器设计的重点是提高接收,处理和转发分组速度,其传统IP路由转发功能主要由_A_ 实现A. 软件B. 硬件C. 专用ASIC D. 操作系统7利用HTML开发的静态网页,其扩展名应为 A 。A. .htm B. .aspx C. .asp D.没有严格限制8. IP服务的3个主要特点是 A 。A. 不可靠、面向无连接和尽最大努力投递B. 可靠、面向连接和尽最大努力投递C. 不可靠、面向连接和全双工D. 可靠、面向无连接和全双工9. IEEE 802 标准中的介质访问控制子层的功能对应于 OSI参考模型中的_B_。A.物理层 B.数据链路层
3、C.网络层 D.会话层10. 具有对帧进行接收功能的设备是_B_。A.中继器B.网桥C.路由器D.网关11. 在基于 IP 协议的传输协议中,适于发送实时性要求大于正确性要求的信息的协议是_B_协议。A.TCP B.UDP C.DNS D.FTP12.下列关于HTTP的描述那个不正确?CA超文本传输协议 (Hypertext Transfer Protocol, HTTP) 是一个“请求-回应”的应用协议B这个协议支持一套固定的方法如 GET、POST、PUT、DELETE 等。一般用 GET 方法向服务器请求资源。C属于一种UDP协议D 可以使用 GET 和 POST 方法向服务器发送数据1
4、3. 简单网络管理协议SNMP处于网络体系结构的哪一层?CA.互连层B.传输层C.应用层D.逻辑链路控制层14. 在电子商务的分类中,消费者对消费者的电子商务称为_C_。A.B2B B.B2C C.C2C D.B2G15. HTTP协议绑定的端口号是 C 。 A151 B. 23 C. 80 D. 8081二、填空题(共10空,每空1分,共10分)1.不使用IP地址,可以使用 Locahost来访问本机的默认Web主页。2. 电子商务的体系结构可以分为网络基础平台、安全结构、_支付体系_和业务系统 4 个层次。3.socket套接字的三种类型:_流式套接字_、_数据报套接字_和_原始套接字_。
5、4HTTP协议中POST方法用来请求数据,它适用于_需要客户填写表单_的场合。5.对Ethernet(以太网)实现实时捕捉数据包需提供两种模式:_半双工_模式和_全双工_模式。6Winsock中函数调用WSASocket(AF_INET,SOCK_RAW,IPPROTO_IP,NULL,0, WSA_FLAG_OVERLAPPED);真,AF_INET是指_网际网区域_,SOCK_RAW是指_原始套接字_。三、问答题(共5题,前面4题每题10分,最后1题20分)1请对TCP协议和UDP协议作出比较。答:(1)基于连接与无连接(2)对系统资源的要求(TCP较多,UDP较少)(3)UDP程序机构较
6、简单(4)流模式与数据报模式2.URL的组成部分3ARP协议的工作过程它的工作原理非常简单:1. 首先,每一台主机都会在 ARP 快取缓冲区 (ARP Cache)中建立一个 ARP 表格,用来记录 IP 位址和实体位址的对应关系。这个 Table 的每一笔资料会根据自身的存活时间递减而最终消失,以确保资料的真实性。 2. 当发送主机有一个封包要传送给目的主机的时候,并且获得目的主机的 IP 位址;那发送主机会先检查自己的 ARP 表格中有没有该 IP 位址的实体位址对应。如果有,就直接使用此位址来传送框包;如果没有,则向网路发出一个 ARP Request 广播封包,查询目的主机的实体位址。
7、这个封包会包含发送端的 IP 位址和实体位址资料。 3. 这时,网路上所有的主机都会收到这个广播封包,会检查封包的 IP 栏位是否和自己的 IP 位址一致。如果不是则忽略;如果是则会先将发送端的实体位址和 IP 资料更新到自己的 ARP 表格去,如果已经有该 IP 的对应,则用新资料覆盖原来的;然后再回应一个 ARP Reply 封包给对方,告知发送主机关于自己的实体位址; 4. 当发送端接到 ARP Reply 之后,也会更新自己的 ARP 表格;然后就可以用此纪录进行传送了。 5. 如果发送端没有得到 ARP Reply ,则宣告查询失败。4 请简述静态网页和动态网页的工作原理一、静态网页
8、的工作原理如下:A、用户在浏览器的地址栏输入要访问的地址并回车,触发这个浏览请求。B、浏览器将请求发送到Web服务器。C、Web服务器接受这个请求,并根据请求文件的后缀名判定是否为HTML文件。D、Web服务器从服务器硬盘的指定位置或内存中读取正确的HTML文件然后将它发送给请求浏览器。E、用户的浏览器解析这些HTML代码并将它显示出来。二、动态网页的工作原理如下: 当用户请求的是一个动态网页时,服务器要做更多的工作才能把用户请求的信息发送回去,服务器一般按照以下步骤进行工作:A、 服务器端接受请求。B、Web服务器从服务器硬盘指定的位置或内存中读取动态网页文件。C、执行网页文件的程序代码,将
9、含有程序代码的动态网页转化为标准的静态页面(HTML)。D、Web服务器将生成的静态页面代码发送给请求浏览器。5 Windows中socket通信中,服务端(Server)程序的编码步骤及主要核心代码一、服务器端操作 socket(套接字) 1)在初始化阶段调用WSAStartup()此函数在应用程序中初始化Windows Sockets DLL ,只有此函数调用成功后,应用程序才可以再调用其他Windows Sockets DLL中的API函数。在程式中调用该函数的形式如下:WSAStartup(WORD)(18|1),(LPWSADATA)&WSAData),其中(18|1)表示我们用的是
10、WinSocket1.1版本,WSAata用来存储系统传回的关于WinSocket的资料。2)建立Socket初始化WinSock的动态连接库后,需要在服务器端建立一个监听的Socket,为此可以调用Socket()函数用来建立这个监听的Socket,并定义此Socket所使用的通信协议。此函数调用成功返回Socket对象,失败则返回INVALID_SOCKET(调用WSAGetLastError()可得知原因,所有WinSocket 的函数都可以使用这个函数来获取失败的原因)。SOCKET PASCAL FAR socket( int af, int type, int protocol )
11、参数: af:目前只提供 PF_INET(AF_INET);type:Socket 的类型 (SOCK_STREAM、SOCK_DGRAM);protocol:通讯协定(如果使用者不指定则设为0);如果要建立的是遵从TCP/IP协议的socket,第二个参数type应为SOCK_STREAM,如为UDP(数据报)的socket,应为SOCK_DGRAM。3)绑定端口接下来要为服务器端定义的这个监听的Socket指定一个地址及端口(Port),这样客户端才知道待会要连接哪一个地址的哪个端口,为此我们要调用bind()函数,该函数调用成功返回0,否则返回SOCKET_ERROR。int PASCA
12、L FAR bind( SOCKET s, const struct sockaddr FAR *name,int namelen );参 数: s:Socket对象名;name:Socket的地址值,这个地址必须是执行这个程式所在机器的IP地址;namelen:name的长度;如果使用者不在意地址或端口的值,那么可以设定地址为INADDR_ANY,及Port为0,Windows Sockets 会自动将其设定适当之地址及Port (1024 到 5000之间的值)。此后可以调用getsockname()函数来获知其被设定的值。4)监听当服务器端的Socket对象绑定完成之后,服务器端必须建立
13、一个监听的队列来接收客户端的连接请求。listen()函数使服务器端的Socket 进入监听状态,并设定可以建立的最大连接数(目前最大值限制为 5, 最小值为1)。该函数调用成功返回0,否则返回SOCKET_ERROR。int PASCAL FAR listen( SOCKET s, int backlog );参 数: s:需要建立监听的Socket;backlog:最大连接个数;服务器端的Socket调用完listen()后,如果此时客户端调用connect()函数提出连接申请的话,Server 端必须再调用accept() 函数,这样服务器端和客户端才算正式完成通信程序的连接动作。为了知
14、道什么时候客户端提出连接要求,从而服务器端的Socket在恰当的时候调用accept()函数完成连接的建立,我们就要使用WSAAsyncSelect()函数,让系统主动来通知我们有客户端提出连接请求了。该函数调用成功返回0,否则返回SOCKET_ERROR。int PASCAL FAR WSAAsyncSelect( SOCKET s, HWND hWnd,unsigned int wMsg, long lEvent );参数: s:Socket 对象;hWnd :接收消息的窗口句柄;wMsg:传给窗口的消息;lEvent:被注册的网络事件,也即是应用程序向窗口发送消息的网路事件,该值为下列值
15、FD_READ、FD_WRITE、FD_OOB、FD_ACCEPT、FD_CONNECT、FD_CLOSE的组合,各个值的具体含意为FD_READ:希望在套接字S收到数据时收到消息;FD_WRITE:希望在套接字S上可以发送数据时收到消息;FD_ACCEPT:希望在套接字S上收到连接请求时收到消息;FD_CONNECT:希望在套接字S上连接成功时收到消息;FD_CLOSE:希望在套接字S上连接关闭时收到消息;FD_OOB:希望在套接字S上收到带外数据时收到消息。 具体应用时,wMsg应是在应用程序中定义的消息名称,而消息结构中的lParam则为以上各种网络事件名称。所以,可以在窗口处理自定义消
16、息函数中使用以下结构来响应Socket的不同事件:switch(lParam) case FD_READ: break;case FD_WRITE、 break; 5)服务器端接受客户端的连接请求当Client提出连接请求时,Server 端hwnd视窗会收到Winsock Stack送来我们自定义的一个消息,这时,我们可以分析lParam,然后调用相关的函数来处理此事件。为了使服务器端接受客户端的连接请求,就要使用accept() 函数,该函数新建一Socket与客户端的Socket相通,原先监听之Socket继续进入监听状态,等待他人的连接要求。该函数调用成功返回一个新产生的Socket对
17、象,否则返回INVALID_SOCKET。SOCKET PASCAL FAR accept( SCOKET s, struct sockaddr FAR *addr,int FAR *addrlen );参数:s:Socket的识别码;addr:存放来连接的客户端的地址;addrlen:addr的长度6)结束 socket 连接结束服务器和客户端的通信连接是很简单的,这一过程可以由服务器或客户机的任一端启动,只要调用closesocket()就可以了,而要关闭Server端监听状态的socket,同样也是利用此函数。另外,与程序启动时调用WSAStartup()憨数相对应,程式结束前,需要调用
18、 WSACleanup() 来通知Winsock Stack释放Socket所占用的资源。这两个函数都是调用成功返回0,否则返回SOCKET_ERROR。 int PASCAL FAR closesocket( SOCKET s );参 数:s:Socket 的识别码;int PASCAL FAR WSACleanup( void );参 数: 无二、客户端Socket的操作1)建立客户端的Socket客户端应用程序首先也是调用WSAStartup() 函数来与Winsock的动态连接库建立关系,然后同样调用socket() 来建立一个TCP或UDP socket(相同协定的 sockets
19、才能相通,TCP 对 TCP,UDP 对 UDP)。与服务器端的socket 不同的是,客户端的socket 可以调用 bind() 函数,由自己来指定IP地址及port号码;但是也可以不调用 bind(),而由 Winsock来自动设定IP地址及port号码。2)提出连接申请客户端的Socket使用connect()函数来提出与服务器端的Socket建立连接的申请,函数调用成功返回0,否则返回SOCKET_ERROR。int PASCAL FAR connect( SOCKET s, const struct sockaddr FAR *name, int namelen );参 数:s:S
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络 编程 习题
限制150内