This commit is contained in:
parent
88fd13a01a
commit
0ef4b692e4
7 changed files with 184 additions and 9 deletions
|
@ -4,6 +4,7 @@ import sitemap from "@astrojs/sitemap";
|
|||
import { astroImageTools } from "astro-imagetools";
|
||||
|
||||
import { remarkReadingTime } from "./plugin/remark-reading-time";
|
||||
import emoji from "remark-emoji";
|
||||
import remarkMermaid from "astro-diagram/remark-mermaid";
|
||||
|
||||
// https://astro.build/config
|
||||
|
@ -12,6 +13,6 @@ export default defineConfig({
|
|||
integrations: [mdx(), sitemap(), astroImageTools],
|
||||
markdown: {
|
||||
syntaxHighlight: false,
|
||||
remarkPlugins: [remarkReadingTime, remarkMermaid],
|
||||
remarkPlugins: [remarkReadingTime, remarkMermaid, emoji],
|
||||
},
|
||||
});
|
||||
|
|
143
package-lock.json
generated
143
package-lock.json
generated
|
@ -17,7 +17,8 @@
|
|||
"fork-awesome": "^1.2.0",
|
||||
"lodash-es": "^4.17.21",
|
||||
"mdast-util-to-string": "^4.0.0",
|
||||
"reading-time": "^1.5.0"
|
||||
"reading-time": "^1.5.0",
|
||||
"remark-emoji": "^4.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/lodash-es": "^4.17.9",
|
||||
|
@ -1394,6 +1395,17 @@
|
|||
"node": ">= 8"
|
||||
}
|
||||
},
|
||||
"node_modules/@sindresorhus/is": {
|
||||
"version": "3.1.2",
|
||||
"resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-3.1.2.tgz",
|
||||
"integrity": "sha512-JiX9vxoKMmu8Y3Zr2RVathBL1Cdu4Nt4MuNWemt1Nc06A0RAin9c5FArkhGsyMBWfCu4zj+9b+GxtjAnE4qqLQ==",
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sindresorhus/is?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/@tokenizer/token": {
|
||||
"version": "0.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz",
|
||||
|
@ -2125,6 +2137,14 @@
|
|||
"node": ">=4"
|
||||
}
|
||||
},
|
||||
"node_modules/char-regex": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz",
|
||||
"integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==",
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/character-entities": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz",
|
||||
|
@ -2940,6 +2960,20 @@
|
|||
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.2.1.tgz",
|
||||
"integrity": "sha512-97g6QgOk8zlDRdgq1WxwgTMgEWGVAQvB5Fdpgc1MkNy56la5SKP9GsMXKDOdqwn90/41a8yPwIGk1Y6WVbeMQA=="
|
||||
},
|
||||
"node_modules/emojilib": {
|
||||
"version": "2.4.0",
|
||||
"resolved": "https://registry.npmjs.org/emojilib/-/emojilib-2.4.0.tgz",
|
||||
"integrity": "sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw=="
|
||||
},
|
||||
"node_modules/emoticon": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/emoticon/-/emoticon-4.0.1.tgz",
|
||||
"integrity": "sha512-dqx7eA9YaqyvYtUhJwT4rC1HIp82j5ybS1/vQ42ur+jBe17dJMwZE4+gvL1XadSFfxaPFFGt3Xsw+Y8akThDlw==",
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/wooorm"
|
||||
}
|
||||
},
|
||||
"node_modules/end-of-stream": {
|
||||
"version": "1.4.4",
|
||||
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
|
||||
|
@ -5594,6 +5628,17 @@
|
|||
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz",
|
||||
"integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA=="
|
||||
},
|
||||
"node_modules/node-emoji": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-2.1.0.tgz",
|
||||
"integrity": "sha512-tcsBm9C6FmPN5Wo7OjFi9lgMyJjvkAeirmjR/ax8Ttfqy4N8PoFic26uqFTIgayHPNI5FH4ltUvfh9kHzwcK9A==",
|
||||
"dependencies": {
|
||||
"@sindresorhus/is": "^3.1.2",
|
||||
"char-regex": "^1.0.2",
|
||||
"emojilib": "^2.4.0",
|
||||
"skin-tone": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/node-fetch": {
|
||||
"version": "2.6.7",
|
||||
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
|
||||
|
@ -6507,6 +6552,83 @@
|
|||
"url": "https://opencollective.com/unified"
|
||||
}
|
||||
},
|
||||
"node_modules/remark-emoji": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/remark-emoji/-/remark-emoji-4.0.0.tgz",
|
||||
"integrity": "sha512-lQP1lFaYOz6zyJTBfOwYChM1YkgJEVcxSnUBkjo9qujqWwpY36MRFzDjYDk9YNdHqkw5yExB8MnVVHb6wX9QNA==",
|
||||
"dependencies": {
|
||||
"emoticon": "^4.0.1",
|
||||
"mdast-util-find-and-replace": "^3.0.0",
|
||||
"node-emoji": "^2.1.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/remark-emoji/node_modules/@types/mdast": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.0.tgz",
|
||||
"integrity": "sha512-YLeG8CujC9adtj/kuDzq1N4tCDYKoZ5l/bnjq8d74+t/3q/tHquJOJKUQXJrLCflOHpKjXgcI/a929gpmLOEng==",
|
||||
"dependencies": {
|
||||
"@types/unist": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/remark-emoji/node_modules/@types/unist": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.0.tgz",
|
||||
"integrity": "sha512-MFETx3tbTjE7Uk6vvnWINA/1iJ7LuMdO4fcq8UfF0pRbj01aGLduVvQcRyswuACJdpnHgg8E3rQLhaRdNEJS0w=="
|
||||
},
|
||||
"node_modules/remark-emoji/node_modules/escape-string-regexp": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz",
|
||||
"integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==",
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/remark-emoji/node_modules/mdast-util-find-and-replace": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.0.tgz",
|
||||
"integrity": "sha512-8wLPIKAvGdA5jgkI8AYKfSorV3og3vE6HA+gKeKEZydbi1EtUu2g4XCxIBj3R+AsFqY/uRtoYbH30tiWsFKkBQ==",
|
||||
"dependencies": {
|
||||
"@types/mdast": "^4.0.0",
|
||||
"escape-string-regexp": "^5.0.0",
|
||||
"unist-util-is": "^6.0.0",
|
||||
"unist-util-visit-parents": "^6.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/unified"
|
||||
}
|
||||
},
|
||||
"node_modules/remark-emoji/node_modules/unist-util-is": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz",
|
||||
"integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==",
|
||||
"dependencies": {
|
||||
"@types/unist": "^3.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/unified"
|
||||
}
|
||||
},
|
||||
"node_modules/remark-emoji/node_modules/unist-util-visit-parents": {
|
||||
"version": "6.0.1",
|
||||
"resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz",
|
||||
"integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==",
|
||||
"dependencies": {
|
||||
"@types/unist": "^3.0.0",
|
||||
"unist-util-is": "^6.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/unified"
|
||||
}
|
||||
},
|
||||
"node_modules/remark-frontmatter": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-4.0.1.tgz",
|
||||
|
@ -7035,6 +7157,17 @@
|
|||
"npm": ">=5.6.0"
|
||||
}
|
||||
},
|
||||
"node_modules/skin-tone": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/skin-tone/-/skin-tone-2.0.0.tgz",
|
||||
"integrity": "sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==",
|
||||
"dependencies": {
|
||||
"unicode-emoji-modifier-base": "^1.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/source-map": {
|
||||
"version": "0.7.4",
|
||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
|
||||
|
@ -7449,6 +7582,14 @@
|
|||
"url": "https://github.com/sponsors/wooorm"
|
||||
}
|
||||
},
|
||||
"node_modules/unicode-emoji-modifier-base": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz",
|
||||
"integrity": "sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==",
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
}
|
||||
},
|
||||
"node_modules/unified": {
|
||||
"version": "10.1.2",
|
||||
"resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz",
|
||||
|
|
|
@ -19,7 +19,8 @@
|
|||
"fork-awesome": "^1.2.0",
|
||||
"lodash-es": "^4.17.21",
|
||||
"mdast-util-to-string": "^4.0.0",
|
||||
"reading-time": "^1.5.0"
|
||||
"reading-time": "^1.5.0",
|
||||
"remark-emoji": "^4.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/lodash-es": "^4.17.9",
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
I'm a masters student at the University of Minnesota advised by [Favonia]. I
|
||||
previously worked as a Software Developer at [AWS] and [SIFT]. My
|
||||
computing-related interests lie in programming language design and formal
|
||||
verification, systems security, cryptography, and distributed systems.
|
||||
I'm a masters computer science student at the University of Minnesota advised by
|
||||
[Favonia]. I currently work as a software engineer at [Swoop Search], and I've
|
||||
worked at [AWS] and [SIFT] in the past. My computing-related interests lie in
|
||||
programming language design and formal verification, systems security,
|
||||
cryptography, and distributed systems.
|
||||
|
||||
[Swoop Search]: https://swoopsrch.com/
|
||||
[aws]: https://aws.amazon.com/
|
||||
[sift]: https://www.sift.net/
|
||||
[favonia]: https://favonia.org/
|
||||
|
|
BIN
src/content/posts/2023-09-01-ip-routing/cableHero.png
Normal file
BIN
src/content/posts/2023-09-01-ip-routing/cableHero.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.8 MiB |
28
src/content/posts/2023-09-01-ip-routing/index.md
Normal file
28
src/content/posts/2023-09-01-ip-routing/index.md
Normal file
|
@ -0,0 +1,28 @@
|
|||
---
|
||||
title: How IP routing works
|
||||
date: 2023-09-01T03:50:38.386Z
|
||||
tags:
|
||||
- networking
|
||||
draft: true
|
||||
|
||||
heroImage: ./cableHero.png
|
||||
heroAlt: futuristic photograph of a bunch of organized network cables
|
||||
---
|
||||
|
||||
Many of us have probably heard of an IP address, but how does it actually work?
|
||||
I'm going to try to give a high level overview to technical networking concepts.
|
||||
|
||||
Throughout this post I'm going to keep referring back to a train station
|
||||
analogy. We'll start off with a small network and build up into something that
|
||||
scales into the internet we have today.
|
||||
|
||||
## The simplest network
|
||||
|
||||
First, the analogy isn't very far off. Just as there's multiple tracks
|
||||
leading away from a train station, a computer has multiple ports to communicate
|
||||
with other computers, and we typically call these **interfaces**. For example, a
|
||||
laptop may have a Wi-Fi _interface_ and an Ethernet _interface_, while a cell
|
||||
phone may have a cellular _interface_ as well. Server computers could have any
|
||||
number of interfaces.
|
||||
|
||||
You could imagine a simple network between 3 computers like this:
|
|
@ -7,6 +7,8 @@ layout: ../layouts/BaseLayout.astro
|
|||
|
||||
import Intro from "../content/partials/shortBio.md";
|
||||
|
||||
Hi there! :wave:
|
||||
|
||||
<Intro />
|
||||
|
||||
### Research
|
||||
|
@ -16,8 +18,8 @@ write some blog posts as I learn more. My advisor is [Favonia].
|
|||
|
||||
### University Involvement
|
||||
|
||||
During my time at the University of Minnesota, I like to be actively involved in
|
||||
computing related student groups.
|
||||
I also love to participate in computing related student groups at the University
|
||||
of Minnesota. Here's some of the groups that I'm involved with:
|
||||
|
||||
- **[GopherHack]**. I'm one of the founding officers at the GopherHack
|
||||
organization, hoping to grow a CTF community at the University. I prepare
|
||||
|
|
Loading…
Reference in a new issue