Skip to content

Commit 197dfcb

Browse files
committed
feat: gh-148 networking ovewrview moved to dev resources
1 parent 7752d91 commit 197dfcb

File tree

2 files changed

+26
-29
lines changed

2 files changed

+26
-29
lines changed

docs/wiki/EL/devp2p.md

+2-29
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,14 @@
11
# DevP2P
22

33
This section will cover the networking protocol used by the Execution Layer (EL).
4-
First, we will provide some background on computer networks and then we will dive into the
5-
specifics of the EL's networking protocol.
6-
7-
## Computer networks background
8-
This section covers a brief overview of the differences and similarities between the OSI (Open Systems Interconnection) and TCP/IP (Transmission Control Protocol/Internet Protocol) models,
9-
as well as the protocols involved in the transport layer used in DevP2P: TCP and UDP.
10-
11-
In terms of networking, both models refer to the same process of communication between layers.
12-
Just as Kurose and Ross explain (2020), the computer networks are divided into different layers, and each one of them has a specific responsibility. The OSI model has seven layers, while the TCP/IP model has four layers. The OSI model is more theoretical and the TCP/IP model is more practical.
13-
The OSI model is a reference model created by the International Organization for Standardization (ISO) to provide a framework for understanding networks. The TCP/IP model was created by the Department of Defense (DoD) to ensure that messages could be transmitted between computers regardless of the types of computers involved.
14-
The TCP/IP model is a concise version of the OSI model:
15-
16-
![alt text](../../images/el-architecture/osi-tcpip-models.png)
17-
18-
In summary, the OSI model layers are:
19-
1. Physical layer: responsible for the transmission and reception of raw data between devices.
20-
2. Data link layer: responsible for the node-to-node delivery of the message.
21-
3. Network layer: responsible for the delivery of packets from the source to the destination.
22-
4. Transport layer: responsible for the delivery of data between the source and the destination.
23-
5. Session layer: responsible for the establishment, management, and termination of connections between applications.
24-
6. Presentation layer: responsible for the translation, compression, and encryption of data.
25-
7. Application layer: responsible for providing network services directly to the end-user.
26-
27-
Assuming the communication schema proposed by Claude Shannon (1948), every communication implies both a sender and a receiver, a message to be exchanged between them, a transmission medium, and a protocol to be followed.
28-
This is important to mention because regardless of the computer architecture, it could be part of a network if it follows the communication and protocol specifications of the models mentioned above.
29-
30-
Focusing on the transport layer, the two protocols used by DevP2P are TCP (Transmission Control Protocol) and UDP (User Datagram Protocol).
4+
First, as it is referred in the [networking section](../dev/cs-resources.md?id=networking), focusing on the transport layer, the two protocols used by DevP2P are TCP (Transmission Control Protocol) and UDP (User Datagram Protocol).
315
Both protocols are used to send data over the internet, but they have different characteristics. Just as Tanenbaum points it out (2021),TCP is a connection-oriented protocol, which means that it establishes a connection between the sender and the receiver before sending data.
326
It is reliable because it ensures that the data is delivered in the correct order and without errors. UDP is a connectionless protocol, which means that it does not establish a connection before sending data.
337
It is faster than TCP because it does not have to establish a connection before sending data, but it is less reliable because it does not ensure that the data is delivered in the correct order or without errors.
348

359
![img.png](../../images/el-architecture/tcpudp.png)
3610

11+
3712
## EL's networking specs
3813
As a peer-to-peer network Ethereum implies a series of rules to enable communication between its participant nodes. This section cover an explanation of which are those rules and how they are implemented in the EL.
3914
Considering each Ethereum node is built upon two different components: the execution client and the consensus client, each one of them has its own peer-to-peer network with its own purpose.
@@ -411,6 +386,4 @@ Since ephemeral keys are discarded after a session ends, even if an attacker lat
411386
* [Ethereum Addresses](https://ethereum.org/en/developers/docs/networking-layer/network-addresses/)
412387
* Alchemy (2022). [How are Ethereum transactions propagated (broadcast)?](https://www.alchemy.com/overviews/transaction-propagation)
413388
* Andrew S. Tanenbaum, Nick Feamster, David J. Wetherall (2021). *Computer Networks*. 6th edition. Pearson. London.
414-
* Clause E. Shannon (1948). "A Mathematical Theory of Communication". *Bell System Technical Journal*. Vol. 27.
415-
* Jim Kurose and Keith Ross (2020). *Computer Networking: A Top-Down Approach*. 8th edition. Pearson.
416389
* Kevin Leffew (2019). "Kademlia usage in the Ethereum protocol". [*A brief overview of Kademlia, and its use in various decentralized platforms*](https://medium.com/coinmonks/a-brief-overview-of-kademlia-and-its-use-in-various-decentralized-platforms-da08a7f72b8f). Medium.

docs/wiki/dev/cs-resources.md

+24
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,33 @@
5252

5353
## Networking
5454

55+
This section covers a brief overview of the differences and similarities between the OSI (Open Systems Interconnection) and TCP/IP (Transmission Control Protocol/Internet Protocol) models,
56+
as well as the protocols involved in the transport layer used in DevP2P: TCP and UDP.
57+
58+
In terms of networking, both models refer to the same process of communication between layers.
59+
Just as Kurose and Ross explain (2020), the computer networks are divided into different layers, and each one of them has a specific responsibility. The OSI model has seven layers, while the TCP/IP model has four layers. The OSI model is more theoretical and the TCP/IP model is more practical.
60+
The OSI model is a reference model created by the International Organization for Standardization (ISO) to provide a framework for understanding networks. The TCP/IP model was created by the Department of Defense (DoD) to ensure that messages could be transmitted between computers regardless of the types of computers involved.
61+
The TCP/IP model is a concise version of the OSI model:
62+
63+
![alt text](../../images/el-architecture/osi-tcpip-models.png)
64+
65+
In summary, the OSI model layers are:
66+
1. Physical layer: responsible for the transmission and reception of raw data between devices.
67+
2. Data link layer: responsible for the node-to-node delivery of the message.
68+
3. Network layer: responsible for the delivery of packets from the source to the destination.
69+
4. Transport layer: responsible for the delivery of data between the source and the destination.
70+
5. Session layer: responsible for the establishment, management, and termination of connections between applications.
71+
6. Presentation layer: responsible for the translation, compression, and encryption of data.
72+
7. Application layer: responsible for providing network services directly to the end-user.
73+
74+
Assuming the communication schema proposed by Claude Shannon (1948), every communication implies both a sender and a receiver, a message to be exchanged between them, a transmission medium, and a protocol to be followed.
75+
This is important to mention because regardless of the computer architecture, it could be part of a network if it follows the communication and protocol specifications of the models mentioned above.
76+
5577
- 🎥 [Introduction to Computer Networking](https://www.youtube.com/playlist?list=PLEAYkSg4uSQ2dr0XO_Nwa5OcdEcaaELSG)
5678
- 🎥 [Computers and the Internet | Khan Academy](https://www.khanacademy.org/computing/code-org/computers-and-the-internet)
5779
- 🎥 [Computer Networking: a Top-Down Approach](https://gaia.cs.umass.edu/kurose_ross/online_lectures.htm)
80+
- Clause E. Shannon (1948). "A Mathematical Theory of Communication". *Bell System Technical Journal*. Vol. 27.
81+
- Jim Kurose and Keith Ross (2020). *Computer Networking: A Top-Down Approach*. 8th edition. Pearson.
5882

5983
## Distributed systems and blockchain
6084

0 commit comments

Comments
 (0)