# 1.3 The Network Core

![](https://2097630930-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MVORxAomcgtzVVUqmws%2F-MZi8E4RJRoy2josZHwN%2F-MZi8M3pOzOLH_EpvuGc%2Fimage.png?alt=media\&token=c96237b8-6154-4afe-9a63-68ca6bb95938)

### 1.3.1 Packet Switching

* In a network application, end systems exchange **messages** with each other&#x20;
  * Can perform a control function or can contain data&#x20;
* To send a message from a source end system to a destination end system, the source breaks long messages into smaller chunks of data known as **packets**&#x20;
* Between source and destination, each packet travels through communication links and **packet switches** (**routers** and **link-layer switches**)&#x20;
* Packets are transmitted over each communication link at a rate equal to the full transmission rate of the link&#x20;
  * L bits, R bits/sec, then time to transmit is L/R seconds&#x20;

#### **Store-and-forward transmission**&#x20;

* Most packet switches use this at the inputs to the links&#x20;
* Packet switch must receive the entire packet before it can begin to transmit the first bit of the packet onto the outbound link&#x20;
* Total delay: 2L/R&#x20;

![End-to-end delay for N links each of rate R ](https://2097630930-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MVORxAomcgtzVVUqmws%2F-MZi8E4RJRoy2josZHwN%2F-MZiA-FHfif1PlLpKDMs%2Fimage.png?alt=media\&token=17b00297-b9b1-46f7-83d1-3b8ca395b1b6)

![](https://2097630930-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MVORxAomcgtzVVUqmws%2F-MZi8E4RJRoy2josZHwN%2F-MZi9SDS328oeOJ8bsfo%2Fimage.png?alt=media\&token=b797dfd1-51c0-420e-990b-72cd416477ce)

#### Queuing Delays and Packet Loss&#x20;

* Each packet switch: multiple links attached to it&#x20;
* For each attached link, the packet switch has an **output buffer** (also called an **output queue**), which stores packets that the router is about to send into that link.
* If an arriving packet needs to be transmitted onto a link but finds the link busy with the transmission of another packet, the arriving packet must wait in the output buffer. Thus, in addition to the store-and-forward delays, packets suffer output buffer **queuing delays**.&#x20;
* Since the amount of buffer space is finite, an arriving packet may find that the buffer is completely full with other packets waiting for transmission. In this case, **packet loss** will occur—either the arriving packet or one of the already-queued packets will be dropped

![](https://2097630930-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MVORxAomcgtzVVUqmws%2F-MZi8E4RJRoy2josZHwN%2F-MZiAg8mURXaBI5Xj9bd%2Fimage.png?alt=media\&token=886bf147-63b5-4c2a-b23a-22a31cb3f185)

#### Forwarding Tables and Routing Protocols&#x20;

* How does the router determine which link it should forward the packet onto?
  * End system: IP address&#x20;
  * The source includes the destination IP address in the packet's header (hierarchical structure)&#x20;
  * Each router has a **forwarding table** that maps the destination address (or portions of it) to that router's outboud links&#x20;
  * How do forwarding tables get set? Are they configured by hand in each and every router, or does the Internet use a more automated procedure?&#x20;
    * **Routing protocols:** may determine the shortest path from each router to each destination and use the shortest path results to configure the forwarding tables in routers&#x20;

### 1.3.2 Circuit Switching&#x20;

* There are two fundamental approaches to moving data through a network of links and switches: **circuit switching** and **packet switching**.
