试题四
阅读以下有关网络设备安装与调试的叙述,分析设备配置文件,回答问题 1 至问题 3,把解答填入答题纸的对应栏内。
虚拟局域网(Virtual LAN)是与地理位置无关的局域网的一个广播域,由一个工作站发送的广播信息帧只能发送到具有相同虚拟网号的其他站点,可以形象地认为,VLAN 是在物理局域网中划分出的独立通讯区域。 在以交换机为核心的交换式局域网络中,VLAN 技术应用广泛,其优势在于控制了网络上的广播风暴,增加了网络的安全性,利于采用集中化的管理控制。其中,基于端口的 VLAN 划分方式较为常见,通过将网络设备的端口划归不同的 VLAN 实现广播帧的隔离。
【问题1】
请指出现有虚拟局域网络的四种划分方式。
【问题2】
在基于端口的VLAN划分中,交换机上的每一个端口允许以哪三种模式划入 VLAN 中,并简述它们的含义。
【问题3】
以下为 Cisco 以太网交换机 Catalyst 2924(ws-c2924xlA,拥有 24 个 10/100M 自适 应端口)的VLAN 划分命令,请解释【l】~【3】处的标有下划线部分配置命令的含义。(“//”后为注释内容)
switch> en //进入特权执行态
switch# config term //进入通用配置状态
switch(config)# interface vlan 1 //配置 vlan 1(ID为 1的 Vlan)
【l】(此处有2条下划线)
switch(config-if)# ip address 202.112.111.23 255.255.255.0
switch(config-if)# management
switch(config-if)# exit //退出对 vlan 的配置状态
......
......
switch(config)# interface fa0/1 //配置第一模块的第 2 个端口
【2】(此处有2条下划线)
switch(config-if)# switchport mode access
switch(config-if)# switchport acess vlan
switch(conflg-if)# exit //退出对端口的配置状态
......
......
switch(config)# interface fa0/2 //配置第一模块的第 3 个端口
【3】(此处有2条下划线)
switch(config-if)# switchport mode multi
switch(config-if)# switchport multi vlan add 2,3
switch(config-if)# exit //退出对端口的配置状态
试题五
请阅读以下说明和 Socket 程序,将应填入___(n)___处的字句写在答题纸的对应栏内。
【说明】
网络应用的基本模型是客户机/服务器模型,这是一个不对称的编程模型,通信的双方扮演不同的角色:客户机和服务器。
一般发起通信请求的应用程序称为客户软件,该应用程序通过与服务器进程建立连接,发送请求,然后等待服务器返回所请求的内容。服务器软件一般是指等待接收并处理客户机请求的应用程序,通常由系统执行,等待客户机请求,并且在接收到请求之后,根据请求的内容,向客户机返回合适内容。
本题中的程序较为简单,客户机接收用户在键盘上输入的文字内容,服务器将客户机发送来的文字内容直接返回给客户机,在通信过程中服务器方和客户机方都遵守的通信协议如下:
由客户机首先发送请求,该请求由首部和内容两大部分组成,两个部分各占一行文字,通过行结束符 '\n'隔离。
首部只有一个 Length 域,用于指定请求的内容部分的长度,首部的结构为:'关键词Length'+''+ 数值 +'\n’
内容部分为一行文字,其长度必须与 Length 域的数值相符 例如,客户机的请求为“Length 14\nHello,my baby!”,服务器接收请求处理后返回文字“Hello,my baby!”。
<注:Socket 函数与数据结构,以及用户自定义函数的解释见附录一>
【Socket程序】
服务器主程序部分:
#include
……//引用头文件部分略>
#define SERVER_PORT 8080 //服务器监听端口号为8080
#define BACKLOG 5 //连接请求队列长度
int main( int argc, char *argv[ ]){
int listenfd,connfd //监听套接字、连接套接字描述符
struct sockaddr_in servaddr;//服务器监听地址
listenfd =___(1)___; //创建用于监听的套接字
if (listenfd<0){
fprintf( stderr,"创建套接字错误!")
exit(1);
} //套接字创建失败时打印错误信息
bzero(%26servaddr.sizeof(servadd));//将地址结构置空
servaddr.sin_family = AF_INET; //设置地址结构遵循 TCP/IP 协议
servaddr.sin_addrs_addr = htonl.(___(2)____);//设置监听的 IP 地址为任意合法地址,并将该地址转换为网络字节顺序
servaddr.sin_port = ___(3)___; //设置监听的端口,并转化为网络字节顺序
if ( bind(____(4)_____)<0 ){
fprintf( stderr,"绑定套接字与地址!");
exit(1);
} //将监听地址与用于监听的套接字绑定,绑定失败时打印错误信息
if ( listen( listedfd,BACKLOG)<0 ){
fprintf(stderr,"转换套接字为监听套接字!");
exit(1);
} //将用于监听的套接字由普通套接字转化为监听套接字
for (;;) {
connfd=____(5)____;
//从监听套接字的连接队列中接收己经完成的连接,并创建新的连接套接字
if(connfd<0){
fprintf(stderr,”接收连接失败!”);
exit(1);
}//接收失败打印错误信息
serv_respon(connfd); //运行服务器的处理函数
___(6)___; //关闭连接套接字 }
close(listenfd);//关闭监听套接字 }