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

Post on 12-May-2018

219 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

GEI 437 Laboratoire d ’interfaces et microprocesseurs

TCP/IP embarqué

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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)

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

GEI 437 Laboratoire d ’interfaces et microprocesseurs

Mise en œuvre matérielle

Exemple

SEÏKO S-7600A

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

19GEI 437 Laboratoire d ’interfaces et microprocesseurs

Philippe Mabilleau Ing.

Diagramme du circuit

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

21GEI 437 Laboratoire d ’interfaces et microprocesseurs

Philippe Mabilleau Ing.

Registres

GEI 437 Laboratoire d ’interfaces et microprocesseurs

Mise en œuvre sans OS

Exemple

RABBIT

TCP/IP Development Kit

23GEI 437 Laboratoire d ’interfaces et microprocesseurs

Philippe Mabilleau Ing.

TCP/IP Development Kit

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

25GEI 437 Laboratoire d ’interfaces et microprocesseurs

Philippe Mabilleau Ing.

Structure d ’un programme

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

26GEI 437 Laboratoire d ’interfaces et microprocesseurs

Philippe Mabilleau Ing.

Serveur d ’écho

27GEI 437 Laboratoire d ’interfaces et microprocesseurs

Philippe Mabilleau Ing.

Client HTTP

28GEI 437 Laboratoire d ’interfaces et microprocesseurs

Philippe Mabilleau Ing.

Interface 10BaseT

GEI 437 Laboratoire d ’interfaces et microprocesseurs

Mise en œuvre avec un OS

Exemple

NetBurner

30GEI 437 Laboratoire d ’interfaces et microprocesseurs

Philippe Mabilleau Ing.

CFV2-40

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

GEI 437 Laboratoire d ’interfaces et microprocesseurs

Mise en œuvre en Java

Exemple

Dallas TINI Board

33GEI 437 Laboratoire d ’interfaces et microprocesseurs

Philippe Mabilleau Ing.

TINI Board

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

35GEI 437 Laboratoire d ’interfaces et microprocesseurs

Philippe Mabilleau Ing.

Architecture du logiciel

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.

GEI 437 Laboratoire d ’interfaces et microprocesseurs

Applications

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

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

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

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

top related