the implementation of error checking and optional
play

The Implementation of Error Checking and Optional Parameter - PowerPoint PPT Presentation

The Implementation of Error Checking and Optional Parameter Negotiation for BGP-4 in a Network Simulator Naomi Ko 95301-1394 Communication Networks Laboratory Simon Fraser University 2004 Sep 01 Presentation Overview Acknowledgements


  1. The Implementation of Error Checking and Optional Parameter Negotiation for BGP-4 in a Network Simulator Naomi Ko 95301-1394 Communication Networks Laboratory Simon Fraser University 2004 Sep 01

  2. Presentation Overview � Acknowledgements � Introduction � Background Knowledge � Project Contribution � Simulation Results � Future Enhancements � Conclusion � References � Questions 2004 Sep 01 2

  3. Acknowledgements � Dr. Ljiljana Trajkovi ć � Dr. Shahram Payandeh � Tony D. Feng � Nenad Laskovi ć � Jenny Koo and Mary Kwong � Communication Networks Laboratory � … several people behind-the-scenes 2004 Sep 01 3

  4. Introduction � Internet: a cluster of ASes � Within AS: Interior Gateway Protocols � Among ASes: Exterior Gateway Protocols � Scalability and performance are key � Interest in academic research community to investigate behaviour of networks � Development of network simulation tools � SSFNet, OPNET, ns-2 � Improved accuracy of a network model better reflects actual behaviour 2004 Sep 01 4

  5. Background Knowledge � Border Gateway Protocol � Exterior Gateway Protocol � BGP-4 is the de facto protocol � Operation using 4 message types � OPEN � UPDATE � NOTIFICATION � KEEPALIVE 2004 Sep 01 5

  6. Background Knowledge (cont’d) � OPEN Process � 3-way handshaking procedure n0 n1 T C P connection T C P connection established established *Idle* *Idle* OP E N OP E N *OpenS ent* *OpenS ent* KE E P AL IV E KE E P AL IV E *OpenC onfirm* *OpenC onfirm* *E stablished* *E stablished* ~ B G P session established ~ 2004 Sep 01 6

  7. Background Knowledge (cont’d) � OPEN Process � failed process: n0 deems parameter unacceptable n0 n1 T CP connection T CP connection established established *Idle* *Idle* OP E N OP E N *OpenS ent* *OpenS ent* NOTIF ICATION KE E P AL IVE *Idle* *OpenConfirm* T CP connection closed *Idle* T CP connection ~ BGP session NOT established ~ closed 2004 Sep 01 7

  8. Background Knowledge (cont’d) � BGP Simulation Models � SSFNet model SSF.OS.BGP4 by Brian J. Premore [14] � Java-based model � ns-2 model ns-BGP by Tony D. Feng [9] � C++/OTcl model � Ported over from SSFNet model 2004 Sep 01 8

  9. Project Contribution � Original project plan out the window… � Assumptions made to simplify SSFNet model during implementation � Carried over to ns-BGP � Error checking � OPEN message Optional Parameter � Negotiation of optional parameters 2004 Sep 01 9

  10. Project Contribution: Error Checking � BGP message header � Common 19-byte header 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 Marker L ength T ype � Marker: used for Authentication Information � Length: total length of BGP message � Type: OPEN, UPDATE, NOTIFICATION, KEEPALIVE 2004 Sep 01 10

  11. Contribution: Error Checking (cont’d) � OPEN message 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 Version My Autonomous System Hold T ime BGP Identifier Opt Param L ength Optional Parameters � Handshaking information � Identification � Desired session parameters 2004 Sep 01 11

  12. Contribution: Error Checking (cont’d) � UPDATE message 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 Unfeasible R outes L ength Withdrawn R outes (variable length) T otal Path Attribute L ength Path Attributes (variable length) Network L ayer R eachability Information (variable length) � Unfeasible Routes � Path Attributes (for new routes) � Network Layer Reachability Information (NLRI) 2004 Sep 01 12

  13. Contribution: Error Checking (cont’d) � NOTIFICATION message 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 E rror Code E rror Subcode Data (variable length) � Sent when error occurs � BGP and underlying TCP connections closed � KEEPALIVE message � No message body 2004 Sep 01 13

  14. Contribution: Optional Parameters � OPEN message Optional Parameter 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 Parameter Type Parameter L ength Parameter Value (variable length) � Type 1: Authentication Information � Contains data for specific authentication mechanism � Type 2: Capabilities Advertisement � Communicates new features to employ during BGP peering session 2004 Sep 01 14

  15. Contribution: Optional Parameters (cont’d) � Type 1: Authentication Information 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 Authentication Code Authentication Data (variable length) � Used to verify identity of sender or to detect loss of synchronisation between peers � Authentication Data contains algorithm for calculating value of Marker field � Not yet implemented by any vendors! 2004 Sep 01 15

  16. Contribution: Optional Parameters (cont’d) � Type 2: Capabilities Advertisement 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 Capability Code Capability L ength Capability Value (variable length) � Used to introduce new capabilities into BGP � Allows BGP speakers to advertise supported capabilities � Negotiated to determine which capabilities to employ during peer session 2004 Sep 01 16

  17. Contribution: Negotiation of Parameters n0 n1 n0 does not n1 supports T CP connection T CP connection established established support A capability A *Idle* *Idle* Sent with no Sent with OP E N OP E N *OpenS ent* *OpenS ent* parameters capability A NOTIF ICATION KE E P AL IVE *Idle* *OpenConfirm* T CP connection closed *Idle* ~ B GP session NOT established ~ T CP connection closed T CP connection T CP connection reestablished reestablished *Idle* *Idle* Sent with no Sent with no OP E N OP E N *OpenS ent* *OpenS ent* parameters parameter KE E P AL IVE KE E P AL IVE *OpenConfirm* *OpenConfirm* *E stablished* *E stablished* 2004 Sep 01 17 ~ B GP session established ~

  18. Simulation Results: Error Checking � “Unfortunately” the simulator is ideal! � Data is in fixed structure (object class) � Any message sent created directly from object � Any message received parsed into an object � Errors were hard-coded to verify that the error check correctly detected the error � Can’t show an entire scenario 2004 Sep 01 18

  19. Simulation Results: Error Checking (cont’d) � Hold Time is invalid OPEN message Peer has received: Mesg type = 1, length = 29 BGPHeader: 255-255-255-255-255-255-255-255-255-255-255-255-255-255-255-255-0-29-1 OpenMesg: 4-0-0-0-2-10-0-0-1-0 Checking if Marker is all 1's Hold Time time: 0.0500151 peer return_ip: 10.0.1.1, peer ip_addr: 10.0.0.1 event_type: *RecvOpen* connection_state: *OpenSent* non-zero Hold Timer value is less than the minimum recommended value 3s (current_val = 2 s) BGP session with peer 10.0.0.1 closed. 2004 Sep 01 19

  20. Simulation Results: Error Checking (cont’d) � Marker field is invalid OPEN message Peer has received: Mesg type = 1, length = 29 BGPHeader: 255-255-255-255-255-255-255-255-255-255-10-255-255-255-255-255-0-29-1 OpenMesg: 4-0-0-0-90-10-0-0-1-0 Checking if Marker is all 1's Not 0xFF ! The Marker field is not as expected. BGP session with peer 10.0.0.1 closed. 2004 Sep 01 20

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend