【CS144】Lab5与Lab6总结

由于Lab5和Lab6相对比较简单(跟着文档一步一步写就行),于是放在一起做一个简单概述(主要是懒得写了…)

Lab汇总

Lab5概述

lab5要求实现一个IP与Ethernet(以太网)之间的网络接口,说白了就是将IP数据报封装为帧的一个组件(网络层与链路层之间的接口)。其主要功能为:

  • 为网络层提供封装成帧的接口,将上层提交下来的IP数据报封装成以太网的帧,添加上源IP和目标IP的MAC地址,如果暂时没有目标IP对应的MAC地址的缓存,将该IP数据报暂时缓存下来,并根据ARP协议封装请求数据报并将该数据报广播至整个子网中。

  • 根据ARP(Address Resolution Protocol)协议发送ARP数据报所封装的帧,等待接收回应。(在实际使用中可能收不到回应,但是在lab中不需要考虑这个问题)

  • 当接收到一个链路层的帧时,需要判断该帧的类型(IPv4或ARP);如果为IPv4的帧,则解封装后返回;如果为ARP的帧,则缓存帧中发送方的IP与MAC映射30s),同时如果该ARP为请求数据报(类型为REQUEST),还需要向该数据报发送方发送ARP回应数据报

lab6概述

lab6要求实现一个路由器数据平面的转发功能,即维护一个路由表,根据数据报的IP字段匹配采用最长前缀匹配法匹配路由表,根据最佳表项的动作进行转发。主要实现的有:

  • 添加一个路由表表项

  • 根据收到的IP数据报的IP字段,匹配路由表表项,若匹配不到或者该数据报的TTL字段小于等于1,则丢弃该数据报;否则将数据报所匹配的表项中的接口下一跳IP地址(Next-Hop)进行转发(若Next-Hop为空,则说明下一跳为数据报中的目标IP地址

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值