Skip to content

interstellarH/2023_FALL_COMPUTER_NETWORK_LABS

Repository files navigation

2023_FALL_COMPUTER_NETWORK_LABS

基本信息

本系列Lab为北京大学《计算机网络》(黄群)课程设计,基于N2Sys实验室自主设计的OmniStack协议栈框架进行设计

本Lab分为一个预备阶段以及四个主要阶段

  • Lab0: 我们希望你至少对epoll编程以及CMake的使用有一点基础
  • Lab1: 在应用层实现一个简单的myftp协议(注意这里为了简化,并没有实现FTP协议,我们自行定义了一个成为myftp的协议)
  • Lab2: 在传输层实现一个基于UDP的可靠传输协议
  • Lab3: 在网络层实现一个简易NAT设备
  • Lab4; 在链路层实现一个虚拟交换机

技术

在开始完成该系列Lab之前,我们会在Lv0中简单介绍该Lab需要使用到的基本的技术

Github和Gitd的基本使用 基于Epoll的Socket编程 CMake的基本使用方法 同时有一些知识我们希望你在开始本系列Lab之前至少有一些基本的了解:

在本次项目的开发过程中,我们会使用到一些C++的高级语法特性,当然为了避免有同学不理解,我们会在每次出现高级语法特性的地方特别注明 Socket的基本使用方法 在完成本系列Lab后,我们相信你对以下的知识都应当有了基本的认知或者更加深入的了解:

CMake的使用

CMake是个一个开源的跨平台自动化建构系统

相信同学们在ics的课程中都已经了解过了Make这个系统,CMake也是类似的东西

Socket编程

TCP/IP协议栈的分层结构以及这样设计的意图

网卡的工作模型

一些网络中除了终端机器以外的一些其他设备的工作行为

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published