Résumé des connaissances de base et du principe de fonctionnement du serveur Linux

Principes de base du serveur

  Un, le type de serveur

       1. Divisé par la taille du réseau

   Divisés par l'échelle du réseau, les serveurs sont divisés en serveurs au niveau du groupe de travail, serveurs au niveau du service et serveurs au niveau de l'entreprise

       2. Divisé par l'architecture

   Selon la structure du serveur, il peut être divisé en serveur d'architecture CISC (jeu d'instructions complexes) et serveur d'architecture RISC (jeu d'instructions réduit)

       3. Divisé par objectif

   Selon le but de l'utilisation, les serveurs peuvent être divisés en serveurs polyvalents et serveurs dédiés (ou «fonctionnels»)

       4. Divisé par l'apparence

   Selon l'apparence du serveur, il peut être divisé en serveur de bureau, serveur rack et serveur lame

  Deux, le processus de démarrage du système Linux

       1. Une fois l'ordinateur mis sous tension, le processeur charge le code à partir d'une adresse fixe et commence à l'exécuter. Cette adresse est l'endroit où se trouve le pilote BIOS, le pilote BIOS commence donc à s'exécuter.
       2. Lisez et exécutez le chargeur de démarrage MBR (lilo, grub, spfdisk, etc.) du premier périphérique de démarrage
       3. Chargez le noyau en fonction des paramètres du chargeur de démarrage et le noyau commence à détecter le matériel et à charger le pilote;
       4 Une fois le lecteur matériel réussi, le noyau appellera activement le programme systemd (initialisation).

  Trois, principe de fonctionnement Web

      www est l'abréviation de World Wide Web, ce qui signifie diffusion mondiale d'informations. D'une manière générale, aller en ligne consiste à utiliser www pour interroger les informations dont les utilisateurs ont besoin. www peut être combiné avec des éléments multimédias tels que du texte, des graphiques, des images et du son, et peut transmettre des informations à toutes les parties du monde via Internet en permettant à la souris de cliquer sur un lien hypertexte.

      Semblable à d'autres serveurs, lorsque vous vous connectez au site Web www, le site Web fournira certainement des données, et votre client doit utiliser un logiciel capable d'analyser ces données pour les traiter, c'est-à-dire le navigateur.

Schéma de connexion entre le serveur www et le navigateur client

Schéma de connexion entre le serveur www et le navigateur client

      1. Le protocole utilisé par www : Comment le navigateur demande-t-il des données au serveur Web et comment le serveur envoie-t-il le document au navigateur? Ceci est défini par le protocole http ( Hyper Text Transport Protocol, HTTP, Hyper Text Transport Protocol ).
      2. Le serveur www doit fournir une plate-forme permettant au client de naviguer. Actuellement, les serveurs Web les plus courants sont Apache, les services Internet (IIS) de Microsoft et unix nginx .
      3. Les données les plus importantes fournies par le serveur sont Hyper Text Markup Language (HTML) , les fichiers multimédias (images, images, sons, textes, etc., appartiennent tous au multimédia ou à l'hypermédia), HTML n'est que des données en texte brut, via la soi-disant marque pour normaliser le format des données à afficher.
      4. Une fois que le client a reçu les données du serveur, le logiciel doit analyser les données fournies par le serveur et enfin présenter l'effet sur l'écran de l'utilisateur. Les navigateurs bien connus incluent le navigateur IE intégré au système d'exploitation Windows, ainsi que le navigateur Firefox et le navigateur Chrome de Google.
      La signification de l'URL

      La plupart des données fournies par le serveur Web sont des fichiers, nous devons donc écrire les fichiers de données côté serveur et les placer dans un répertoire spécial. Ce répertoire est la page d'accueil de l'ensemble de notre site Web. Dans redhat, ce répertoire La valeur par défaut est / var / www / html. Le navigateur obtient les données de ce répertoire en entrant l'URL dont vous avez besoin dans la barre d'adresse.
      URL : Uniform Resource Locator, Uniform Resource Locator, une représentation concise de l'emplacement et de la méthode d'accès des ressources disponibles sur Internet, et l'adresse d'une ressource standard sur Internet.
              <protocole>: // <adresse d'hôte ou nom d'hôte> [: port] / <ressource de répertoire, chemin>
             Les protocoles couramment pris en charge par les navigateurs sont: http, https, ftp, etc.

      Méthode de requête http

      Dans la communication http, chaque message de requête http contient une méthode pour indiquer au serveur Web les actions spécifiques à effectuer. Ces actions comprennent: l'obtention d'une page Web spécifiée, la soumission de contenu au serveur et la suppression des fichiers de ressources sur le serveur.

Numéro de série méthode la description
1 AVOIR Demander les informations de page spécifiées et renvoyer le corps de l'entité
2 TÊTE Similaire à une requête get, sauf qu'il n'y a pas de contenu spécifique dans la réponse renvoyée, qui est utilisé pour obtenir l'en-tête
3 PUBLIER Soumettez les données à la ressource spécifiée pour le traitement de la demande (comme l'envoi d'un formulaire ou le téléchargement d'un fichier). Les données sont contenues dans le corps de la requête. Les requêtes POST peuvent entraîner la création de nouvelles ressources et / ou la modification de ressources existantes
4 METTRE Les données transmises du client au serveur remplacent le contenu du document spécifié
5 EFFACER Demander au serveur de supprimer la page spécifiée
6 RELIER Le protocole HTTP / 1.1 est réservé aux serveurs proxy qui peuvent changer la connexion en mode pipe
sept OPTIONS Autoriser le client à afficher les performances du serveur
8 TRACE Faire écho à la demande reçue par le serveur, principalement pour le test ou le diagnostic

      Le code d'état est composé de trois chiffres. Le premier chiffre définit la catégorie de réponse et il existe cinq valeurs possibles.

code d'état importance
1xx Informations d'instruction - indique que la demande a été reçue et continue le traitement.
2xx Success-indique que la demande a été reçue, comprise et acceptée avec succès.
3xx La redirection pour terminer la demande doit prendre des mesures supplémentaires.
4xx Erreur du client - La demande a une erreur de syntaxe ou la demande ne peut pas être satisfaite.
5xx Erreur côté serveur - Le serveur n'a pas réussi à répondre à une demande légitime.

      Les descriptions des codes d'état courants et des descriptions d'état sont les suivantes:

code d'état La description
200 OK La demande du client a réussi.
400 Mauvaise demande La demande client a une erreur de syntaxe et ne peut pas être comprise par le serveur.
401 Non autorisé La demande n'est pas autorisée. Ce code d'état doit être utilisé avec le champ d'en-tête WWW-Authenticate.
403 Interdit Le serveur a reçu la demande, mais a refusé de fournir le service.
404 introuvable La ressource demandée n'existe pas, par exemple: la mauvaise URL a été saisie.
Erreur de serveur interne 500 Une erreur inattendue s'est produite sur le serveur.
Serveur 503 indisponible Le serveur est actuellement incapable de traiter la demande du client et peut revenir à la normale après un certain temps.

      Flux de travail de demande de protocole HTTP:
        (1) Le client du terminal entre l'adresse d'accès http://www.ceshi.com:80/index.html dans la barre d'adresse du
        navigateur Web (2) Le navigateur Web demande au serveur DNS de mettre le nom de domaine www.ceshi .com correspond à l'adresse IP du serveur Web
        (3) Le navigateur Web analyse le numéro de port (la valeur par défaut est 80) à partir de l'adresse d'accès (URL)
        (4) Le navigateur Web communique avec le serveur Web via l'adresse IP et le numéro de port résolus Une connexion TCP est établie entre
        (5) Une fois la connexion TCP établie, le navigateur Web envoie un message de requête HTTP au serveur Web
        (6) Le serveur Web répond et lit les informations de requête du navigateur, puis renvoie un message de réponse HTTP.
        (7) Le serveur Web ferme la connexion HTTP, ferme la connexion TCP et le navigateur Web affiche le contenu du site Web visité à l'écran.

  Quatre, principe de fonctionnement DHCP

      dhcp (Dynamic Host configuration Protocol, dynamic host configuration protocol) est un protocole de réseau LAN, c'est principalement via le client d'envoyer des paquets de données de diffusion à tous les hôtes dans tout le segment de réseau physique, s'il y a un serveur DHCP dans le LAN, il répondra aux exigences des paramètres IP du client.
      Le processus permettant au client d'obtenir les paramètres IP est le suivant:
      (1)Client: utilisez des paquets de diffusion pour envoyer des paquets pour rechercher le serveur DHCP. Si les paramètres réseau du client utilisent le protocole DHCP pour obtenir l'IP, lorsque le client met sous tension ou redémarre la carte réseau, l'hôte client enverra un paquet UDP (découverte) pour trouver le serveur DHCP à tous les ordinateurs du segment de réseau physique . Puisque le client ne sait pas encore à quel réseau il appartient, l'adresse source du paquet sera 0.0.0.0 et l'adresse de destination sera 255.255.255.255. En règle générale, l'hôte rejettera directement ce paquet de données après l'avoir reçu. S'il y a un serveur DHCP dans le LAN, il lancera les actions suivantes.
      (2)Côté serveur: fournissez des baux liés au réseau côté client pour la sélection. (Offre Dhcp) Une fois que le serveur DHCP a écouté la diffusion de découverte DHCP envoyée par le client, il effectuera les tâches suivantes pour l'adresse matérielle du client (MAC) et ses propres données de configuration: Accédez au fichier journal du serveur pour savoir si l'utilisateur a déjà loué Si vous avez passé une certaine adresse IP, si personne ne l'utilise, fournissez cette adresse IP au client. Si le fichier de configuration fournit une adresse IP fixe spécifique pour l'adresse MAC, l'adresse IP fixe est fournie au client. Si les deux conditions ci-dessus ne sont pas remplies, les paramètres IP qui ne sont pas actuellement utilisés sont sélectionnés au hasard pour le client et enregistrés.
      (3)Client: choisissez de sélectionner le bail de paramètre réseau fourni par le serveur DHCP et confirmez au serveur. Puisqu'il peut ne pas y avoir qu'un seul serveur DHCP dans le LAN, mais que le client ne peut recevoir qu'un ensemble de baux de paramètres réseau, le client ne choisira qu'une des offres DHCP (généralement celle qui arrive en premier). Après avoir décidé d'utiliser le bail de paramètres réseau de ce serveur, le client commence à utiliser cet ensemble de paramètres réseau pour configurer son propre environnement réseau. De plus, le client enverra un paquet de diffusion de demande DHCP à tous les hôtes du segment de réseau physique pour informer que le bail du serveur a été accepté (s'il y a plus de deux serveurs DHCP à ce moment, ces serveurs non acceptés retireront le bail IP. .). En même temps, le client enverra également un paquet ARP au réseau pour demander si d'autres machines sur le réseau utilisent l'adresse IP; si l'adresse IP s'avère occupée, le client enverra un paquet DHCPDECLIENT au serveur DHCP et refusez d'accepter son offre DHCP et renvoyez les informations de découverte DHCP.
      (4)Côté serveur: après avoir enregistré le comportement du bail et envoyé les informations du paquet de réponse au client pour confirmer l'utilisation du client. Lorsque le serveur reçoit la sélection de confirmation du client, le serveur renverra un paquet de réponse dhcp ack confirmé, informera le client de la période de location de ce paramètre de réseau et démarrera la synchronisation de location. Ensuite, lorsque le bail expirera et sera résilié, il y a les situations suivantes: le
      client est hors ligne: la fermeture de l'interface réseau, le redémarrage, l'arrêt, etc., sont tous considérés comme hors ligne et le serveur utilisera l'adresse IP à ce moment. L'adresse est récupérée et placée dans la zone de réserve du serveur pour une utilisation future.
      Expiration du bail du client: l'adresse IP émise par le serveur DHCP a une date d'expiration, et le client utilise cette adresse IP pour atteindre l'heure spécifiée par la date d'expiration, et si l'application DHCP n'est pas soumise à nouveau, le serveur retirera l'adresse IP. Cette fois il sera déconnecté. Mais l'utilisateur peut également demander au serveur DHCP d'attribuer à nouveau une adresse IP.
      Étant donné que la plupart des programmes clients DHCP actuels présenteront une nouvelle demande d'IP en fonction de la durée du bail, même s'il y a une période de bail, il n'est pas nécessaire de faire une nouvelle demande manuellement pour une adresse IP à un moment donné. Dans des circonstances normales, en supposant que la durée du bail est de T heures, le programme client prendra l'initiative d'envoyer un paquet de données demandant des paramètres réseau au serveur DHCP à 0,5T. Si cette demande de paquet de données échoue, le paquet de données sera renvoyé après 0,85T.Pour cette raison, le serveur démarrera le port67 pour écouter les demandes des clients et le client démarrera le port68 pour demander activement au serveur
Insérez la description de l'image ici

  Cinq, principe de fonctionnement du DNS

      DNS (Domain Name System) est un service sur Internet qui sert de base de données distribuée qui mappe les noms de domaine et les adresses IP entre eux, permettant aux gens d'accéder plus facilement à Internet.
      Le système DNS utilise des requêtes réseau, donc naturellement un port d'écoute est nécessaire. DNS utilise le port 53, qui peut être vu dans le fichier / etc / services (recherche de domaine). Généralement, le DNS est interrogé en utilisant UDP, un protocole de transmission de données plus rapide, mais lorsque des informations complètes ne sont pas interrogées, elles seront à nouveau interrogées à l'aide du protocole TCP.Ainsi, lorsque DNS est démarré, le port53 de TCP et UDP sera démarré en même temps.
       1. La structure
      des noms de domaine d'Internet En raison du grand nombre d'utilisateurs d'Internet, Internet utilise une méthode de dénomination par arborescence hiérarchique. Tout hôte ou routeur connecté à Internet possède un nom hiérarchique unique, c'est-à-dire un nom de domaine. "Domaine" est une division gérable de l'espace de noms.
Le nom de domaine n'est qu'un concept logique et ne représente pas l'emplacement physique de l'ordinateur. Les noms de domaine peuvent être divisés en trois catégories:
      (1) Noms de domaine de premier niveau de pays : adopter la réglementation ISO3166. Tels que: cn représente la Chine, nous représente les États-Unis, uk représente le Royaume-Uni, etc. Les noms de domaine de pays sont souvent enregistrés comme ccTLD (domaines de premier niveau de code de pays, cc signifie code de pays contry-code).
      (2) Noms de domaine génériques de premier niveau : Il existe 7 noms de domaine génériques de premier niveau les plus courants, à savoir: com (entreprise), net (organisation de service réseau), org (organisation à but non lucratif), int (organisation internationale) , gov (département du gouvernement des États-Unis), mil (département militaire américain).
      (3) Domaine d' infrastructure : il n'existe qu'un seul de ces noms de domaine de premier niveau, arpa, qui est utilisé pour la résolution inversée de nom de domaine, il est donc appelé un nom de domaine inversé.
Insérez la description de l'image ici


       2. Selon le rôle joué par les serveurs de noms de domaine, les serveurs de noms de domaine peuvent être divisés selon les types suivants:
      (1) Serveurs de noms de domaine racine: Le serveur de noms de domaine de plus haut niveau est également le serveur de noms de domaine le plus important. Tous les serveurs de noms de domaine racine connaissent les noms de domaine et les adresses IP de tous les serveurs de noms de domaine de premier niveau. Quel que soit le serveur de noms de domaine local, si vous souhaitez résoudre un nom de domaine sur Internet, tant que vous ne pouvez pas le résoudre vous-même, vous devez d'abord demander de l'aide au serveur de noms de domaine racine. Le serveur de noms de domaine racine est donc le serveur de noms de domaine le plus important. En supposant que tous les serveurs de noms de domaine racine sont paralysés, l'ensemble du système DNS ne peut pas fonctionner. Il convient de noter que dans de nombreux cas, le serveur de noms de domaine racine ne résout pas directement le nom de domaine à interroger en une adresse IP, mais indique au serveur de noms de domaine local quel serveur de noms de domaine de premier niveau rechercher ensuite.
      Au total, 13 serveurs racine sont désormais déployés dans le monde. Le serveur racine est principalement utilisé pour gérer le répertoire personnel d'Internet, et il n'y en a que 13 dans le monde. L'un est le serveur racine principal, situé aux États-Unis. Les 12 autres sont tous des serveurs racine secondaires, dont 9 sont situés aux États-Unis, 2 en Europe, 1 au Royaume-Uni et en Suède et 1 en Asie et au Japon. Tous les serveurs racine sont gérés par l'ICANN, une agence d'attribution de noms de domaine et de numéros Internet autorisée par le gouvernement américain, et sont responsables de la gestion des serveurs racine de noms de domaine Internet mondiaux, des systèmes de noms de domaine et des adresses IP. Ces 13 serveurs racine peuvent commander des navigateurs Web et des programmes de messagerie tels que Firefox ou Internet Explorer pour contrôler les communications Internet. En d'autres termes, le moyen le plus puissant, le plus direct et le plus meurtrier d'attaquer tout Internet est probablement d'attaquer le serveur de noms de domaine racine.
      Sur la base de sa compatibilité totale avec l'architecture de serveur racine IPv4 existante, le "Snowman Project" dirigé par le Centre national d'ingénierie Internet de prochaine génération de mon pays a été achevé en 2016 dans 16 pays à travers le monde, dont les États-Unis, le Japon, l'Inde et la Russie. , Allemagne et France L'installation de 25 serveurs racine IPv6 (Internet Protocol Version 6) a en fait formé un nouveau modèle de 13 racines originales plus 25 racines IPv6, jetant une base solide pour l'établissement d'une gouvernance internationale multilatérale, démocratique et transparente de l'Internet système. La Chine en a déployé 4, comprenant 1 serveur racine principal et 3 serveurs racine secondaires, brisant le dilemme selon lequel la Chine n'avait pas de serveur racine dans le passé.
      (2) Serveur de noms de domaine de premier niveau : Responsable de la gestion des noms de domaine de deuxième niveau enregistrés dans ce serveur de noms de domaine de premier niveau.
      (3) Serveur de noms de domaine d'autorité : le serveur de noms de domaine responsable d'une "zone".
      (4) Serveur de nom de domaine local : Le serveur de nom de domaine local n'appartient pas à la hiérarchie des serveurs de nom de domaine, mais il est très important pour le système de nom de domaine. Lorsqu'un hôte envoie une demande de requête DNS, le message de demande de requête est envoyé au serveur de noms de domaine local.
      Afin d'améliorer la fiabilité des serveurs de noms de domaine, les serveurs de noms de domaine DNS répliquent les données vers plusieurs serveurs de noms de domaine pour le stockage, dont l'un est le serveur DNS maître (serveur de noms principal), qui est responsable de la résolution d'au moins un domaine. L'autre est un serveur DNS secondaire (esclave) (serveur de noms esclave): Responsable de la résolution d'au moins un domaine, il est le secondaire du serveur DNS primaire. Lorsque le serveur de noms de domaine principal échoue, le serveur de noms de domaine secondaire peut garantir que le travail de requête DNS ne sera pas interrompu. Le serveur de noms de domaine principal copie régulièrement les données sur le serveur de noms de domaine secondaire et les données ne peuvent être modifiées que dans le serveur de noms de domaine principal. Cela garantit la cohérence des données.
      (5) Serveur DNS de cache : il n'est pas responsable de la résolution des domaines, mais de la mise en cache des résultats de la résolution du nom de domaine.

       3、DNS域名解析的过程


Insérez la description de l'image ici
      1、在浏览器中输入www . qq .com 域名,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析。
      2、如果hosts里没有这个域名的映射,则查找本地DNS解析器缓存,是否有这个网址映射关系,如果有,直接返回,完成域名解析。
      3、如果hosts与本地DNS解析器缓存都没有相应的网址映射关系,首先会找TCP/IP参数中设置的首选DNS服务器,在此我们叫它本地DNS服务器,此服务器收到查询时,如果要查询的域名,包含在本地配置区域资源中,则返回解析结果给客户机,完成域名解析,此解析具有权威性。
      4、如果要查询的域名,不由本地DNS服务器区域解析,但该服务器已缓存了此网址映射关系,则调用这个IP地址映射,完成域名解析,此解析不具有权威性。
      5、如果本地DNS服务器本地区域文件与缓存解析都失效,则根据本地DNS服务器的设置(是否设置转发器)进行查询,如果未用转发模式,本地DNS就把请求发至13台根DNS,根DNS服务器收到请求后会判断这个域名(.com)是谁来授权管理,并会返回一个负责该顶级域名服务器的一个IP。本地DNS服务器收到IP信息后,将会联系负责.com域的这台服务器。这台负责.com域的服务器收到请求后,如果自己无法解析,它就会找一个管理qq.com的DNS服务器地址给本地DNS服务器。当本地DNS服务器收到这个地址后,就会找qq.com域服务器,重复上面的动作,进行查询,直至找到www . qq .com主机。
      6、如果用的是转发模式,本地DNS服务器就会把请求转发至上一级DNS服务器,由上一级服务器进行解析,上一级服务器如果不能解析,或找根DNS或把请求转至上上级,以此循环。找到最后把结果返回给本地DNS服务器,由此DNS服务器再返回给客户机。
      注:从客户端到本地DNS服务器是属于递归查询,而DNS服务器之间使用的交互查询就是迭代查询。
      114.114.114.114是国内移动、电信和联通通用的DNS,手机和电脑端都可以使用,干净无广告,解析成功率相对来说更高,国内用户使用的比较多,而且速度相对快、稳定,是国内用户上网常用的DNS。

六、NFS工作原理

      NFS(Network File System,网络文件系统)是FreeBSD支持的文件系统中的一种,它允许网络中的计算机(不同的计算机、不同的操作系统)之间通过TCP/IP网络共享资源,主要在unix系列操作系统上使用。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。
      NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中看来,那个远程主机的目录就好像是自己的一个磁盘分区一样。
      由于NFS支持的功能比较多,而不同的功能都会使用不同的程序来启动,每启动一个功能就会启用一些端口来传输数据,因此NFS的功能所对应的端口并不固定,而是随机取用一些未被使用的小于1024的端口用于传输。但如此一来就会产生客户端连接服务器的问题,因为客户端需要知道服务器端的相关端口才能够连接。
      此时就需要RPC(Remote Procedure Call,远程过程调用)的服务。由于当服务器在启动NFS时会随机选取数个端口号,并主动向RPC注册,所以RPC知道每个NFS功能所对应的端口号,RPC将端口号通知给客户端,让客户端可以连接到正确的端口上去。RPC采用固定端口号port 111来监听客户端的需求并向客户端响应正确的端口号。
      注:在启动NFS之前,要先启动RPC,否则NFS会无法向RPC注册。另外,RPC若重新启动,原来注册的数据会消失不见,因此RPC重启后,它管理的所有服务都需要重新启动以重新向RPC注册。

七、FTP工作原理

  1、ftp简介

      FTP(File Transfer Protocol,文件传输协议)是用于在网络上进行文件传输的一套标准协议,它属于网络传输协议的应用层。它最主要的功能是在服务器与客户端之间进行文件的传输。这个协议使用的是明文传输。为了更安全的使用FTP协议,只介绍较为安全但功能较少的vsftpd这个软件。
      FTP服务器的功能除了单纯的进行文件的传输与管理外,依据服务器软件的配置架构,它还可以提供以下几个主要功能:
      1、不同的用户:FTP服务器在默认的情况下,依据用户登录的情况而分为三种不同的身份,分别是:实体用户,real user;访客,guest;匿名用户,anonymous。
      2、命令记录与日志文件记录:FTP可以利用系统的syslogd来进行数据的记录,而记录的数据包括了用户曾经使用过的命令与用户传输数据(传输时间、文件大小等)的记录,所以你可以在/var/log/里面找到各项日志信息。
      3、限制用户活动的目录(change root,简称chroot):为了避免用户在你的linux系统中随意切换目录,所以将用户的工作范围局限在用户主目录下面。FTP可以限制用户仅能在自己的用户主目录当中活动。当用户登录FTP后,由于用户无法离开自己的用户主目录,显示的根目录就是自己用户主目录的内容。这种环境称为change root,即chroot,即改变根目录的意思。

  2、ftp的工作流程

      FTP的传输使用的是TCP数据包协议。FTP服务器使用了两个连接,分别是命令通道与数据流通道。由于是TCP数据包,这两个连接都需要经过三次握手。

建立命令通道的过程
      客户端会随机获取一个大于1024以上的端口来与FTP服务器端的port 21来实现连接,这个过程需要三次握手。实现连接后客户端便可以通过这个连接来对FTP服务器执行命令,查询文件名、下载、上传等命令都是利用这个通道来执行的。
      (1)通知FTP服务器端使用主动连接且告知连接的端口号
      FTP服务器的端口21号主要用在命令的执行,但是牵涉到数据流时,就不是使用这个连接了。客户端在需要数据的情况下,会告知服务器端要用什么方式来连接,如果是主动连接,客户端会先随机启用一个端口,且通过命令通道告知FTP服务器这两个信息,并等待FTP服务器的连接。
      FTP服务器主动向客户端连接
      FTP服务器由命令通道了解客户端的需求后,会主动地由port 20向客户端的数据端口连接,这个连接也会经过三次握手。此时FTP的客户端与服务器端会建立两条连接,分别用在命令的执行与数据的传递。而默认FTP服务器端使用的主动连接端口就是port 20。
数据传输通道是在有数据传输的行为时才会建立的通道,并不是一开始连接到FTP服务器就立刻建立的通道。
       注意:port 21主要接收来自客户端的主动连接,port 20则为FTP服务器主动连接至客户端。
Insérez la description de l'image ici
      (2)客户端选择被动式连接模式
      客户端通过命令通道发出被动式连接要求,并等待服务器的回应。
      FTP服务器启动数据端口,并通知客户端连接
      如果你所使用的FTP服务器是能够处理被动式连接的,此时FTP服务器会先启动一个监听端口。这个端口号码可以是随机的,也可以自定义某一范围的端口,这要看FTP服务器软件而定。然后FTP服务器会通过命令通道告知客户端这个已经启动的端口port pasv,并等待客户端的连接。
      客户端随机取用大于1024的端口进行连接
      然后客户端会随机取用一个大于1024的端口号来进行对主机的port pasv连接。如果一切都没有问题的话,那么FTP数据就可以通过客户端的随机端口和服务端的port pasv来传送了。
Insérez la description de l'image ici

八、pxe+kickstart安装系统原理

      传统的安装操作系统的方式:光盘安装,U盘安装,网络安装
      kickstart是一种无人值守的安装方式,它的工作原理是提前定义好了linux安装过程的配置文件,这个配置文件通常为ks.cfg。有了这个文件,可以让Linux在安装过程中按照我们预先定义的要求进行自动化安装,同时对于部署大量主机也非常方便。
      ==PXE(preboot execute environment,预启动执行环境)==是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持通过网络从远端服务器下载镜像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol,简单文件传输协议)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端(客户端)基本软件设置,从而引导安装操作系统。
      pxe可以引导多种操作系统。严格来说,PXE 并不是一种安装方式,而是一种引导方式。进行 PXE 安装的必要条件是在要安装的计算机中必须包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 PXE Client,PXE Client在网卡的 ROM 中。当计算机引导时,BIOS 把 PXE Client 调入内存中执行,然后由 PXE Client 将放置在远端的文件通过网络下载到本地运行。使用pxe引导需要设置 DHCP 服务器和 TFTP 服务器。DHCP 服务器会给 PXE Client(将要安装系统的主机)分配一个 IP 地址,由于是给 PXE Client 分配 IP 地址,所以在配置 DHCP 服务器时需要增加相应的 PXE 设置。此外,在 PXE Client的 ROM 中,已经存在了 TFTP Client,那么它就可以通过 TFTP 协议到 TFTP Server 上下载所需的文件了。

      Processus de démarrage PXE:
      1. Le client PXE diffuse un paquet de découverte DHCP via le PXE BootROM (puce à démarrage automatique) (microprogramme PXE dans le BIOS);
      2. Le serveur DHCP qui prend en charge pxe renvoie l'adresse IP attribuée au client et l'emplacement du fichier de démarrage Emplacement;
      3. Le client PXE demandera pxelinux.0 (fichier de démarrage), pxelinux.cfg / default (fichier de configuration du menu de démarrage), vmlinuz (noyau Linux exécutable, responsable de l'organisation de tout le démarrage du matériel) du serveur TFTP dans le réseau Et le fichier initrd.img (module de pilote);
      4. Une fois que le client pxe a téléchargé les fichiers nécessaires (pxelinux.0, pxelinux.cfg / default) du serveur à partir du serveur par TFTP, il suivra la séquence de démarrage définie dans le fichier par défaut, charge le noyau et le système de fichiers;
      5. Ces ressources de démarrage sont en fait le plus petit système d'exploitation. Après avoir chargé le pilote réseau et la pile de protocoles TCP / IP, le plus petit système d'exploitation peut être installé via HTTP, FTP et NFS;

Je suppose que tu aimes

Origine blog.csdn.net/Han_V_Qin/article/details/106392234
conseillé
Classement