Entretien de la fondation du réseau informatique pour Android

Avant - propos : Commencez à résumer vos propres informations d'entretien. Bien qu'il soit disponible en ligne, la collecte et la navigation ne sont vraiment pas aussi bonnes que la compréhension et l'absorption. Allons,

1. La structure et la fonction de chaque couche, et les protocoles existants

La structure du système OSI a 7 couches, et ici nous parlons de 5 couches selon la structure du système TCP / IP.

Couche physique >>> couche liaison de données >>> couche réseau >>> couche transport >>> couche application (couche présentation, couche session)



1.1, couche d'application

Tâches de la couche application: via l'interaction de communication entre les processus d'application pour compléter un

protocole de couche d'application d' application de réseau spécifique : règles d'interaction de communication entre les processus d'application

message: l'unité de données de l'interaction de la couche d'application

prend en charge les protocoles suivants:

  • Système de noms de domaine (DNS)
  • Protocole HTTP World Wide Web (HyperText Transfer Protocol)
  • Protocole SMTP pour le courrier électronique

DNS du système de noms de domaine: une base de données distribuée qui mappe les noms de domaine et les adresses IP les uns aux autres, ce qui est pratique pour les utilisateurs d'accéder rapidement. Par exemple, github, si vous visitez au Japon, vous accédez au serveur au Japon et le serveur en Chine est le serveur chinois. Donc, il est un distribué.
Le rôle du protocole de nom de domaine: convertir le nom de domaine en adresse IP pour trouver l'hôte correspondant

Protocole HTTP: Hypertext Transfer Protocol, WWW (World Wide Web) sont tous conformes à ce protocole. Le but initial était de publier et de recevoir des pages HTML.


Couche d'application vernaculaire :
ici peut être comprise comme le processus de traduction entre ordinateurs, codage binaire de données



1.2. Couche de transport

Tâches de la couche transport: fournir des services généraux de transmission de données pour la communication entre deux processus hôtes.

Protocole de la couche transport: règles du service de transmission des données de la couche transport La

couche transport a des fonctions de multiplexage et de

démultiplexage ; multiplexage: un hôte peut ouvrir plusieurs threads, Plusieurs processus d'application peuvent utiliser le

partage de service de transmission en même temps : la couche de transmission reçoit le message et le remet au bon Socket en fonction des informations d'en-tête du message, c'est-à-dire au processus d'application correspondant.

Les protocoles pris en charge sont:

  • TCP (Transmission Control Protocol) >>> Transmission Control Protocol; orienté connexion, fournissant des services de transmission de données fiables
  • UDP (User Datagram Protocol) >>> protocole de données utilisateur; pour le sans connexion, ne garantit pas la fiabilité de la transmission des données
    (TCP et UDP seront décrits en détail plus loin)

Couche de transport vernaculaire : la
couche de transport divise les données de la couche supérieure en de nombreux segments de données pour faciliter la résolution des erreurs et encapsule chaque segment de données avec un numéro de port dans l'en-tête



1.3, couche réseau

Tâches de la couche réseau: sélectionnez les nœuds de routage et de commutation appropriés entre les réseaux pour établir la communication entre les nœuds terminaux.

Protocole de couche réseau: protocoles

pris en charge par les règles de transmission de couche réseau :

  • Protocole IP >>> encapsule les messages et les données utilisateur générés par la couche de transport dans des paquets de données combinés pour la transmission
  • Protocole ARP >>> Protocole de résolution d'adresse
  • Protocole RARP >>> Protocole de résolution d'adresse inverse

Vernaculaire de la couche réseau : la
couche réseau recapsule les données de la couche supérieure dans un datagramme IP, avec une adresse IP dans l'en-tête, qui est utilisée pour identifier l'adresse logique du réseau



1.4, couche liaison de données

Couche de liaison de données: encapsule les données dans des trames de données, puis transmet des

trames sur chaque liaison. Trames perdues: les informations de contrôle de la couche de liaison de données peuvent détecter des erreurs dans la trame de données à l'extrémité de réception. En cas d'erreur, supprimez la trame pour éviter Continuer à transmettre des ressources gaspillées. Si les données doivent être corrigées, un protocole de transmission fiable doit être utilisé pour corriger les erreurs. (Cela montre que la couche liaison de données peut non seulement détecter les erreurs, mais également corriger les erreurs)


La couche de liaison de données vernaculaire : la
couche de liaison de données réencapsule les données téléchargées dans une trame de données, et son en-tête MAC contient une information d'adresse MAC importante. Peut être compris comme l'adresse physique solidifiée dans le matériel



1.5, couche physique

Couche physique: pour obtenir une transmission transparente des flux de bits entre les nœuds informatiques adjacents


Le vernaculaire de la couche physique :
convertir les données de la couche supérieure en signaux électriques pour la transmission sur le réseau


1.6, points supplémentaires

Matériel commun et cinq modèles de correspondance entre la
couche d'application: ordinateur (en fait, l'ordinateur est une fusion de l'OSI sept-en-un)
couche de transport:
Couche réseau du pare-feu : routeur (routeur domestique strictement pour faire la paix avec notre famille sont incohérents, généralement dans la pièce peut Voir)
Couche liaison de données: commutateur (tel que le
modem optique à la maison) Couche physique: carte réseau



2. Prise de contact TCP à trois et quatre mains agitées

Schéma simple de la poignée de main TCP à trois:

2.1 Pourquoi y a-t-il une poignée de main à trois?

Le client envoie un SYN (signal de prise de contact établi par TCP / IP) -> le serveur envoie un message SYN / ACK au client après l'avoir reçu. La réponse indique qu'il a été reçu -> le client envoie un ACK au serveur pour indiquer qu'il a été reçu.

SYN: indique que le message du client au serveur est correct

ACK: indique que le message du serveur au client est correct


Exemple: relation normale entre garçons et filles. Le client (petite amie) envoie le message "Je vais dormir" -> le serveur (petit ami) reçoit le message et envoie "Bonne nuit". Si le client (petite amie) ne répond pas à ce moment, cela signifie qu'il s'agit d'une relation anormale entre les hommes et les femmes. Si la cliente (petite amie) envoie "Ann" à ce moment, cela signifie que la relation entre les deux parties est normale et que vous valez la peine de vous marier à la maison. C'est pourquoi il y a trois poignées de main! ! !

Diagramme schématique simple de TCP ondulant quatre fois:

2.2. Pourquoi agiter quatre fois

N'importe quelle partie peut envoyer une notification de libération de connexion lorsqu'il n'y a aucun message à envoyer. Notez que la connexion TCP n'est pas complètement fermée pour le moment. Une fois que l'autre partie a confirmé, il passe à l'état semi-fermé. Lorsque l'autre partie n'a pas de message à envoyer, la notification de libération de connexion est également envoyée, puis la connexion TCP est complètement fermée.


Exemple: A et B passent un appel téléphonique. Lorsque l'appel est sur le point de se terminer, A dit "Je n'ai rien à dire", B répond "Je sais", mais B peut encore avoir quelque chose à dire, A ne peut pas demander à B de suivre le sien Le rythme met fin à l'appel, alors B peut dire un autre mot à Barabara, et finalement B dit "J'ai fini", et A répond "Je sais", donc l'appel est terminé.



Troisièmement, la différence entre les protocoles TCP et UDP

UDP: pour une vitesse rapide et sans connexion.

TCP non fiable : la connexion est établie avant la transmission des données et les ressources sont libérées une fois la transmission des données terminée. Taux de transmission fiable mais relativement lent.

La fiabilité de TCP est incarnée par: l'établissement d'une connexion avant de transmettre des données et l'assurance de la fiabilité de la transmission de données par des mécanismes de confirmation, de fenêtre, de retransmission et de congestion pendant la transmission de données.



Quatrièmement, entrez l'adresse URL dans le mobile >> le processus d'affichage de la page d'accueil

1. Analyse DNS, trouvez l'adresse IP correspondante

2. Établissez la connexion TCP

3. Envoyez la requête HTTP

4. Processus du serveur et retournez le message HTTP

5. Vagrant résout et rend la page

6. La connexion se termine



Cinq, résumé du code d'état



Six, connexion courte HTTP et connexion longue

Connexion courte: une connexion est établie à chaque fois qu'une demande réseau est effectuée et la connexion

est interrompue. Connexion longue: une fois la demande réseau terminée, la connexion ne sera pas interrompue immédiatement et la connexion ne sera pas maintenue en permanence, mais dans un délai défini, lorsqu'il n'y a pas de transmission déconnecter.

//使用长连接,会在响应头加入这行代码
Connection:keep-alive


7. Quel est le rôle des cookies? Quelle est la différence avec Session

Cookie et Session sont deux méthodes de session utilisées pour suivre l'identité de l'utilisateur du mobile, mais les scénarios utilisateur des deux sont différents.

  • Cookie: les données sont enregistrées sur le client. N'écrivez pas de données sensibles et il est préférable que le serveur les décrypte après le cryptage
  • Session: les données sont stockées sur le serveur


8. Quelle est la différence entre URI et URL

URI (Uniform Resource Identifier): est le même identifiant de ressource, qui peut identifier de manière unique une

URL de ressource (Uniform Resource Location): est le même localisateur de ressource, qui peut fournir le chemin de la ressource. Il s'agit d'un URI spécifique, qui est une sous-classe d'URI.



Neuf, la différence entre HTTP et HTTPS

HTTP: protocole de transfert hypertexte. L'URL commence par "http" et le numéro de port par défaut est 80. La transmission est entièrement en texte brut sans cryptage et la sécurité est faible

HTTPS: HTTP fonctionnant sur SSL / TLS a une sécurité élevée. L'URL commence par "https" et le numéro de port par défaut est 443.


Cryptage symétrique : il n'y a qu'une seule clé, et le cryptage et le décryptage sont le même mot de passe, et la vitesse de cryptage est rapide. Non sécurisé: si l'intermédiaire intercepte la clé depuis le début de la communication, les informations seront divulguées.

Cryptage asymétrique : il existe deux clés publiques et différentes clés sont utilisées pour le cryptage et le décryptage. Par exemple, Xiao Ming a la clé A et la clé publique B. Envoyez la clé publique B à Xiaohong, Xiaohong utilise la clé publique B pour crypter sa propre clé publique C et l'envoie à Xiaoming. Xiaoming utilise sa propre clé A pour déchiffrer sa clé publique B afin d'obtenir la clé publique de Xiaohong C. Plus tard, Xiaoming envoie des messages à Xiaohong cryptés avec la clé publique de Xiaohong c, et Xiaohong envoie des messages à Xiaoming cryptés avec la clé publique de Xiaoming B. C'est relativement sûr. En fait, ce n'est pas absolument sûr: si l'intermédiaire intercepte la clé publique B dès son ouverture, la remplace par sa propre clé publique et l'envoie à Xiaohong, l'information peut également être interceptée.

SSL / TLS : différent du cryptage asymétrique, il est effectué via l'autorité de certification sur le mobile ou le système d'exploitation. La signification approximative est d'utiliser la clé publique du vagabond et de l'autorité de certification pour crypter et générer une signature. Une fois que le destinataire l'a reçu, utilisez la clé publique convenue pour générer une signature et comparer la signature des informations reçues. Une fois qu'elles sont correctes, vérifiez qu'elles n'ont pas été détournées par un intermédiaire, puis décryptez les informations et cryptez les informations de transmission.



Références (merci)

Connaissance de base du

réseau informatique Processus de transmission de données du

réseau informatique

Qu'est-ce que le protocole HTTPS?

Je suppose que tu aimes

Origine blog.csdn.net/leol_2/article/details/105262409
conseillé
Classement