计网实验2

合集下载

实训实验报告(最新)

实训实验报告(最新)

实训实验报告(精选6篇)一、实习时间20Xx年X月18日到X月10日二、实习地点xxx三、实习目的通过理论联系实际,巩固所学的知识,提高处理实际问题的能力,为顺利毕业进行做好充分的准备,并为自己能顺利与社会环境接轨做准备。

四、实习内容能对电脑交易和具体的电脑安装步骤进行了解,并查阅资料巩固自我缺漏的电脑经验。

能将具体的计算机知识应用到实际中,在电脑交易的同时,将自己的所学所想所感付诸实践。

能够熟练掌握一定的计算机技巧,比如安装系统,安装插线,识别型号,处理图形和flash等。

能够与别人进行一定程度的计算机交流,并且提供各种买卖信息以及电脑性能好坏的识别。

能够推销贩卖计算机,并且积累丰厚的社会交流经验和提升自我的语言表达能力。

五、实习体会职高生活让我对计算机理论知识有了一定的了解。

但实践出真知,唯有把理论与实践相结合,才能更好地为社会服务。

经过实践和实习,我对未来充满了美好的憧憬,在未来的日子,我将努力做到以下几点:一、继续学习,不断提升理论涵养。

在信息时代,学习是不断地汲取新信息,获得事业进步的动力。

作为一名青年学子更应该把学习作为保持工作积极性的重要途径。

走上工作岗位后,我会积极响应单位号召,结合工作实际,不断学习理论、业务知识和社会知识,用先进的理论武装头脑,用精良的业务知识提升能力,以广博的社会知识拓展视野。

二、努力实践,自觉进行角色转化。

只有将理论付诸于实践才能实现理论自身的价值,也只有将理论付诸于实践才能使理论得以检验。

同样,一个人的价值也是通过实践活动来实现的,也只有通过实践才能锻炼人的品质,彰显人的意志。

必须在实际的工作和生活中潜心体会,并自觉的进行这种角色的转换。

三、提高工作积极性和主动性实习,是开端也是结束。

展现在自己面前的是一片任自己驰骋的沃土,也分明感受到了沉甸甸的责任。

在今后的工作和生活中,我将继续学习,深入实践,不断提升自我,做好个人工作计划,努力创造业绩,继续创造更多的价值。

继电保护 及二次回路详细

继电保护 及二次回路详细

第一章继电保护工作基本知识第一节电流互感器电流互感器(CT)是电力系统中很重要的电力元件,作用是将一次高压侧的大电流通过交变磁通转变为二次电流供给保护、测量、录波、计度等使用,本局所用电流互感器二次额定电流均为5A,也就是铭牌上标注为100/5,200/5等,表示一次侧如果有100A或者200A 电流,转换到二次侧电流就是5A。

电流互感器在二次侧必须有一点接地,目的是防止两侧绕组的绝缘击穿后一次高电压引入二次回路造成设备与人身伤害。

同时,电流互感器也只能有一点接地,如果有两点接地,电网之间可能存在的潜电流会引起保护等设备的不正确动作。

如图1.1,由于潜电流I X的存在,所以流入保护装置的电流I Y≠I,当取消多点接地后I X=0,则I Y=I。

在一般的电流回路中都是选择在该电流回路所在的端子箱接地。

但是,如果差动回路的各个比较电流都在各自的端子箱接地,有可能由于地网的分流从而影响保护的工作。

所以对于差动保护,规定所有电流回路都在差动保护屏一点接地。

图1.1电流互感器实验1、极性实验功率方向保护及距离保护,高频方向保护等装置对电流方向有严格要求,所以CT必2、变比实验须做极性试验,以保证二次回路能以CT的减极性方式接线,从而一次电流与二次电流的方向能够一致,规定电流的方向以母线流向线路为正方向,在CT本体上标注有L1、L2,接线盒桩头标注有K1、K2,试验时通过反复开断的直流电流从L1到L2,用直流毫安表检查二次电流是否从K1流向K2。

线路CT本体的L1端一般安装在母线侧,母联和分段间隔的CT本体的L1端一般都安装在I母或者分段的I段侧。

接线时要检查L1安装的方向,如果不是按照上面一般情况下安装,二次回路就要按交换头尾的方式接线。

CT需要将一次侧电流按线性比例转变到二次侧,所以必须做变比试验,试验时的标准CT是一穿心CT,其变比为(600/N)/5,N为升流器穿心次数,如果穿一次,为600/5。

对于二次是多绕组的CT,有时测得的二次电流误差较大,是因为其他二次回路开路,是CT 磁通饱和,大部分一次电流转化为励磁涌流,此时应当把其他未测的二次绕组短接即可。

计网二班张寒星

计网二班张寒星
单击【查找】按钮,系统将在【页】列表中显示出所有包含“三国演义”这个词的页的名称。
单击要进入的页,例如“图片”,使其高亮度显示。单击【转到页】按钮,即可进入显示图标[第2页三国演义],并在有关键词“图片”的地方以高亮度的方式显示出来。
图7-7-4【查找】对话框
(4)单出【返回】按钮,系统退出框架图标[四部古典名著],接着运行下面的显示图标[谢谢使用],结果在屏幕上显示:谢谢使用。程序全部运行结束。
(2)【历史记录】方式的用法:单击【历史记录】按钮,系统弹出【最近的页】列表窗口,如图7-7-3所示。这里按顺序记录了本次进入系统以来所访问过的页的名称,双击某一选定的页的名称,即可进入对应的页面。
图7-7-3【历史记录】列表框
(3)【查找】按钮的用法:单击【查找】按钮,系统弹出【查找】窗口,如图7-7-4所示。例如要查找含有“三国演义”关键词的页:在【字/短语】区域中输入:三国演义。
检查:
课件运行正常,实现了Authorware综合多种媒体介质的功能。
评估:
作品的自我评价
工作成果
考核要点(知识、能力、素质)及比例
工作评价
小组评价
组长签名:年月日
组内互评
组员签名:年月日
教师评价
教师签名:年月日
步骤3:打开框架图标[四部古典名著],其结构如图7-7-2所示。它实际上是一个显示图标和一个带有8个挂接图标的交互图标。这8个挂接图标就是导航图标,其导航方式的缺省值依次是题目中要求的8种方式。查看后关闭此窗口,不做任何修改,全用缺省值。
图7-7-2框架图标的内部结构设计窗口
步骤4:调试运行。
(1)选择工具栏【运行】。单击下列按钮:【第一页】、【上一页】、【下一页】、【最后一页】很容易看到各页之间的跳转关系。

最新网络实验二组网实验实验报告

最新网络实验二组网实验实验报告

最新网络实验二组网实验实验报告
实验目的:
1. 掌握网络实验中二组网的基本原理和配置方法。

2. 学习如何通过实验环境搭建和优化网络性能。

3. 理解网络故障诊断的基本流程和处理方法。

实验环境:
1. 硬件设备:交换机、路由器、计算机、网络测试仪器。

2. 软件工具:网络协议分析软件、虚拟局域网(VLAN)配置工具、网络模拟软件。

实验步骤:
1. 设计网络拓扑结构,明确各设备之间的连接关系。

2. 配置交换机和路由器,包括VLAN划分、路由协议配置等。

3. 在计算机上设置IP地址和子网掩码,确保设备间可以通信。

4. 使用网络测试工具进行连通性测试,记录测试结果。

5. 分析网络性能,如传输速率、延迟等,并尝试进行优化。

6. 模拟网络故障,进行故障诊断和恢复操作。

实验结果:
1. 成功搭建了二组网环境,各设备间通信正常。

2. VLAN配置正确,不同VLAN间的隔离效果符合预期。

3. 路由协议配置有效,网络中的路由选择正确。

4. 网络性能测试显示,传输速率和延迟均在可接受范围内。

5. 通过调整配置参数,优化了部分网络性能。

6. 故障模拟和恢复操作顺利,加深了对网络故障处理的理解。

实验结论:
通过本次实验,我们对二组网的搭建、配置和优化有了更深入的理解。

同时,我们也学习到了如何进行网络故障的诊断和处理,这将对我们
未来在网络管理和维护方面的工作大有裨益。

实验思考题

实验思考题

注意事项(强调)1.装样时样品快、净、实,样品高度为2 mm左右。

做一根,装一根。

2.橡皮圈一定要在石蜡油液面上。

3.三中部:样品部位处于水银球的中部;水银球位于b形管上下两叉口管的中部;外管中所装的待测液的中线对准温度计水银球的中部。

4.浴液高度刚好达b形管叉口处上边即可。

5.测定熔点时,开始升温可以较快,越接近熔点,升温速度应越慢。

6.先测温度低再测温度高的样品。

思考题(提问)1.第一次使用过的熔点测定管,能否等到样品凝固后用于第二次测量?答:不行。

因为第一次测量固体熔解时有些物质会发生部分分解,有些则会转变成具有不同熔点的其他结晶形式。

2.下列各种情况对熔点的测定有何影响?答:(1)毛细管未完全熔封:则浴液会流进样品中,熔点偏低,熔程增长;(2)毛细管不大干净;则熔点偏低,熔程增长;(3)升温太快:则初熔不准确,熔点偏高,熔程增长;(4)样品装得不紧密:则熔程增长;(5)毛细管壁太厚:传热慢,则熔点偏高。

(6)样品位置未与水银球对齐:样品位置偏低,熔点偏高;位置偏高,熔点偏低。

思考题1.在进行蒸馏操作时应注意哪些问题?答:进行蒸馏操作时应注意如下几个问题:(1) 蒸馏前必须加入沸石防止暴沸。

(2) 安装仪器应根据酒精灯外焰确定铁圈的高度,按照“从下到上,从左到右”顺序安装,拆卸时则相反;温度计水银球的上缘恰好与蒸馏瓶支管的下缘在同一水平线上;除接液管与接受瓶之间外,整个装置中的各部分都应装配紧密,先通冷凝水后加热;蒸馏结束时先移去热源后关闭冷凝水。

(4) 加热速度要适当,使馏出液的蒸出速度为1 ~ 2滴·S-1为宜。

2.蒸馏时加入沸石的作用时什么?如果蒸馏前忘记加沸石,液体接近沸点时,你将如何处理?当重新进行蒸馏时,用过的沸石能否继续使用?为什么?答:加入沸石的作用是防止暴沸。

一旦发现没有加沸石,则应立即停止加热,等溶液稍微冷却后再补加沸石(接近沸点温度时不能补加!),然后继续加热。

计网二班-企业局域网组建-毕业论文设计

计网二班-企业局域网组建-毕业论文设计

毕业设计论文企业局域网组建学生姓名:李佳彤学号: G130101054系部:电子信息工程系专业:计算机网络技术指导教师:任靖二零一五年一月摘要信息话浪潮风起云涌的今天,企业内部网络的的建设已经成为提升企业核心竞争力的关键因素。

企业网已经越来越多的被人们提到,利用网络技术,现代企业可以在供应商、合作伙伴、员工之间实现优化的信息沟通。

这直接关系到企业能否获得关键竞争优势。

近年来越来越多的企业都在加快建设自身信息网络,而其中绝大多数都是中小型企业。

目前我国企业尤其是中小型网络建设正如火如荼的进行着,本方案以中小型企业内部局域网的组件需求、实际管理为出发点,从中小型企业局域网的管理需求和传统局域网技术入手,研究了局域网技术在企业管理中的应用。

关键词:网络技术企业局域网企业内部网络目录摘要 (1)1.绪论 (3)2.组网方案 (5)3.可行性研究和需求分析 (7)3.1技术可行性 (7)3.1.1NAT技术 (7)3.1.2 VLAN技术 (8)3.2需求分析 (8)3.2.1带宽性能需求 (8)3.2.2网络安全需求 (9)3.2.3应用服务需求 (9)3.3设计所需环境 (9)3.3.1硬件要求 (9)3.3.2软件要求 (9)4.交换模块与接入模块 (10)4.1核心层交换机配置 (10)4.1.1设置核心交换机名称 (10)4.1.2启动三层交换机的路由功能 (10)4.1.3核心交换机接口设置 (10)4.2汇聚层交换机配置 (11)4.2.1设置交换机名称 (11)4.2.2配置G0/1接口 (11)4.2.3默认路由设置 (11)4.3路由器基本参数配置 (11)4.4设置路由器R-2811-A各接口参数 (13)4.5NAT设置 (13)4.5.1设置路由器NA T (14)4.5.2定义内部外接口 (14)4.6路由器的安全问题 (15)4.61对外禁用telnet协议 (15)4.6.2针对DoS攻击的设计 (15)5.配置过程与VPN测试 (16)5.1配置过程 (16)5.2VPN访问连接测试 (16)6.总结 (18)参考文献 (19)致谢 (20)1.绪论1.1课题的背景随着近年来企业信息化建设的不断深入,企业的运作越来越融入计算机网络,企业的沟通、应用、财务、决策、会议等数据流都在企业网络上传输,全球的企业都在快速的进入一个崭新的网络信息时代,企业信息化建设已经成为衡量一个企业实力的重要标志。

小学科学实验操作题完整版

小学科学实验操作题完整版

小学科学实验操作题 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】小学科学实验操作题一、请你设计一个实验方案,斜面是否省力?1、实验题目:斜面是否省力?2、我的猜测:利用斜面可以省力。

3、变量:是否利用斜面。

4、常量:物体提升的高度、提升的重物、测力计5、实验过程:①用测力计测出直接提升重物所使用的力的大小;②测出利用斜面提升重物到相同高度所使用的力的大小;③比较两次的力的大小,得出结论。

(结论:利用斜面可以省力)二、斜面的坡度大小(倾斜角度)是否对省力多少有影响?请你设计一个实验方案来研究这个问题。

1、我的猜想:斜面的的坡度大小对省力多少有影响,坡度越小越省力。

2、需要改变的条件:斜面的坡度大小?3、不改变的条件:斜面的高度、测力计、小重物 _。

4、操作方法:①用长度不同的四块木板搭在同一高度的木块上,形成四个相同高度不同坡度的斜面;②分别利用不同的斜面提升重物到相同的高度,并用测力计测出所使用的力的大小;③比较四次提升重物所使用的力的大小,得出结论。

请你仔细分析实验结果,说说你的发现:利用斜面可以省力,而且斜面的坡度越小越省力。

三、要比较报纸和普通白纸哪一种纸的抵抗弯曲能力更强,请你设计一个实验方案,要求写出题目,材料,实验步骤。

1、实验题目:报纸和普通白纸,哪种纸的抵抗弯曲能力更强。

2、我的猜想:普通白纸的抵抗弯曲能力更强。

3、实验材料:报纸、白纸、小木块、大头针4、变量:纸张的不同(白纸和报纸)5、常量:纸张的大小、小木块之间的距离(桥墩的距离)6、实验过程:①用两块小木块做成桥墩,把报纸放在上面做桥面,看能放几根大头针。

②把普通白纸放在桥墩上,看能放几根大头针。

③比较哪一种纸放的大头针多,哪种纸的抵抗弯曲能力就更强。

四、检验电磁铁磁力与线圈圈数关系的研究计划。

1、研究的问题:电磁铁的磁力与线圈圈数多少有关系吗?2、我的假设:线圈圈数多,磁力大;线圈圈数少,磁力小。

HUST-计算机网络实验-socket编程

HUST-计算机网络实验-socket编程

HUST-计算机⽹络实验-socket编程随笔---HUST计⽹实验:socket编程博主⼤三在读,第⼀次写随笔,⽔平有限,就当记录⼀下学习的过程,顺便⾯试前复习项⽬的时候看看。

实验要求:编写⼀个 Web 服务器软件,要求如下:基本要求:1.可配置 Web 服务器的监听地址、监听端⼝和主⽬录(不得写在代码⾥⾯,不能每配置⼀次都要重编译代码);2.能够单线程处理⼀个请求。

当⼀个客户(浏览器,如输⼊“URL:http:// 202.103.2.3/index.html”)连接时创建⼀个连接套接字;3.从连接套接字接收 http 请求报⽂,并根据请求报⽂的确定⽤户请求的⽹页⽂件;4.从服务器的⽂件系统获得请求的⽂件。

创建⼀个由请求的⽂件组成的 http 响应报⽂。

;5.经 TCP 连接向请求的浏览器发送响应,浏览器可以正确显⽰⽹页的内容;⾼级要求:1.能够传输包含多媒体(如图⽚)的⽹页给客户端,并能在客户端正确显⽰;2.在服务器端的屏幕上输出请求的来源(IP 地址、端⼝号和 HTTP 请求命令⾏);3.在服务器端的屏幕上能够输出对每⼀个请求处理的结果;4.对于⽆法成功定位⽂件的请求,根据错误原因,作相应错误提⽰,并具备⼀定的异常情况处理能⼒。

Socket套接字介绍:Socket 是⼀个抽象概念,代表了通信双⽅的端点(Endpoint),通信双⽅通过 Socket 发送或接收数据。

为了将应⽤程序和底层的⽹络通信协议屏蔽开来,采⽤套接字(Socket)这样⼀个抽象概念来作为应⽤程序和底层⽹络之间的应⽤程序编程接⼝(API)。

因为⽹络应⽤程序是进程之间的通信,为了唯⼀的标识通信对等⽅的通信进程,套接字必须包含 2 种信息:(1) 通信对等⽅的⽹络地址。

(2) 通信对等⽅的进程号,通常叫端⼝号。

构造⽅法(常⽤):ServerSocket(int port, int backlog, InetAddress bindAddr) throws IOException。

国家电网稳态,机考练习卷,5

国家电网稳态,机考练习卷,5

国家电网稳态,机考练习卷,51.用于连接220kV和110kV两个电压等级的降压变压器,其两侧绕组的额定电压应为()。

(2分)A.220 kV,110 kVB.220 kV,115 kVC.242 kV, 121 kVD.220 kV, 121 kV ★标准答案:D ☆考生答案:答题结果:错误!2.对水力发电机组特点描述不正确的是()。

(1分)A.无调节水电机组发出功率任何时刻都取决于天然(水)流量B.投入和退出运行时,费用低、时间短C.承担急剧变动负荷时,费用低,调整快D.总能承担它额定容量范围内的负荷★标准答案:D ☆考生答案:答题结果:错误!3.对功率分点描述正确的是()(2分)A.功率是由两侧向其流动的B.功率是由单侧向其流动的C.其有功为最小值D.其无功为最小值★标准答案:A ☆考生答案:答题结果:错误!4.只是改变了无功的分布,而不会增加或减少无功功率调压方式是()(2分)A.发电机B.变压器分接头C.并联电容D.串联电容★标准答案:B ☆考生答案:答题结果:错误!5.依据系统典型日负荷曲线,如图所示,计算日平均负荷和全天消耗的电能为()。

(1分)A.70MW,1020 MWHB.80MW, 1680MWHC.85MW,2040MWHD.95MW,2880MWH ★标准答案:C ☆考生答案:答题结果:错误!6.在小接地系统中,发生()故障后,非故障相电压升高倍,线电压仍然对称,允许继续运行一段时间,直到排除故障。

(2分)A.三相短路B.相间短路C.两相接地短路D.单相接地短路★标准答案:D ☆考生答案:答题结果:错误!7.在牛顿-拉夫逊潮流计算法中,求解修正方程目的是()(2分)A.求雅克比矩阵B.求不平衡量C.求解初值D.求解迭代修正值★标准答案:D ☆考生答案:答题结果:错误!8.计算环网初步潮流时()。

(2分)A.仅考虑网络电压损耗B.仅考虑网络功率损耗C.同时考虑功率和电压损耗D.不计网络功率和电压损耗★标准答案:D ☆考生答案:答题结果:错误!9.负荷为纯感性无功功率时,线路电压分布是()(2分)A.首端电压高于末端B.首端电压低于末端C.首端电压等于于末端D.不确定★标准答案:A ☆考生答案:答题结果:错误!10.系统装机容量1100MW,总负荷1000MW,其中汽轮发电机组100MW/台*6,调差系数3.5%;水轮发电机组100MW/台*5,调差系数2.5%;负荷调节效应系数KL=0,汽轮发电机组100MW/台*6全部参加调频,则系统单位调节功率Ks为()MW/HZ。

电子测量技术第二版答案

电子测量技术第二版答案

电子测量技术第二版答案【篇一:电子测量技术基础课后习题答案_1-8章张永瑞(第三版)】:①测量;②电子测量。

答:测量是为确定被测对象的量值而进行的实验过程。

在这个过程中,人们借助专门的设备,把被测量与标准的同类单位量进行比较,从而确定被测量与单位量之间的数值关系,最后用数值和单位共同表示测量结果。

从广义上说,凡是利用电子技术进行的测量都可以说是电子测量;从狭义上说,电子测量是指在电子学中测量有关电的量值的测量。

1.2 叙述直接测量、间接测量、组合测量的特点,并各举一两个测量实例。

答:直接测量:它是指直接从测量仪表的读数获取被测量量值的方法。

如:用电压表测量电阻两端的电压,用电流表测量电阻中的电流。

间接测量:利用直接测量的量与被测量之间的函数关系,间接得到被测量量值的测量方法。

如:用伏安法测量电阻消耗的直流功率p,可以通过直接测量电压u,电流i,而后根据函数关系p=ui,经过计算,间接获得电阻消耗的功耗p;用伏安法测量电阻。

组合测量:当某项测量结果需用多个参数表达时,可通过改变测试条件进行多次测量,根据测量量与参数间的函数关系列出方程组并求解,进而得到未知量,这种测量方法称为组合测量。

例如,电阻器电阻温度系数的测量。

1.3 解释偏差式、零位式和微差式测量法的含义,并列举测量实例。

答:偏差式测量法:在测量过程中,用仪器仪表指针的位移(偏差)表示被测量大小的测量方法,称为偏差式测量法。

例如使用万用表测量电压、电流等。

零位式测量法:测量时用被测量与标准量相比较,用零示器指示被测量与标准量相等(平衡),从而获得被测量从而获得被测量。

如利用惠斯登电桥测量电阻。

微差式测量法:通过测量待测量与基准量之差来得到待测量量值。

如用微差法测量直流稳压源的稳定度。

1.4 叙述电子测量的主要内容。

答:电子测量内容包括:(1)电能量的测量如:电压,电流电功率等;(2)电信号的特性的测量如:信号的波形和失真度,频率,相位,调制度等;(3)元件和电路参数的测量如:电阻,电容,电感,阻抗,品质因数,电子器件的参数等:(4)电子电路性能的测量如:放大倍数,衰减量,灵敏度,噪声指数,幅频特性,相频特性曲线等。

大连理工大学电工实验报告(13~14年)

大连理工大学电工实验报告(13~14年)

请在左侧装订成册大连理工大学Array本科实验报告课程名称:电工学实验A/B(一)学院(系):专业:班级:学号:学生姓名:联系电话:2013 年~ 2014 年第1 学期实验项目列表姓名:学号:注意:3 学时实验请按下面时间上课(其他学时实验仍按教务处规定时间上课)第一节:(1.2节课)7:30 第二节:(3.4节课)10:05 第三节:(5.6节课)13:00 第四节:(7.8节课)15:30 第五节:(9.10节课)17:50 第六节:(11.12节课)20:00电工学实验须知一、选课要求实验选课前需确认在教务选课系统中选择该课程。

电工学实验实行网上选课,选课网址:http://58.155.210.208,请按选课时间上课,有特殊情况需事先请假,无故选课不上者按旷课处理,不给补做,缺实验者不给成绩。

二、预习要求1.课前认真阅读实验教程,复习相关理论知识,学习本节实验预备知识,回答相关问题。

按要求写好预习报告,注意实验内容有必做实验和选做实验;2.课前在实验报告中绘制电路原理图及实验数据表格(用铅笔、尺作图);3.课前在实验报告中列出所用实验设备及用途、注意事项(设备型号课后填写);4.设计性实验和综合性实验要求课前完成必要的电路设计和实验方案设计;5.没有预习报告或预习报告不合格者不允许做实验。

三、实验课上要求1.每个实验均须独立完成,抄袭他人数据记0分;2.认真完成实验操作和观测;3.所有实验记录均需指导教师确认(盖印),否则无效;4.请遵守《电工实验安全规则》。

四、实验报告1.请按实验教材中的要求提交预习报告;2.所有绘图必须用坐标纸绘图,并自行粘贴在报告上;3.没有按要求提交报告者不给成绩;4.抄袭报告记0分。

五、实验成绩评定(满分100分)1.实验课的考核方式:平时实验成绩70%+期末考核成绩30%。

平时成绩:完成必做实验任务满分记良好,完成必做实验任务和选做实验任务满分记优秀。

2.实验课考核成绩确定:平时实验成绩:预习20%+实际操作50%+实验总结+实验总结30%期末考核成绩:笔试40%+独立操作60%实验结束提交实验心得体会。

THSRZ-2实验指导书

THSRZ-2实验指导书

THSRZ-2型传感器系统综合实验装置简介一、概述THSRZ-2型传感器系统综合实验装置适应不同类别、不同层次专业教学实验、培训、考核的需求,是一套多功能、全方位、综合性、动手型的实验装置,可以与普教中的“物理”,职教、高教中的“传感器技术”、“工业自动化控制”、“非电测量技术与应用”、“工程检测技术与应用”等课程的教学实验配套。

二、设备构成实验台主要由试验台部分、三源板部分、处理(模块)电路部分和数据采集通讯部分组成。

1.实验台部分这部分设有1k~10kHz 音频信号发生器、1~30Hz 低频信号发生器、四组直流稳压电源:±15V、+5V、±2~±10V、2~24V可调、数字式电压表、频率/转速表、定时器以及高精度温度调节仪组成。

2. 三源板部分热源:0~220V交流电源加热,温度可控制在室温~120 o C,控制精度±1 o C。

转动源:2~24V直流电源驱动,转速可调在0~4500 rpm。

振动源:振动频率1Hz—30Hz(可调)。

3.处理(模块)电路部分包括电桥、电压放大器、差动放大器、电荷放大器、电容放大器、低通滤波器、涡流变换器、相敏检波器、移相器、温度检测与调理、压力检测与调理等共十个模块。

4.数据采集、分析部分为了加深对自动检测系统的认识,本实验台增设了USB数据采集卡及微处理机组成的微机数据采集系统(含微机数据采集系统软件)。

14位A/D转换、采样速度达300kHz,利用该系统软件,可对学生实验现场采集数据,对数据进行动态或静态处理和分析,并在屏幕上生成十字坐标曲线和表格数据,对数据进行求平均值、列表、作曲线图以及对数据进行分析、存盘、打印等处理,实现软件为硬件服务、软件与硬件互动、软件与硬件组成系统的功能。

更注重考虑根据不同数据设定采集的速率。

本实验台,作为教学实验仪器,大多传感器基本上都做成透明,以便学生有直观的认识,测量连接线用定制的接触电阻极小的迭插式联机插头连接。

计网-第二章作业

计网-第二章作业

Chapter 2注:括弧之中红色标注为与课本习题对应的编号2.1,2.2节后作业:1.(R2)For a communication session between a pair of processes, which process is the client andwhich is the server?答:The process is always-on host called the server.The process which initiates the communication is the client.2.(R3)What is the difference between network architecture and application architecture?答:Network architecture refers to the organization of the communication process into layers.Application architecture, on the other hand, is designed by an application developer and dicates the broad structure of the application.3.(R4)What information is used by a process running on one host to identify a process runningon another host?答:The IP address of the destination host and the port number of the destination socket.4.(R7)Suppose you wanted to do a transaction from a remote client to a server as fast aspossible. Would you use UDP or TCP? Why?答:We would use UDP. With UDP, the transaction can be completed in one roundtrip time – the client sends the transaction request into a UDP socket, and the server sends the reply back to the client’s UDP socket. With TCP, a minimum of two RTTs are needed – one to set-up the TCP connection, and another for the client to send the request, and for the server to send back the reply.5.(R8)List the four broad classes of services that a transport protocol can provide. For each ofthe service classes, indicate if either UDP or TCP (or both) provides such a service.答:(1)Reliable Data Transfer: TCP provides a reliable byte-stream between client and server butUDP does not.(2)Throughput: A guarantee that a certain value for throughput will be maintained; Neither.(3)Timing: A guarantee that data will be delivered within a specified amount of time;Neither.(4)Security: Neither.6.(R9)Why do HTTP, FTP, SMTP, and POP3 run on top of TCP rather than on UDP?答:The applications associated with those protocols require that all application data be received in the correct order and without gaps. TCP provides this service whereas UDP does not.7.(R11)What is meant by a handshaking protocol?答:A protocol uses handshaking if the two communicating entities first exchange control packetsbefore sending data to each other. SMTP uses handshaking at the application layer whereas HTTP does not.2.3,2.4节后作业8.(R15)Suppose Alice, with a Web-based e-mail account (such as Hotmail or gmail), sends amessage to Bob, who accesses his mail from his mail server using POP3. Discuss how the message gets from Alice's host to Bob's host. Be sure to list the series of application-layer protocols that are used to move the message between the two hosts.答:Message is sent from Alice’s host to her mail server over HTTP. Alice’s mail server then sends the message to Bob’s mail server over SMTP. Bob then transfers the message from his mail server to his host over POP3.9.(R17)From a user's perspective, what is the difference between the download-and-deletemode and the download-and-keep mode in POP3?答:With download and delete, after a user retrieves its messages from a POP server, the messages are deleted. This poses a problem for the nomadic user, who may want to access the messages from many different machines. In the download and keep configuration, messages are not deleted after the user retrieves the messages. This can also be inconvenient, as each time the user retrieves the stored messages from a new machine, all of non-deleted messages will be transferred to the new machine.10.(R18)Is it possible for an organization's Web server and mail server to have exactly the samealias for a hostname (for example,foo. com)? What would be the type for the RR that contains the hostname of the mail server?答:Yes, an organization’s mail server and Web server can have the same alias for a host name.The MX record is used to map the mail server’s host name to its IP address.11.(R19)Why is it said that FTP sends control information "out-of-band"?答:FTP uses two parallel TCP connections, one connection for sending control information and another connection for actually transferring the file. Because the control information is not sent over the same connection that the file is sent over, FTP sends control information out of band.2.5,2.6节后作业12.(P1)True or false?a. A user requests a Web page that consists of some text and three images. For this page, the client will send one request message and receive four response messages.b. Two distinct Web pages (for example, /research.Html and /students. html) can be sent over the same persistent connection.c. With nonpersistent connections between browser and origin server, it is possible for a single TCP segment to carry two distinct HTTP request messages.d. The Date: header in the HTTP response message indicates when the object in the response was last modified.答:a. Fb. Tc. Fd. F13. (P7)Suppose within your Web browser you click on a link to obtain a Web page. The IPaddress for the associated URL is not cached in your local host, so a DNS lookup is necessary to obtain the IP address. Suppose that n DNS servers are visited before your host receives the IP address from DNS; the successive visits incur an RTT of n RTT RTT ,...,1. Further suppose that the Web page associated with the link contains exactly one object, consisting of a small amount of HTML text. Let 0RTT denote the RTT between the local host and the server containing the object. Assuming zero transmission time of the object, how much time elapses from when the client clicks on the link until the client receives the object?答:The time to get IP address is RTT 1+RTT 2+……+RTT n , once the IP address is known, the response time is 2RTT 0+RTT 1+……+RTT n .14. (P8)Referring to Problem P7, suppose the HTML file references three very small objects onthe same server. Neglecting transmission times, how much time elapses witha. Non-persistent HTTP with no parallel TCP connections?b. Non-persistent HTTP with parallel connections?c. Persistent HTTP (with pipelining)?答:a. RTT 1+RTT 2+……+RTT n +2RTT 0+3×2RTT 0=8RTT 0+RTT 1+……+RTT n .b. RTT 1+RTT 2+……+RTT n +2RTT 0+2RTT 0=4RTT 0+RTT 1+……+RTT n .c. RTT 1+RTT 2+……+RTT n +2RTT 0+RTT 0=3RTT 0+RTT 1+……+RTT n .2.7,2.8节后作业15.(P9)Consider Figure2.12, for which there is an institutional network connected to the Internet.Suppose that the average object size is 900,000 bits and that the average request rate from the institution’s browsers to the origin servers is 10 requests per second. Also suppose that the amount of time it takes from when the routers on the Internet side of the access link forwards an HTTP request until it receives the response is two seconds on average (see Section 2.2.5).Model the total average response time as the sum of the average access delay (that is, the delay from Internet router to institution router) and the average Internet delay. For the average access delay, use△/(1-△β), where △is the average time required to send an object over the access link andβis the arrival rate of objects to the access link.a.Find the total average response time.b.Now suppose a cache is installed in institution LAN. Suppose the hit rate is 0.6. Find thetotal response time.答:a.The time to transmit an object of size L over a link or rate R is L/R.The average time is the average size of the object divided by R : △=(900000 bits)/(15000000bits/sec)=0.06secThe traffic intensity on the link is ( 10 requests/sec)(0.06msec/request )=0.6The average access delay is ( 0.06sec )/( 1-0.6 )=0.15secThe total average response time is therefore 0.6sec+2sec=2.15sec.b.The average access delay is ( 0.06sec )/( 1-0.6×0.4 )=0.0456secWith cache and the hit rate is 0.6 , when miss the cache the average response time is0.0456sec+2sec=2.0456secThe average response time is (1-0.6)×2.0456sec=0.832sec16.(P20)In our coverage of an overlay network using query flooding in Section 2.6, we describein some detail how a new peer joins the overlay network. In this problem we want to explore what happens when a peer leaves the overlay network. Suppose every participating peer maintains TCP connections to at least four distinct peers at all times. Suppose Peer X, which has five TCP connections to other peers, wants to leave.a.First consider the case of a graceful departure, that is, Peer X explicitly close itsapplication, thereby graceful closing its five TCP connections. What actions would each of the five formerly connected peers take?b.Now suppose that Peer X abruptly disconnects from the Internet without notifying itsfive neighbors that is closing the TCP connections. What would happen?答:a.Each of the five Gnutella clients immediately learns that it has one less neighbor. Theone of these five clients called A. Suppose A has only three neighbors after X drops out .Then A needs to establish a TCP connection with another peer . A should have a fresh list of active peers; he sequentially contacts peers on this list until one accepts his TCP connection attempt.b.We still use A. A doesn’t immediately know that X has departed. A will only learn aboutX’s departure when it attempts to send a message (query or ping) to X. When A attempts to send a message, A’s TCP will make several unsuccessful attempts to send the message to B. A’s TCP will then inform the Gnutella client that X is down. A will try to establish a TCP connection with a new peer to rebuild a fifth connection.17.(P21)Consider query flooding, as discussed in Section 2.6. Suppose that each peer isconnected to at most N neighbors in the overlay network. Also suppose that the node-count field is initially set to K. Suppose Alice makes a query. Find an upper bound on the number of query messages that are sent into the overlay network.答:The maximum number of query messages is N+NM+NM2+……+NM(K-1=N[(N-1)K-1]/(N-2))附加选做题18.在TCP协议中,为了使通信不致发生混乱,引入了所谓套接字的概念,这里,套接字由( )和IP地址两部分组成。

(完整)初中生物常见的趣味的实验

(完整)初中生物常见的趣味的实验

(完整)初中⽣物常见的趣味的实验2.观察⽔绵3.观察叶⽚的结构4.绿叶在光下制造淀粉5.观察鲫鱼的形态结构6.观察动物的绕道取⾷⾏为7.观察细菌的形态8.⼈体呼吸产⽣⼆氧化碳9.观察⾎液的流动``10.观察鸡蛋的结构11.观察种⼦的呼吸现象实验12:检测⽣物组织中的糖类、脂肪和蛋⽩质实验13 植物细胞的质壁分离和复原实验14:烟草浸出液对鱼呼吸的影响15、细胞的作⽤16、⽣物⼩实验:⾯包霉菌17、⽣物⼩实验:⽩花变⾊18、⽣物⼩实验:鸡蛋冒汗实验19:⽣物电池的制作实验20:琥珀”标本的制作实验21:玻璃棒能点燃冰块实验22:蛋壳刻画23、⽣物⼩实验:鱼尾的作⽤24、⽣物⼩实验:⽔培植物25、⽣物⼩实验:植物的向光性26、⽣物⼩实验:根吸收⽔分27、细胞的作⽤28、纸⽚诱蝶29、纸上产卵⼩实验30、吃叶趋化性31、镰孢菌实验:32、线⾍来源:黄⽠、西红柿、苦⽠根瘤部位。

33、黄⾖发芽率初步实验⽅案34、果酒和果醋的制作35、腐乳的制作⽬的要求1、学会制作临时装⽚,认识细胞的结构2、初步学会画细胞的结构材料⽤具:显微镜、稀碘液、⽣理盐⽔、清⽔、消毒⽛签,镊⼦、滴管、纱布、吸⽔纸、载玻⽚、盖玻⽚、洋葱⽅法步骤:根据下⾯提供的两组实验,分组(或⾃由选择)进⾏操作。

实验结束后交流实验结果和体会1、制作临时装⽚2、观察细胞结构A观察视野内参照图找细胞及各部分结构B画图并标注名称讨论1、制作临时装⽚⼤致分为哪⼏个步骤?2、⼈⼝腔上⽪细胞与洋葱表⽪细胞的基本结构是什么?⽐较他们的异同。

2.观察⽔绵⽬的要求:通过显微镜观察⽔绵的结构材料⽤具:显微镜、载玻⽚、盖玻⽚、镊⼦、标本瓶、滴管、⽔绵等⽅法步骤1、在载玻⽚的中央滴⼀滴清⽔,⽤镊⼦夹住少量的⽔绵放在⽔中,盖上盖玻⽚,制成临时装⽚。

2、将装⽚放在低倍镜下观察,注意观察每⼀条⽔绵的形态。

3、对照课本上的图⽚,⼀个⽔绵细胞的结构讨论:1、⽔绵的⽣活环境是怎样的?2、⽔绵的结构特点是怎样的?3、影响实验观察效果的因素有哪些?3.观察叶⽚的结构⽬的要求1、练习制作徒⼿切⽚2、认识叶⽚各部分的结构特点材料⽤具新鲜的植物叶⽚,清⽔、双⾯⼑⽚,镊⼦,⽑笔,培养⽫,滴管,纱布、载玻⽚、盖玻⽚、显微镜等1⽤镊⼦取⼀⽚新鲜的植物叶⽚,平展在载玻⽚上2⽤⼿捏紧两个并排的双⾯⼑⽚,迅速切割载玻⽚上叶⽚3、将切下的薄⽪放⼊盛有清⽔的培养⽫中4、⽤⽑笔蘸取最薄的⼀⽚,将切⾯平整展放在滴有清⽔的载玻⽚上,盖上盖玻⽚,⽤吸⽔纸吸去多余的⽔分,制成临时切⽚。

计网 实验一

计网 实验一

实验一熟悉常用的网络命令实验报告1.实验目的:学会使用常用ping ,ipconfig, nslookup, arp ,tracert等常用网络测试命令检测网络连通、了解网络的配置状态,跟踪路由等相关网络问题。

2实验环境:(1)运行windows 2000/2003/xp操作系统的PC一台。

(2)每台PC机具有一块网卡,通过双绞线与局域网网相连。

(3)局域网能连接Internet。

3.实验步骤:参见实验指导手册内容。

4.实验分析,回答下列问题(1)查看本机TCP/IP协议配置,看你的计算机是通过自动获取IP还是通过手动方式设置IP地址的?写出判断的理由。

是理由:通过ipconfig指令查看信息:自动配置已启用(2)如果是通过手动方式获取IP地址,可以直接读出IP地址,子网掩码,默认网关,首选DNS服务器地址。

填写下表。

如果是采用动态获取IP地址,如何获取完整的TCP/IP配置信息,请写出解决步骤。

并(3)在获取本机IP地址之后,在MS-DOS方式下运行下列Ping命令,填写实验运行结果(附截图)。

(a)ping本机IP地址图注:由ipconfig获知本机IP地址(b)ping 本机IP地址–t图注:Ping –t指令不停发送包,这里通过“Ctrl+C”叫停(c)ping 默认网关–n 6图注:ping –n 6即发送6个数据包(d)ping 本局域网内任意一台主机图注:原理同ping本机IP(4)用nslookup命令从域名地址当中解析出IP地址,从IP地址当中解析出域名地址。

图注:nslookup 域名/IP 可得对应IP/域名(5)利用路由跟踪命令tracert,跟踪到达某个网站(如)的路由信息。

图注:tracert指令用于显示本机访问某个IP所经过的所有网关(6)用netstat命令,显示以太网接口的统计信息,并显示所有已建立好的有效连接。

图注:用以显示以太网接口的统计信息图注:用以显示所有已建立好的有效连接(7)用arp命令查看arp地址映射表,填加一条静态地址映射,并显示结果和操作过程。

计网简答(学渣版)

计网简答(学渣版)

一、简答1.客户/服务器方式与对等通信方式的主要区别是什么有没有相同的地方答:前者严格区分服务者和被服务者,后者无此区别。

客户服务器方式和对等通信方式都是在网络上进行的,都间接存在主机和客户机之分,都存在网络边缘和网络核心。

2.试简述数据通信中三种不同交换方式的优缺点。

答:电路交换——整个报文的比特流连续的从源点直达终点,好像在一个管道中传送(传输速度慢,传输效率低,传输过程中必须先建立连接)分组交换——单个分组传送到相邻结点,储存下来后查找转发表,转发到下一个结点(传输速度快,传输效率高,可靠性高,传输交换灵活)报文交换——整个报文先传送到相邻结点,全部储存下来后查找转发表,转发到下一个结点3.什么是对等网答:是指两个主机在通信时并不区分哪一个是服务请求方还是服务提供方。

4.小写和大写开头的英文名字internet和Internet在意思上有何重要区别internet(互联网或互连网):通用名词,它泛指由多个计算机网络互连而成的网络。

Internet(因特网):专用名词,特指采用TCP/IP 协议的互联网络区别:后者实际上是前者的双向应用5.试述具有五层协议的网络体系结构的要点,包括各层的主要功能。

5层协议网络体系结构是综合OSI 7层和TCP/IP4层的优点,采用的一种原理体系结构。

各层的主要功能:物理层:物理层的任务就是透明地传送比特流。

物理层还要确定连接电缆插头的定义及连接法。

数据链路层:数据链路层的任务是在两个相邻结点间的线路上无差错地传送以帧为单位的数据。

每一帧包括数据和必要的控制信息。

网络层:网络层的任务就是要选择合适的路由,使发送站的运输层所传下来的分组能够正确无误地按照地址找到目的站,并交付给目的站的运输层。

运输层:运输层的任务是向上一层的进行通信的两个进程之间提供一个可靠的端到端服务,使它们看不见运输层以下的数据通信的细节。

应用层:应用层直接为用户的应用进程提供服务。

6.为什么要使用信道复用技术常见的信道复用技术有哪些答:提高信道利用率。

计网实验三

计网实验三

自动化与软件学院
课程实验报告
实验课程网络及其计算实验
实验名称 arp命令实验
实验地点软工专业实验室201A 实验时间第五周星期四 1 节到 2 节学生班级
学生学号
学生姓名
指导教师
2020 年 10 月 8 日
实验目的:
(1)掌握arp命令及常用参数的用法。

实验器材:
一台连网的Windows操作系统的PC机。

实验内容:
在PC机命令行使用arp命令及常用参数,观察并分析结果。

实验结果(附数据和图表):
1.显示arp缓存中IP地址和硬件地址的对应关系

2.显示某个指定IP的arp记录
3.显示arp缓存中IP地址和硬件地址的对应关系
4.在详细模式下显示当前的arp选项,所有的无效项和回环接口上的项都将显示
5.添加一条静态路由
6.删除一条静态路由。

云南大学 软件学院 计网实验5

云南大学 软件学院 计网实验5

云南大学软件学院实验报告课程:计算机网络原理实验任课教师:姓名:学号:专业:成绩:实验五、传输层可靠传输协议GBN编程实验报告一、实验目的:1、编程实现简单可靠的数据传输GBN协议,模拟可靠数据传输2、理解TCP协议可靠传输的差错检测、重传、累计确认、定时器的可靠传输策略。

二、实验指导:参考教材。

三、实验要求:编程实现一个GBN传输协议,采用编程语言不限,要求能将发送――接收流程以及处理方法表现出来.附源代码及注释并附上实验结果截图。

#include <stdio.h>/* ******************************************************************ALTERNATING BIT AND GO-BACK-N NETWORK EMULATOR: VERSION 1.1 J.F.KuroseThis code should be used for PA2, unidirectional or bidirectionaldata transfer protocols (from A to B. Bidirectional transfer of datais for extra credit and is not required). Network properties:- one way network delay averages five time units (longer if thereare other messages in the channel for GBN), but can be larger- packets can be corrupted (either the header or the data portion)or lost, according to user-defined probabilities- packets will be delivered in the order in which they were sent(although some can be lost).**********************************************************************/#define BIDIRECTIONAL 0 /* change to 1 if you're doing extra credit *//* and write a routine called B_output *//* a "msg" is the data unit passed from layer 5 (teachers code) to layer */ /* 4 (students' code). It contains the data (characters) to be delivered */ /* to layer 5 via the students transport level protocol entities. */ struct msg {char data[20];};/* a packet is the data unit passed from layer 4 (students code) to layer */ /* 3 (teachers code). Note the pre-defined packet structure, which all */ /* students must follow. */struct pkt {int seqnum;int acknum;int checksum;char payload[20];};/********* STUDENTS WRITE THE NEXT SEVEN ROUTINES *********/#define WINDOWSIZE 8#define MAXBUFSIZE 50#define NOTUSED 0#define NACK -1#define TRUE 1#define FALSE 0#define A 0#define B 1int expectedseqnum; /* expected sequence number at receiver side */ int nextseqnum; /* next sequence number to use in sender side */ int base; /* the head of sender window */struct pkt winbuf[WINDOWSIZE]; /* window packets buffer */int winfront,winrear; /* front and rear points of window buffer */ int pktnum; /* packet number of window buffer */struct msg buffer[MAXBUFSIZE]; /* sender message buffer */int buffront,bufrear; /* front and rear pointers of buffer */int msgnum; /* message number of buffer */int packet_lost =0;int packet_corrupt=0;int packet_sent =0;int packet_correct=0;int packet_resent =0;int packet_timeout=0;void ComputeChecksum(packet){ int checksum; int i; checksum = checksum + packet->acknum;for ( i=0; i<20; i++ )checksum = checksum + (int)(packet->payload[i]); checksum = 0-checksum;packet->checksum = checksum;}struct pkt packet;{int checksum;int i;checksum = packet.seqnum;checksum = checksum + packet.acknum;for ( i=0; i<20; i++ )checksum = checksum + (int)(packet.payload[i]);if ( (packet.checksum+checksum) == 0 )return (FALSE);elsereturn (TRUE);}/* called from layer 5, passed the data to be sent to other side */A_output(message){ int i;struct pkt sendpkt;/* if window is not full */if ( nextseqnum < base+WINDOWSIZE ) {printf("----A: New message arrives, send window is not full, send new messge to layer3!\n");/* create packet */sendpkt.seqnum = nextseqnum;sendpkt.acknum = NOTUSED;for ( i=0; i<20 ; i++ )sendpkt.payload[i] = message.data[i];/* computer checksum */ComputeChecksum (&sendpkt);/* send out packet */tolayer3 (A, sendpkt);/* copy the packet to window packet buffer */winrear = (winrear+1)%WINDOWSIZE;pktnum ++;winbuf[winrear] = sendpkt;for (i=0; i<20; i++)winbuf[winrear].payload[i]= sendpkt.payload[i];/* if it is the first packet in window, start timeout */if ( base == nextseqnum ) {starttimer(A,RTT);printf("----A: start a new timer!\n");}/* update state variables */nextseqnum = nextseqnum+1;}/* if window is full */else {printf("----A: New message arrives, send window is full,");/* if buffer full, give up and exit*/if ( msgnum == MAXBUFSIZE) {printf (" Error: Sender buffer is full! \n");exit (1);}/* otherwise, buffer the message */else {printf("buffer new message!\n");bufrear = (bufrear+1) % MAXBUFSIZE;for (i=0; i<20; i++)buffer[bufrear].data[i] = message.data[i];msgnum ++;}} }B_output(message) /* need be completed only for extra credit */struct msg message;{}/* called from layer 3, when a packet arrives for layer 4 */A_input(packet){ int i;/* if received packet is not corrupted and ACK is received */if ( (CheckCorrupted(packet) == FALSE) && (packet.acknum != NACK) ) { printf("----A: ACK %d is correctly received,",packet.acknum);packet_correct++;/* delete the acked packets from window buffer */winfront = (winfront+(packet.acknum+1-base)) % WINDOWSIZE;pktnum = pktnum - (packet.acknum+1-base);/* move window base */base = packet.acknum+1;stoptimer(A);if ( base < nextseqnum) {starttimer(A,RTT);printf ("send new packets!\n");}/* if buffer is not empty, send new packets */while ( (msgnum!=0) && (nextseqnum<base+WINDOWSIZE) ) {/* create packet */sendpkt.seqnum = nextseqnum;sendpkt.acknum = NOTUSED;buffront = (buffront+1) % MAXBUFSIZE;for ( i=0; i<20 ; i++ )sendpkt.payload[i] = buffer[buffront].data[i];/* computer checksum */ComputeChecksum (&sendpkt);/* if it is the first packet in window, start timeout */ if ( base == nextseqnum ){starttimer(A,RTT);printf ("send new packets!\n");}/* send out packet */tolayer3 (A, sendpkt);/* copy the packet to window packet buffer */winrear = (winrear+1)%WINDOWSIZE;winbuf[winrear] = sendpkt;pktnum ++;/* update state variables */nextseqnum = nextseqnum+1;/* delete message from buffer */msgnum --;}}elseprintf ("----A: NACK is received, do nothing!\n");}/* called when A's timer goes off */{int i;printf("----A: time out,resend packets!\n");/* start timer */starttimer(A,RTT);/* resend all packets not acked */for ( i=1; i<=pktnum; i++ ) {packet_resent++;tolayer3(A,winbuf[(winfront+i)%WINDOWSIZE]);}}/* the following routine will be called once (only) before any other */ /* entity A routines are called. You can use it to do any initialization */ A_init(){buffront = 0;bufrear = 0;msgnum = 0;winfront = 0;winrear = 0;pktnum = 0;}/* Note that with simplex transfer from a-to-B, there is no B_output() *//* called from layer 3, when a packet arrives for layer 4 at B*/B_input(packet){ int i;/* if not corrupted and received packet is in order */if ( (CheckCorrupted(packet) == FALSE) && (packet.seqnum == expectedseqnum)){ printf("----B: packet %d is correctly received, send ACK!\n",packet.seqnum);/* send an ACK for the received packet *//* create packet */sendpkt.seqnum = NOTUSED;sendpkt.acknum = expectedseqnum;for ( i=0; i<20 ; i++ )sendpkt.payload[i] = '0';/* computer checksum */ComputeChecksum (&sendpkt);/* send out packet */tolayer3 (B, sendpkt);/* update state variables */expectedseqnum = expectedseqnum+1;/* deliver received packet to layer 5 */tolayer5(B,packet.payload);}/* otherwise, discard the packet and send a NACK */else {printf("----B: packet %d is corrupted or not I expects, send NACK!\n",packet.seqnum);/* create packet */sendpkt.seqnum = NOTUSED;sendpkt.acknum = NACK;for ( i=0; i<20 ; i++ )sendpkt.payload[i] = '0';/* computer checksum */ComputeChecksum (&sendpkt);/* send out packet */tolayer3 (B, sendpkt);}}/* called when B's timer goes off */{}{expectedseqnum = 0;}/********************************************************************************** NETWORK EMULATION CODE STARTS BELOW ***********The code below emulates the layer 3 and below network environment:- emulates the tranmission and delivery (possibly with bit-level corruption and packet loss) of packets across the layer 3/4 interface- handles the starting/stopping of a timer, and generates timerinterrupts (resulting in calling students timer handler).- generates message to be sent (passed from later 5 to 4)THERE IS NOT REASON THAT ANY STUDENT SHOULD HAVE TO READ OR UNDERSTANDTHE CODE BELOW. YOU SHOLD NOT TOUCH, OR REFERENCE (in your code) ANYOF THE DATA STRUCTURES BELOW. If you're interested in how I designedthe emulator, you're welcome to look at the code - but again, you should have to, and you defeinitely should not have to modifyint eventity; /* entity where event occurs */struct pkt *pktptr; /* ptr to packet (if any) assoc w/ this event */ struct event *prev;struct event *next;};struct event *evlist = NULL; /* the event list *//* possible events: */#define TIMER_INTERRUPT 0#define FROM_LAYER5 1#define FROM_LAYER3 2#define OFF 0#define ON 1#define A 0#define B 1int TRACE = 1; /* for my debugging */int nsim = 0; /* number of messages from 5 to 4 so far */ int nsimmax = 0; /* number of msgs to generate, then stop */ float time = 0.000;float lossprob; /* probability that a packet is dropped */float corruptprob; /* probability that one bit is packet is flipped */ float lambda; /* arrival rate of messages from layer 5 */ int ntolayer3; /* number sent into layer 3 */int nlost; /* number lost in media */int ncorrupt; /* number corrupted by media*/main(){char c;init();A_init();B_init();while (1){eventptr = evlist; /* get next event to simulate */if (eventptr==NULL)goto terminate;evlist = evlist->next; /* remove this event from event list */ if (evlist!=NULL)evlist->prev=NULL;if (TRACE>=2){printf("\nEVENT time: %f,",eventptr->evtime);printf(" type: %d",eventptr->evtype);if (eventptr->evtype==0)printf(", timerinterrupt ");else if (eventptr->evtype==1)printf(", fromlayer5 ");elseprintf(", fromlayer3 ");printf(" entity: %d\n",eventptr->eventity);}time = eventptr->evtime; /* update time to next event time */ if (nsim==nsimmax)break; /* all done with simulation */ if (eventptr->evtype == FROM_LAYER5 ){generate_next_arrival(); /* set up future arrival *//* fill in msg to give with string of same letter */j = nsim % 26;for (i=0; i<20; i++)msg2give.data[i] = 97 + j;if (TRACE>2) {printf(" MAINLOOP: data given to student: ");for (i=0; i<20; i++)printf("%c", msg2give.data[i]);printf("\n");}nsim++;if (eventptr->eventity == A)A_output(msg2give);elseB_output(msg2give);}else if (eventptr->evtype == FROM_LAYER3){pkt2give.seqnum = eventptr->pktptr->seqnum;pkt2give.acknum = eventptr->pktptr->acknum;pkt2give.checksum = eventptr->pktptr->checksum;for (i=0; i<20; i++)pkt2give.payload[i] = eventptr->pktptr->payload[i];if (eventptr->eventity ==A) /* deliver packet by calling */A_input(pkt2give); /* appropriate entity */elseB_input(pkt2give);free(eventptr->pktptr); /* free the memory for packet */ }else if (eventptr->evtype == TIMER_INTERRUPT){if (eventptr->eventity == A)A_timerinterrupt();elseB_timerinterrupt();}else{printf("INTERNAL PANIC: unknown event type \n");}free(eventptr);}terminate:printf(" Simulator terminated at time %f\n after sending %d msgs from layer5\n",time,nsim);printf(" correctly sent pkts: %d \n", packet_correct);printf(" resent pkts: %d \n", packet_resent);}init() /* initialize the simulator */{int i;float sum, avg;float jimsrand();FILE *fp;fp = fopen ("parameter.txt","r");printf("----- Stop and Wait Network Simulator Version 1.1 -------- \n\n"); printf("Enter the number of messages to simulate: ");fscanf(fp,"%d",&nsimmax);scanf("%d",&nsimmax);printf("Enter packet loss probability [enter 0.0 for no loss]:");fscanf(fp, "%f",&lossprob);scanf("%f",&lossprob);printf("Enter packet corruption probability [0.0 for no corruption]:");fscanf(fp,"%f",&corruptprob);scanf("%f",&corruptprob);printf("Enter average time between messages from sender's layer5 [ > 0.0]:"); fscanf(fp,"%f",&lambda);scanf("%f",&lambda);printf("Enter TRACE:");fscanf(fp,"%d",&TRACE);scanf("%d",&TRACE);srand(9999); /* init random number generator */sum = 0.0; /* test random number generator for students */for (i=0; i<1000; i++)sum=sum+jimsrand(); /* jimsrand() should be uniform in [0,1] */avg = sum/1000.0;if (avg < 0.25 || avg > 0.75) {printf("It is likely that random number generation on your machine\n" ); printf("is different from what this emulator expects. Please take\n");printf("a look at the routine jimsrand() in the emulator code. Sorry. \n"); exit(1);}ntolayer3 = 0;nlost = 0;ncorrupt = 0;time=0.0; /* initialize time to 0.0 */generate_next_arrival(); /* initialize event list */}/****************************************************************************//* jimsrand(): return a float in range [0,1]. The routine below is used to *//* isolate all random number generation in one location. We assume that the*//* system-supplied rand() function return an int in therange [0,mmm] *//****************************************************************************/ float jimsrand(){double mmm = 65535; /* largest int 2147483647 65535 - MACHINE DEPENDENT!!!!!!!! */float x; /* individual students may need to change mmm */x = rand()/mmm; /* x should be uniform in [0,1] */return(x);}/********************* EVENT HANDLINE ROUTINES ****2147483647***//* The next set of routines handle the event list *//*****************************************************/generate_next_arrival(){double x,log(),ceil();struct event *evptr;char *malloc();float ttime;int tempint;if (TRACE>2)printf(" GENERATE NEXT ARRIVAL: creating new arrival\n");x = lambda*jimsrand()*2; /* x is uniform on [0,2*lambda] *//* having mean of lambda */evptr = (struct event *)malloc(sizeof(struct event));evptr->evtime = time + x;evptr->evtype = FROM_LAYER5;if (BIDIRECTIONAL && (jimsrand()>0.5) )evptr->eventity = B;elseevptr->eventity = A;insertevent(evptr);}struct event *p;{struct event *q,*qold;if (TRACE>2){printf(" INSERTEVENT: time is %lf\n",time);printf(" INSERTEVENT: future time will be %lf\n",p->evtime);}q = evlist; /* q points to front of list in which p struct inserted */ if (q==NULL){ /* list is empty */evlist=p;p->next=NULL;p->prev=NULL;}else{for (qold = q; q !=NULL && p->evtime > q->evtime; q=q->next)qold=q;if (q==NULL){ /* end of list */qold->next = p;p->prev = qold;p->next = NULL;}else if (q==evlist){ /* front of list */p->next=evlist;p->prev=NULL;p->next->prev=p;evlist = p;}else{ /* middle of list */p->next=q;p->prev=q->prev;q->prev->next=p;q->prev=p;}}}{struct event *q;int i;printf("--------------\nEvent List Follows:\n");for(q = evlist; q!=NULL; q=q->next) {printf("Event time: %f, type: %d entity: %d\n",q->evtime,q->evtype,q->eventity);}printf("--------------\n");}int AorB; /* A or B is trying to stop timer */{struct event *q,*qold;if (TRACE>2)printf(" STOP TIMER: stopping timer at %f\n",time);/* for (q=evlist; q!=NULL && q->next!=NULL; q = q->next) */for (q=evlist; q!=NULL ; q = q->next)if ( (q->evtype==TIMER_INTERRUPT && q->eventity==AorB) ) {/* remove this event */if (q->next==NULL && q->prev==NULL)evlist=NULL; /* remove first and only event on list */else if (q->next==NULL) /* end of list - there is one in front */q->prev->next = NULL;else if (q==evlist) { /* front of list - there must be event after */ q->next->prev=NULL;evlist = q->next;}else { /* middle of list */q->next->prev = q->prev;q->prev->next = q->next;}free(q);return;}printf("Warning: unable to cancel your timer. It wasn't running.\n");starttimer(AorB,increment)int AorB; /* A or B is trying to stop timer */float increment;{struct event *q;struct event *evptr;char *malloc();if (TRACE>2)printf(" START TIMER: starting timer at %f\n",time);/* be nice: check to see if timer is already started, if so, then warn */ /* for (q=evlist; q!=NULL && q->next!=NULL; q = q->next) */for (q=evlist; q!=NULL ; q = q->next)if ( (q->evtype==TIMER_INTERRUPT && q->eventity==AorB) ) {printf("Warning: attempt to start a timer that is already started\n"); return;}/* create future event for when timer goes off */evptr = (struct event *)malloc(sizeof(struct event));evptr->evtime = time + increment;evptr->evtype = TIMER_INTERRUPT;evptr->eventity = AorB;insertevent(evptr);}tolayer3(AorB,packet)int AorB; /* A or B is trying to stop timer */struct pkt packet;{struct pkt *mypktptr;struct event *evptr,*q;char *malloc();float lastime, x, jimsrand();int i;ntolayer3++;/* simulate losses: */if (jimsrand() < lossprob){nlost++;if (TRACE>0)printf(" TOLAYER3: packet being lost\n");return;}/* make a copy of the packet student just gave me since he/she may decide */ /* to do something with the packet after we return back to him/her */ mypktptr = (struct pkt *)malloc(sizeof(struct pkt));mypktptr->seqnum = packet.seqnum;mypktptr->acknum = packet.acknum;mypktptr->checksum = packet.checksum;for (i=0; i<20; i++)mypktptr->payload[i] = packet.payload[i];if (TRACE>2){printf(" TOLAYER3: seq: %d, ack %d, check: %d ", mypktptr->seqnum, mypktptr->acknum, mypktptr->checksum);for (i=0; i<20; i++)printf("%c",mypktptr->payload[i]);printf("\n");}/* create future event for arrival of packet at the other side */evptr = (struct event *)malloc(sizeof(struct event));evptr->evtype = FROM_LAYER3; /* packet will pop out from layer3 */evptr->eventity = (AorB+1) % 2; /* event occurs at other entity */evptr->pktptr = mypktptr; /* save ptr to my copy of packet *//* finally, compute the arrival time of packet at the other end.medium can not reorder, so make sure packet arrives between 1 and 10time units after the latest arrival time of packetscurrently in the medium on their way to the destination */lastime = time;/* for (q=evlist; q!=NULL && q->next!=NULL; q = q->next) */for (q=evlist; q!=NULL ; q = q->next)if ( (q->evtype==FROM_LAYER3 && q->eventity==evptr->eventity) ) lastime = q->evtime;evptr->evtime = lastime + 1 + 9*jimsrand();/* simulate corruption: */if (jimsrand() < corruptprob){ncorrupt++;if ( (x = jimsrand()) < .75)mypktptr->payload[0]='Z'; /* corrupt payload */else if (x < .875)mypktptr->seqnum = 999999;elsemypktptr->acknum = 999999;if (TRACE>0)printf(" TOLAYER3: packet being corrupted\n");}if (TRACE>2)printf(" TOLAYER3: scheduling arrival on other side\n");insertevent(evptr);}int AorB;char datasent[20];{int i;if (TRACE>2) {printf(" TOLAYER5: data received: ");for (i=0; i<20; i++)printf("%c",datasent[i]);printf("\n");}}函数结构解释:函数其他部分定义在每个函数后面一坐定义,此处只给出main函数部分的函数结构。

实验报告范例_2

实验报告范例_2

实验二培养过程中的显微观察与应用一、实验目的1.练习显微镜的使用方法。

2.掌握酵母菌形态观察的基本方法,并学习描述不同生长阶段的酵母菌的形态特征。

3.学习用血球计数法估算酵母菌的数量。

4.根据酵母菌细胞形态的不同,计算出芽率。

5.学习用染色法估算酵母菌的存活率。

6.学习用计算机软件测量微生物大小。

二、实验原理1.显微镜的结构及工作原理。

2.血球计数法的原理血球计数板是一块特制的载玻片,上面有四条平行槽将载玻片分为三个平台,中间的平台较宽,其中间又被一短槽隔成两半,每边平台上各有一个含九个大格的方格网,中间大格为计数室。

实验所用的计数室的规格是25*16型,称为麦氏血细胞计数板,有25个中方格,每个中方格分为16个小方格。

应用血球计数板在显微镜下直接计算微生物细胞的数量,方法是先测定若干个中方格中的微生物细胞数量,再换算成每毫升菌液中微生物细胞数量。

计数5个中方格内细菌数,设为A,菌液的稀释度为B,则菌液浓度=(A/5)*25*10*1000*B(个/毫升)。

3.出芽的酵母菌细胞呈葫芦状。

4.微生物细胞大小的测定。

计算机软件的调用可直接测定微生物细胞的大小,根据细胞放大倍数可算出细胞的实际大小,还可以直接导出生成表格。

5.通过染色后观察细胞形态确定细胞是否存活。

染色原理:活细胞因新陈代谢及有较强的还原能力呈现原色,而死细胞或代谢较慢的老细胞因无还原能力而被美蓝染成蓝色或淡蓝色。

三、实验材料显微镜,血球计数板,培养时间分别为24h 48h 72h的酵母菌,载玻片,盖玻片,酒精,蒸馏水,镊子,擦镜纸,美蓝染色剂,移液管四、实验内容1.将显微镜置于实验台上利于观察的位置;调节光的亮度,将显微镜的光源打开,调节旋钮至适当亮度;打开计算机。

2.调至10*倍镜,上升镜筒至最好处,将血球计数板放在载物台上,夹好。

3.移动血球计数板到物镜下方,调节粗准焦螺旋使物镜下降,至出现方格,调节细准焦螺旋至物像清晰,移动血球计数板,把要观察的位置移到视野中间,调至40*镜,调节细准焦螺旋至物像清晰。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Socket 编程
本次实验要求自己动手实现一个能够在局域网中进行点对点聊天的实用程序。

目的:
1.熟悉C++ / JAVA等高级语言网络编程的基本操作。

2.基本了解基于对话框的Windows应用程序的编写过程。

3.实现TCP/UDP套接字编程(1人1组)。

实验步骤:
一.基于UDP协议的Socket编程
1.端口选择
已知端口:0~1023,为固定服务保留。

已注册的端口:1024~49151,供普通用户的普通用户进程或程序使用。

动态或私用端口:49152~65535,没有注册服务。

2.编写代码(MFC工程为例)
1. 建立MFC工程
2. 添加控件(过程略)
3. Scoket编程
4.编程完成任务,并进行实验演示。

3.实验检查事项:
1.实现程序用户界面
2.功能完善:能够正常通信,动态绑定IP、端口
3.代码检查
4.填写实验指导书内容
二.基于TCP协议的Socket编程
1.TCP与UDP协议都在套接字编程中的区别
1.UDP
数据报套接字
只需一个接收函数recvfrom()和一个发送函数sendto()
2.TCP
流式套接字
服务器监听函数listen()
客户端连接函数connect()
服务器接收函数accept()
发送函数send()和接收函数recv()
2.编写代码(以MFC工程为例)
1.服务器端
2.客户端
3.程序界面
实验结果检查(实验课结束前完成):
1.实现程序用户界面:客户端与服务器端
2.功能完善:客户端与服务器端通信,动态绑定IP、端口
3.代码检查
4.填写实验指导书内容
5.加分项:多用户间的点对点通信—基于多线程实现。

相关文档
最新文档