Chapter 4 v7 01

77 1 0
Chapter 4 v7 01

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

©1996-2016, J.F Kurose and K.W Ross Computer Networks Lectured by: Nguyen Le Duy Lai (lai@hcmut.edu.vn) Computer Networking: A Top Down Approach 7th Edition, Global Edition Jim Kurose, Keith Ross Pearson April 2016 Introduction 1-1 ©1996-2016, J.F Kurose and K.W Ross Chapter Network Layer: The Data Plane Computer Networking: A Top Down Approach 7th Edition, Global Edition Jim Kurose, Keith Ross Pearson April 2016 Network Layer: Data Plane 4-2 ©1996-2016, J.F Kurose and K.W Ross Chapter 4: outline 4.1 Overview of Network layer • data plane • control plane 4.2 What’s inside a router 4.3 IP: Internet Protocol • datagram format • fragmentation • IPv4 addressing • network address translation (NAT) • IPv6 4.4 Generalized Forward and SDN • match • action • OpenFlow examples of match-plus-action in action Network Layer: Data Plane 4-3 Chapter 4: network layer chapter goals: ©1996-2016, J.F Kurose and K.W Ross ▪ understand principles behind network layer services, focusing on data plane • • • • network layer service models forwarding versus routing how a router works generalized forwarding ▪ instantiation, implementation in the Internet Network Layer: Data Plane 4-4 ©1996-2016, J.F Kurose and K.W Ross Network layer ▪ transport segment from sending to receiving host ▪ on sending side, encapsulates segments into datagrams ▪ on receiving side, delivers segments to transport layer ▪ network layer protocols implemented in every host, router ▪ router examines IP header fields in all IP datagrams passing through it application transport network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical application transport network data link physical Network Layer: Data Plane 4-5 ©1996-2016, J.F Kurose and K.W Ross Two key network-layer functions network-layer functions: ▪ forwarding: move packets from router’s input to appropriate router output ▪ routing: determine route taken by packets from source to destination analogy: taking a trip ▪ forwarding: process of getting through single interchange ▪ routing: process of planning trip from source to destination • routing algorithms Network Layer: Data Plane 4-6 ©1996-2016, J.F Kurose and K.W Ross Network layer: data plane, control plane Data plane Control plane ▪ local, per-router function ▪ determines how datagram arriving on router input port is forwarded to router output port ▪ forwarding function ▪ network-wide logic ▪ determines how datagram is routed among routers along end-end path from source host to destination host ▪ two control-plane approaches: • traditional routing algorithms: implemented in routers • software-defined networking (SDN): implemented in (remote) servers values in arriving packet header 0111 Network Layer: Data Plane 4-7 Per-router control plane Individual routing algorithm components in each and every router interact in the control plane ©1996-2016, J.F Kurose and K.W Ross Routing Algorithm control plane data plane values in arriving packet header 0111 Network Layer: Control Plane 5-8 Logically centralized control plane A distinct (typically remote) controller interacts with local control agents (CAs) Remote Controller ©1996-2016, J.F Kurose and K.W Ross control plane data plane CA CA CA CA CA values in arriving packet header 0111 Network Layer: Control Plane 5-9 Network service model ©1996-2016, J.F Kurose and K.W Ross Q: What service model for “channel” transporting datagrams from sender to receiver? example services for individual datagrams: example services for a flow of datagrams: ▪ guaranteed delivery ▪ guaranteed delivery with less than 40 msec delay ▪ in-order datagram delivery ▪ guaranteed minimum bandwidth to flow ▪ restrictions on changes in inter-packet spacing Network Layer: Data Plane 4-10 Other changes from IPv4 ©1996-2016, J.F Kurose and K.W Ross ▪ checksum: removed entirely to reduce processing time at each hop ▪ options: allowed, but outside of header, indicated by “Next Header” field ▪ ICMPv6: new version of ICMP • additional message types, e.g “Packet Too Big” • multicast group management functions Network Layer: Data Plane 4-63 Transition from IPv4 to IPv6 ©1996-2016, J.F Kurose and K.W Ross ▪ not all routers can be upgraded simultaneously • no “flag days” • how will network operate with mixed IPv4 and IPv6 routers? ▪ tunneling: IPv6 datagram carried as payload in IPv4 datagram among IPv4 routers IPv4 header fields IPv4 source, dest addr IPv6 header fields IPv6 source dest addr IPv4 payload UDP/TCP payload IPv6 datagram IPv4 datagram Network Layer: Data Plane 4-64 Tunneling IPv4 tunnel connecting IPv6 routers A B IPv6 IPv6 A B C IPv6 IPv6 IPv4 logical view: E F IPv6 IPv6 D E F IPv4 IPv6 IPv6 ©1996-2016, J.F Kurose and K.W Ross physical view: Network Layer: Data Plane 4-65 Tunneling IPv4 tunnel connecting IPv6 routers A B IPv6 IPv6 A B C IPv6 IPv6 IPv4 logical view: E F IPv6 IPv6 D E F IPv4 IPv6 IPv6 ©1996-2016, J.F Kurose and K.W Ross physical view: flow: X src: A dest: F data A-to-B: IPv6 src:B dest: E src:B dest: E Flow: X Src: A Dest: F Flow: X Src: A Dest: F data data B-to-C: IPv6 inside IPv4 flow: X src: A dest: F data E-to-F: B-to-C: IPv6 IPv6 inside IPv4 Network Layer: Data Plane 4-66 IPv6: adoption ▪ Google: 8% of clients access services via IPv6 ▪ NIST: 1/3 of all US government domains are IPv6 capable ©1996-2016, J.F Kurose and K.W Ross ▪ Long (long!) time for deployment, use • 20 years and counting! • think of application-level changes in last 20 years: WWW, Facebook, streaming media, Skype, … • Why? Network Layer: Data Plane 4-67 ©1996-2016, J.F Kurose and K.W Ross Chapter 4: outline 4.1 Overview of Network layer • data plane • control plane 4.2 What’s inside a router 4.3 IP: Internet Protocol • datagram format • fragmentation • IPv4 addressing • network address translation • IPv6 4.4 Generalized Forward and SDN • match • action • OpenFlow examples of match-plus-action in action Network Layer: Data Plane 4-68 Generalized Forwarding and SDN Each router contains a flow table that is computed and distributed by a logically centralized routing controller logically-centralized routing controller control plane data plane ©1996-2016, J.F Kurose and K.W Ross local flow table headers counters actions 0100 1101 values in arriving packet’s header Network Layer: Data Plane 4-69 OpenFlow data plane abstraction ▪ flow: defined by header fields ▪ generalized forwarding: simple packet-handling rules ©1996-2016, J.F Kurose and K.W Ross • Pattern: match values in packet header fields • Actions for matched packet: drop, forward, modify matched packet or send matched packet to controller • Priority: disambiguate overlapping patterns • Counters: # bytes and # packets Flow table in a router (computed and distributed by controller) define router’s match+action rules Network Layer: Data Plane 4-70 OpenFlow data plane abstraction ▪ flow: defined by header fields ▪ generalized forwarding: simple packet-handling rules ©1996-2016, J.F Kurose and K.W Ross • Pattern: match values in packet header fields • Actions for matched packet: drop, forward, modify matched packet or send matched packet to controller • Priority: disambiguate overlapping patterns • Counters: # bytes and # packets * : wildcard src=1.2.*.*, dest=3.4.5.* → drop src= *.*.*.*, dest=3.4.*.* → forward(2) src=10.1.2.3, dest=*.*.*.* → send to controller OpenFlow: Flow Table Entries Rule Action Stats ©1996-2016, J.F Kurose and K.W Ross Packet or byte counters Switch VLAN Port ID Forward packet to port(s) Encapsulate and forward to controller Drop packet Send to normal processing pipeline Modify fields MAC src MAC dst Link layer Eth type IP Src IP Dst IP Prot Network layer TCP sport TCP dport Transport layer Examples Destination-based forwarding: Switch MAC Port src MAC Eth dst type VLAN ID IP Src * * * * * * ©1996-2016, J.F Kurose and K.W Ross IP Prot TCP TCP Action sport dport 51.6.0.8 * * * port6 IP datagrams destined to IP address 51.6.0.8 should be forwarded to router output port Firewall: Switch MAC Port src * IP Dst * MAC Eth dst type * * VLAN IP ID Src IP Dst IP Prot TCP TCP Forward sport dport * * * * * 22 drop not forward (block) all datagrams destined to TCP port 22 Switch MAC Port src * * * MAC Eth dst type * VLAN IP ID Src * 128.119.1.1 IP Dst IP Prot TCP TCP Forward sport dport * * * * drop not forward (block) all datagrams sent by host 128.119.1.1 Examples Destination-based layer (switch) forwarding: Switch MAC Port src * 22:A7:23: 11:E1:02 MAC dst Eth type VLAN IP ID Src IP Dst IP Prot TCP sport TCP Action dport * * * * * * * * port6 ©1996-2016, J.F Kurose and K.W Ross layer frames from MAC address 22:A7:23:11:E1:02 should be forwarded to output port Network Layer: Data Plane 4-74 OpenFlow abstraction ©1996-2016, J.F Kurose and K.W Ross ▪ match+action: unifies different kinds of devices ▪ Router • match: longest destination IP prefix • action: forward out a link ▪ Switch • match: destination MAC address • action: forward or flood ▪ Firewall • match: IP addresses and TCP/UDP port numbers • action: permit or deny ▪ NAT • match: IP address and port • action: rewrite address and port Network Layer: Data Plane 4-75 OpenFlow example match Example: datagrams from hosts h5 and h6 should be sent to h3 or h4, via s1 and from there to s2 action IP Src = 10.3.*.* forward(3) IP Dst = 10.2.*.* Host h6 10.3.0.6 s3 controller s1 ©1996-2016, J.F Kurose and K.W Ross Host h5 10.3.0.5 s2 Host h1 10.1.0.1 ingress port = IP Src = 10.3.*.* IP Dst = 10.2.*.* action forward(4) Host h4 10.2.0.4 Host h2 10.1.0.2 match match Host h3 10.2.0.3 action ingress port = forward(3) IP Dst = 10.2.0.3 ingress port = forward(4) IP Dst = 10.2.0.4 ©1996-2016, J.F Kurose and K.W Ross Chapter 4: done! 4.1 Overview of Network layer: data plane and control plane 4.2 What’s inside a router 4.3 IP: Internet Protocol • datagram format • fragmentation • IPv4 addressing • NAT • IPv6 4.4 Generalized Forward and SDN • match plus action • OpenFlow example Question: how forwarding tables (destination-based forwarding) or flow tables (generalized forwarding) computed? Answer: by the control plane (next chapter) Network Layer: Data Plane 4-77

Ngày đăng: 11/04/2023, 09:46

Tài liệu cùng người dùng

Tài liệu liên quan