Introduction to Data Link Layer

Slides:



Advertisements
Similar presentations
Device Layer and Device Drivers
Advertisements

Slide 5-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 5 5 Device Management.
The Journey of a Packet Through the Linux Network Stack
Tutorial 3 - Linux Interrupt Handling -
Operating Systems Operating Systems - Winter 2009 Chapter 3 – Input/Output Vrije Universiteit Amsterdam.
Implementation of TCP/IP in Linux (kernel 2.2) Rishi Sinha.
Chapter 7 Protocol Software On A Conventional Processor.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 TCP/IP Stack Introduction: Looking Under the Hood! Shiv Kalyanaraman Rensselaer Polytechnic Institute.
ECE 526 – Network Processing Systems Design Software-based Protocol Processing Chapter 7: D. E. Comer.
Network Devices COMS W6998 Spring 2010 Erich Nahum.
1 Soft Timers: Efficient Microsecond Software Timer Support For Network Processing Mohit Aron and Peter Druschel Rice University Presented By Jonathan.
Cache Table. ARP Modules Output Module Sleep until IP packet is received from IP Software Check cache table for entry corresponding to the destination.
Linux Networking Overview COMS W Spring 2010.
Figure 1.1 Interaction between applications and the operating system.
COMPUTER NETWORKS.
THE OSI MODEL KUDIRAT FAWEHINMI COSC 541.
QualNet 2014/05/ 尉遲仲涵. Outline Directory Structure QualNet Basic Message & Event QualNet simulation architecture Protocol Model Programming.
Traffic control and Quality of Service
Real-time Systems Lab, Computer Science and Engineering, ASU Linux Input Systems (ESP – Fall 2014) Computer Science & Engineering Department Arizona State.
Fall 2004FSU CIS 5930 Internet Protocols1 Network Devices Reading: Chapter 5.
Linux Networking 2012 年 5 月 主讲:孟宁 电话: : 主页: 地址:苏州工业园区独墅湖高等教育区仁爱路 166 号明德楼.
Chapter 13: I/O Systems Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 2, 2005 Chapter 13: I/O Systems I/O Hardware.
Introduction and Overview Chapter 1. Why Study TCP/IP? Forms global Internet base technology Has accommodated explosive growth well Protocols work over.
ECE 354 Copyright ECE Department, some slides modified from W. Wolf, Computers as Components, Morgan Kaufmann, 2005 Big Picture: Lab 3 Networks (OSI-view)
Advanced Higher Computing Computer Networking Topic 1: Network Protocols and Standards.
Introduction to Technology Infrastructure Chapter 1.
Fall 2004FSU CIS 5930 Internet Protocols1 Architecture of Network Implementation Reading: Chapters 3 and 4.
1 Layer 2: Concepts Honolulu Community College Cisco Academy Training Center Semester 1 Version
1 Washington WASHINGTON UNIVERSITY IN ST LOUIS Mike Wilson – 15 March 2005 Networking in the Linux Kernel.
1.4 Open source implement. Open source implement Open vs. Closed Software Architecture in Linux Systems Linux Kernel Clients and Daemon Servers Interface.
Tami Meredith, Ph.D. CSCI  Devices need CPU access  E.g., NIC has a full buffer it needs to empty  These device needs are often asynchronous.
11 NETWORK CONNECTION HARDWARE Chapter 3. Chapter 3: NETWORK CONNECTION HARDWARE2 NETWORK INTERFACE ADAPTER  Provides the link between a computer and.
Eliminating Receive Livelock in an Interrupt-Driven Kernel J. C. Mogul and K. K. Ramakrishnana Presented by I. Kim, 01/04/13.
Multimedia Wireless Networks: Technologies, Standards, and QoS Chapter 3. QoS Mechanisms TTM8100 Slides edited by Steinar Andresen.
IP Phone Chip System Design 邱垂民 CS group/EE R /6/15.
An initial study on Multi Path Routing Over Multiple Devices in Linux 2.4.x kernel Towards CS522 term project By Syama Sundar Kosuri.
Chapter 7 ARP and RARP.
Monitor- ing, Basic IP Header Proc., Packet Classi- fication and Routing APIC Driver Rcv Side APIC Plugin Ctl. Unit... Resource Controller... Rcv Input.
Chapter 2 Protocols and the TCP/IP Suite 1 Chapter 2 Protocols and the TCP/IP Suite.
Fall 2004FSU CIS 5930 Internet Protocols1 Transparent Bridges Reading: Chapter 12.
Intel Research & Development ETA: Experience with an IA processor as a Packet Processing Engine HP Labs Computer Systems Colloquium August 2003 Greg Regnier.
1 Soft Timers: Efficient Microsecond Software Timer Support For Network Processing Mohit Aron and Peter Druschel Rice University Presented By Oindrila.
Linux Kernel Backdoors And Their Detection Joanna Rutkowska ITUnderground Conference, October 12 th -13 th 2004, Warsaw.
July 12th 1999Kits Workshop 1 Active Networking at Washington University Dan Decasper.
Preemptive Context Switching
Network Programming Chapter 1 Networking Concepts and Protocols.
1.4 Open source implement. Open source implement Open vs. Closed Software Architecture in Linux Systems Linux Kernel Clients and Daemon Servers Interface.
FSU CIS 5930 Internet Protocols
Fall 2004FSU CIS 5930 Internet Protocols1 Address Resolution Protocol (ARP) Reading: Chapter 15.
Using Traffic Control to Support of Quality of Service Milestone No.1 Li Zhang.
Interrupts and Interrupt Handling David Ferry, Chris Gill CSE 522S - Advanced Operating Systems Washington University in St. Louis St. Louis, MO
Soft Timers : Efficient Microsecond Software Timer Support for Network Processing - Mohit Aron & Peter Druschel CS533 Winter 2007.
Network architecture model What is an “architecture model”? An architecture model offers a general frame of reference for the problems connected to the.
Network Address Translation (NAT)
WORKING OF SCHEDULER IN OS
Introduction to Technology Infrastructure
NDIS-WDM Miniport Drivers Larry Cleeton Program Manager Windows Networking And Communications Microsoft Corporation.
Interrupts and Interrupts Handling
Operating Systems CMPSC 473
sudo ./snull_load Two interfaces created: sn0, sn1
Pertemuan 19 Introduction to TCP/IP
Slave cores Etherbone Accessible device Etherbone Accessible device E
Networks Layering Chapter 7.
Introduction to Technology Infrastructure
Network Components.
Transmission Control Protocol (TCP)
Chapter 7 ARP and RARP Prof. Choong Seon HONG.
Top Half / Bottom Half Processing
Interrupts and System Calls
Chapter 13: I/O Systems “The two main jobs of a computer are I/O and [CPU] processing. In many cases, the main job is I/O, and the [CPU] processing is.
Presentation transcript:

Introduction to Data Link Layer Reading: Chapter 6 Fall 2004 FSU CIS 5930 Internet Protocols

Structure of Data Link Layer 802.1 Overview Architecture Management 802.1 Locigal Link Control 802.3 CSMA/CD 802.5 Token Ring 802.11 WirelessLAN ... Network Layer 2b 2a 1 IEEE 802 standard Network adaptersr devices Network layer Protocol instances Linux network architecture Drivers Fall 2004 FSU CIS 5930 Internet Protocols

Processes on Data Link Layer System Calls NET_RX_SOFTIRQ- Software-Interrupt CPU1 CPU2 Layer 1-4 eth0 eth1 Layer 5 Application processes * * Kernel activities (Interrupts, Tasklets, Timer-Handler etc.) Hardware-Interrupt NET_RX- Soft-IRQ System- calls NET_TX- Fall 2004 FSU CIS 5930 Internet Protocols

Path of a packet in data-link layer .. ... arp_rcv ip_rcv p8022_rcv arp_send ip_queue_xmit Layer 3 ETH_P_802_2 dev.c br_input.c dev.c net_rx_action handle_bridge ... dev_queue_xmit CONFIG_BRIDGE dev->qdisc-> enqueue do_softirq Scheduler eth0 eth1 CPU1 CPU2 dev.c net_tx_action qdisc_run softnet_data[cpun].input_pkt_queue Data-link layer (OSI-Layer 1+2) dev.c netif_rx qdisc_restart Scheduler driver.c eth_type_trans() dev_alloc_skb() dev->qdisc->dequeue net_interrupt driver.c dev->hard_start_xmit Fall 2004 FSU CIS 5930 Internet Protocols

FSU CIS 5930 Internet Protocols Receiving a packet Adapter triggers interrupt, which is handled by the driver (e.g., net_interrupt) net_rx if receiving a packet dev_alloc_skb() into socket buffer Identifying data type in payload (e.g., eth_type_trans()) netif_rx completes interrupt handling Enqueueing the buffer (softnet_data[cpu].input_pkt_queue) Registering soft interrupt __cpu_raise_softirq(cpu, NET_RX_SOFTIRQ) CPU resumes the previous activity Fall 2004 FSU CIS 5930 Internet Protocols

Receiving packet (Cont’d) CPU finishes the current activity Schedule a new activity (schedule) Check soft interrupt queue first using do_softirq NET_RX_SOFTIRQ >net_rx_action() net_rx_action() Dequeue packet Handled by different protocol instance based on protocol’s func() Here for IP, it is ip_rcv() Fall 2004 FSU CIS 5930 Internet Protocols

Transmitting a packet Fall 2004 FSU CIS 5930 Internet Protocols dev.c, net/sched/* softirq.c, netdevice.h dev->qdisc->enqueue driver.c dev->hard_start_xmit qdisc_run qdisc_restart dev->qdisc->dequeue Scheduler net_tx_action dev_queue_xmit timer_handler netif_schedule Timer cpu_raise_softirq do_softirq NET_TX_SOFTIRQ Fall 2004 FSU CIS 5930 Internet Protocols

Transmitting packets (Cont’s) dev_queue_xmit() (net/core/dev.c) qdisc_run() (include/net/pkt_sched.h) qdisc_restart() (net/sched/sch_generic.c) Fall 2004 FSU CIS 5930 Internet Protocols

Managing Layer-3 protocols type: ETH_P_ARP dev: NULL func data: 1 packet_type next arp_rcv() ptype_base[16] 1 type: ETH_P_IP 16 ip_rcv() ptype_all type: ETH_P_ALL dev data . . . Fall 2004 FSU CIS 5930 Internet Protocols

Managing Layer-3 Protocols (Cont’d) dev_add_pack() (net/core/dev.c) dev_remove_pack() (net/core/dev.c) Fall 2004 FSU CIS 5930 Internet Protocols