Un mémorandum de ce que je n'ai pas compris en étudiant le réseau sous Linux (ubuntu18.04) Je vais le laisser ici.
netns(network namespace)
--PC Vous pouvez toujours créer un réseau indépendant Exemple: créer un réseau appelé hellorold avec sudo ip netns add helloworld
--sudo ip netns exec helloworld bash démarre bash sur helloworld. Sortie avec sortie --sudo ip netns delete Supprimer helloworld avec helloworld.
--Utilisez veth comme suit pour connecter les espaces de noms réseau
De plus, comme il est nécessaire de changer l'état du réseau de bas en haut, procédez comme suit - sudo ip netns exec ns1 ip link set ns1-veth0 up - sudo ip netns exec ns2 ip link set ns2-veth0 up
--Une table de routage est également requise pour la communication entre les routeurs. Par conséquent, les locales sont ajoutées à la table par un routage statique qui ajoute une table de routage en envoyant une commande. Les globaux effectuent un routage dynamique (des protocoles tels que BGP, OSPF, etc. sont utilisés)
--Synonyme de hub de commutation
UDP
―― Un port est comme une pièce dans un appartement. Cela devient une valeur numérique de 16 bits.
--nc -ulnv ip (adresse) (numéro de port) Commencez en tant que serveur. "-U: communication UDP" "-L: Agir en tant que serveur" "-N: Empêche DNS de résoudre les adresses IP" "-V: pour afficher les commandes en détail" --nc -u ip (adresse) (numéro de port) Lancé en tant que client
tcp
--P est inclus dans l'indicateur de bit de contrôle lors de l'envoi d'une chaîne
HTTP
Le numéro de port utilisé est TCP 80
echo -en "GET / HTTP/1.0¥r¥n¥r¥n" | nc 127.0.0.1 80
curl -X GET -D - http://127.0.0.1
Vous pouvez émettre une requête http sous la forme de
Vous pouvez démarrer le serveur de cette manière. A ce moment, la page affichée au moment de l'accès sera index.html sur le répertoire courant.
DNS
Le serveur DNS est souvent un serveur externe. Par exemple, google (8.8.8.8)
Le résolveur de votre PC décide du DNS à utiliser.
Localement, pour Linux, il y a une liste de résolution DNS dans le fichier "/ etc / hosts".
Le port utilisé est le port UDP 53
DHCP
――En tant que rôle --Allocation d'adresse IP --Création d'une table de routage
Spécification du serveur de noms utilisé pour la résolution de noms je fais
La méthode de communication est la méthode serveur / client. Souvent, le routeur est principalement responsable de la fonction de serveur DHCP
Le port utilisé est le port UDP 67
NAT(NAPT)
--Translate entre l'adresse locale et l'adresse globale.
--Utilisé sous Linux avec la commande iptables
socket (): spécifiez quel type de communication est effectué dans le socket bind (): spécifiez l'adresse IP et le numéro de port pour écouter la connexion listen (): commencez à écouter une connexion accept (): traiter le client connecté (attendre la connexion dans cette fonction) send () / recv (): chaîne d'octets de réception close (): ferme la connexion
--127.0.0.1: adresse de bouclage. Utilisé lorsque vous souhaitez communiquer avec vous-même sur le réseau
--tcpdump: Capture (reniflement) des données tcp / ip circulant sur votre ordinateur
--Sans la table de routage, la communication vers l'extérieur n'est pas possible. --Pour voir la table de routage, "ip route show" --Une route par défaut est requise pour communiquer avec l'extérieur
Recommended Posts