Transport Layer 3-1
Chapter 4Network Layer
Computer Networking: A
Top Down Approach
6th edition Jim Kurose, Keith
RossAddison-Wesley
March 2012
CPSC 335 Data Communication SystemsReadings: 4.6.3, 4.7, 4.7.1, 4.7.2
David Nguyen
Adapted from Kurose Ross David Kauchak (Stanford University)
Network Layer 4-2
4.1 introduction4.2 virtual circuit and
datagram networks4.3 what’s inside a
router4.4 IP: Internet Protocol
datagram format IPv4 addressing ICMP IPv6
4.5 routing algorithms link state distance vector hierarchical routing
4.6 routing in the Internet RIP OSPF BGP
4.7 broadcast and multicast routing
Chapter 4: outline
Network Layer 4-3
Internet inter-AS routing: BGP BGP (Border Gateway Protocol): the de
facto inter-domain routing protocol “glue that holds the Internet together”
BGP provides each AS a means to: eBGP: obtain subnet reachability
information from neighboring ASs. iBGP: propagate reachability information to
all AS-internal routers. determine “good” routes to other networks
based on reachability information and policy.
allows subnet to advertise its existence to rest of Internet: “I am here”
Network Layer 4-4
BGP basics
when AS3 advertises a prefix to AS1: AS3 promises it will forward datagrams towards that prefix
AS3
AS2
3b
3c
3a
AS1
1c1a
1d1b
2a2c
2b
othernetworks
othernetworks
BGP session: two BGP routers (“peers”) exchange BGP messages: advertising paths to different destination network prefixes exchanged over semi-permanent TCP connections
BGP message
Network Layer 4-5
4.1 introduction4.2 virtual circuit and
datagram networks4.3 what’s inside a
router4.4 IP: Internet Protocol
datagram format IPv4 addressing ICMP IPv6
4.5 routing algorithms link state distance vector hierarchical routing
4.6 routing in the Internet RIP OSPF BGP
4.7 broadcast and multicast routing
Chapter 4: outline
Network Layer 4-6
R1
R2
R3 R4
sourceduplication
R1
R2
R3 R4
in-networkduplication
duplicatecreation/transmissionduplicate
duplicate
Broadcast routing deliver packets from source to all other nodes source duplication is inefficient:
Network Layer 4-7
In-network duplication
flooding: when node receives broadcast packet, sends copy to all neighbors problems: cycles & broadcast storm
controlled flooding: node only broadcasts pkt if it hasn’t broadcast same packet before node keeps track of packet ids already
broadcasted spanning tree:
no redundant packets received by any node
Network Layer 4-8
A
B
G
DE
c
F
A
B
G
DE
c
F
(a) broadcast initiated at A (b) broadcast initiated at D
Spanning tree = subset of edges with no cycle
that connects all vertices nodes then forward/make copies
only along spanning tree
Minimum spanning tree
= subset of edges with no cycle and the lowest weight that connects all vertices
~ plow snow on roads so that cities stay connected during calamities
Input: An undirected, G=(V,E) Output: A tree T=(V,E’) where E’ E
that minimizes
'
)(Ee
ewTweight
Applications?
Connectivity Networks (e.g. communications) Circuit desing/wiring
hub/spoke models (e.g. flights, transportation)
Traveling salesman problem?
Prim-Jarnik algorithm to find MST Developed in 1930 by Czech Jarnik and
later independently by American Prim in 1957
Prim-Jarnik algorithm
Start at some root node and build out the MST by adding the lowest weighted edge at the frontier
Network Layer 4-30
Multicast routing: problem statement deliver packets from source to some other
nodes tree: not all paths between routers used shared-tree: same tree used by all group members
shared tree source-based trees
group member
not group member
routerwith agroup
member
routerwithoutgroup
member
legend
source-based: different tree from each sender to rcvrs
Network Layer 4-31
4.1 introduction4.2 virtual circuit and
datagram networks4.3 what’s inside a
router4.4 IP: Internet Protocol
datagram format, IPv4 addressing, ICMP, IPv6
4.5 routing algorithms link state, distance
vector, hierarchical routing
4.6 routing in the Internet RIP, OSPF, BGP
4.7 broadcast and multicast routing
Chapter 4: done!
understand principles behind network layer services:
network layer service models, forwarding versus routing how a router works, routing
(path selection), broadcast, multicast instantiation, implementation in the Internet
GOOGLE AND AMAZON INTERVIEW TIPS!
How to get a dream job at big IT companies? Tips based on personal experience and “Cracking the Coding Interview”
Transport Layer 3-32
What questions should you ask the interviewer? Quality of your questions will be a
factor, whether subconsciously or consciously, in their decisions
You can - and should - prepare questions in advance
Doing research on the company or team may help you with preparing questions.
Transport Layer 3-33
Genuine Questions
These are the questions you actually want to know
“How much of your day do you spend coding?”
“How many meetings do you have every week?”
“What is the ratio of testers to developers to product managers? What is the interaction like? How does project planning happen on the team?”
Transport Layer 3-34
Insightful Questions
to demonstrate your deep knowledge of programming or technologies
“I noticed that you use technology X.How do you handle problem Y?”
“Why did the product choose to use the X protocol over the Y protocol? I know it has benefits like A, B, C, but many companies choose not to use it because of issue D.”
Transport Layer 3-35
Passion Questions
to demonstrate your passion for technology
“I’m very interested in scalability. Did you come in with a background in this, or what opportunities are there to learn about it?”
“I’m not familiar with technology X, but it sounds like a very interesting solution. Could you tell me a bit more about how it works?”
Transport Layer 3-36