Mobile Agents in Click Tushar Mohan
Click Elements Graphs made of simple elements Separate flows have separate ports Common case fast Reduce function calls Ports of elements - PUSH, PULL, AGNOSTIC
Advertisements and Registration H F M
Router/Agent Advertisement Element FromDeviceClassifier AgentAdvertisement EtherEncap Queue ToDevice
Home/Foreign Agent Element FromDevice eth0 Classifier ARPResponder Agent ToDevice eth1 IP Strip LookUpIPRoute FromDevice eth1 To Classifier
Home Agent Configuration Input 0 : Normal IP + IP for forwarding + UDP registration requests Input 1 : Agent Interface Ethernet packets for which we Proxy/Gratuitous ARP Possible de-registration request Output 0 : Normal IP + Encapsulated IP Output 1 : Unprocessed Ethernet packets from Agent Interface Output 2 : Proxy/Gratuitous ARPs
Foreign Agent Configuration Input 0 : Normal IP + Encapsulated IPIP + UDP registration replies Input 1 : Registration requests Eth/IP/UDP + Passing ethernet packets Output 0 : Normal IP + Relayed registration requests Output 1 : Unprocessed Ethernet packets from Agent Interface Output 2 : De-capsulated packets + Relayed replies
Test Configuration MH F H Ex-MH
Schematic for agent.click F H 0(in)(out)0 0(out) 0(in) 1(in) InfiniteSource Discard Print 2(out) 1(out) Discard Print Discard 2 (out) 1(out) InfiniteSource
Adv.click AgentAdvertise( HOME, , , , REG_LIFE=255, MAX=5, ENCAP=GRE, DEFAULT_ROUTER=false, MIN=5 ) ->IPPrint("Adv", CONTENTS=hex, ID=true) ->Discard;
What Remains ? Not fully compliant (RFC2002) –ARPs, validation, authentication – multiple simultaneous binding Speed-up (hash classes) Hardware testing Documentation Integration with the MIT toolkit
Objectives Add to the Click tool-kit Practically implement a protocol Enjoy the project