计算机网络实验(一)

本文详细介绍了计算机网络实验的基础知识,包括数据链路层的基本工作、协议(如PPP、CSMA/CD)以及MAC地址和以太网帧格式。通过分析字节序和代码实现,阐述了实验中对接收到的以太网MAC帧的处理方法,强调了字节序在通信中的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

计算机网络实验目录

  • eth协议实现
  • ARP协议实现
  • RIP路由配置和协议分析
  • IP协议实现
  • ICMP协议实现
  • UDP协议实现
  • NAT组网
  • 邮件客户端的设计与实现


前言

HITSZ 2022春计算机网络实验记录,并结合计网理论课程内容进行复习总结
实验网址


基础知识

一、数据链路层基本工作

数据链路层的基本工作:

  • 封装成帧:添加首部(SOH)和尾部(EOT)进行帧界定,划分IP数据报内容,首部和尾部还包含必要的控制信息。各种链路层协议都对首部和尾部有明确的规定,同时规定数据部分的长度上限(MTU)
  • 透明传输:在数据部分中可能出现的SOH和EOT前加ESC转义字符
  • 差错检测:如循环冗余检测CRC(FCS帧检验序列,属于数据后面添加的冗余码

二、数据链路层协议

  • PPP协议(点对点协议,可靠传输协议):用户计算机与ISP进行通信时所用的协议
  • 广播信道(一对多通信):以太网使用
    • CSMA/CD协议:不可靠传输协议,使用载波监听和碰撞检测,是总线型以太网采用的协议。

二、MAC地址

MAC地址实际上是局域网适配器的标识地址,又叫物理地址或者硬件地址,MAC的6字节地址被固化在适配器的ROM中。世界上的每一个适配器都有唯一的地址。

三、以太网MAC帧格式

总线型和星型网络结构均使用以太网帧

  • 以太网帧不需要EOT:使用曼彻斯特编码,但接受的电平不发生转变时,只需前移4个字节即可找到数据的结束位置
    在这里插入图片描述

去除报头和FCS得到链路层的数据帧:

  • MAC目标地址:接收帧的网络适配器的物理地址(MAC地址),6个字节。
    • 当网卡接收到一个数据帧时,首先会检查该帧的目的地址,如果与当前适配器的物理地址相同,进一步处理
    • 帧的目的地址为广播地址(FF-FF-FF-FF-FF-FF),进一步处理;
    • 否,则直接丢弃。
  • MAC源地址:发送帧的网络适配器的物理地址,6个字节。
  • 类型,2个字节:
    • 当该值在0x05DC(10进制数为1500)以下,表示该以太网数据帧长度;
    • 在0x0600以上时,则表示上层协议的类型,标识数据交付哪个协议处理。
      在这里插入图片描述

实验实现

一、分析

实际上就是对接收到的以太网MAC帧进行处理,由于封装好了很多包,所以只需要进行基础函数编写,需要注意:

  • memcpy使用的时候最好指定清楚拷贝的大小
  • 注意大小端字节序

字节序分析

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值