My current research interests include: NDN, VR video streaming. And my working projects also relate to video decoding/encoding, CV and deep learning.
Named Data Networking (NDN)
NDN communication is pull-based, which is very similar to HTTP request/response exchange (but they are fundamental different, which will be analyzed in later part). For more efficient data retrieval, NDN leverages name-based routing together with stateful forwarding:
- data consumer first sends a request (named interest packet in NDN), which is identified with the name of desired data;
- the data request is forwarded to proper link(s) based on its name on routers;
- and intermediate routers keep the “soft state” (incoming link, outgoing link and the interest) until the desired data is returned, or the state is timeouts;
- when the desired data (data packet in NDN) is found, it then traces back to the data consumer under the guidance of the “soft state”.
- each data packet is signed by the producer when it is generated, and data consumer is capable of validating the data packet
Name-based routing is able to create multiple links for request forwarding on control plane, and stateful forwarding is able to eliminate duplicate requests and avoid forwarding loop. Thus, request forwarding is capable of utilizing flexible strategies, such as broadcasting, best-link etc. Also as we can see the request/data exchange follows symmetrical path, intermediate routers are able to estimate the health status of each link at the granularity of each name prefix.
Here I list some key advantages of NDN:
- data are named and secured independent from its container: allowing in-network caching, multiple data sources
- pull-based request/data exchange following a symmetrical path
- stateful forwarding avoiding packet loop and enabling link health state estimation in real time, and built-in support for multiple-path and intermediate fast failure recovery.
- flexible request forwarding at each hope: broadcasting, best-link, ect.
- end-to-end data validation to ensure the data-oriented security
- NDN can be built on any datagram services, e.g., ethernet, wifi, IP, UDP or TCP, so it serves as network-layer to support apps;
According to the features of NDN, it does well in large-scale data distribution, ad-hoc communication, mobile data retrieval, esp. when data security is essential.
different from HTTP request/response:
- Similarity: HTTP is built on top of TCP, which means the data consumer and data producer is adjacent since TCP provides reliable pipeline service. This one-hop host-to-host communication is still host-centric. However, due to needs of large-scale content distribution, today’s HTTP traffic is mostly supported by DNS and CDN (content distribution network). This overlay architecture enables HTTP to leverage redundant content replicas. Also quite a few applications are built over HTTP, e.g., DASH and HLS
- Security: Data is secured directly in NDN, while HTTP needs additional mechanism such as SSL/TLS to build secure channel for data transmission. Data-oriented security v.s. Channel-based security. For now CDN’s support for HTTPs is quite vulnerable, which usually requires data owners place their private keys on CDN.
- Request Routing: NDN use name-based routing on intermediate routers to guide requests to find their data. In the context of CDN, hashing-based method or mapping-based method are used to locate content. Also, in the context of CDN, the first CDN node that receives clients’ request is in charge of fetching the data (usually in a iterative way like iterative DNS request), but NDN lets each intermediate routers to hold the request and decide where to forward it with flexible strategies.
IPv6 & SDN
Papers and Projects I have followed intensively
Learning to See in the Dark: adopt UNet which tones a short-exposure photo to a beautiful one. The output photo loses some textures however, resembling being blurred.
Will People Like Your Image? Learning the Aesthetic Space: Score different pictures based on ResNet50, however the open-source code produces bad results, and author confirmed that the code may contain bugs.
Burst Photography for High Dynamic Rang and Low-light Imaging on Mobile Cameras: