2010-01-21 8 views
3

Je voudrais savoir si une application serveur répondra toujours sur le même port? J'ai lu quelque part que pour continuer à écouter sur le port "écoute", le serveur utilisera un port différent. Quelqu'un pourrait-il me fournir plus de détails? Merci!Question sur la liaison de port TCP/IP

Répondre

2

Dans le cadre du processus d'établissement de liaison TCP, un canal de communication est établi sur un autre port. Les numéros 'port' source et de destination correspondent à des champs de 16 bits dans l'en-tête de paquet TCP. Une fois le canal établi, la communication a lieu sur ce port, avec les valeurs de port source et de destination appropriées dans les champs de l'en-tête.

La connexion initiale est établie au port d'écoute sur le serveur; après cela, le processus établit une connexion TCP sur les nouveaux ports affectés et une communication supplémentaire a lieu sur ces ports.

+0

Aussi, quand je suis connecté à un serveur (permet de dire sur le port 1200) Je ne recevrai pas la communication sur ce port? – Thomas

+0

Désolé, mais c'est complètement faux. – caf

2

Si vous établissez une connexion TCP à un serveur sur un port particulier, cette connexion TCP continuera à utiliser le même port côté serveur.

Une connexion TCP est établie entre une paire (address1, port1) d'un côté et une paire (address2, port2) de l'autre côté - et ces quatre valeurs sont fixées pendant la durée de vie de la connexion TCP. Cela n'empêche pas le serveur d'écouter sur le port après qu'il a accepté une connexion, car il peut différencier les paquets pour les connexions établies et les nouvelles connexions en fonction de la paire (address, port) utilisée par le client.

Par exemple, cette sortie netstat à partir d'un serveur Oracle montre qu'il écoute sur le port 1521, et plusieurs connexions établies en utilisant également ce port:

Active Internet connections (servers and established) 
Proto Recv-Q Send-Q Local Address    Foreign Address    State 
tcp  0  0 0.0.0.0:1521    0.0.0.0:*     LISTEN 
tcp  0  0 127.0.0.1:1521    127.0.0.1:32776    ESTABLISHED 
tcp  0  0 192.168.9.126:1521   192.168.9.124:32798   ESTABLISHED 
tcp  0  0 192.168.9.126:1521   192.168.9.124:32823   ESTABLISHED 
tcp  0  0 192.168.9.126:1521   192.168.9.124:32822   ESTABLISHED 
tcp  0  0 192.168.9.126:1521   192.168.9.124:32821   ESTABLISHED 
tcp  0  0 192.168.9.126:1521   192.168.9.124:32820   ESTABLISHED 
tcp  0  0 192.168.9.126:1521   192.168.9.124:32819   ESTABLISHED 
tcp  0  0 192.168.9.126:1521   192.168.9.124:32818   ESTABLISHED 
tcp  0  0 127.0.0.1:1521    127.0.0.1:30536    ESTABLISHED 
tcp  0  0 192.168.9.126:1521   192.168.9.124:36969   ESTABLISHED 
tcp  0  0 127.0.0.1:32776    127.0.0.1:1521    ESTABLISHED 
tcp  0  0 127.0.0.1:30536    127.0.0.1:1521    ESTABLISHED 
tcp  0  0 192.168.9.126:1521   192.168.9.124:37786   ESTABLISHED 
tcp  0  0 192.168.9.126:1521   192.168.9.124:37035   ESTABLISHED 
tcp  0  0 192.168.9.126:1521   192.168.9.124:37034   ESTABLISHED 
tcp  0  0 192.168.9.126:1521   192.168.9.124:33018   ESTABLISHED