Giter Club home page Giter Club logo

nlsr-sample-k8s's Introduction

nlsr-sample-k8s

Overview

This repository provides a sample Kubernetes (K8s) deployment script for Named Data Networking (NDN) using NDN Link State Routing Protocol (NLSR).

nlsr-sample-k8s.png

Deployment

  1. Clone the repository and navigate to the project directory:
git clone https://github.com/hydrokhoos/nlsr-sample-k8s.git
cd nlsr-sample-k8s
  1. Execute the deployment script:
./create.sh
  1. Check NLSR status on a specific node:
kubectl exec deployment/ndn-node1 -- /bin/bash -c "nlsrc routing"
Routing Table:
  Destination: /ndn/jp/%C1.Router/node4
    NextHop(Uri: tcp4://10.103.50.35:6363, Cost: 25)
    NextHop(Uri: tcp4://10.98.159.39:6363, Cost: 75)
  Destination: /ndn/jp/%C1.Router/node3
    NextHop(Uri: tcp4://10.103.50.35:6363, Cost: 50)
    NextHop(Uri: tcp4://10.98.159.39:6363, Cost: 50)
  Destination: /ndn/jp/%C1.Router/node2
    NextHop(Uri: tcp4://10.98.159.39:6363, Cost: 25)
    NextHop(Uri: tcp4://10.103.50.35:6363, Cost: 75)

Provide Content

  1. Create content (e.g. /sample.txt)
kubectl exec deployment/ndn-node1 -- /bin/bash -c "echo 'Hello, world!' > /sample.txt"
  1. Advertise content using NLSR
kubectl exec deployment/ndn-node1 -- /bin/bash -c "nlsrc advertise /sample.txt"
  1. Provide content
kubectl exec deployment/ndn-node1 -- /bin/bash -c "ndnputchunks /sample.txt < /sample.txt"
  1. Request content from another node
kubectl exec deployment/ndn-node3 -- /bin/bash -c "ndncatchunks /sample.txt"
All segments have been received.
Time elapsed: 0.000433459 seconds
Segments received: 1
Transferred size: 0.014 kB
Goodput: 258.386606 kbit/s
Congestion marks: 0 (caused 0 window decreases)
Timeouts: 0 (caused 0 window decreases)
Retransmitted segments: 0 (0%), skipped: 0
RTT min/avg/max = 0.394/0.394/0.394 ms
Hello, world!

Undeploy

To delete the deployments and associated resources:

kubectl delete -f ndn-node1.yaml
kubectl delete -f ndn-node2.yaml
kubectl delete -f ndn-node3.yaml
kubectl delete -f ndn-node4.yaml

nlsr-sample-k8s's People

Contributors

hydrokhoos avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

kobayashiharuto

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.