tut1446 software defined networking deep dive...open vs. proprietary southbound protocols northbound...
TRANSCRIPT
![Page 1: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/1.jpg)
![Page 2: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/2.jpg)
Topics
●Why SDN?●What is SDN?●SDN in OpenStack and K8s●Overview of SDN controllers
![Page 3: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/3.jpg)
Why SDN?
Limitations of Traditional Networking
![Page 4: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/4.jpg)
Traditional networking
![Page 5: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/5.jpg)
It's hardware centric!
![Page 6: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/6.jpg)
Closed systems
●Vendor specific software●Costly●Hard to inter-operate
![Page 7: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/7.jpg)
Not scalable!
![Page 8: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/8.jpg)
No abstractions
●Hard to maintain●Hard to innovate●Hard to experiment
![Page 9: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/9.jpg)
Server virtualization
VLANs are not flexible enough (e.g. server is moved)Traffic differs from the classic server-client model
![Page 10: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/10.jpg)
Connect a new machine●1. Reach the place
●2. Plug the cable
●3. Configure
![Page 11: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/11.jpg)
What is SDN?
![Page 12: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/12.jpg)
What's SDN Goal?
Enable network engineers and administrators to respond quickly to changing business requirements
![Page 13: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/13.jpg)
How does SDN work?●Separate control plane from data plane●Centralization of control●Program a network vs configure network●Forwarding decisions are flow based
![Page 14: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/14.jpg)
Separate control plane from data plane
![Page 15: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/15.jpg)
Centralization of control
Northbound Interface
Southbound Interface
![Page 16: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/16.jpg)
Flow based forwarding●A flow of packets are a those that should be forwarded in the
same way●A packet is classified into a flow by data contained within the
packet (packet headers)●A packet is forwarded by applying a set of actions to it●Those actions will be the same for all packets of the same
flow
●An abstraction to packet-switching that allows to design and control pure forwarding network devices
![Page 17: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/17.jpg)
OpenFlow
●Open standard●Separation of control plane and data plane●OF switch has flow tables●OF controller programs the flow entries
●Flow = match + action
![Page 18: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/18.jpg)
OpenFlow switch
![Page 19: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/19.jpg)
Overlay network
●Encapsulation decouples a network service from the underlying infrastructure
Image from ipcraft.net
![Page 20: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/20.jpg)
SDN Benefits● Simpler hardware
○ Controller runs on commodity hardware○ Network devices are pure forwarding elements○ Independent development of software and hardware○ Reduced CapEx
● Network becomes a computation/software problem○ Software abstractions and open standards○ Easier to innovate, design, deploy, manage and scale○ Improved flexibility and agility○ Reduced OpEX
● Automation, Optimization and Integration
![Page 21: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/21.jpg)
SDN Use Cases
●For carriers and service providers○ Network resource optimization○ SD-WAN○ NFV
●For enterprise○ Network access control○ Network monitoring
●For cloud computing and data center workloads○ Network virtualization○ Automated service delivery
![Page 22: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/22.jpg)
SDN Characterization
●Cross platform or hardware specific?●Open vs. proprietary●Southbound protocols●Northbound APIs & services●Networking features●Data plane stack: overlay protocol, hypervisor vSwitch,
acceleration...●Efficiency: performance, reliability, scalability...●Integration: OpenStack, Kubernetes, Cloud-Native…●Monitoring & Analytics features
![Page 23: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/23.jpg)
SDN networking in OpenStack
![Page 24: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/24.jpg)
Connect a new machine in the virtual world
![Page 25: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/25.jpg)
Neutron
●Neutron is an OpenStack project to provide “networking as a service” between interface devices (e.g., vNICs) managed by other Openstack services (e.g., nova)
●provides a powerful API to define the network connectivity
![Page 26: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/26.jpg)
Neutron abstractions
●Network: L2 broadcast domain●Subnet: a block of v4 or v6 IP addresses and associated
configuration state.●Port: a connection point for attaching a single device, such
as the NIC of a virtual server, to a virtual network. Also describes the associated network configuration, such as the MAC and IP addresses to be used on that port.
●Router: interconnects networks
![Page 27: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/27.jpg)
Modular architecture
●Plugin: custom back-end implementation of the Networking API
●Neutron-server: exposes the API
![Page 28: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/28.jpg)
Neutron as SDN controller
NOVA
Compute
GLANCE
ImageService
NEUTRON
Networking
Plugin
KEYSTONE
IdentityService
HORIZON / CLI
Client
Network Elements
OPENSTACK
Plugin Agent
![Page 29: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/29.jpg)
Neutron as SDN application
Network Elements
NOVA
Compute
GLANCE
ImageService
NEUTRON
Networking
Plugin
KEYSTONE
IdentityService
HORIZON / CLI
Client
OPENSTACK
SDN CONTROLLER
Northbound App Openstack Agent Northbound App
Control Layer Abstractions
Southbound protocols
![Page 30: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/30.jpg)
Multi-Site single Controller
Traffic
Network Elements
NOVA
Compute
GLANCE
ImageService
NEUTRON
Networking
Plugin
KEYSTONE
IdentityService
HORIZON / CLI
Client
OPENSTACK SITE
SDN CONTROLLER
Northbound App
Openstack Agent
Northbound App
Control Layer Abstractions
Southbound protocols
NOVA
Compute
GLANCE
ImageService
NEUTRON
Networking
Plugin
KEYSTONE
IdentityService
HORIZON / CLI
Client
OPENSTACK SITE
![Page 31: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/31.jpg)
SDN networking in K8s
![Page 32: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/32.jpg)
Containers are cool but...
●Containers need to be reachable●Containers need to be connected together
Image from patgt.net
![Page 33: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/33.jpg)
Container Network Interface
Container Runtime
Container Network Interface (CNI)
loopback bridge ipvlan dhcp flannel calico cilium SDN
Built-in Third-party
![Page 34: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/34.jpg)
Mixing it all with SDNKubernetes
Container Runtime
Container Network Interface (CNI)
SDN Plugin
Network Elements
NOVA
Compute
GLANCE
ImageService
NEUTRON
Networking
Plugin
KEYSTONE
IdentityService
HORIZON / CLI
Client
OPENSTACK
SDN CONTROLLER
CNI Agent Openstack AgentNorthbound App
Control Layer Abstractions
Southbound protocols
Traffic
![Page 35: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/35.jpg)
SDN controllers overview
CISCO ACI
![Page 36: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/36.jpg)
Cisco ACI: Overview (I)
●Cisco’s approach: Application requirements to define the network behavior
○ Policy-driven solution○ Combining both SW and HW○ Common platform for physical, virtual, and cloud.
●IPv6 support
●Protocol Stack○ Northbound REST APIs○ Southbound OpFlex agents○ Overlay support: NVGRE, VXLAN
![Page 37: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/37.jpg)
Cisco ACI: Overview (II)
●HA support○ 2 member active/standby APIC controller cluster
●Multi-Hypervisor○ KVM○ ESXi○ Hyper-V
●Integrations○ OpenStack○ Kubernetes○ Cloud
![Page 38: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/38.jpg)
What is ACI?
![Page 39: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/39.jpg)
OpenStack integration
![Page 40: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/40.jpg)
Kubernetes Integration
![Page 41: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/41.jpg)
SDN controllers
Tungsten Fabric
![Page 42: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/42.jpg)
Tungsten Fabric: Overview (I)
●Open Source & Part of the Linux Foundation●Application-based security policies●IPv6 support
●Protocol Stack○ REST APIs & Python bindings○ XMPP Southbound agents○ MPLSoGRE & VXLAN overlay
●Interesting network features○ BGPaaS○ SFC
![Page 43: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/43.jpg)
Tungsten Fabric: Overview (II)
●Dataplane optimizations in TF vRouter:○ DPDK○ SR-IOV○ SmartNIC
●Supports HA:○ active/active (for LB and failover)
●Containerized control plane
![Page 44: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/44.jpg)
OpenStack & Kubernetes Integration
Image from tungsten.io
![Page 45: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/45.jpg)
SDN controllers
VMWare NSX-T
![Page 46: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/46.jpg)
NSX-T: Overview (I)
●Software driven, virtual appliances●IPv6 support●HA
○ 3 node clustering
●Multi-hypervisor○ KVM○ native vCenter support
●Integrations○ Kubernetes○ OpenStack
![Page 47: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/47.jpg)
NSX-T: Overview (II)
●Multi-Cloud○ Azure○ AWS○ ...
●Protocol stack:○ Custom OvS & southbound agent for KVM○ Overlay: Geneve○ Northbound REST APIs
●Dataplane optimizations○ For ESXi○ Enhanced N-VDS (DPKD-based)
![Page 48: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/48.jpg)
OpenStack integration
Image from vmware
![Page 49: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/49.jpg)
Kubernetes integration
Image from virtuallyread.com
![Page 50: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/50.jpg)
SDN controllers
OpenDaylight
![Page 51: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/51.jpg)
OpenDaylight: Overview
●Open Source & Part of the Linux Foundation●Multi-project platform●Multiple Southbound protocol support●Modular Northbound services & APIs●Cross-platform: Java●Perfect for learning & SDN innovation
![Page 52: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/52.jpg)
Modular Architecture
Image from opendaylight.org
![Page 53: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/53.jpg)
Thanks!
Questions?
![Page 54: TUT1446 Software Defined Networking Deep Dive...Open vs. proprietary Southbound protocols Northbound APIs & services Networking features Data plane stack: overlay protocol, hypervisor](https://reader033.vdocuments.us/reader033/viewer/2022042220/5ec676c8beb3d4596b011519/html5/thumbnails/54.jpg)