Route Optimization Part I - Valencia College

Route Optimization Part I - Valencia College

CCNP Advanced Routing Ch. 8 Route Optimization Part I Originally created by Rick Graziani with modifications and additions by Professor Yousif Route Optimization Passive Interfaces Route Filters Distribute Lists Policy Routing Route Maps Route Redistribution

Multiple Routing Protocols Changing Administrative Distances Default Metrics Route Optimization You can control when a router exchanges routing updates and what those updates. You can also more tightly control the direction of network traffic All by using: routing update controls policy-based routing route redistribution Route Optimization Passive Interfaces Route Filters Distribute Lists

Policy Routing Route Maps Route Redistribution Multiple Routing Protocols Changing Administrative Distances Default Metrics A route optimization example RTA(config)#router rip RTA(config-router)#network 10.0.0.0 Send and Receive RIP Updates By default: RIP updates are sent out all interfaces belonging to the 10.0.0.0 network.

All directly connected subnets belonging to 10.0.0.0 network will be included in the RIP updates, plus any dynamically learned routes. A route optimization example RTA(config)#router rip RTA(config-router)#network 10.0.0.0 10.1.1.0 /24 10.3.3.0 /24 10.4.4.0 /24 Include 10.0.0.0 subnets in updates 10.2.2.0 /24 10.1.1.0 /24 10.1.1.0 /24 10.3.3.0 /24 10.2.2.0 /24 10.2.2.0 /24 10.4.4.0 /24 10.3.4.0 /24 10.4.4.0 /24 By default: RIP updates are sent out all interfaces belonging to the 10.0.0.0 network. All directly connected subnets belonging to 10.0.0.0 network will be

included in the RIP updates, plus any dynamically learned routes. A route optimization example RTA(config)#router rip RTA(config-router)#network 10.0.0.0 Send and Receive RIP Updates Default behavior maybe not the best: No need to send RIP updates out E0. RIP updates keeping the ISDN link up. Passive Interfaces Passive Interfaces receivebut dont send--updates Passive interface RTA(config)#router rip RTA(config-router)#network 10.0.0.0 RTA(config-router)#passive-interface e0

RTA(config-router)#passive-interface bri0 passive-interface [default] {interface-type number} The default keyword sets all interfaces as passive by default. Passive Interfaces and DDR You can use the passive-interface command on WAN interfaces to prevent routers from sending updates to link partners. There may be several reasons to squelch updates on the WAN. If connected by a dial-on-demand ISDN link regular RIP updates will keep the link up constantly, and result in an eye-popping bill from the provider. Passive Interfaces and DDR

RTA(config)#router rip RTA(config-router)#network 10.0.0.0 RTA(config-router)#passive-interface bri0 RTA(config-router)#exit RTA(config)#ip route 172.16.1.0 255.255.255.0 bri0 Passive Interfaces The passive-interface command works differently with the different IP routing protocols that support it. RIP/IGRP: Can receive updates but doesnt send. OSPF: Routing information is neither sent nor received via a passive interface. OSPF: The network address of the passive interface appears as a stub network in the OSPF domain. EIGRP: the router stops sending hello packets on passive interfaces. When this happens, the EIGRP router cant form neighbor adjacencies on the interface or send and receive routing updates. OSPF

The following example sets all interfaces as passive, then activates the Ethernet 0 interface: router ospf 100 passive-interface default no passive-interface ethernet0 network 131.108.0.1 0.0.0.255 area 0 Route Optimization Passive Interfaces Route Filters Distribute Lists Policy Routing Route Maps

Route Redistribution Multiple Routing Protocols Changing Administrative Distances Default Metrics Route Filters Configuring an interface as passive prevents it from sending updates entirely, but there are times when you need to suppress only certain routes in the update from being sent or received. We can use a distribute-list command to pick and choose what routes a router will send or receive updates about. The distribute-list references an accesslist, which creates a route filter a set of

rules that precisely controls what routes a router sends or receives in a routing update. Route Filters Route filters may be needed to enforce a routing policy thats based on some external factor such as link expense administrative jurisdiction security concerns overhead reductionprevents access routers from receiving the complete (and possibly immense) core routing table Route Filters Lets take a look on how keep subnet 10.1.1.0 from entering RTZ!

Route Filters Inbound interfaces: When applied to inbound updates, the syntax for configuring a route filter is as follows: Router(config-router)#distribute-list accesslist-number in [interface-name] Note: This does not permit/deny packets from entering the routers, only what routes a router will send or receive updates about. Inbound Route Filters (global) Applies to all interfaces RTZ(config)#router rip RTZ(config-router)#network 10.0.0.0 RTZ(config-router)#distribute-list 16 in RTZ(config)#access-list 16 deny 10.1.1.0 0.0.0.255 RTZ(config)#access-list 16 permit any

Inbound Route Filters (interface) Applies to just S0 interface RTZ(config)#router rip RTZ(config-router)#network 10.0.0.0 RTZ(config-router)#distribute-list 16 in s0 RTZ(config)#access-list 16 deny 10.1.1.0 0.0.0.255 RTZ(config)#access-list 16 permit any Route Filters Outbound interfaces: When applied to outbound updates, the syntax can be more complicated: Router(config-router)#distribute-list access-list-number out [interface-name | routing-process | as-number] Outbound Route Filters (global) Applies to all interfaces Applies to all

interfaces although this graphic only shows S2. RTA(config)#router rip RTA(config-router)#network 10.0.0.0 RTA(config-router)#distribute-list 24 out RTA(config)#access-list 24 deny 10.1.1.0 0.0.0.255 RTA(config)#access-list 24 permit any Outbound Route Filters (interface) Applies to just S2 interface RTA(config)#router rip RTA(config-router)#network 10.0.0.0 RTA(config-router)#distribute-list 24 out s2 RTA(config)#access-list 24 deny 10.1.1.0 0.0.0.255 RTA(config)#access-list 24 permit any Route Filters For each interface and routing process, Cisco

IOS permits one incoming global, one outgoing global, one incoming interface, and one outgoing interface distribute-list: RTZ(config)#router rip RTZ(config-router)#distribute-list RTZ(config-router)#distribute-list RTZ(config-router)#distribute-list RTZ(config-router)#distribute-list 1 2 3 4 in out in e0 out e0 Route Filters Use show ip protocols to display route filters: RTZ#show ip protocols

Routing Protocol is "rip" Sending updates every 30 seconds, next due in 25 seconds Invalid after 180 seconds, hold down 180, flushed after 240 Outgoing update filter list for all interfaces is 2 Ethernet0 filtered by 4 Incoming update filter list for all interfaces is 1 Ethernet0 filtered by 3 RTZ(config)#router rip RTZ(config-router)#distribute-list RTZ(config-router)#distribute-list RTZ(config-router)#distribute-list RTZ(config-router)#distribute-list 1 2 3 4 in out in e0 out e0

Route Filters and Link State Routing Protocols Routers running link state protocols determine their routes based on information in their link state database, rather than the advertised route entries of its neighbors. Route filters have no effect on link state advertisements or the link state database. Remember, a basic requirement of link state routing protocols is that routers in an area must have identical link state databases. A route filter can influence the route table of the router on which the filter is configured, but has no effect on the route entries of neighboring routers.

Route filters are mainly used at redistribution points, such as on an ASBR. (Part II). Passive EIGRP interfaces A passive interface cant send EIGRP hellos, which thus prevents adjacency relationships with link partners. An administrator can create a psuedo passive EIGRP interface by using a route filter that suppresses all routes from the EIGRP routing update. RTA(config)#router eigrp 364 RTA(config-router)#network 10.0.0.0 RTA(config-router)#distribute-list 5 out s0 RTA(config-router)#exit RTA(config)#access-list 5 deny any Route Optimization

Passive Interfaces Route Filters Distribute Lists Policy Routing Route Maps Route Redistribution Multiple Routing Protocols Changing Administrative Distances Default Metrics Policy Routing

Static routes: You can use the ip route command to dictate which path a router will select to a given destination, based on the destination address.. However, through policy routing, you can manually program a router to choose a route based not only on destination, but on source as well. Human factors such as monetary expense, organizational jurisdiction, or security issues can lead administrators to establish policies, or rules that routed traffic should follow. Left to their default behavior, routing protocols may arrive at path decisions that conflict with these policies. Policy routes are nothing more than sophisticated static routes.

Policy Routing Policy routing is used to: override dynamic routing take precise control of how their routers handle certain traffic. Although policy routing can be used to control traffic within an AS, it is typically used to control routing between autonomous systems (ASs). - Later Policy routing is used extensively with exterior gateway protocols (EGPs), such as BGP. Policy Routing

The route-map command is used to configure policy routing, which is often a complicated task. A route map is defined using the following syntax: Router(config)# route-map map-tag [permit | deny] [sequence-number] Router(config-map-route)# Default is permit. Deny is more often used with route maps and redistribution. (later) You can use the optional sequence-number to indicate the position a new route map is to have in the list of route maps already configured with the same name. If you dont specify a sequence number, the first route map condition will be automatically numbered as 10. 10 Policy Routing Dont worry, several examples will help show how this works Once you have entered the route-map command, you can enter set and match

commands in the route-map configuration mode. Each route-map command has a list of match and set commands associated with it. The match commands specify the match criteria the conditions that should be tested to determine whether or not to take action. The set commands specify the set actionsthe actions to perform if the match criteria are met. Policy Routing Example Policy Routing Example Assume for this example that the policy we want to enforce is this: Internet-bound traffic from 192.168.1.0 /24 is to be routed to ISP1 Internet-bound traffic from 172.16.1.0 /24 is to be routed to ISP2. Policy Routing Example

Access Lists First we configure two access lists with these commands: RTA(config)#access-list 1 permit 192.168.1.0 0.0.0.255 RTA(config)#access-list 2 permit 172.16.1.0 0.0.0.255 Policy Routing Example Global: route-maps Next we configure two policies with these commands: The ISP1 route map will match access-list 1, and route traffic out S0 toward ISP1. The ISP2 route map will match access-list 2, and route that traffic out S1 toward ISP2. More later on match and set RTA(config)#access-list 1 permit 192.168.1.0 0.0.0.255 RTA(config)#access-list 2 permit 172.16.1.0 0.0.0.255 RTA(config)#route-map ISP1 permit 10

RTA(config-route-map)#match ip address 1 RTA(config-route-map)#set interface s0 RTA(config)#route-map ISP2 permit 10 RTA(config-route-map)#match ip address 2 RTA(config-route-map)#set interface s1 Policy Routing Example Interface: policy route-maps The final step is to apply each route map to the appropriate interface on RTA using the ip policy route-map command. ip policy route-map map-tag With the route maps applied to the appropriate LAN interfaces, we have successfully implemented policy routing. RTA(config)#interface e0 RTA(config-if)#ip policy route-map ISP1 RTA(config)#interface e1 RTA(config-if)#ip policy route-map ISP2 RTA(config)#access-list 1 permit 192.168.1.0 0.0.0.255

RTA(config)#access-list 2 permit 172.16.1.0 0.0.0.255 RTA(config)#route-map ISP1 permit 10 RTA(config-route-map)#match ip address 1 RTA(config-route-map)#set interface s0 RTA(config)#route-map ISP2 permit 10 RTA(config-route-map)#match ip address 2 RTA(config-route-map)#set interface s1 Policy Routing Example With the route maps applied to the appropriate incoming LAN interfaces, we have successfully implemented policy routing. Note 1: All other traffic will be routed normally according to their destination address. Note 2: What about traffic between 172.16.1.0 and 192.168.1.0?

In this case, they will not be able to communicate. If there was a route for those networks on ISP1 and ISP2, then traffic would be routed from RTA to ISP1/ISP2 and back to RTA for the other LAN network. Fix? Use extended access lists and add a previous route-map statement that sends traffic to the other LAN out the other Ethernet interface. RTA(config)#interface e0 RTA(config-if)#ip policy route-map ISP1 RTA(config)#interface e1 RTA(config-if)#ip policy route-map ISP2 RTA(config)#access-list 1 permit 192.168.1.0 0.0.0.255 RTA(config)#access-list 2 permit 172.16.1.0 0.0.0.255 RTA(config)#route-map ISP1 permit 10 RTA(config-route-map)#match ip address 1 RTA(config-route-map)#set interface s0 RTA(config)#route-map ISP2 permit 10 RTA(config-route-map)#match ip address 2

RTA(config-route-map)#set interface s1 Another Policy Routing Example Jeff Doyle, Routing TCP/IP Vol. I Policy routes are nothing more than sophisticated static routes. Whereas static routes forward a packet to a specified next hop based on destination address of the packet, policy routes forward a packet to a specified next hop based on the source of the packet. Policy routes can also be linked to extended IP access lists so that routing may be based on protocol types and port numbers. Like a static route, policy route influences the routing only of the router on which it is configured.

Match Options (a sample) Router(config-route-map)#match length min max Matches the Layer 3 length of the packet. Router(config-route-map)# match ip address {access-list-number | name} [...access-list-number | name] Matches the source and destination IP address that is permitted by one or more standard or extended access lists. If you do not specify a match command, the route map applies to all packets.

Set Options (a sample) Router(config-route-map)#set ip precedence [number | name] Sets precedence value in the IP header. You can specify either the precedence number or name. Router(config-route-map)#set ip next-hop ip-address [... ip-address] Sets next hop to which to route the packet (the next hop must be adjacent). Router(config-route-map)#set interface interface-type interface-number [... type number] Sets output interface for the packet.

Router(config-route-map)#set ip default next-hop ipaddress [...ip-address] Sets next hop to which to route the packet, if there is no explicit route for this destination. Router(config-route-map)#set default interface interface-type interface-number [... type ...number] Sets output interface for the packet, if there is no explicit route for this destination. Set and Match Options CCO: http://www.cisco.com/univercd/cc/td/doc/ product/software/ios122/122cgcr/ fqos_c/fqcprt1/qcfpbr.htm Jeff Doyles Peanuts Example Single interface example source IP address Lucy 172.16.4.2/24

172.16.2.1/24 Schroeder 172.16.4.1/24 Linus S0 E0 172.16.4.3/24 172.16.3.1/24 Pigpen Charlie 172.16.1.1/24 172.16.6.1/24

172.16.7.1/24 172.16.1.2/24 172.16.8.1/24 We want to implement a policy on Linus such that: Traffic from 172.16.6.0/24 subnet is forwarded to Lucy Traffic from 172.16.7.0/24 subnet is forwarded to Pigpen All other traffic is routed normally Lucy 172.16.4.2/24 172.16.2.1/24 Schroeder 172.16.4.1/24 Linus S0

E0 172.16.4.3/24 172.16.3.1/24 Pigpen Charlie 172.16.1.1/24 172.16.6.1/24 172.16.7.1/24 172.16.1.2/24 172.16.8.1/24 Linus: inter S0 ip policy route-map Sally

access-list 1 172.16.6.0 access-list 2 172.16.7.0 permit 0.0.0.255 permit 0.0.0.255 route-map Sally permit 10 match ip address 1 set ip next-hop 172.16.4.2 route-map Sally permit 15 match ip address 2 set ip next-hop 172.16.4.3 Lucy 172.16.4.2/24 172.16.2.1/24

Schroeder 172.16.4.1/24 Linus S0 E0 172.16.4.3/24 172.16.3.1/24 Pigpen Charlie 172.16.1.1/24 172.16.6.1/24 172.16.7.1/24

172.16.8.1/24 Linus: inter S0 ip policy route-map Sally access-list 1 permit 172.16.6.0 0.0.0.255 access-list 2 permit 172.16.7.0 0.0.0.255 route-map Sally permit 10 match ip address 1 set ip next-hop 172.16.4.2 route-map Sally permit 15 match ip address 2 set ip next-hop 172.16.4.3 172.16.1.2/24

The routing policy on S0 sends incoming packets to route map Sally. Statement 10 uses access list 1. If a match is made, the packet is forwarded to Lucy. If not match is made, the packet is sent to statement 15. If a match is made, the packet is forwarded to Pigpen. Any packets that do no match 15, such as from 172.16.8.0/24 are routed normally. Using Extended Access Lists Debug ip packet can be used to verify the results. Standard access lists are used when policy

routing is by source address only. Extended access lists are used when policy routing is by both source and destination address. Jeff Doyles Peanuts Example Single interface example destination IP address Lucy 172.16.4.2/24 172.16.2.1/24 Schroeder 172.16.4.1/24 Linus S0 E0 172.16.4.3/24

172.16.3.1/24 Pigpen Charlie 172.16.1.1/24 172.16.6.1/24 172.16.7.1/24 172.16.1.2/24 172.16.8.1/24 Suppose we want to implement a policy on Linus such that: Traffic to host 172.16.1.1 is forwarded to Lucy Traffic from 172.16.7.1 to host 172.16.1.2 is forwarded to Pigpen All other traffic is routed normally Lucy

172.16.4.2/24 172.16.2.1/24 Schroeder 172.16.4.1/24 Linus S0 E0 172.16.4.3/24 172.16.3.1/24 Pigpen Charlie 172.16.1.1/24 172.16.6.1/24

172.16.7.1/24 172.16.1.2/24 172.16.8.1/24 Linus: inter S0 ip policy route-map Sally access-list 101 permit ip any host 172.16.1.1 access-list 102 permit ip host 172.16.7.1 host 172.16.1.2 route-map Sally permit 10 match ip address 101 set ip next-hop 172.16.4.2 route-map Sally permit 15 match ip address 102 set ip next-hop 172.16.4.3

Lets see more examples, so we can really understand this stuff, Jeff Doyles Peanuts Example Single interface example source, destination, and port number Lucy 172.16.4.2/24 172.16.2.1/24 Schroeder 172.16.4.1/24 FTP Telnet Linus S0

E0 172.16.4.3/24 172.16.3.1/24 Pigpen FTP Telnet Charlie 172.16.1.1/24 172.16.6.1/24 172.16.7.1/24 172.16.8.1/24 172.16.1.2/24

This will allow bulk FTP traffic and bursty, interactive Telnet traffic to be segregated on the two serial links from Schroeder, so small interactive packets do not become delayed by the large bulk FTP packets. Suppose we want to implement a policy on Schroeder such that: FTP traffic from 172.16.1.0 servers is forwarded to Lucy Telnet traffic from 172.16.1.0 servers is forwarded to Pigpen All other traffic is routed normally Lucy 172.16.4.2/24 172.16.2.1/24 Schroeder

172.16.4.1/24 FTP Telnet Linus S0 E0 172.16.4.3/24 172.16.3.1/24 Pigpen FTP Telnet Charlie 172.16.1.1/24

172.16.6.1/24 172.16.7.1/24 172.16.8.1/24 Schoeder: inter E0 ip policy route-map Rerun ! Used when 172.16.1.1 is the client access-list 105 permit tcp 172.16.1.0 0.0.0.255 any eq ftp ! Used when 172.16.1.1 is the server access-list 105 permit tcp 172.16.1.0 0.0.0.255 eq ftp-data any access-list 106 permit tcp 172.16.1.0 0.0.0.255 eq telnet any 172.16.1.2/24 Note on ACLs: The ftp following the source ip refers to the

source port, whereas the ftp after the destination ip refers to the destination port. The client uses destination port 21 (FTP) for sending (control) data to the server, whereas the server uses source port 20 (FTP-DATA), instead of port 21 when sending data back to the client. The server uses a port > 1024 when FTP is done in passive mode, thus use ip access-list 105 permit any 172.16.1.0 0.0.0.255 established route-map Rerun permit 10 match ip address 105 set ip next-hop 172.16.2.1 route-map Sally permit 20 match ip address 106 set ip next-hop 172.16.3.1 Jeff Doyles Peanuts Example Single interface example match length Lucy 172.16.4.2/24 172.16.4.1/24

Linus S0 172.16.2.1/24 401-999 Schroeder 1000-1600 0 - 400 172.16.4.3/24 401-999 E0 172.16.3.1/24 Pigpen Charlie

172.16.1.1/24 172.16.6.1/24 172.16.7.1/24 172.16.1.2/24 172.16.8.1/24 Suppose we want to implement a policy on Schroeder such that: All packets between 1000 and 1600 bytes are forwarded to Lucy All packets up to 400 are forwarded to Pigpen All other traffic, packets between 401 and 999, are routed normally Lucy 172.16.4.2/24

172.16.4.1/24 Linus S0 172.16.2.1/24 401-999 Schroeder 1000-1600 0 - 400 172.16.4.3/24 401-999 E0 172.16.3.1/24

Pigpen Charlie 172.16.1.1/24 172.16.6.1/24 172.16.7.1/24 172.16.1.2/24 172.16.8.1/24 Schoeder: inter E0 ip policy route-map Woodstock route-map Woodstock permit 20 match length 1000 1600 set ip next-hop 172.16.2.1 route-map Woodstock permit 30 match length 0 400

set ip next-hop 172.16.3.1 Equal Access Example - FYI The following example provides two sources with equal access to two different service providers. On asynchronous interface 1: Packets arriving from the source 1.1.1.1 are sent to the router at 6.6.6.6 if the router has no explicit route for the destination of the packet. Packets arriving from the source 2.2.2.2 are sent to the router at 7.7.7.7 if the router has no explicit route for the destination of the packet. All other packets for which the router has no explicit route to the destination are discarded. route-map equal-access permit 10 access-list 1 permit ip 1.1.1.1 match ip address 1 access-list 2 permit ip 2.2.2.2 set ip default next-hop 6.6.6.6 ! route-map equal-access permit 20 interface async 1 match ip address 2

ip policy route-map equal-access set ip default next-hop 7.7.7.7 ! route-map equal-access permit 30 set default interface null0 Differing Next Hops Example - FYI The following example illustrates how to route traffic from different sources to different places (next hops), and how to set the Precedence bit in the IP header. Packets arriving from source 1.1.1.1 are sent to the next hop at 3.3.3.3 with the Precedence bit set to priority. Packets arriving from source 2.2.2.2 are sent to the next hop at 3.3.3.5 with the Precedence bit set to critical. access-list 1 permit ip 1.1.1.1 access-list 2 permit ip 2.2.2.2

! interface ethernet 1 ip policy route-map Texas ! route-map Texas permit 10 match ip address 1 set ip precedence priority set ip next-hop 3.3.3.3 ! route-map Texas permit 20 match ip address 2 set ip precedence critical set ip next-hop 3.3.3.5 End of Part 1 Any Questions? Next week Route Optimization

Passive Interfaces Route Filters Distribute Lists Policy Routing Route Maps Route Redistribution Multiple Routing Protocols Changing Administrative Distances Configuring Redistribution Default Metrics

Recently Viewed Presentations

  • DINOSAURS Liz Bazar  Dinosaurs existed about 228 million

    DINOSAURS Liz Bazar Dinosaurs existed about 228 million

    Dino Diorama--The students use a shoebox and supplies such as construction paper, markers, and other things to re-create their dinosaur's habitat. Dino Bingo—create cards using the dinosaurs that the children made fact files on. Call out facts about each dinosaur...
  • Get Started with Using Pathways A Beginners Guide

    Get Started with Using Pathways A Beginners Guide

    Mention that the Navigator is a reference guide to the overall Toastmasters experience. Sections: Welcome to Toastmasters - what can Toastmasters do for you, and improve your public speaking skills? Your Toastmasters Club - What happens during a meeting, how...
  • Automatic Summarization Heng Ji Table of contents 1.

    Automatic Summarization Heng Ji Table of contents 1.

    At least three soldiers and two civilians died in the uprising. Bophuthatswana's Minister of Justice G. Godfrey Mothibe told a news conference that those arrested have been charged with high treason and if convicted could be sentenced to death. He...
  • ECG NOTES - Marisa Bush

    ECG NOTES - Marisa Bush

    Arial Calibri Default Design Heart Anatomy The heart is a muscle Exterior anatomy of the heart Interior anatomy of the heart Heart Beat Pumping Action ECG The way it works Interior anatomy of the heart ECG Parts ECG R to...
  • Learning Session 5: Celebrating Success!

    Learning Session 5: Celebrating Success!

    Oatmeal packet ideas to make your own instant oatmeal…you know and control the ingredients. ... family history, smoking and high blood pressure. A complete fasting lipoprotein profile will show the following for: ... Carbohydrates are found in fruit, cereal, bread,...
  • Conscience  Front Sheets  Syllabus  Todays Agenda  To examine

    Conscience Front Sheets Syllabus Todays Agenda To examine

    Conscience. Front Sheets. Syllabus . Today's Agenda… To examine common views of the nature and role of the conscience To know what synderesis means and where it is used
  • Chapter 2: Information Systems and Strategy

    Chapter 2: Information Systems and Strategy

    Author: Information Services Created Date: 05/09/2011 14:30:59 Title: Chapter 2: Information Systems and Strategy Last modified by: Jonathan Whitaker
  • Anomalous monism - Routledge

    Anomalous monism - Routledge

    Anomalous monism Michael Lacewing [email protected] The inconsistent triad Principle of Causal Interaction: Mental events interact causally with physical events, e.g. my decisions cause movements of my body.