Skip to content

Commit

Permalink
updates
Browse files Browse the repository at this point in the history
Signed-off-by: (Bit-Mage) <[email protected]>
  • Loading branch information
(Bit-Mage) committed Oct 13, 2024
1 parent 4a50075 commit 1eb8896
Show file tree
Hide file tree
Showing 24 changed files with 278 additions and 7 deletions.
2 changes: 1 addition & 1 deletion Content/20231227162344-computer_networks.org
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
#+filetags: :cs:programming:

* Abstract
The notion of communication between Computers. Theoretically captured by the [[https://en.wikipedia.org/wiki/OSI_model][7-layered OSI (open systems Interconnection)]] model.
The notion of communication between Computers. Theoretically captured by [[id:2deb95d6-5474-4096-85fc-bd568031cc33][the OSI model]]

The OSI Layers:
1. Hardware
Expand Down
14 changes: 13 additions & 1 deletion Content/20240215121050-kubernetes.org
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,18 @@
see [[id:f822f8f6-89eb-4aa8-ac8f-fdcff3f06fb9][Orchestration]]

* Stream
** 0x22E2
- reading https://sookocheff.com/post/kubernetes/understanding-kubernetes-networking-model/
** 0x22E1
- the <git vc host>/kubernetes/hack/ is useful
- charting the kubernetes source code
** 0x22DF
*** Netshoot
- for debugging purposes:
- definitely checkout netshoot
- recommend using as a plugin with krew
- am locally using on my minikube dev setup via krew as of now
- https://github.com/nicolaka/netshoot
** 0x22D6
*** Open Container Initiative
- https://opencontainers.org/
Expand All @@ -17,7 +29,7 @@ see [[id:f822f8f6-89eb-4aa8-ac8f-fdcff3f06fb9][Orchestration]]
- https://kubernetes.io/docs/concepts/architecture/cri/
**** Container Network Interface
**** Container Storage Interface
** 0x22D6
** 0x22D5
- some quick indexes from container.training
- internal dynamic dns: https://qconuk2019.container.training/#46
- how the master node avoids running workloads: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/
Expand Down
2 changes: 1 addition & 1 deletion Content/20240305152640-web_application_firewall.org
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
:PROPERTIES:
:ID: 49fee858-eb36-4230-8eb0-881df964aec8
:END:
#+title: Web Application Firewall
#+title: Firewall
#+filetags: :sec:web:

An agent between requests from the web and a server that acts as a to avoid exploits.
Expand Down
2 changes: 1 addition & 1 deletion Content/20240501185858-load_balancing.org
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
:ID: 0d7c2dea-a250-4380-b826-ad4d2547d8d6
:END:
#+title: Load Balancing
#+filetags: :web:
#+filetags: :network:web:

* Abstract
- Revolves around the idea of balancing requests over a pool of resources to avoid the over-"load"ing of any single point of service.
Expand Down
2 changes: 1 addition & 1 deletion Content/20240502085158-linux.org
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
:ID: d43f2ef3-6eb4-4f8d-89ed-095fedd7d7f9
:END:
#+title: Linux
#+filetags: :cs:
#+filetags: :linux:cs:

* Abstract
- this a fairly vast umbrella node that helps pedagogically cover several concepts in computer science.
Expand Down
14 changes: 12 additions & 2 deletions Content/20240810072451-quectel_wwan.org
Original file line number Diff line number Diff line change
@@ -1,7 +1,17 @@
:PROPERTIES:
:ID: 051ff645-bf0b-4229-add9-56da0caa5654
:END:
#+title: quectel-wwan
#+title: quectel EM05G
#+filetags: :hardware:

facing some issues with the EM05G post-suspension wake, tried some recommendations cause nmtui shows hardware missing
* [[id:f9002f5f-f8b8-4064-8af4-dabcc145668d][Modem Manager]]

* FCC Unlocking
- https://mobile-broadband.pages.freedesktop.org/docs/modemmanager/fcc-unlock/
- the module isn't detectable readily on boots (on a couple of linuces so far: Fedora 40, OpenSuse TW (2024+))
- for Fedora 40, see https://foundata.com/en/blog/2024/quectel-em05-g-thinkpad-t14-gen4-fedora-linux/



* Resources
- https://www.quectel.com/product/lte-em05-series/
8 changes: 8 additions & 0 deletions Content/20241012070314-modemmanager.org
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
:PROPERTIES:
:ID: f9002f5f-f8b8-4064-8af4-dabcc145668d
:END:
#+title: ModemManager
#+filetags: :hardware:

* Resources
- https://mobile-broadband.pages.freedesktop.org/
39 changes: 39 additions & 0 deletions Content/20241013061220-internet_protocol_address.org
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
:PROPERTIES:
:ID: d799bc90-5032-4a69-9806-83145297a335
:END:
#+title: IP (Internet Protocol) Address
#+filetags: :network:

* Definition
- a unique numeric label assigned to each device connected to a [[id:a4e712e1-a233-4173-91fa-4e145bd68769][computer network]] that uses the IP for communication.
- two primary functions:
- identifying a host or network interface
- providing the location of the host in the network [[id:6bb5e976-0619-4a6e-8c6b-adb39d5dcc8c][topology]]

* Types of IP Addresses
** [[id:f3fda9d4-bfde-4672-8b51-a41700c0cd98][IPv4]]
- Consists of 32 bits.
- Forms over 4.3 billion unique addresses.
- Format: four octets separated by dots (e.g., 192.168.1.1).
** [[id:1a3d2a4c-bfad-4e5a-ab97-4db4531e7bd2][IPv6]]
- Developed due to the exhaustion of IPv4 addresses.
- Consists of 128 bits.
- Can support about 340 undecillion addresses.
- Format: eight groups of four hexadecimal digits separated by colons (e.g., 2001:0db8:85a3:0000:0000:8a2e:0370:7334).

** [[id:1c4b02bf-2597-4e2d-9e85-1be4993dcb31][IPv5 Lore]]
* Static vs. Dynamic IP Addresses
- Static IP Addresses
- Permanently assigned to a computer by an ISP.
- Dynamic IP Addresses
- Temporarily assigned from a pool by the [[id:dd743d7a-7e96-45a7-9894-13f79b351681][DHCP (Dynamic Host Configuration Protocol)]].

* IP-related Concepts and Connections
** [[id:c1875db1-be4d-43fe-9c88-bf5fc7a95df3][DNS (Domain Name System)]]
- Translates human-readable domain names to IP addresses.
** [[id:e6f902bf-c138-4d79-85cc-98f1165ef761][IP Subnetting]]
- Divides a large network into smaller, manageable segments.
** [[id:2db5d39c-8f0d-4bcb-ba73-c5d4e22c4d03][NAT (Network Address Translation)]]
- Allows multiple devices on a local network to share a single public IP address.

** [[id:74055437-5557-4a21-9b7a-a3b5df3a8a24][IPVS (IP Virtual Server)]]
57 changes: 57 additions & 0 deletions Content/20241013061617-ipv5_lore.org
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
:PROPERTIES:
:ID: 1c4b02bf-2597-4e2d-9e85-1be4993dcb31
:END:
#+title: IPv5 Lore
#+filetags: :network:

* Overview

- IPv5, officially known as the Internet Stream Protocol (ST)
- Developed in the late 1970s and early 1980s as an experimental protocol.
- Intended to support voice and video streaming.

- Historical Context
- Appeared after [[id:f3fda9d4-bfde-4672-8b51-a41700c0cd98][IPv4]], around the time networking demands started to exceed existing capabilities.
- Primarily focused on addressing multicast traffic requirements.

- Reasons for Lack of Adoption
- [[id:1a3d2a4c-bfad-4e5a-ab97-4db4531e7bd2][IPv6]] development eventually overshadowed IPv5 due to its more comprehensive improvements.
- The Stream Protocol was not intended to replace IPv4 but to work alongside it for specific use cases.
- Limited deployment and lack of backward compatibility.

- Connections
- IPv5 influenced future transport and streaming protocols by highlighting the need for real-time data transmission capabilities.
- Lessons from IPv5 partially informed design choices in subsequent protocols like RTP (Real-time Transport Protocol).

- Critique
- IPv5's role as a standalone protocol was limited; thus, its practical applications were marginal.
- The protocol's compartmentalized vision indicates a lack of foresight for overarching internet scalability needs, something IPv6 addressed more robustly.

- Connections and Historical Context
- The invention of IPv5 revealed early intentions to handle real-time communications, which laid groundwork concepts for later technologies.
- Key ideas from IPv5 can be seen in the development of [[id:11c09e36-bdef-4977-9142-6d8ec0e697ba][Quality of Service]] (QoS) mechanisms to prioritize data packages effectively.
- There is a progression of protocol evolution, from IPv4 addressing limitations, to IPv5 experimentation, culminating in IPv6, which provides a vastly larger address space and enhanced functionalities.

- Critique
- IPv5 was limited by its integer-based versioning, as the number "5" was an interim step rather than a full-fledged protocol version; this highlights the complexity of protocol version transitions.
- The major critique of IPv5 was a lack of foresight concerning the explosion of internet-connected devices, which IPv6 primarily aimed to address with its larger address pool.

- Ideation Strategies
- Understanding the failures and limitations of previous technologies like IPv5 can guide innovative thinking in protocol development and network infrastructure improvements.
- Encourage critical analysis of current network demands and potential future trends to preemptively design adaptable protocol systems.
- Foster interdisciplinary collaboration, as real-time data implications span fields like telecommunications, multimedia services, and IoT development.

- Questions for Further Exploration
- What specific elements from IPv5 were integrated into later protocols?
- How has real-time data transmission evolved from early attempts like IPv5 to modern broadband technologies?
- Can the limitations of IPv5 provide insights into potential pitfalls for future network protocol developments?


- It seems there was no specific context provided in the previous interaction.
- To assist effectively, here are some questions to help guide the discussion:
- What domain or topic are you interested in exploring?
- Are you looking to understand a specific concept or historical development in network protocols?
- Is there a particular challenge or problem you are aiming to solve with the information?
- Filling in these details will allow for more precise and helpful insights.
* Resources
- https://en.wikipedia.org/wiki/Internet_Stream_Protocol
7 changes: 7 additions & 0 deletions Content/20241013061841-ipv6.org
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
:PROPERTIES:
:ID: 1a3d2a4c-bfad-4e5a-ab97-4db4531e7bd2
:END:
#+title: IPv6
#+filetags: :network:

see [[id:d799bc90-5032-4a69-9806-83145297a335][Internet Protocol Address]]
7 changes: 7 additions & 0 deletions Content/20241013061908-ipv4.org
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
:PROPERTIES:
:ID: f3fda9d4-bfde-4672-8b51-a41700c0cd98
:END:
#+title: IPv4
#+filetags: :network:

see [[id:d799bc90-5032-4a69-9806-83145297a335][Internet Protocol Address]]
30 changes: 30 additions & 0 deletions Content/20241013062206-quality_of_service.org
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
:PROPERTIES:
:ID: 11c09e36-bdef-4977-9142-6d8ec0e697ba
:END:
#+title: Quality of Service
#+filetags: :cs:network:

* Definitions
- Quality of Service (QoS) refers to the overall performance of a network or internet service, particularly the ability to guarantee a certain level of bandwidth, latency, and error rates.
* Components
- [[id:8d65e292-30f3-41c3-9611-d4a9acc173fb][Bandwidth]]: The maximum rate of data transfer across a network.
- [[id:aa3f4461-08f4-4a3d-ae4b-5704d1f3dd23][Latency]]: The delay before a transfer of data begins following an instruction for its transfer.
- [[id:e1ccd5f4-2431-457d-b823-334e767a29b3][Jitter]]: The variation in the time between packets arriving.
- [[id:91792611-56f9-472c-acf1-c8402bda2de6][Error Rates]]: The frequency of errors in data transmission or processing.
* Importance
- Ensures reliable and predictable communication performance.
- Crucial for applications requiring high data integrity and low latency, such as video conferencing and online gaming.
- Connections
- High QoS is generally correlated with enhanced user experience in digital services.
- Implementation of QoS requires careful network planning and sometimes additional resources or infrastructure.
- Critiques & Considerations
- Measuring true QoS can be challenging due to variability in internet traffic and external factors.
- Implementation may introduce complexity and overhead, potentially affecting performance in systems with constrained resources.
- Improvement Strategies
- Prioritize network traffic based on application needs.
- Constant monitoring and adaptive algorithms to dynamically manage resources.
- Investing in infrastructure upgrades to support higher performance standards.
- Engaging in load balancing to distribute traffic effectively.
- Areas for Further Inquiry
- What are the best practices for implementing QoS in a large-scale network?
- How can QoS be effectively measured and monitored in real-time?
5 changes: 5 additions & 0 deletions Content/20241013062322-bandwidth.org
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
:PROPERTIES:
:ID: 8d65e292-30f3-41c3-9611-d4a9acc173fb
:END:
#+title: Bandwidth
#+filetags: :cs:network:
5 changes: 5 additions & 0 deletions Content/20241013062359-latency.org
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
:PROPERTIES:
:ID: aa3f4461-08f4-4a3d-ae4b-5704d1f3dd23
:END:
#+title: Latency
#+filetags: :network:cs:
5 changes: 5 additions & 0 deletions Content/20241013062413-jitter.org
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
:PROPERTIES:
:ID: e1ccd5f4-2431-457d-b823-334e767a29b3
:END:
#+title: Jitter
#+filetags: :cs:network:
5 changes: 5 additions & 0 deletions Content/20241013062429-error_rates.org
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
:PROPERTIES:
:ID: 91792611-56f9-472c-acf1-c8402bda2de6
:END:
#+title: Error Rates
#+filetags: :network:cs:
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
:PROPERTIES:
:ID: dd743d7a-7e96-45a7-9894-13f79b351681
:END:
#+title: DHCP (Dynamic Host Configuration Protocol)
#+filetags: :cs:network:
5 changes: 5 additions & 0 deletions Content/20241013062649-dns_domain_name_system.org
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
:PROPERTIES:
:ID: c1875db1-be4d-43fe-9c88-bf5fc7a95df3
:END:
#+title: DNS (Domain Name System)
#+filetags: :network:cs:
5 changes: 5 additions & 0 deletions Content/20241013062709-nat_network_address_translation.org
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
:PROPERTIES:
:ID: 2db5d39c-8f0d-4bcb-ba73-c5d4e22c4d03
:END:
#+title: NAT (Network Address Translation)
#+filetags: :cs:network:
5 changes: 5 additions & 0 deletions Content/20241013062853-ip_subnetting.org
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
:PROPERTIES:
:ID: e6f902bf-c138-4d79-85cc-98f1165ef761
:END:
#+title: IP Subnetting
#+filetags: :network:cs:
22 changes: 22 additions & 0 deletions Content/20241013062954-ipvs_ip_virtual_server.org
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
:PROPERTIES:
:ID: 74055437-5557-4a21-9b7a-a3b5df3a8a24
:END:
#+title: IPVS (IP Virtual Server)
#+filetags: :cs:network:

* Overview
- *Definition*: IPVS ([[id:d799bc90-5032-4a69-9806-83145297a335][IP]] Virtual Server) is a transport-layer [[id:0d7c2dea-a250-4380-b826-ad4d2547d8d6][load balancing]] tool implemented within the [[id:d43f2ef3-6eb4-4f8d-89ed-095fedd7d7f9][Linux]] Kernel.
- It is part of the [[id:b8797396-4551-4a54-84ea-80b8f1a5b086][LVS (Linux Virtual Server)]] project.
- Operates at Layer 4 of the [[id:2deb95d6-5474-4096-85fc-bd568031cc33][OSI model]] (Transport Layer).

- *Purpose*: Distributes network traffic across multiple servers.
- Used for scaling services by spreading client requests.
- Ensures high availability and reliability of applications.

- *Use Cases*:
- Commonly used for load balancing web servers.
- Supports both TCP and UDP protocols.

- *Implementation*:
- Kernel module: Requires appropriate configuration of kernel and network settings.
- Works in conjunction with iptables for packet filtering.
5 changes: 5 additions & 0 deletions Content/20241013063203-lvs_linux_virtual_server.org
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
:PROPERTIES:
:ID: b8797396-4551-4a54-84ea-80b8f1a5b086
:END:
#+title: LVS (Linux Virtual Server)
#+filetags: :linux:
5 changes: 5 additions & 0 deletions Content/20241013063317-the_osi_model.org
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
:PROPERTIES:
:ID: 2deb95d6-5474-4096-85fc-bd568031cc33
:END:
#+title: OSI (Open Systems Interconnection) Model
#+filetags: :network:cs:
29 changes: 29 additions & 0 deletions Content/20241013071303-conntrack.org
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
:PROPERTIES:
:ID: a5c1f909-fffb-4afb-af50-5c546820dd7c
:END:
#+title: conntrack
#+filetags: :network:cs:

* Overview
** Definition
- conntrack is a system used for [[id:a4e712e1-a233-4173-91fa-4e145bd68769][network connection]] tracking.
- Integral to many firewall software setups, especially in Linux-based systems.

** Functionality
- Monitors state of active connections.
- Manages connection state information for network protocols such as TCP, UDP.
- Utilizes a state table for tracking connections.

** Importance
- Enhances security by helping to filter and manage network traffic.
- Allows for more complex and dynamic firewall rules.
- Important for network performance tuning and understanding traffic patterns.

** Key Components
- conntrack-tools: a suite of user-space utilities to manage the active connections.
- nf_conntrack: a kernel module handling the connection tracking functionality.

** Connection to [[id:49fee858-eb36-4230-8eb0-881df964aec8][Firewalls]]
- Used extensively in iptables/netfilter frameworks.
- Provides stateful inspection capabilities, allowing decisions based on connection states.

0 comments on commit 1eb8896

Please sign in to comment.