完整资料进入【数字空间】查看——搜索"writebug"
实验目的:
IPv4 协议是互联网的核心协议,它保证了网络节点(包括网络设备和主机)在网络层能够按照标准协议互相通信。IPv4 地址唯一标识了网络节点和网络的连接关系。在我们日常使用的计算机的主机协议栈中,IPv4 协议必不可少,它能够接收网络中传送给本机的分组,同时也能根据上层协议的要求将报文封装为 IPv4 分组发送出去。
本实验通过设计实现主机协议栈中的 IPv4 协议,让学生深入了解网络层协议的基本原理,学习 IPv4 协议基本的分组接收和发送流程。
另外,通过本实验,学生可以初步接触互联网协议栈的结构和计算机网络实验系统,为后面进行更为深入复杂的实验奠定良好的基础。
实验内容:
IPv4 分组收发实验:
根据计算机网络实验系统所提供的上下层接口函数和协议中分组收发的主要流程,独立设计实现一个简单的 IPv4 分组收发模块。要求实现的主要功能包括:
IPv4 分组的基本接收处理,能够检测出接收到的 IP 分组是否存在如下错误:校验和错、TTL 错、版本号错、头部长度错、错误目标地址;
IPv4 分组的封装发送;
注:不要求实现 IPv4 协议中的选项和分片处理功能
IPv4 分组转发实验:
设计路由表数据结构。
设计路由表所采用的数据结构。要求能够根据目的 IPv4 地址来确定分组处理行为(转发情况下需获得下一跳的 IPv4 地址)。路由表的数据结构和查找算法会极大的影响路由器的转发性能,有兴趣的同学可以深入思考和探索。
IPv4 分组的接收和发送。
对前面实验(IP 实验)中所完成的代码进行修改,在路由器协议栈的 IPv4 模块中能够正确完成分组的接收和发送处理。
IPv4 分组的转发。
对于需要转发的分组进行处理,获得下一跳的 IP 地址,然后调用发送接口函数做进一步处理。