TCP协议网络编程实现两台计算机通信(详细注释)

3.试用C语言编写一对在以太网中发送和接收数据帧的应用,建议采用Socket 的TCP协议端口,必须提供软件设计方案和流程图,软件代码的每一行都必须加注中文注释说明设计意图,不得抄袭。(必做题)

解答: 编程使用TCP/IP协议,采用数据流的socket套接口,TCP是面向连接的通信协议,通过三次握手建立连接,通讯完成时要拆除连接,由于TCP是面向连接的所以只能用于点对点的通讯。对比一下,UDP是面向无连接的通讯协议,UDP数据包括目的端口号和源端口号信息,由于通讯不需要连接,所以可以实现广播发送,UDP通讯时不需要接收方确认,属于不可靠的传输,可能会出丢包现象。

程序采用服务器/客户机模式,下面是服务器的程序设计方案

【1】首先利用socket系统调用获得一个套接口

【2】系统调用bind将这个套接口绑定到主机的某个端口上

【3】端口开始侦听有无连接请求,系统调用listen

【4】没有就继续侦听,有的话执行下一步

【5】接受connect的请求,系统调用accept(),得到一个新的套接口描述符,这个时候通信管道已经完全建立好了

【6】利用这个新的描述符完成发送数据帧的操作,系统调用send()

【7】发送完毕要撤销套接口

下面是完整程序和详细注释

清单01 server.c

#include

#include

#include

#include

#include

#include

#include

#include /头文件

#define MYPORT 3490 /定义用于通信的端口号

#define BACKLOG 10 /定义等待队列中最多存放的connect请求个数main() /主函数这里开始

{int sockfd,new_fd; /这两个是调用socket()系统调用得到的文件描述符struct sockaddr_in my_addr; /结构体定义,这是自己和对方的套接口的地址信息struct sockaddr_in their_addr;

int sin_size; /其实这是accept()里面的第三个参数,这里先定义if((sockfd=socket(AF_INET,SOCK_STREAM,0))==-1)

{perror("socket"); /进入正题,首先socket()系统调用,sockfd就是exit(1); /所得套接口的文件描述符,如果调用失败,perror会} /显示错误信息,然后非正常退出

my_addr.sin_family=AF_INET; / ADDRESS FAMILY 地址族

my_addr.sin_port=htons(MYPORT);/ 把整数MYPORT转换成“网络字节顺序”my_addr.sin_addr.s_addr=INADDR_ANY;/ 使用自己的IP地址, 自动填上它所运

行的机器的 IP 地址

bzero(&(my_addr.sin_zero),8);/结构体中剩下的清0

上面是第一步,调用socket()得到了一个套接口,下面将调用bind()将其绑定到本地计算机的某个端口上,当然这里就是前面定义的那个端口

if(bind(sockfd,(struct sockaddr *)&my_addr,sizeof(struct sockaddr))==-1)

{perror("bind"); /如果失败就显示bind()调用出错原因,成功的话

exit(1); /就继续往下运行

}

其实利用TCP/IP协议进行数据流的传输就像两个地方搭个管道输送水流一样,现在这里是水电站,前面两步已经弄好了一个出水口,下面就要监听对方是否需要我送水过去,运行listen()系统调用。假如你不希望与远程的一个地址相连,那你就需要等待接入请求并且用各种方法处理它们。处理过程分两步:首先,你听--listen(),然后,你接受--accept() (请看下面的内容)。

if (listen(sockfd,BACKLOG)==-1) /BACKLOG 是在进入队列中允许的连接数目,进入的连接是在队列中一直等待直到接受 (accept() )连接

{perror("listen"); /在错误的时候返回-1,并设置全局错误变量 errno

exit(1);

}

下面就是接受一个连接请求了

while(1)

{sin_size=sizeof(struct sockaddr_in);

if((new_fd=accept(sockfd,(struct sockaddr *)&their_addr,&sin_size))==-1)

{perror("accept"); /注意这里出现了第二个文件描述符,如果只想让一个连接进来,那么你可以使用 close() 去关闭原来的文件描述符 sockfd 来避免同一个端口更多的连接

continue; /如果没有成功接受的话就继续监听然后accept

}

printf("server:got connection from %s\n",inet_ntoa(their_addr.sin_addr));

连接上了要输出一个反馈信息:server:got connection from+客户端的ip地址

然后就把数据帧发送过去,调用send(),当然我们不用去关心这个数据帧是怎么被包装的,这些交给下层处理,fork()产生一个子进程用来发送数据if(!fork())

{if (send (new_fd,"hello,world!\n",14,0)==-1)

perror("send");

close(new_fd);

exit(0);

}

close(new_fd); 发送完毕即时的关掉套接口

while(waitpid(-1,NULL,WNOHANG)>0);

最后释放子进程的资源,防止产生僵尸进程造成资源没有释放。

}

}

至此服务器程序设计完毕,下面着手客户机的程序设计,与服务器相比客户端的

设计相对简单一些,其程序设计流程大致如下

【1】系统调用socket()获得套接口

【2】由于我是要连到远方服务器端口,所以我不必绑定到自己的机器端口上,故而有了套接口下面可以直接向远方主机发送connect连接请求

【3】如果connect失败,那就返回第二步,继续connect,直到成功

【4】连接成功后通信管道就建好了,可以调用recv()来接受数据帧

【5】最后把套接口释放掉

下面是完整程序和详细注释

清单02 user.c

#include

#include

#include

#include

#include

#include

#include

#include /头文件

#define PORT 3490 / 端口号定义,这就是将要连接到的端口

#define MAXDA TASIZE 100 /这个参数是一次所能得到的最大字节数

下面开始主函数,注意main函数是有参数的,argc=参数的个数+1,因为函数自身算一个参数,数组argv[]用来依次存放指向参数的指针

int main(int argc,char *argv[])

{

前面都是对一些参数类型进行声明

int sockfd,numbytes;

char buf[MAXDA TASIZE];

struct hostent *he;

struct sockaddr_in their_addr;

首先检验main函数是不是给了1个参数,是一个啊得注意

if(argc != 2)

{fprintf(stderr,"usage:client hostname\n"); 如果参数不是一个就报错

exit(1); 然后非正常退出

}

然后检验参数(其实这个参数就是服务器的ip地址,参数的指针就在argv[1]里面)是否有效,调用函数gethostbyname(),它的基本原理就是得到和你主机名字相匹配的ip地址。

if((he=gethostbyname(argv[1]))==NULL)

{herror("gethostbyname"); 出错的话返回出错信息

exit(1);

}

能运行到这一步说明参数个数和参数内容都是正确的,其实这才是真正的开始调用socket()得到套接口,sockfd为返回的套接口描述符

if((sockfd=socket(AF_INET,SOCK_STREAM,0))==-1)

{perror("socket");

exit(1);

}

下面的跟之前服务器端程序差不多,是对套接口信息初始化

their_addr.sin_family=AF_INET;

their_addr.sin_port=htons(PORT);

their_addr.sin_addr=*((struct in_addr *)he->h_addr);

bzero(&(their_addr.sin_zero), 8);

可以继续用我的那个比喻,如果服务器是水库,并且那里已经有个出口在侦听是不是有人要水流,那么我是用户,并且程序运行到这我也已经有了一个入口地址,是时候跟服务器取得联系了,一旦联系成功,立马就会建立一条管道,下面就是connect()系统调用

if(connect(sockfd,(struct sockaddr *)&their_addr,sizeof(struct sockaddr))==-1) {perror("connect");

exit(1);

}

连接成功,此时服务器的listen()监听到了我的connect,并且accept了我,然后send了数据帧给我,所以接下来我就得接受数据帧了,用到系统调用recv() if((numbytes=recv(sockfd,buf,MAXDATASIZE,0))==-1)

{perror("recv");

exit(1);

}

收到的数据存放到数组buf[]中,对于字符串数组最后一个停止位记得给加上

buf[numbytes]='\0';

把收到的信息显示出来吧

printf("received:%s",buf);

最后关闭套接口,释放端口

close(sockfd);

return 0;

}

至此完成用户程序的编写,采用linux编译环境,编译连接后,运行调试

在我的电脑上同时开两个窗口,分别模拟服务器和用户,键入

Ifconfig命令查看本机的ip地址,显示

本地环回inet地址127.0.0.1

运行./server 服务器开始运行

然后./user 127.0.0.1 用户程序运行

运行结果:

服务器端显示server:got connection from 127.0.0.1

客户端显示received:hello,world!

PS:我昨天运行的时候键入ifconfig出来好多ip地址,不止一个127.0.0.1,还有个180.109.92.243 我试过,也可以顺利通信,另外一个62.….…记不清了反正这个不行,但是今晚再次运行ifconfig只有一个127.0.0.1出现,没有180.109.92.243,键入这个参数提示说network is unreachable,这次不行了

TCP自定义通讯协议

一.设计 1.详细设计: 2个字节的起始字头,1个字节的命令字,1个字节的数据包编号,4个字节的报文总大小, 4个字节的传输数据总大小, 2个字节的文件名大小, 1个字节的保留(备用)字,若干字节的数据块. 2.详细内容 (1)报头的内容: 1.标志位, 2.命令字, 3.数据包的编号, 4.该报文的总大小, 5.该段传输 数据的大小, 6.文件名的大小, 1)命令字: 1.普通图片, 2.普通文档, 3.普通消息, 4.加密图片, 5.加密文档, 6.加密消息. 2)数据包编号: 1.对大文件或长消息体, 以一定的大小进行分割. 一次编号. 3)文件名大小: 1.数据包的数据块中, 刚开头的部位, 进行写文件名, 用来保证每段新数据写入对应的文件. 4)标志位: 1.消息体中需要对与报头,校验字相同的内容进行转义. (2)消息体: 1.文件名或消息名; 2.文件或消息的具体内容. 定义一个规则,发送的时候按照规则封装,接收的时候再按照这个规则解封装(TLV)。 二.TCP报文分段传输的依据: (1)MTU(最大传输单元) 是链路层中的网络对数据帧的一个限制,以以太网为例,MTU为1500个字节。 一个IP数据报在以太网中传输,如果它的长度大于该MTU值,就要进行分片传输,使得每片数据报的长度小于MTU。分片传输的IP数据报不一定按序到达,但IP首部中的信息能让这些数据报片按序组装。IP数据报的分片与重组是在网络层进完成的。

(2)MSS(最大分段大小) MSS是TCP里的一个概念(首部的选项字段中)。MSS是TCP数据包每次能够传输的最大数据分段,TCP报文段的长度大于MSS时,要进行分段传输。 TCP协议在建立连接的时候通常要协商双方的MSS值,每一方都有用于通告它期望接收的MSS选项(MSS选项只出现在SYN报文段中,即TCP三次握手的前两次)。 MSS的值一般为MTU值减去两个首部大小(需要减去IP数据包包头的大小20Bytes和TCP数据段的包头20Bytes)所以如果用链路层以太网,MSS的值往往为1460。而Internet 上标准的MTU(最小的MTU,链路层网络为x2.5时)为576; 如果不设置,则MSS的默认值就为536个字节。很多时候,MSS的值最好取512的倍数。TCP报文段的分段与重组是在运输层完成的。 TCP分段的原因是MSS,IP分片的原因是MTU,由于一直有MSS<=MTU,很明显,分段后的每一段TCP报文段再加上IP首部后的长度不可能超过MTU,因此也就不需要在网络层进行IP分片了。因此TCP报文段很少会发生IP分片的情况。 对于TCP协议来说,整个包的最大长度是由最大传输大小(MSS)决定,MSS就是TCP 数据包每次能够传输的最大数据分段。 为了达到最佳的传输效能TCP协议在建立连接的时候通常要协商双方的MSS值.这个值TCP协议在实现的时候往往用MTU值代替(需要减去IP数据包包头的大小20Bytes和TCP 数据段的包头20Bytes)所以往往MSS为1460。通讯双方会根据双方提供的MSS值得最小值, 确定为这次连接的最大MSS值。

计算机网络技术试题(附答案)中等职业学校课件

计算机网络技术试题(附答案)中等职业学校 一、填空 1、计算机网络按照规模可以分为局域网、城域网和广域网。 2、交换式局域网的核心是交换机,当交换机的端口为100Mbps时,如果该端口是全双工的,那么其带宽是200MBPS 。 3、广域网一般由局域网和城域网组成。 4、网络互联的类型一般可以分成4种,分别是:局域网与局域网互联、局域网与城域网互联、局域网和广域网与局域网互联和局域网和广域网与广域网互联。 5、路由器的路由可以分为静态和动态两类。 6、文件传输使用的FTP 协议,远程登陆使用TELNET 协议。 7、对于子网IP地址不足的问题,我们通常采用修改子网掩码方法来解决,而对于一些不能分配给DHCP客户机的IP地址,我们可以通过设置排除地址来解决。 8、广域网的基本结构可分为资源子网和通信子网两部分。 9、差错控制编码通常可分为检错码和纠错码两种。 10、计算机网络中,出现差错的主要原因是噪声,噪声可分为随机噪声和热噪声两类。 11、从目前发展情况来看,局域网可分为共享介质局域网和交换式局域网两类。 12、决定局域网性能的主要技术要素是网络拓扑、传输介质和访问控制三方面。 13、调制解调器中把数字信号转换成模拟信号过程称为调制。 14、IP地址能够唯一地确定Internet上每台计算机的系统位置。 15、用命令可以测试TCP/IP的配置信息。(iconfig) 第二题选择题 1、关于OSI的叙述,下列错误的是:( C ) A.OSI是ISO制定的B.物理层负责 C.网络层负责数据打包后再传送D.在最下面的两层为物理层和数据链路层 2、下列关于信息高速公路的叙述中错误的是( C ) A.高速网络技术是信息高速公路的核心技术之一B.信息高速公路是美国国家信息基础设施建设的核心 C.因特网是信息高速公路D.我国的公用分组网不是信息高速公路 3、网卡的主要功能不包括( A ) A.网络互联B.将计算机连接到通信介质上C.实现数据传输D.进行电信号区配 4、广域网的分组交换网采用的协议是( C ) A.ATM B.TCP/IP C.X.25 D.CSMA/CD 5、以太网的拓扑结构有( D ) A.分布式B.环型C.树型D.总线型

计算机网络的主要目标是实现

一、选择题 1). 计算机网络的主要目标是实现 A) 数据处理 B) 文献检索 C) 快速通信和资源共享 D) 共享文件 2). 办公室自动化(OA)是计算机的一大应用领域,按计算机应用的分类,它属于 A) 科学计算 B) 辅助设计 C) 实时控制 D) 数据处理 3). 一个字长为6位的无符号二进制数能表示的十进制数值范围是 A) 0~64 B) 0~63 C) 1~64 D) 1~63 4). 下列叙述中,正确的是 A) 所有计算机病毒只在可执行文件中传染 B) 计算机病毒主要通过读写移动存储器或Internet网络进行传播 C) 只要把带病毒的软盘片设置成只读状态,那么此盘片上的病毒就不会因读盘而传染给另一台计算机 D) 计算机病毒是由于软盘片表面不清洁而造成的

5). 英寸双面高密盘片格式化后,每个磁道具有扇区数是 A) 9 B) 12 C) 15 D) 18 6). 计算机技术中, 下列不是度量存储器容量的单位是 A) KB B) MB C) GHz D) GB 7). 已知a=00111000B 和b=2FH ,则两者比较的正确不等式是 A) a>b B) a=b C) a

A) 01101011 B) 01100011 C) 01100101 D) 01101010 10). 为了提高软件开发效率,开发软件时应尽量采用 A) 汇编语言 B) 机器语言 C) 指令系统 D) 高级语言 11). 按照数的进位制概念,下列各数中正确的八进制数是 A) 8707 B) 1101 C) 4109 D) 10BF 12). 下列说法中,正确的是 A) 只要将高级程序语言编写的源程序文件(如)的扩展名更改为.exe,则它就成为可执行文件 了 B) 高档计算机可以直接执行用高级程序语言编写的程序 C) 源程序只有经过编译和连接后才能成为可执行程序 D) 用高级程序语言编写的程序可移植性和可读性都很差 9). 十进制数101转换成二进制数是

自定义应用层通信协议

1.通信协议的概念及其要素 在OSI开放互联参考模型中,对等实体之间数据单元在发送方逐层封装,在接收方的逐层解析。发送方N层实体从N+1层实体得到的数据包称为服务数据单元(Service Data Unit,SDU)。N层实体只将其视为需要本实体提供服务的数据,将服务数据单元进行封装,使其成为一个对方能够理解的数据单元(Protocol Data Unit,PDU),封装过程实际上是为SDU增加对等实体间约定的控制信息(Protocol Control Information,PCI)的过程。为了保证网络的各个功能的相对独立性,以及便于实现和维护,通常将协议划分为多个子协议,并且让这些协议保持一种层次结构,子协议的集合通常称为协议簇。 网络协议的分层有利于将复杂的问题分解成多个简单的问题,从而分而治之。各层的协议由各层的实体实现,通信双方对等层中完成相同协议功能的实体称为对等实体。对等实体按协议进行通信,所以协议反映的是对等层的对等实体之间的一种横向关系,严格地说,协议是对等实体共同遵守的规则和约定的集合。 通信协议精确地定义了双方通信控制信息和解释信息:发送方能将特定信息(文本、图片、音频、视频)按协议封装成指定格式的数据包,最终以串行化比特流在网络上传输;接收方接收到数据包后,根据协议将比特流解析为本地化数据,从而获取对方发送过来的原始信息。通信协议包括三个要素: (1)语法:规定了信息的结构和格式; (2)语义:表明信息要表达的内容; (3)同步:规则涉及双方的交互关系和事件顺序。 整个计算机网络的实现体现为协议的实现,TCP/IP协议是Internet互联网的核心协议。2.通信协议开发步骤 (1)协议的开发主要包括协议设计、协议形式描述、协议实现和协议一致性测试。协议的开发过程与步骤如图1所示。 图1 协议开发过程与步骤 (2)协议设计过程中的分组发送接收模型如图2所示。

计算机通信网络的设备及通信协议

Shaanxi University of Technology 计算机网络设备 及 通信协议 2010/10/25

前言 计算机网络就是把分布在不同地理区域的计算机与专门的外部设备用通信线路互联成一个规模大、功能强的系统,从而使众多的计算机可以方便地互相传递信息,共享硬件、软件、数据信息等资源。简单来说,计算机网络就是由通信线路互相连接的许多自主工作的计算机构成的集合体。计算机网络具有共享硬件、软件和数据资源的功能,具有对共享数据资源集中处理及管理和维护的能力。计算机网络中不同的计算机,服务器之间能传输数据,源于协议的存在。随着计算机网络的发展,不同的开发商开发了不同的网络通信方式。为了使通信成功可靠,网络中的所有主机都必须使用同一语言,不能带有方言。因而必须开发严格的标准定义主机之间的每个包中每个字中的每一位。这些标准来自于多个组织的努力,约定好通用的通信方式,即协议。这些都使通信更容易。一个完整的计算机通信系统应该包含各种硬件设备及他们之间的通信协议。

一计算机网络设备 1 网络互联设备 网络互联是指LAN-LAN WAN-WAN LAN-WAN之间的连通和互操作能力这种互操作指的是互联网上一个网络的用户和另一个网络的用户可以透明的交换信息而不管这两个网络上的硬件软件差异。 2 中继器 网络连接最简单的设备就是中继器其作用是对弱信号再生并将再生信号发送到网络的其它分支上提供电流以实现长距离传输中继器工作在OSI模型的最低层物理层只能用来连接具有相同物理层协议的LAN 中继器主要用于扩充LAN电缆段的距离限制比如10BASE 5粗以太网由于收发器只能提供500米的驱动能力而MAC协议允许粗以太网电缆最长为2.5公里这样每500米之间就可以利用中继器来连接但是中继器不具备检错和纠错的功能因此错误的数据经中继器后仍被复制到另一电缆段另外中继器还会引入延时。 3 集线器 集线器(HUB)是一种特殊的中继器它可以转接多个网络电缆把多个网络段连接起来随着10BASE T标准的推出以及集线器的使用使得总线网络拓扑结构逐渐向星型网络拓扑使用非屏蔽双绞线的模式转化该模式的核心就是集线器它连接网络的各个节点其优点是当网络上的某

计算机网络技术专业(中专)人才培养方案(汉)

《计算机网络技术(中专)》专业人才培养方案(汉) 一、专业名称 计算机网络技术 二、入学要求 初中毕业生或具有同等学历者。 三、基本学制 3年。 四、培养目标 本专业主要培养与我国现代化建设要求相适应,德、智、体、美全面发展,具有与本专业相适应的文化水平和良好的职业道德,掌握本专业的基础知识和基本技能,在生产、服务和管理第一线工作的计算机办公应用、硬件维护、网络应用和软件应用的初、中级应用型专业人员。 五、职业范围 六、人才规格 本专业毕业生应具有以下职业素养(职业道德和产业文化素养)、专业知识和技能: (一)职业素养 1、是良好的政治素质和较强的法制观念; 2、培养良好的职业道德、敬业精神和科学素养。 3、掌握阅读、理解外文软件文档所必备的外语知识。

4、掌握数据通信与接口技术,计算机网络和计算机安全的基本知识。 5、具有结构化程序设计的原则及方法等基本知识,事件驱动程序设计和面向对象程序设计的基本知识,网络应用编程的知识。 6、有网络硬件和软件设置、安装和维护的知识。 7、具有网络多媒体应用背景下,使用各种常用工具软件的基本知识。 8、具有通信网络接入技术的基本知识。 (二)专业知识和技能 专业(技能)方向1:网络技术及应用、管理 1、具有网络技术专业必需的计算机软硬件配置、网络布线、网络操作系统、网络协议等基础知识; 2、具备网页设计的知识与技能; 3、具有熟练的计算机操作技能,能够进行网络操作系统和常用软件的安装与维护; 4、具有搭建和配置小型局域网的能力; 5、具有网络监控和维护基础知识,能够使用网络管理工具进行网络监控和维护; 6、能够进行网站的建立、发布、维护与管理; 7、熟悉国家有关法律法规,具有网络安全意识,掌握网络安全的基本技能。 专业(技能)方向2:办公自动化及设备维护 1、具有熟练的计算机录入与排版技能和使用计算机的能力; 2、具有熟练进行操作系统和常用软件的安装与使用的能力; 3、掌握程序设计基本方法,能编制简单程序; 4、熟悉计算机硬件的组装与维护,具有一定的营销能力; 5、熟悉计算机网络与产品,能进行计算机网络的管理与维护; 6、掌握常用办公软件的使用。 专业(技能)方向3:网页制作及网站维护 1、具有熟练的计算机录入与排版技能和使用计算机的能力; 2、掌握设计网页工具软件; 3、掌握多媒体素材处理软件; 4、熟悉网站架构; 5、具备网页设计的知识与技能; 七、主要衔接专业 高职:计算机应用技术、计算机网络技术 八、课程结构 九、课程设置及要求 本专业课程设置分为公共基础课和专业技能课。

通信电源规约CSU03B通信协议-通信局电源、空调及环境集中监控管理系统前端智能设备通信协议

CSU03B通信协议更改记录 2006-06-13:V1.0;其中历史告警记录有重大调整,其他与CSU03A兼容。

CSU03B通信协议 本协议以电信总局《通信局(站)电源、空调及环境集中监控管理系统前端智能设备通信协议》(一九九九年三月)为基础制定;与CSU03A通信协议兼容(历史数据和历史告警除外)。 一.物理接口 1.串行通信口采用RS232/RS485,数据传输速率2400bps; 2.信息传输方式为异步方式,起始位1位,数据位8位,停止位1位,无校验。 3.局站监控系统(SU)与设备监控单元(SM)的通信为主从方式。SU呼叫SM并下发命令,SM收到命令后返回响应信息。SU500ms内收不到SM响应或接收响应信息错误,则认为本次通信过程失败。 二.信息类型及协议的基本格式 1.信息分两种类型: (1) 由SU发出到SM的命令信息(简称命令信息); (2) 由SM返回到SU的响应信息(简称响应信息)。 基本格式的注解见表2.2、表2.3。 表2.2 协议的基本格式 说明: COMMAND INFO由以下控制命令码(其中一部分)组成: COMMAND GROUP(1字节):表示同一类型设备的不同组号; COMMAND ID(1字节):表示同一类型设备相同组内的不同监控点; COMMAND TYPE(1字节):表示不同的遥控命令或历史数据传输中的不同控制命令; COMMAND TIME(1字节):表示时间字段。 DA TA INFO由以下应答码(其中一部分)组成: DATAI:含有整型数的应答信息;

RUNSTATE:设备的运行状态; WARNSTA TE:设备的告警状态; DATAFLAG:标示字节;本协议中该字节无效,固定为00H; DATATIME:时间字段。 表2.3返回码RTN 3.数据格式 3.1 基本数据格式 在表2.1基本格式中各项除SOI和EOI是以十六进制解释(SOI=7EH,EOI=0DH),十六进制传输外,其它各项都是十六进制解释,十六进制—ASCII码的方式传输,每个字节用两个ASCII码表示,即高四位一个ASCII码表示,低四位用一个ASCII码表示。 例:CID2=4BH,传送时顺序发送34H和42H两个字节。 3.2 LENGTH数据格式 LENGTH共两个字节,由LENID和LCHKSUM组成,LENID表示INFO项的ASCII 码字节数,当LENID=0时,INFO为空,即无该项。LENGTH传输中先传高字节,再传低字节,分四个ASCII码传送。 校检码的计算:D11D10D9D8+D7DD6D5D4+D3D2D1D0,求和后模16余数取反加1。例:I NFO项的ASCII码字节数为18,即LENID=0000 0001 0010B。 D11D10D9D8+D7D6D5D4+D3D2D1D0=0000B+0001B+0010B=0011B,模16余数为0011B,0011B取反加1就是1101B,即LCHKSUM为1101B。 可得: LENGTH为1101 0000 0001 0010B,即D012H。 3.3 CHKSUM数据格式 CHKSUM的计算是除SOI、EOI和CHKSUM外,其他字符按ASCII码值累加求和,所得结果模65536余数取反加1。 例:收到或发送的字符序列是:“~1203400456ABCDFEFC72C C R R”(“~”为SOI,“C C R R”为EOI),则最后五个字符“FC72C C R R”中的FC72是CHKSUM,计算方法是: ‘1’+‘2’+‘0’+…+‘A’+‘B’+…+‘F’+‘E’ = 31H + 32H + 30H + …+ 41H + 42H + …+ 46H + 45H = 038EH 其中‘1’表示1的ASCII码值,‘E’表示E的ASCII码值。038EH模65536余数是

浅析计算机网络通信协议

浅析计算机网络通信协议 发表时间:2009-02-23T16:25:14.153Z 来源:《中小企业管理与科技》供稿作者:李雨冯迪[导读] 计算机与计算机之间的通信离不开通信协议,通信协议实际上是一组规定和约定的集合。两摘要:计算机与计算机之间的通信离不开通信协议,通信协议实际上是一组规定和约定的集合。两台计算机在通信时必须约定好本次通信做什么,是进行文件传输,还是发送电子邮件;怎样通信,什么时间通信等。 关键词:计算机网络通信协议 0 引言 本文就计算机网络通信协议、选择网络通信协议的原则、TCP/IP通信协议的安装、设置和测试等,作进一步的研究和探讨。 1 网络通信协议 目前,局域网中常用的通信协议主要有:NetBEUI协议、IPX/SPX兼容协议和TCP/IP协议。 1.1 NetBEUI协议①NetBEUI是一种体积小、效率高、速度快的通信协议。在微软如今的主流产品,在Windows和Windows NT中,NetBEUI已成为其固有的缺省协议。NetBEUI是专门为几台到百余台PC所组成的单网段部门级小型局域网而设计的。②NetBEUI中包含一个网络接口标准NetBIOS。NetBIOS是IBM用于实现PC间相互通信的标准,是一种在小型局域网上使用的通信规范。该网络由PC组成,最大用户数不超过30个。 1.2 IPX/SPX及其兼容协议①IPX/SPX是Novell公司的通信协议集。与NetBEUI的明显区别是,IPX/SPX显得比较庞大,在复杂环境下具有很强的适应性。因为,IPX/SPX在设计一开始就考虑了多网段的问题,具有强大的路由功能,适合于大型网络使用。②IPX/SPX及其兼容协议不需要任何配置,它可通过“网络地址”来识别自己的身份。Novell网络中的网络地址由两部分组成:标明物理网段的“网络ID”和标明特殊设备的“节点ID”。其中网络ID集中在NetWare服务器或路由器中,节点ID即为每个网卡的ID号。所有的网络ID和节点ID都是一个独一无二的“内部IPX地址”。正是由于网络地址的唯一性,才使IPX/SPX具有较强的路由功能。在IPX/SPX协议中,IPX是NetWare最底层的协议,它只负责数据在网络中的移动,并不保证数据是否传输成功,也不提供纠错服务。IPX在负责数据传送时,如果接收节点在同一网段内,就直接按该节点的ID将数据传给它;如果接收节点是远程的,数据将交给NetWare服务器或路由器中的网络ID,继续数据的下一步传输。SPX 在整个协议中负责对所传输的数据进行无差错处理,IPX/SPX也叫做“Novell的协议集”。③NWLink通信协议。Windows NT中提供了两个IPX/SPX的兼容协议:“NWLink SPX/SPX兼容协议”和“NWLink NetBIOS”,两者统称为“NWLink通信协议”。NWLink协议是Novell公司IPX/SPX协议在微软网络中的实现,它在继承IPX/SPX协议优点的同时,更适应了微软的操作系统和网络环境。Windows NT网络和Windows的用户,可以利用NWLink协议获得NetWare服务器的服务。从Novell环境转向微软平台,或两种平台共存时,NWLink通信协议是最好的选择。 1.3 TCP/IP协议 TCP/IP是目前最常用到的一种通信协议,它是计算机世界里的一个通用协议。在局域网中,TCP/IP最早出现在Unix系统中,现在几乎所有的厂商和操作系统都开始支持它。同时,TCP/IP也是Internet的基础协议。①TCP/IP具有很高的灵活性,支持任意规模的网络,几乎可连接所有的服务器和工作站。但其灵活性也为它的使用带来了许多不便,在使用NetBEUI和IPX/SPX及其兼容协议时都不需要进行配置,而TCP/IP协议在使用时首先要进行复杂的设置。每个节点至少需要一个“IP地址”、一个“子网掩码”、一个“默认网关”和一个“主机名”。在Windows NT中提供了一个称为动态主机配置协议(DHCP)的工具,它可自动为客户机分配连入网络时所需的信息,减轻了联网工作上的负担,并避免了出错。同IPX/SPX及其兼容协议一样,TCP/IP也是一种可路由的协议。TCP/IP的地址是分级的,这使得它很容易确定并找到网上的用户,同时也提高了网络带宽的利用率。当需要时,运行TCP/IP协议的服务器(如Windows NT服务器)还可以被配置成TCP/IP路由器。与TCP/IP不同的是,IPX/SPX协议中的IPX使用的是一种广播协议,它经常出现广播包堵塞,所以无法获得最佳的网络带宽。②Windows中的TCP/IP协议。Windows的用户不但可以使用TCP/IP组建对等网,而且可以方便地接入其它的服务器。如果Windows工作站只安装了TCP/IP协议,它是不能直接加入Windows NT域的。虽然该工作站可通过运行在Windows NT服务器上的代理服务器(如Proxy Server)来访问Internet,但却不能通过它登录Windows NT服务器的域。要让只安装TCP/IP协议的Windows用户加入到Windows NT域,还必须在Windows上安装NetBEUI协议。③TCP/IP协议在局域网中的配置。只要掌握了一些有关TCP/IP方面的知识,使用起来也非常方便。④IP地址。TCP/IP协议也是靠自己的IP地址来识别在网上的位置和身份的,IP地址同样由“网络ID”和“节点ID”(或称HOST ID,主机地址)两部分组成。一个完整的IP地址用32位(bit)二进制数组成,每8位(1个字节)为一个段(Segment),共4段(Segment1~Segment4),段与段之间用“,”号隔开。为了便于应用,IP地址在实际使用时并不直接用二进制,而是用大家熟悉的十进制数表示,如19 2.168.0.1等。在选用IP地址时,总的原则是:网络中每个设备的IP地址必须唯一,在不同的设备上不允许出现相同的IP地址。⑤子网掩码。子网掩码是用于对子网的管理,主要是在多网段环境中对IP地址中的“网络ID”进行扩展。例如某个节点的IP地址为192.168.0.1,它是一个C类网。其中前面三段共24位用来表示“网络ID”;而最后一段共8位可以作为“节点ID”自由分配。⑥网关。网关(Gateway)是用来连接异种网络的设置。它充当了一个翻译的身份,负责对不同的通信协议进行翻译,使运行不同协议的两种网络之间可以实现相互通信。如运行TCP/IP协议的Windows NT用户要访问运行IPX/SPX协议的Novell网络资源时,则必须由网关作为中介。如果两个运行TCP/IP协议的网络之间进行互联,则可以使用Windows NT所提供的“默认网关”(Default Gateway)来完成。⑦主机名。网络中唯一能够代表用户或设备身份的只有IP地址。但一般情况下,众多的IP地址不容易记忆,操作起来也不方便。为了改善这种状况,我们可给予每个用户或设备一个有意义的名称,如“HAOYUN”。 2 选择网络通信协议的原则 2.1 所选协议要与网络结构和功能相一致。如你的网络存在多个网段或要通过路由器相连时,就不能使用不具备路由和跨网段操作功能的NetBEUI协议,而必须选择IPX/SPX或TCP/IP等协议。另外,如果你的网络规模较小,同时只是为了简单的文件和设备的共享,这时你最关心的就是网络速度,所以在选择协议时应选择占用内存小和带宽利用率高的协议,如NetBEUI。当你的网络规模较大,且网络结构复杂时,应选择可管理性和可扩充性较好的协议,如TCP/IP。 2.2 除特殊情况外,一个网络尽量只选择一种通信协议。现实中许多人的做法是一次选择多个协议,或选择系统所提供的所有协议,其实这样做是很不可取的。因为每个协议都要占用计算机的内存,选择的协议越多,占用计算机的内存资源就越多。一方面影响了计算机的运行速度,另一方面不利于网络的管理。事实上一个网络中一般一种通信协议就可以满足需要。

中职-计算机网络技术期末试卷

XX 职教集团(B 卷) 2014—2015学年度第二学期期末考试高二计算机网络基础与应用试卷(命题人:XXX ) 本试卷分第I 卷(客观题)和第II 卷(主观题)两部分。两卷满分100分。考试时间100分钟。第I 卷(共60分)一、选择题(每题2分,共40分)1.120.0.0.2属于( )类网络地址。 A 、A B 、B C 、C D 、D 2.( )是综合布线工程中最常用的传输介质。 A 、双绞线 B 、同轴电缆 C 、光纤 D 、银质电缆3.常见的普通非屏蔽双绞线一般是( )的结构。 A 、1对2根 B 、2对4根 C 、3对6根 D 、4对8根4.RJ-45接口类型的网卡应用于以( )为传输介质的以太网中。 A 、双绞线 B 、细同轴电缆 C 、粗同轴电缆 D 、光纤5.DOS 、OS/2、UNIX 、XENIX 、LINUX 、Windows 、Netware 等是微机上常见的( )。 A 、交换机 B 、路由器 C 、操作系统 D 、网关6.WWW 采用的通信协议是( )传输协议。 A 、文件 B 、文本 C 、超文本 D 、超文件7.IIS 是一种( )服务组件。 A 、WEB B 、DOS C 、OFFICE D 、LINUX 8.可以通过“开始”→“程序”→“( )”→“Internet 服务管理器”来打开IIS 管理器。 A 、服务器配置 B 、管理工具 C 、附件 D 、系统工具 9.( )命令用于显示与IP 、TCP 、UDP 和ICMP 协议相关的统计数据,一般用于检验本机各端口的网络连接情况。 A 、Pathping B 、Netstat C 、Tracert D 、Arp 10.如果一封邮件需要同时传给几个人,每个地址之间可以用( )隔开。 A 、逗号 B 、句号 C 、冒号 D 、顿号 11.SMTP 服务器主要是用于( )方面。 A 、网页浏览 B 、文件传输 C 、新闻服务 D 、邮件发送 12.通过“控制面板”中的( )进行安装网卡驱动程序。 A 、网络和Internet 连接 B 、添加/删除硬件 C 、性能和维护 D 、安全中心 13.用IE 浏览器浏览网页,在地址栏中输入网址时,通常可以省略的是____。 A 、http:// B 、ftp:// C 、mailto:// D 、news:// 14.下面是Web 网页的保存格式类型,可以以纯文本格式保存网页信息的是____。班级考 号姓 名

各种通信协议

分层及通信协议 协议软件是计算机通信网中各部分之间所必须遵守的规则的集合,它定义了通信各部分交换信息时的顺序、格式和词汇。协议软件是计算机通信网软件中最重要的部分。网络的体系结构往往都是和协议对应的,而且,网络管理软件、交换与路由软件以及应用软件等都要通过协议软件才能发生作用。 一、通信协议 1、什么是通信协议 通信协议(简称协议Protoco l),是指相互通信的双方(或多方)对如何进行信息交换所一致同意的一整套规则。一个网络有一系列的协议,每一个协议都规定了一个特定任务的完成。协议的作用是完成计算机之间有序的信息交换。 通信网络是由处在不同位置上的各节点用通信链路连接而组成的一个群体。通信网必须在节点之间以及不同节点上的用户之间提供有效的通信,即提供有效的接入通路。在计算机通信网中,将这种接入通路称为连接(connection)。建立一次连接必需要遵守的一些规则,这些规则也就是通信网设计时所要考虑的主要问题。 (l)为了能在两个硬件设备之间建立起连接,应保证在源、宿点之间存在物理的传输媒介,在该通路的各条链路上要执行某种协议。 如果传输线路使用电话线,则要通过调制解调器将信号从数字转换成模拟的,并在接收端进行反变换。 如果用的是数字传输线路,则在数据处理设备和通信设备之间,必须有一个数字适配器,以便将数字信号的格式转换成两种设备各自所期望的形式。 为了在两个端设备之间互换数据,需要协调和同步,调制解调器和数字适配器必须执行它们自己的协议。 无论是模拟的还是数字的通信设备,调制解调器和数字适配器的状态必须由接到节点上的设备来控制,这里必定有一个物理的或电气的接口来执行这种功能,执行某种适当的协议来达到这一控制目的。 (2)在计算机通信网中,许多信息源都是突发性的(bursty),问题是要利用信息的这种突发性质来降低消耗在线路上的费用,由此开发了许多共享通信资源的技术。所谓共享,是指允许多个用户使用同一通信资源,这就产生了多用户的接入问题。多路接入

计算机网络应用 计算机网络通信协议概述

计算机网络应用计算机网络通信协议概述 计算机网络是一个各种信息交换的场所,所有接入网络的计算机都可以通过彼此之间的物理连接设备进行信息的交换。但是,单纯依靠这些物理设备并不能实现信息的交换,这就好像计算机只有硬件系统是无法使用的,它得需要软件系统来支配。 因此,计算机网络需要通过协议,来支配数据的传输,才能发挥网络通信的作用。协议在计算机网络中,具有以下几个方面的特点: ●协议中的双方都必须了解协议,并且事先要知道所要完成任务的所有步骤; ●协议中的双方都必须同意并遵从它; ●协议必须是清楚的,每一步都要明确定义,保证不会引起误解。 1.什么是通信协议 在计算机网络中用于规定信息的格式以及如何发送和接收信息的一套规则被称为网络协议或通信协议。它是实现计算机与计算机之间实现数据传输、资源共享等功能的基础。例如,一次通信具体做什么,是进行文件传输?还是发送电子邮件?如何建立连接?如何相互识别?在什么时间进行通信等。只有遵从这个约定计算机间才能够实现相互通信和交流。 目前,在Internet上使用的TCP/IP协议就是一个典型的例子,任何计算机在接入Internet 后,只要运行TCP/IP协议才能够访问和使用Internet上的资源,若其不支持TCP/IP协议,那么它将是被孤立的一台计算机,无法实现与其它接入Internet的计算机间的相互通信。 通常,计算机网络通信协议(Protocol)有3个基本要素构成 ●语法(Syntax)即控制信息或数据的结构和格式 ●语义(Semantics)即需要发出何种控制信息,完成何种动作以及作出何种应答 ●时序(Timing)即通信双方信息交互的先后顺序及速率匹配和排序等 2.常见的通信协议 计算机网络通信协议遍及OSI参考模型的各个层次,如大家熟悉的TCP/IP、HTTP、FTP 等协议,到OSPF、IGP等协议,有上千种之多。 目前,在局域网中常见的3个网络通信协议分别是TCP/IP协议、IPX/SPX协议和NetBEUI 协议。除了在局域网外,还有广域网中,如X.25协议、HDLC协议、PPP协议等。 另外,由于网络节点之间关系的复杂性,在制定协议时,通常将其简单化,即将复杂成分分解成一些简单成分,最终复合起来。其层次结构具有如下几方面的特点。 ●结构中的每一层都规定有明确的任务及接口标准; ●将物理通信线路作为最底层,它使用从高层传输的参数,也是为高层提供服务的基 础 ●将用户的应用程序作为最高层 ●除了最高层之外,中间的每一层都要向其上一层提供服务,同时又是下一层的用户

大学生计算机网络专业职业规划书

大学生计算机网络专业职业规划书 【阶段目标】 (1)大一大二努力学好本专业知识的的同时,并加强各方面素质的提高。学会与人交流,加强与人合作的精神,加强团体意识。 (2)大三大四,多接触社会,积极锻炼,加强动手能力,勤于实践。 (3)毕业后,找到一份喜欢的工作,努力奋斗,不断提高,做出好的业绩。 【总体目标】 1.掌握计算机科学与技术的基本理论、基本知识; 2.掌握计算机系统的分析和设计的基本方法; 3.具有研究开发计算机软、硬件的基本能力; 4.了解与计算机有关的法规; 5.了解计算机科学与技术的发展动态; 6.掌握文献检索,资料查询的基本方法,具有获取信息的能力; 7.懂得基本的职业素质,有很强的社会适应能力。了解各行各业的基本的职业规则。 8.能在IT行业担任数据库项目管理员。 【个人分析】 本人的专业知识水平还没真正形成,知识结构混乱,知识体系不明朗,对一些基本的计算机技能都不能自己解决,明显不能适应社会的要求。在各方面的素质也是处于低水平状态。我是一个诚实正直的人,因此结交了很多的朋友;由于自身条件的缘故,偶尔也会产生自卑的心理,我没有开放性思维的创新,只有守规矩的勤奋,因而我的学习成绩总是

处于中等水平;我的情绪容易波动,但我会努力克制,不让它表现出来。本人的性格不够开朗,很少与人交流,在这方面是不太利于将来就业的,我知道长期的处于不交流的状态不太利于自身的交际水平的提高。本人的兴趣爱好也不够广泛,没什么特长,对于就业竞争是完全处于劣势状态的。不过,我并不会因此而放弃努力,我会用努力来填补。我做事有点优柔寡断,主要是考虑事情太多,以致于办事时不够果断,虽然有那份能力却没有那办事的勇气。因为我从小生活在农村,让我体验到了什么是艰辛生活,从而培养了我吃苦耐劳的精神,也让我看清了社会是多么的现实。 个人优势:性格外向,有较强的交际能力,敢于接受挑战,友善待人,做事仔细认真,锲而不舍,持之以恒。勤奋学习,敢于面对自己的不足和缺点,并吸取教训及时改正,能很好的团结周围的人,并互相帮助,有较强的责任心和集体主义精神。个人劣势:缺乏自信心,为人有点古板,缺少创造性,思维单一,不够灵活。专业知识水平不够高。 【社会环境分析】 目前,国内外就业的形势异常严峻,加之大学生数目在速度上升,社会对大学毕业生的要求也越来越高,导致许多大学生面临着毕业后无去向的问题。特别是计算机专业的毕业生越来越多,就业竞争非常激烈,使我们面临着巨大的就业竞争压力。就业与创业的政策,也为大学生提供了很多就业与创业机会,比如鼓励大学生走向基层,走向农村等。现在经济发展速度奇快,对各种各样的专业需求也高,但是要求专业知识必须过硬,企业要求毕业生有一定的工作经验。从1999年起,我国高校连续扩大招生规模,高校毕业生数量呈跳跃式增长,2006年全国普通高等学校的毕业生将突破420万人。而实际上,社会对高校毕业生的需求量增加幅度并不明显,大学生就业竞争空前激烈。目前,人才市场上被企业一致看好的抢手人才,90%以上都是既有较高学历又有工作经验的人才,而刚刚走上社会的大学生由于缺乏工作经验,更出现令人尴尬的疲软状态。

常用几种通讯协议

常用几种通讯协议 Modbus Modbus技术已成为一种工业标准。它是由Modicon公司制定并开发的。其通讯主要采用RS232,RS485等其他通讯媒介。它为用户提供了一种开放、灵活和标准的通讯技术,降低了开发和维护成本。 Modbus通讯协议由主设备先建立消息格式,格式包括设备地址、功能代码、数据地址和出错校验。从设备必需用Modbus协议建立答复消息,其格式包含确认的功能代码,返回数据和出错校验。如果接收到的数据出错,或者从设备不能执行所要求的命令,从设备将返回出错信息。 Modbus通讯协议拥有自己的消息结构。不管采用何种网络进行通讯,该消息结构均可以被系统采用和识别。利用此通信协议,既可以询问网络上的其他设备,也能答复其他设备的询问,又可以检测并报告出错信息。 在Modbus网络上通讯期间,通讯协议能识别出设备地址,消息,命令,以及包含在消息中的数据和其他信息,如果协议要求从设备予以答复,那么从设备将组建一个消息,并利用Modbus发送出去。 BACnet BACnet是楼宇自动控制系统的数据通讯协议,它由一系列与软件及硬件相关的通讯协议组成,规定了计算机控制器之间所有对话方式。协议包括:(1)所选通讯介质使用的电子信号特性,如何识别计算机网址,判断计算机何时使用网络及如何使用。(2)误码检验,数据压缩和编码以及各计算机专门的信息格式。显然,由于有多种方法可以解决上述问题,但两种不同的通讯模式选择同一种协议的可能性极少,因此,就需要一种标准。即由ISO(国际标准化协会〉于80年代着手解决,制定了《开放式系统互联(OSI〉基本参考模式(Open System Interconnection/Basic Reference Model简称OSI/RM)IS0- 7498》。 OSI/RM是ISO/OSI标准中最重要的一个,它为其它0SI标准的相容性提供了共同的参考,为研究、设计、实现和改造信息处理系统提供了功能上和概念上的框架。它是一个具有总体性的指导性标准,也是理解其它0SI标准的基础和前提。 0SI/RM按分层原则分为七层,即物理层、数据链路层、网络层、运输层、会话层、表示层、应用层。 BACnet既然是一种开放性的计算机网络,就必须参考OSIAM。但BACnet没有从网络的最低层重新定义自己的层次,而是选用已成熟的局域网技术,简化0SI/RM,形成包容许多局 域网的简单而实用的四级体系结构。 四级结构包括物理层、数据链路层、网络层和应用层。

计算机网络技术专业(中专)人才培养方案(汉)

《计算机网络技术(中专)》专业人才培养方案(汉) 一、专业名称 计算机网络技术 二、入学要求 初中毕业生或具有同等学历者。 三、基本学制 3年。 四、培养目标 本专业主要培养与我国现代化建设要求相适应,德、智、体、美全面发展,具有与本专业相适应的文化水平和良好的职业道德,掌握本专业的基础知识和基本技能,在生产、服务和管理第一线工作的计算机办公应用、硬件维护、网络应用和软件应用的初、中级应用型专业人员。 五、职业范围 六、人才规格 本专业毕业生应具有以下职业素养(职业道德和产业文化素养)、专业知识和技能: (一)职业素养 1、是良好的政治素质和较强的法制观念; 2、培养良好的职业道德、敬业精神和科学素养。 3、掌握阅读、理解外文软件文档所必备的外语知识。 4、掌握数据通信与接口技术,计算机网络和计算机安全的基本知识。 5、具有结构化程序设计的原则及方法等基本知识,事件驱动程序设计和面向对象程序设计的基本知识,网络应用编程的知识。

6、有网络硬件和软件设置、安装和维护的知识。 7、具有网络多媒体应用背景下,使用各种常用工具软件的基本知识。 8、具有通信网络接入技术的基本知识。 (二)专业知识和技能 专业(技能)方向1:网络技术及应用、管理 1、具有网络技术专业必需的计算机软硬件配置、网络布线、网络操作系统、网络协议等基础知识; 2、具备网页设计的知识与技能; 3、具有熟练的计算机操作技能,能够进行网络操作系统和常用软件的安装与维护; 4、具有搭建和配置小型局域网的能力; 5、具有网络监控和维护基础知识,能够使用网络管理工具进行网络监控和维护; 6、能够进行网站的建立、发布、维护与管理; 7、熟悉国家有关法律法规,具有网络安全意识,掌握网络安全的基本技能。 专业(技能)方向2:办公自动化及设备维护 1、具有熟练的计算机录入与排版技能和使用计算机的能力; 2、具有熟练进行操作系统和常用软件的安装与使用的能力; 3、掌握程序设计基本方法,能编制简单程序; 4、熟悉计算机硬件的组装与维护,具有一定的营销能力; 5、熟悉计算机网络与产品,能进行计算机网络的管理与维护; 6、掌握常用办公软件的使用。 专业(技能)方向3:网页制作及网站维护 1、具有熟练的计算机录入与排版技能和使用计算机的能力; 2、掌握设计网页工具软件; 3、掌握多媒体素材处理软件; 4、熟悉网站架构; 5、具备网页设计的知识与技能; 七、主要衔接专业 高职:计算机应用技术、计算机网络技术 八、课程结构

(参考)应用层网络协议分析

HTTP网页访问的协议分析 在协议模型中,应用层是用户与计算机进行实际通信的地方,只有当马上就要访问网络时,才会实际上用到这一层。例如,我们可以从系统中卸载掉任何联网组件,如TCP/IP、网卡(NIC)等,仍可以使用IE来浏览本地的HTML文档。可如果我们试图浏览必须使用HTTP 的文档,或者用FTP下载一个文件,事情就没那么容易了。此时,IE将尝试访问应用层来响应这一类请求。因此,应用层也可被看作是实际应用程序和下一层(OSI模型中为表示层,TCP/IP模型中为传输层)之间的接口,它通过某种方式把应用程序的有关信息送到协议栈的下面各层。 应用层协议则是实现用户和系统之间接口的工具,用户可通过这些协议方便地访问网络资源,实现信息共享,HTTP则是其中一种。 HTTP(超文本传输协议)是客户端浏览器或其他程序与Web服务器之间的应用层通信协议。在Internet上的Web服务器上存放的都是超文本信息,客户机需要通过HTTP协议传输所要访问的超文本信息。HTTP包含命令和传输信息,不仅可用于Web访问,也可以用于其他因特网/内联网应用系统之间的通信,从而实现各类应用资源超媒体访问的集成。 HTTP是基于请求/响应方式的。它的运作方式很简单:一个客户机与服务器建立连接后,发送一个请求给服务器,服务器接到请求后,给予相应的响应报文。其中,“客户”与“服务器”是一个相对的概念,只存在于一个特定的连接期间,即在某个连接中的客户在另一个连接中可能作为服务器。因此,当网络中的任一台拥有可被访问的页面的计算机被其它计算机访问时,它便是服务器,而当它访问其它浏览非本地的HTTP文档时,它便是客户端。因此,我们可以在局域网中搭建简单的环境来观察分析访问HTTP的工作流程。 最简单的情况可能是在用户和服务器之间通过一个单独的连接来完成,如图1-1: 图1-1 根据图连接好以及配好相应IP后,测试网络互通。而后,在server上建立HTTP服务器。首先在控制面板\添加删除程序\添加删除Windows组件中查看Internet信息服务(IIS)是否装上,若没有则安装,若安装好,则可以进入管理工具\Internet服务管理器,在默认WEB站点下建立自己的站点及目录。而后,在client浏览器地址栏中键入http://31.0.0.1便可浏览位于server端默认站点目录下网页。 在此过程中,我们通过Ethereal所抓的数据包如下: 1、数据链路层: