tcp ip embarqué - kadionik.vvv.enseirb-matmeca.fr · mise en œuvre de tcp/ip sur un ... • bus...

41
GEI 437 Laboratoire d ’interfaces et microprocesseurs TCP/IP embarqué Mise en œuvre de TCP/IP sur un système à microcontrôleur

Upload: phambao

Post on 12-May-2018

219 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: tcp ip embarqué - kadionik.vvv.enseirb-matmeca.fr · Mise en œuvre de TCP/IP sur un ... • Bus ISA – accessible par ... Serveur d€’écho. 27 GEI 437 Laboratoire d€’interfaces

GEI 437 Laboratoire d ’interfaces et microprocesseurs

TCP/IP embarqué

Mise en œuvre de TCP/IP sur unsystème à microcontrôleur

Page 2: tcp ip embarqué - kadionik.vvv.enseirb-matmeca.fr · Mise en œuvre de TCP/IP sur un ... • Bus ISA – accessible par ... Serveur d€’écho. 27 GEI 437 Laboratoire d€’interfaces

2GEI 437 Laboratoire d ’interfaces et microprocesseurs

Philippe Mabilleau Ing.

Contenu

• Mise en œuvre de TCP/IP sur unsystème embarqué

• Mise en œuvre matérielle

• Mise en œuvre minimale sans OS

• Mise en œuvre avec un OS

• Mise en œuvre en Java

• Applications

Page 3: tcp ip embarqué - kadionik.vvv.enseirb-matmeca.fr · Mise en œuvre de TCP/IP sur un ... • Bus ISA – accessible par ... Serveur d€’écho. 27 GEI 437 Laboratoire d€’interfaces

3GEI 437 Laboratoire d ’interfaces et microprocesseurs

Philippe Mabilleau Ing.

Mise en œuvre de TCP/IP

TCP UDP

IP ARP

DNS, SNMP...Applications

PPP Piloteréseau

Interfaceréseau

Lien sérieModem

OS

CPU Mémoire

Page 4: tcp ip embarqué - kadionik.vvv.enseirb-matmeca.fr · Mise en œuvre de TCP/IP sur un ... • Bus ISA – accessible par ... Serveur d€’écho. 27 GEI 437 Laboratoire d€’interfaces

4GEI 437 Laboratoire d ’interfaces et microprocesseurs

Philippe Mabilleau Ing.

Les modules requis

• Interface réseau– Ethernet

– Lien série

• PPP requis pour le lien série

• ARP requis pour Ethernet

• IP et ICMP

• UDP et TCP

• Application

Page 5: tcp ip embarqué - kadionik.vvv.enseirb-matmeca.fr · Mise en œuvre de TCP/IP sur un ... • Bus ISA – accessible par ... Serveur d€’écho. 27 GEI 437 Laboratoire d€’interfaces

5GEI 437 Laboratoire d ’interfaces et microprocesseurs

Philippe Mabilleau Ing.

Lien série• Port de communication série standard

– UART

• Utilisation d ’un modem– établissement de la connexion

• Implique la mise en œuvre du protocolePPP– machine à états

• Autres supports possibles– ISDN

Page 6: tcp ip embarqué - kadionik.vvv.enseirb-matmeca.fr · Mise en œuvre de TCP/IP sur un ... • Bus ISA – accessible par ... Serveur d€’écho. 27 GEI 437 Laboratoire d€’interfaces

6GEI 437 Laboratoire d ’interfaces et microprocesseurs

Philippe Mabilleau Ing.

Ethernet• Utilisation d ’un « chip set » standard

• Bus ISA– accessible par 68K, 80x

• Microsoft Plug and Play– généralement désactivé

• Boot ROM– également désactivée

• EEPROM (adresse Ethernet)

• connexions AUI et TP

Page 7: tcp ip embarqué - kadionik.vvv.enseirb-matmeca.fr · Mise en œuvre de TCP/IP sur un ... • Bus ISA – accessible par ... Serveur d€’écho. 27 GEI 437 Laboratoire d€’interfaces

7GEI 437 Laboratoire d ’interfaces et microprocesseurs

Philippe Mabilleau Ing.

Interface réseau

• Interface bas niveau vers le réseau– couche MAC

• Envoi et réception de paquets

• Distribution des paquets reçus enfonction de leur type aux clients desstrates supérieures– IP

– ARP

Page 8: tcp ip embarqué - kadionik.vvv.enseirb-matmeca.fr · Mise en œuvre de TCP/IP sur un ... • Bus ISA – accessible par ... Serveur d€’écho. 27 GEI 437 Laboratoire d€’interfaces

8GEI 437 Laboratoire d ’interfaces et microprocesseurs

Philippe Mabilleau Ing.

Mise en œuvre de ARP

• Anté-mémoire– globale ou propre à chaque interface

– politique de retrait une fois pleine

– expiration automatique des entrées

– file de paquets à transmettre devantchaque entrée

Page 9: tcp ip embarqué - kadionik.vvv.enseirb-matmeca.fr · Mise en œuvre de TCP/IP sur un ... • Bus ISA – accessible par ... Serveur d€’écho. 27 GEI 437 Laboratoire d€’interfaces

9GEI 437 Laboratoire d ’interfaces et microprocesseurs

Philippe Mabilleau Ing.

Processus ARP

ARP Anté-mémoire

Demande de résolution

Requête ou réponseRequête

Page 10: tcp ip embarqué - kadionik.vvv.enseirb-matmeca.fr · Mise en œuvre de TCP/IP sur un ... • Bus ISA – accessible par ... Serveur d€’écho. 27 GEI 437 Laboratoire d€’interfaces

10GEI 437 Laboratoire d ’interfaces et microprocesseurs

Philippe Mabilleau Ing.

Mise en œuvre de IP

• Commutation des paquets IP issus desdifférentes interfaces

• La machine locale peut être vue commeune interface

• Cas simplifié d ’une seule interface– pas de relais des paquets

• Cas ultra-simplifié d ’une seule interfacepoint à point

Page 11: tcp ip embarqué - kadionik.vvv.enseirb-matmeca.fr · Mise en œuvre de TCP/IP sur un ... • Bus ISA – accessible par ... Serveur d€’écho. 27 GEI 437 Laboratoire d€’interfaces

11GEI 437 Laboratoire d ’interfaces et microprocesseurs

Philippe Mabilleau Ing.

Processus IP

IP

Machinelocale

Interfaceréseau 1

Interfaceréseau N

Interfaceréseau 1

Interfaceréseau N

Tabled’acheminement

Page 12: tcp ip embarqué - kadionik.vvv.enseirb-matmeca.fr · Mise en œuvre de TCP/IP sur un ... • Bus ISA – accessible par ... Serveur d€’écho. 27 GEI 437 Laboratoire d€’interfaces

12GEI 437 Laboratoire d ’interfaces et microprocesseurs

Philippe Mabilleau Ing.

Fonctionnement de IP• Le processus IP va traiter tour à tour les

paquets issus des différentes interfacesincluant la machine hôte

• C ’est la réception d ’un paquet qui vaactiver IP

• La table d ’acheminement doit êtreconstruite et mise à jour– table statique

– utilisation d ’une seule passerelle

Page 13: tcp ip embarqué - kadionik.vvv.enseirb-matmeca.fr · Mise en œuvre de TCP/IP sur un ... • Bus ISA – accessible par ... Serveur d€’écho. 27 GEI 437 Laboratoire d€’interfaces

13GEI 437 Laboratoire d ’interfaces et microprocesseurs

Philippe Mabilleau Ing.

Mise en œuvre de ICMP

• Les paquets ICMP sont généralementtraités par le processus IP

• Prise en charge des requêtes d ’écho(Ping)

• Reconnaissance des erreurs– nœud distant qui ne peut être rejoint

Page 14: tcp ip embarqué - kadionik.vvv.enseirb-matmeca.fr · Mise en œuvre de TCP/IP sur un ... • Bus ISA – accessible par ... Serveur d€’écho. 27 GEI 437 Laboratoire d€’interfaces

14GEI 437 Laboratoire d ’interfaces et microprocesseurs

Philippe Mabilleau Ing.

Mise en œuvre de UDP

• Relation directe entre les datagrammesUDP et les paquets IP

• Multiplexage des datagrammes entrants– selon le port de destination

– selon les ports d ’origine et de destination

Page 15: tcp ip embarqué - kadionik.vvv.enseirb-matmeca.fr · Mise en œuvre de TCP/IP sur un ... • Bus ISA – accessible par ... Serveur d€’écho. 27 GEI 437 Laboratoire d€’interfaces

15GEI 437 Laboratoire d ’interfaces et microprocesseurs

Philippe Mabilleau Ing.

Mise en œuvre de TCP• Utilisation d ’une machine à états

• Machine « macroscopique »– états de la connexion : open, close...

• Machine « microscopique »– états de la transmission : retransmissions,

acquiescements, « TimeOut »

• Contrôlée– par table (une ligne par état et une colonne

par événement)

– par procédure (une procédure par état)

Page 16: tcp ip embarqué - kadionik.vvv.enseirb-matmeca.fr · Mise en œuvre de TCP/IP sur un ... • Bus ISA – accessible par ... Serveur d€’écho. 27 GEI 437 Laboratoire d€’interfaces

16GEI 437 Laboratoire d ’interfaces et microprocesseurs

Philippe Mabilleau Ing.

Processus TCP

TCP

Expiration d ’untemporisateur

Retrait d ’octetsDépôt d ’octets

Réception d ’un paquetEnvoi d ’un paquet

Page 17: tcp ip embarqué - kadionik.vvv.enseirb-matmeca.fr · Mise en œuvre de TCP/IP sur un ... • Bus ISA – accessible par ... Serveur d€’écho. 27 GEI 437 Laboratoire d€’interfaces

GEI 437 Laboratoire d ’interfaces et microprocesseurs

Mise en œuvre matérielle

Exemple

SEÏKO S-7600A

Page 18: tcp ip embarqué - kadionik.vvv.enseirb-matmeca.fr · Mise en œuvre de TCP/IP sur un ... • Bus ISA – accessible par ... Serveur d€’écho. 27 GEI 437 Laboratoire d€’interfaces

18GEI 437 Laboratoire d ’interfaces et microprocesseurs

Philippe Mabilleau Ing.

Description

• Mise en œuvre de la pile de protocoleTCP/IP/PPP dans un circuit

• Interface de type lien série uniquement

• Mise en œuvre des machines à étatssous forme matérielle

• 2 connexions simultanées supportées,UDP ou TCP

Page 19: tcp ip embarqué - kadionik.vvv.enseirb-matmeca.fr · Mise en œuvre de TCP/IP sur un ... • Bus ISA – accessible par ... Serveur d€’écho. 27 GEI 437 Laboratoire d€’interfaces

19GEI 437 Laboratoire d ’interfaces et microprocesseurs

Philippe Mabilleau Ing.

Diagramme du circuit

Page 20: tcp ip embarqué - kadionik.vvv.enseirb-matmeca.fr · Mise en œuvre de TCP/IP sur un ... • Bus ISA – accessible par ... Serveur d€’écho. 27 GEI 437 Laboratoire d€’interfaces

20GEI 437 Laboratoire d ’interfaces et microprocesseurs

Philippe Mabilleau Ing.

Utilisation• Interface µcontrôleur

– Bus 68k, x80 ou interface série synchrone

– Logique 3.3 v

• UART interne– accès direct pour le contrôle d ’un modem

– < 1.25 Mbps

• Contrôle d ’accès via PAP

• 2 « socket » configurables UDP ou TCP

Page 21: tcp ip embarqué - kadionik.vvv.enseirb-matmeca.fr · Mise en œuvre de TCP/IP sur un ... • Bus ISA – accessible par ... Serveur d€’écho. 27 GEI 437 Laboratoire d€’interfaces

21GEI 437 Laboratoire d ’interfaces et microprocesseurs

Philippe Mabilleau Ing.

Registres

Page 22: tcp ip embarqué - kadionik.vvv.enseirb-matmeca.fr · Mise en œuvre de TCP/IP sur un ... • Bus ISA – accessible par ... Serveur d€’écho. 27 GEI 437 Laboratoire d€’interfaces

GEI 437 Laboratoire d ’interfaces et microprocesseurs

Mise en œuvre sans OS

Exemple

RABBIT

TCP/IP Development Kit

Page 23: tcp ip embarqué - kadionik.vvv.enseirb-matmeca.fr · Mise en œuvre de TCP/IP sur un ... • Bus ISA – accessible par ... Serveur d€’écho. 27 GEI 437 Laboratoire d€’interfaces

23GEI 437 Laboratoire d ’interfaces et microprocesseurs

Philippe Mabilleau Ing.

TCP/IP Development Kit

Page 24: tcp ip embarqué - kadionik.vvv.enseirb-matmeca.fr · Mise en œuvre de TCP/IP sur un ... • Bus ISA – accessible par ... Serveur d€’écho. 27 GEI 437 Laboratoire d€’interfaces

24GEI 437 Laboratoire d ’interfaces et microprocesseurs

Philippe Mabilleau Ing.

Caractéristiques

• µprocesseur RABBIT 2000 18 Mhz– 8 bits

– héritier du Z80

• Interface 10BaseT

• 512 K EEPROM, 128 K SRAM

• Compilateur Dynamic C– exécution concurrente simulée

– pas de noyau temps réel

Page 25: tcp ip embarqué - kadionik.vvv.enseirb-matmeca.fr · Mise en œuvre de TCP/IP sur un ... • Bus ISA – accessible par ... Serveur d€’écho. 27 GEI 437 Laboratoire d€’interfaces

25GEI 437 Laboratoire d ’interfaces et microprocesseurs

Philippe Mabilleau Ing.

Structure d ’un programme

Appel périodique de la « machine TCP/IP »

Page 26: tcp ip embarqué - kadionik.vvv.enseirb-matmeca.fr · Mise en œuvre de TCP/IP sur un ... • Bus ISA – accessible par ... Serveur d€’écho. 27 GEI 437 Laboratoire d€’interfaces

26GEI 437 Laboratoire d ’interfaces et microprocesseurs

Philippe Mabilleau Ing.

Serveur d ’écho

Page 27: tcp ip embarqué - kadionik.vvv.enseirb-matmeca.fr · Mise en œuvre de TCP/IP sur un ... • Bus ISA – accessible par ... Serveur d€’écho. 27 GEI 437 Laboratoire d€’interfaces

27GEI 437 Laboratoire d ’interfaces et microprocesseurs

Philippe Mabilleau Ing.

Client HTTP

Page 28: tcp ip embarqué - kadionik.vvv.enseirb-matmeca.fr · Mise en œuvre de TCP/IP sur un ... • Bus ISA – accessible par ... Serveur d€’écho. 27 GEI 437 Laboratoire d€’interfaces

28GEI 437 Laboratoire d ’interfaces et microprocesseurs

Philippe Mabilleau Ing.

Interface 10BaseT

Page 29: tcp ip embarqué - kadionik.vvv.enseirb-matmeca.fr · Mise en œuvre de TCP/IP sur un ... • Bus ISA – accessible par ... Serveur d€’écho. 27 GEI 437 Laboratoire d€’interfaces

GEI 437 Laboratoire d ’interfaces et microprocesseurs

Mise en œuvre avec un OS

Exemple

NetBurner

Page 30: tcp ip embarqué - kadionik.vvv.enseirb-matmeca.fr · Mise en œuvre de TCP/IP sur un ... • Bus ISA – accessible par ... Serveur d€’écho. 27 GEI 437 Laboratoire d€’interfaces

30GEI 437 Laboratoire d ’interfaces et microprocesseurs

Philippe Mabilleau Ing.

CFV2-40

Page 31: tcp ip embarqué - kadionik.vvv.enseirb-matmeca.fr · Mise en œuvre de TCP/IP sur un ... • Bus ISA – accessible par ... Serveur d€’écho. 27 GEI 437 Laboratoire d€’interfaces

31GEI 437 Laboratoire d ’interfaces et microprocesseurs

Philippe Mabilleau Ing.

Caractéristiques

• Noyau temps réel µC/OS II

• Pile TCP/IP– ARP, ICMP (ping), UDP, TCP, PPP,

Telnet, HTTP

• Documents HTML comprimés dansl ’application– Dynamic HTML

– Forms, Cookies and Passwords

Page 32: tcp ip embarqué - kadionik.vvv.enseirb-matmeca.fr · Mise en œuvre de TCP/IP sur un ... • Bus ISA – accessible par ... Serveur d€’écho. 27 GEI 437 Laboratoire d€’interfaces

GEI 437 Laboratoire d ’interfaces et microprocesseurs

Mise en œuvre en Java

Exemple

Dallas TINI Board

Page 33: tcp ip embarqué - kadionik.vvv.enseirb-matmeca.fr · Mise en œuvre de TCP/IP sur un ... • Bus ISA – accessible par ... Serveur d€’écho. 27 GEI 437 Laboratoire d€’interfaces

33GEI 437 Laboratoire d ’interfaces et microprocesseurs

Philippe Mabilleau Ing.

TINI Board

Page 34: tcp ip embarqué - kadionik.vvv.enseirb-matmeca.fr · Mise en œuvre de TCP/IP sur un ... • Bus ISA – accessible par ... Serveur d€’écho. 27 GEI 437 Laboratoire d€’interfaces

34GEI 437 Laboratoire d ’interfaces et microprocesseurs

Philippe Mabilleau Ing.

Caractéristiques• DS80C390 processor

• Ethernet controller

• 512k Flash ROM

• 512k battery backed RAM (expandableto 1MB)

• Two integrated serial ports

• Two integerated CAN controllers

• Internal and external One-Wire buses

• Real time clock

Page 35: tcp ip embarqué - kadionik.vvv.enseirb-matmeca.fr · Mise en œuvre de TCP/IP sur un ... • Bus ISA – accessible par ... Serveur d€’écho. 27 GEI 437 Laboratoire d€’interfaces

35GEI 437 Laboratoire d ’interfaces et microprocesseurs

Philippe Mabilleau Ing.

Architecture du logiciel

Page 36: tcp ip embarqué - kadionik.vvv.enseirb-matmeca.fr · Mise en œuvre de TCP/IP sur un ... • Bus ISA – accessible par ... Serveur d€’écho. 27 GEI 437 Laboratoire d€’interfaces

36GEI 437 Laboratoire d ’interfaces et microprocesseurs

Philippe Mabilleau Ing.

Logiciel• JDK 1.1 API and firmware providing a

multi-tasking, multi-threaded

• TINI OS with a full TCP/IP stack,garbage collection, serial port and One-Wire drivers, PPP support, and muchmore.

• Slush, a system shell giving a Unix(tm)like interface with TTY, Telnet, and FTPservers.

Page 37: tcp ip embarqué - kadionik.vvv.enseirb-matmeca.fr · Mise en œuvre de TCP/IP sur un ... • Bus ISA – accessible par ... Serveur d€’écho. 27 GEI 437 Laboratoire d€’interfaces

GEI 437 Laboratoire d ’interfaces et microprocesseurs

Applications

Page 38: tcp ip embarqué - kadionik.vvv.enseirb-matmeca.fr · Mise en œuvre de TCP/IP sur un ... • Bus ISA – accessible par ... Serveur d€’écho. 27 GEI 437 Laboratoire d€’interfaces

38GEI 437 Laboratoire d ’interfaces et microprocesseurs

Philippe Mabilleau Ing.

Exemples d ’applications

• Basées sur des protocoles applicationsexistants ou dédiés

• Serveur– le système embarqué offre des services

via le réseau

• Cliente– le système embarqué exploite des services

via le réseau

Page 39: tcp ip embarqué - kadionik.vvv.enseirb-matmeca.fr · Mise en œuvre de TCP/IP sur un ... • Bus ISA – accessible par ... Serveur d€’écho. 27 GEI 437 Laboratoire d€’interfaces

39GEI 437 Laboratoire d ’interfaces et microprocesseurs

Philippe Mabilleau Ing.

Applications serveurs– HTTP

• consultation et configuration à l ’aide d ’unnavigateur

• interface graphique

• interaction via des applets ou des servlets Java

– Telnet• configuration en mode terminal

• accès à un moniteur ou à un « shell »

– FTP, TFTP• entreposage et recherche d ’informations

Page 40: tcp ip embarqué - kadionik.vvv.enseirb-matmeca.fr · Mise en œuvre de TCP/IP sur un ... • Bus ISA – accessible par ... Serveur d€’écho. 27 GEI 437 Laboratoire d€’interfaces

40GEI 437 Laboratoire d ’interfaces et microprocesseurs

Philippe Mabilleau Ing.

Applications clientes• Courrier SMTP

– envoi de rapports

• Configuration– BOOTP, DHCP

• Gestion– SNMP

• Ressources distantes– fichiers : FTP, TFTP, NFS

– imprimantes

Page 41: tcp ip embarqué - kadionik.vvv.enseirb-matmeca.fr · Mise en œuvre de TCP/IP sur un ... • Bus ISA – accessible par ... Serveur d€’écho. 27 GEI 437 Laboratoire d€’interfaces

41GEI 437 Laboratoire d ’interfaces et microprocesseurs

Philippe Mabilleau Ing.

Applications dédiées• Appel de fonctions distantes

• Offre les services d ’un systèmeembarqué distant à une applicationlocale

• Passage de paramètres par valeur etretour d ’une valeur

• Mise en œuvre– UDP : duplication possible

– TCP : unicité d ’appel garantie