Viet Nguyen Jianqing Liu Yaqin Tang

Slides:



Advertisements
Similar presentations
Project3 Malabika Das Prajna Setty Preeti Rao. Assumptions and Address Scheme Assumptions End hosts can only connect to one router and knows which router.
Advertisements

1 Link Layer & Network Layer Some slides are from lectures by Nick Mckeown, Ion Stoica, Frans Kaashoek, Hari Balakrishnan, and Sam Madden Prof. Dina Katabi.
© 2007 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.1 Computer Networks and Internets with Internet Applications, 4e By Douglas.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #5 Mobile Ad-Hoc Networks TBRPF.
1 Computer Networks Routing Algorithms. 2 IP Packet Delivery Two Processes are required to accomplish IP packet delivery: –Routing discovering and selecting.
Internet Command Message Protocol (ICMP) CS-431 Dick Steflik.
ECE 544 Project 3 Content Based Routing Neelakantan Nurani Krishnan Shikha Kakkar Suja Srinivasan.
Delivery, Forwarding and
21.1 Chapter 21 Network Layer: Address Mapping, Error Reporting, and Multicasting Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction.
TELE202 Lecture 10 Internet Protocols (2) 1 Lecturer Dr Z. Huang Overview ¥Last Lecture »Internet Protocols (1) »Source: chapter 15 ¥This Lecture »Internet.
ICMP (Internet Control Message Protocol) Computer Networks By: Saeedeh Zahmatkesh spring.
ECE 544 Project3 Kush Patel Siddharth Paradkar Ke Dong.
13-Sep-154/598N: Computer Networks Address Translation Map IP addresses into physical addresses –destination host –next hop router Techniques –encode physical.
Unicast Routing Protocols  A routing protocol is a combination of rules and procedures that lets routers in the internet inform each other of changes.
ECE 544 Project3 Team member. Assumptions and Address Scheme Assumptions End hosts can only connect to routers Same content available at multiple end.
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
ECE 544 Project3 Amith V.S Pavan Kulkarni Suneet Dixit.
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
1 Network Layer Lecture 16 Imran Ahmed University of Management & Technology.
1 Computer Communication & Networks Lecture 21 Network Layer: Delivery, Forwarding, Routing Waleed.
Networking and internetworking devices. Repeater.
Content Routing Protocol Design Karthikeyan Ganesan Shruti Venkatesh Rafay Zamir.
ECE 544 Project3 Group 9 Brien Range Sidhika Varshney Sanhitha Rao Puskuru.
Spring 2000CS 4611 Routing Outline Algorithms Scalability.
Ad Hoc On-Demand Distance Vector Routing (AODV) ietf
CS440 Computer Networks 1 Link State Routing and OSPF Neil Tang 10/31/2008.
Spring Routing: Part I Section 4.2 Outline Algorithms Scalability.
Fundamentals of Computer Networks ECE 478/578
ECE 544 Project3 Ali Rostami Mohsen Ghassemi Mahmoud Ramezani-Mayiami.
CS 6401 Intra-domain Routing Outline Introduction to Routing Distance Vector Algorithm.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
Transmission Control Protocol (TCP) TCP Flow Control and Congestion Control CS 60008: Internet Architecture and Protocols Department of CSE, IIT Kharagpur.
ECE 544 Protocol Design Project 2016 Chengyao Wen Hua Deng Xiaoyu Duan.
ECE 544 Protocol Design Project 2016 Nirali Shah Thara Philipson Nithin Raju Chandy.
1 Relates to Lab 4. This module covers link state routing and the Open Shortest Path First (OSPF) routing protocol. Dynamic Routing Protocols II OSPF.
ECE 544 Project3 Parishad Karimi Mehrnaz Tavan Sai Teja Lingam.
+ Dynamic Routing Protocols 2 nd semester
ECE 544 Protocol Design Project 2016 Kiran Jatty Lasya Nandamuri Varun Vinnakota.
Instructor Materials Chapter 5: Dynamic Routing
Link State Routing protocol
OSPF (Open Shortest Path First)
ECE 544 Protocol Design Project 2016
Routing Protocols and Concepts
COMP 3270 Computer Networks
IP Forwarding Covers the principles of end-to-end datagram delivery in IP networks.
Link-State Routing Protocols
CBRP: A Cluster-based Routing Protocol for Mobile Ad hoc Networks
THE NETWORK LAYER.
Chapter 5: Dynamic Routing
ECE 544 Protocol Design Project 2016
ECE 544 Project3 Team member.
IP Forwarding Relates to Lab 3.
Chapter 5: Dynamic Routing
ECE 544 Protocol Design Project 2016
Link state routing In link state routing, if each node in the domain has the entire topology of the domain list of nodes and links, how they are connected.
ECE 544 Protocol Design Project 2016
ECE 544 Protocol Design Project 2016
Anup Mathur Anusha Sheelavant Prakhar Srivastava
IP Forwarding Relates to Lab 3.
Vidur Nayyar Xueting Wang Weicong Zhao
Getting Connected (Chapter 2 Part 3)
Link-State Routing Protocols
Intradomain Routing Outline Introduction to Routing
ECE 544 Project3 Team member: BIAO LI, BO QU, XIAO ZHANG 1 1.
Aayush Patidar Ashwin Ramakrishnan Manoj Juneja
Christopher Beyer Hajar Mahdavi-Doost Tony Thayil
Link-State Routing Protocols
ECE 544 Project3 Team member.
ECE 544 Project3 Dheeraj Medikonda Ravi Chandra Godavarthi 1.
OSPF Protocol.
Presentation transcript:

Viet Nguyen Jianqing Liu Yaqin Tang ECE 544 Project3 Viet Nguyen Jianqing Liu Yaqin Tang

Assumptions and Address Scheme Each host can only connect to one router Same content available at multiple end nodes If two routers are connected, cost = 1 Naming scheme and eventual address scheme Routers and end hosts: IP Address Contents: ID from 0 to 255

Bootstrapping and Discovery Algorithm Routers boot up - Neighbor router receive broadcast message, send back their IP addresses - Routers add its neighbors to routing table Hosts boot up - Broadcast DHCP requesting packet to 255.255.255.255 - Routers reply with info about default gateway

Bootstrapping and Discovery Routers discover other routers - Sending broadcast message - Add neighbors info into routing table step by step Hosts discover their default router - Through DHCP request

Bootstrapping and Discovery Packet Format - Router boot up packet Type Packet Length Cost Source Router’s IP Address Neighbor Router’s IP Address

Bootstrapping and Discovery Packet Format - Host boot up packet Type Packet Length TTL yiaddr (Default Router’s IP Address) chaddr (16 bytes, Host’s Ethernet Address)

Contents Advertisement A host periodically sends an advertisement message to tell its router about its contents After receiving advertisement message, the router stores both the host’s IP address and its contents into its routing table Destination Cost Next Hop TTL H1 1 C1 C2 C1 C2 H1 R1

Content Advertisement packet Packet type Message Length Number of Contents Host’s IP Address Content ID #1 Content ID #2 …. …

Link-state Advertisement packet Packet type Message Length LS Age Advertising router’s IP Address LS sequence number Number of neighbor routers Neighbor node’s IP Address #1 Neighbor node’s IP Address #2 … Neighbor node’s IP Address #n Number of hosts Host IP Address #1 Host IP Address #2 Host IP Address #3 NumOfContents Content ID #1 Content ID #2

Information at each router Link state table Neighbors table Routing table

Link state table (for each router) Router’s IP Number of neighbor routers List of neighbor routers Number of hosts List of hosts Number of contents List of contents TTL R5 1 R2 H2 C2 2 R1, R5 - @R1 H2 C2 Each router store Link state of OTHER router! C1 R5 H1 R1 R2

Neighbor table (for each router) Number of neighbor routers List of neighbor routers Number of hosts List of hosts Number of contents List of contents 1 R2 H1 C1 @R1 H2 C2 C1 R5 H1 R1 R2

Routing table Each router maintains its own routing table Calculated from Link state table and neighbor table As each host can be either content requester or content provider, routing is based on both content identifiers and host addresses Destination Cost Next Hop H1 1 C1 C2 C1 C2 @R1 H1 R1

Routing Protocol We use link-state protocol with reduced message format (Link-state packet - LSP) Routers flood LSPs to all other routers Once a router has a copy of the LSP from every other router, it computes a complete map for the topology of the network, and from this map decide the best routes to each destination Algorithm: Dijkstra’s shortest-path algorithm

Routing Protocol (2) LSP also carries a time to live. A node always decrements the TTL of a newly received LSP before flooding it to its neighbors. It also “ages” the LSP while it is stored in the node When the TTL reaches 0, the node refloods the LSP with a TTL of 0, which is interpreted by all the nodes in the networks as a signal to delete that LSP

Routing protocol (3) Each router sends “hello” packet to its immediate neighbors at defined intervals. If a sufficiently long time passes without receipt of a “hello” from a neighbor, the link will be declared down, and a new LSP will be generated to reflect this fact.

Router - ‘Hello’ Packet Send to neighbor routers to say “I am alive” Packet type HELLO Message Length Option Router’s IP Address

Routing protocol (4) Only generate LSP if: Timer expires Change in topology (link dies, a neighbor router dies) A change in LSP table or neighbor table causes a router to recalculate the routing table!

Host: REQUEST packet format Packet type (REQUEST) Content ID SeqNum Option Requester’s IP Address Content provider’s IP Address (=0) SeqNum: used for supporting resume download from different content provider

How to route a content-request packet (Content discovery) @host_H1: get (content_C3) H1 sends request to its router R1 C1 C2 C3 H1 R1 R2 R3 H3 get(C3)

How to route a content-request packet (Content discovery) @host_H1: get (content_C3) R1 looks up its routing table for next hop to send Routing table @ R1: Destination Cost Next Hop … C3 3 R2 C1 C2 C3 H1 R1 R2 R3 H3 get(C3)

How to route a content-request packet (Content discovery) @host_H1: get (content_C3) Routing table @ R2: Destination Cost Next Hop … C3 2 R3 C1 C2 C3 H1 R1 R2 R3 H3 get(C3)

How to route a content-request packet (Content discovery) @host_H1: get (content_C3) Routing table @ R3: Destination Cost Next Hop … C3 1 H3 C1 C2 C3 H1 R1 R2 R3 H3 get(C3)

How to route a content-request packet (Content discovery) @host_H1: get (content_C3) Request packet arrived at H3 ! C1 C2 C3 H1 Arrived R1 R2 R3 H3 get(C3)

Delivering data After request packet arrived, the host with the needed content start data transfer process. C1 C2 C3 H1 R1 R2 R3 H3 Data transfer

Delivering data: Error If during transfer, the connection dies (router down, link dies, etc.), both the provider and the requester must be able to detect! Proposed method: set limitation on how many times we send the same packets (same sequence number) After detecting dead connection, discard this connection: requester does CONTENT DISCOVERY again, provider STOPS transferring data

Delivering data: Error (2) After retrieving IP address of new content provider, the requester RESUME from the last sequence number Append to the file received from the last provider

Data Transfer and Reliability Message Forward Unicast: ACK & Data transmission Broadcast: boot up & update file ID info DATA Packet Format - TTL: time to live - SeqNum: sequence # - Offset: offset regard to fragmented file Type File ID SeqNum TTL Source Address Destination Address Payload (file to be transmitted)

Data Transfer and Reliability Message Forward ACK Packet Format Type File ID SeqNum TTL Source Address (File receiver’s IP Address) Destination Address (File sender’s IP Address)

Data Transfer and Reliability ARQ Scheme End-to-end Routers know the cost of the entire network Selective-repeat - Transmit continuously, no waiting - Receiver ACKs all successfully received packets - Sender only retransmits unACKed packets when their timers expire - buffer needed at both transmitter and receiver

Data Transfer and Reliability Selective- repeat

Advantages and Disadvantages Aspects Good or not Scalability ✔ Latency Bandwidth ✗ Reliability

Scenario 1: @host_H2: get (content_C3) H2 C1 C2 R5 C3 H1 R1 R2 R3 R4

Scenario 1: @host_H2: get (content_C3) @R1: Destination Cost Next Hop 4 R2 @R1: H2 C1 C2 R5 C3 H1 R1 R2 R3 R4 H3 get(C3)

Scenario 1: @host_H2: get (content_C3) @R2: Destination Cost Next Hop

Scenario 1: @host_H2: get (content_C3) @R3: Destination Cost Next Hop

Scenario 1: @host_H2: get (content_C3) @R4: Destination Cost Next Hop

Scenario 1: @host_H2: get (content_C3) H2 C1 C2 R5 C3 H1 Arrived R1 R2

Scenario 1: @host_H2: get (content_C3) Data transfer H2 C1 C2 R5 C3 H1

Appendix: Network Architecture Scenario 2: @host_H1: get (content_C2) H1 H2 H3 C1 C2 C3 R1 R2 R3 R4 R5 H1 send request for C2 to default router R1 R1 choose shortest path, set DstAdrr as H2 When H2 receives request, ACK back Connection between H1 & H2 established

Appendix: Network Architecture Scenario 2: @host_H1: get (content_C2) H1 H2 H3 C1 C2 C3 R1 R2 R3 R4 R5 H2 prepare fragmented file Begin file transmission Selective-repeat mechanism to ensure delivery

Appendix: Network Architecture Scenario 3: @host_H1: get (content_C1) - Basic mechanism is the same as discussed H1 H2 H3 H4 C1 C2 C3 C1 C1

Appendix: Network Architecture Scenario 3: @host_H1: get (content_C1) - Link to H2 die: - H1 send 10 ACKs for the same packet - H1 gives up and request for C1 again starting with the smallest sequence number lost