|
1 | 1 | # DevP2P
|
2 | 2 |
|
3 | 3 | 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 |
| - |
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). |
31 | 5 | 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.
|
32 | 6 | 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.
|
33 | 7 | 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.
|
34 | 8 |
|
35 | 9 | 
|
36 | 10 |
|
| 11 | + |
37 | 12 | ## EL's networking specs
|
38 | 13 | 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.
|
39 | 14 | 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
|
411 | 386 | * [Ethereum Addresses](https://ethereum.org/en/developers/docs/networking-layer/network-addresses/)
|
412 | 387 | * Alchemy (2022). [How are Ethereum transactions propagated (broadcast)?](https://www.alchemy.com/overviews/transaction-propagation)
|
413 | 388 | * 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. |
416 | 389 | * 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.
|
0 commit comments