计算机网络mac实验,计算机网络实验MAC.doc

计算机网络实验MAC

暨南大学本科实验报告专用纸

课程名称 计算机网络实验 成绩评定 实验项目名称 以太网数据帧的构成 指导教师 钟婵娟 钟钢 实验项目编号07120008102实验项目类型 验证性 实验地点 南海楼613

学生姓名 虞健 学号 2009052394

学院 信息科学技术 系 计算机 专业 软件工程

实验目的

1、掌握以太网帧的构成,了解各个字段的含义;

2、能够识别不同的 MAC地址并理解 MAC 地址的作用;

3、掌握协议分析器的基本使用方法;

4、掌握仿真编辑器的基本使用方法。

实验内容

1、学习仿真编辑器的各组成部分及其功能;

2、学习协议分析器的各组成部分及其功能;

3、学会使用仿真编辑器编辑以太网帧,包括单帧和多帧;

4、学会分析以太网帧的 MAC 首部和 LLC-PDU 的内容;

5、理解 MAC地址的作用;

6、理解 MAC首部中的 LLC-PDU 长度/类型字段的功能;

7、学会观察并分析地址本中的 MAC地址。

实验原理

局域网(LAN)是在一个小的范围内,将分散的独立计算机系统互联起来,实现资源的

共享和数据通信。局域网的技术要素包括了体系结构和标准、传输媒体、拓扑结构、数据编

码、媒体访问控制和逻辑链路控制等。其中主要的技术是传输媒体、拓扑结构和媒体访问控

制方法。局域网的主要的特点是:地理分布范围小、数据传输速率高、误码率低和协议简单

等。

暨南大学本科实验报告专用纸(附页)

<1>以太网帧结构:

各字段的含义:

目的地址:6个字节的目的物理地址,标识帧的接收结点。

源地址:6 个字节的源物理地址,标识帧的发送结点。

帧类型/长度(TYPE/LEN) :该字段的值大于或等于 0x0600 时,表示上层数据使用的协议

类型。例如 0x0806 表示 ARP 请求或应答,0x0800 表示 IP 协议。该字段的值小于 0x0600

时表示以太网用户数据的长度字段,上层携带 LLC-PDU。

数据字段:这是一个可变长度字段,用于携带上层传下来的数据。

帧校验 FCS:以太网采用 32 位 CRC冗余校验。校验范围是目的地址、源地址、长度/类型、

数据字段

<2>LLC-PDU 部分

当长度/类型字段的值小于 0x0600 时,说明数据字段携带的是 LLC-PDU。

暨南大学本科实验报告专用纸(附页)

三种 LLC 帧的控制位:

N(S) :是发送帧的序列号。

N(R) :是接收帧的序列号。

P/F:是 POLL/FINAL 轮询/终止位。

SS:是监控帧类型指示。标识监控帧的具体类型,即:RR(接收就绪) 、RNR(接收未就绪)

和 REJ(拒绝) 。

MM-MMM:无编号帧的修饰段,定义发送无编号帧的具体类型。

实验步骤

练习一:运行 ipconfig 命令

暨南大学本科实验报告专用纸(附页)

练习二:编辑 LLC 信息帧并发送:

暨南大学本科实验报告专用纸(附页)

练习三:编辑 LLC 监控帧和无编号帧,并发送和捕获:

暨南大学本科实验报告专用纸(附页)

暨南大学本科实验报告专用纸(附页)

练习四:编辑并发送帧序列

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
服务器端: package com.softeem.socket.server; import java.io.FileNotFoundException; import java.io.IOException; public class FileServer { /** * @param args */ public static void main(String[] args) { // 读取本地文件 try { java.io.FileInputStream fis = new java.io.FileInputStream( new java.io.File("d:\\数据库.zip")); // 转换成网络输出流 java.net.ServerSocket ss = new java.net.ServerSocket(9000); java.net.Socket sk = ss.accept(); //DataOutputStream 处理数据 数据的输出流 java.io.OutputStream os = new java.io.DataOutputStream( sk.getOutputStream()); // 利用网络输出流将文件传到客户端 边读边发送 int len=0; byte[] buff = new byte[1024]; while((len=fis.read(buff))!=-1){ os.write(buff, 0, len); os.flush(); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } 客户端: package com.softeem.socket.client; import java.io.FileNotFoundException; import java.io.IOException; import java.net.UnknownHostException; public class FileClient { /** * @param args */ public static void main(String[] args) { // 文件的输出流 try { java.io.FileOutputStream fos = new java.io.FileOutputStream( new java.io.File("e:\\database.zip ")); // 网络的输入流 java.net.Socket sk = new java.net.Socket("192.168.1.101",9000); java.io.InputStream is = new java.io.DataInputStream( sk.getInputStream()); // 接受网络输入流 写入文件 int len = 0; byte[] buff = new byte[1024]; while((len=is.read(buff))!=-1){ fos.write(buff, 0, len); fos.flush(); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (UnknownHostException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } 有源码和体会,写的很详细和完整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值