Skip to content

Commit 45fa5a5

Browse files
Add NAT links
1 parent 516f407 commit 45fa5a5

File tree

3 files changed

+34
-1
lines changed

3 files changed

+34
-1
lines changed

Network/icmp.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ first place (so that the sender can determine the datagram that caused the error
2121

2222
## Application
2323

24+
2425
- **Ping**: The well-known ping program sends an ICMP type 8 code 0 message to the
2526
specified host. The destination host, seeing the echo request, sends back a type 0
2627
code 0 ICMP echo reply
@@ -38,6 +39,20 @@ Because this datagram contains a UDP segment with an unlikely port number, the
3839
destination host sends a port unreachable ICMP message (type 3 code 3) back to the
3940
source.
4041

42+
### How Does Ping Work?
43+
44+
1. As the ping program initializes, it opens a raw ICMP socket so that it can employ IP directly, circumventing TCP and UDP.
45+
2. Ping formats an ICMP type 8 message, an Echo Request, and sends it (using the “sendto” function) to
46+
the designated target address. The system provides the IP header and the data link layer envelope.
47+
3. As ICMP messages are received, ping has the opportunity to examine each packet to pick out those
48+
items that are of interest.
49+
4. The usual behavior is to siphon off ICMP type 0 messages, Echo Replies, which have an identification
50+
field value that matches the program PID.
51+
52+
[How Does Ping Really Work](http://www.galaxyvisions.com/pdf/white-papers/How_does_Ping_Work_Style_1_GV.pdf)
53+
54+
This inspirational document detailed about how the well-know ping application works.
55+
4156
## Reference
4257

4358
https://www.geeksforgeeks.org/internet-control-message-protocol-icmp/

Network/nat.md

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
## NAT
22

3-
**Network address translation (NAT)** is a method of remapping an IP address space into another by modifying network address information in the IP header of packets while they are in transit across a traffic routing device.[1] The technique was originally used to avoid the need to assign a new address to every host when a network was moved, or when the upstream Internet service provider was replaced, but could not route the networks address space. It has become a popular and essential tool in conserving global address space in the face of IPv4 address exhaustion. One Internet-routable IP address of a NAT gateway can be used for an entire private network.
3+
**Network address translation (NAT)** is a method of remapping an IP address space into another by modifying network address information in the IP header of packets while they are in transit across a traffic routing device. The technique was originally used to avoid the need to assign a new address to every host when a network was moved, or when the upstream Internet service provider was replaced, but could not route the networks address space. It has become a popular and essential tool in conserving global address space in the face of IPv4 address exhaustion. One Internet-routable IP address of a NAT gateway can be used for an entire private network.
44

55
![NAT translation](images/nat_translation.png)
66

@@ -27,6 +27,23 @@ T- ranslation results in switching path delays.
2727

2828
## Reference
2929

30+
[Introduction to Network Address Translation](https://nsrc.org/workshops/2018/btnog-wireless/presentations/00_NAT_Introduction.pdf)
31+
32+
This slide provide a comprehensive overview of NAT and illustrate its typical use case with Campus Network Design & Operations Workshop.
33+
34+
[Cisco − How NAT Works](http://academy.delmar.edu/Courses/download/CiscoIOS/NAT_HowItWorks.pdf)
35+
36+
A document published by Cisco that gives a insighful angle of how NAT works.
37+
38+
[A Retrospective View of Network Address Translation](http://web.cs.ucla.edu/~lixia/papers/08IEEE-NAT-Retrospect.pdf)
39+
40+
Today, network address translators, or NATs, are everywhere. Their ubiquitous
41+
adoption was not promoted by design or planning but by the continued growth of
42+
the Internet, which places an ever-increasing demand not only on IP address space
43+
but also on other functional requirements that network address translation is perceived to facilitate. This article presents a personal perspective on the history of
44+
NATs, their pros and cons in a retrospective light, and the lessons we can learn
45+
from the NAT experience.
46+
3047
[NAT WIKIpedia](https://en.wikipedia.org/wiki/Network_address_translation)
3148

3249
[NAT Geek for geek](https://www.geeksforgeeks.org/network-address-translation-nat/)

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -382,6 +382,7 @@
382382
### E. [Brain Teaser](https://www.geeksforgeeks.org/puzzles/)
383383

384384
### F. System Design
385+
1. [System Design Primer](https://github.com/donnemartin/system-design-primer)
385386

386387
### G. By Company
387388
1. [Tesla](Interview/Company/tesla.md)

0 commit comments

Comments
 (0)