1 / 17

ECE 354 Spring 2009

Learn to transmit and receive Ethernet packets between DE2 boards, implementing the 5-layer Internet model primarily in C code. Connect to a DM9000A Ethernet chip and ensure protocol compliance.

skaggsk
Download Presentation

ECE 354 Spring 2009

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ECE 354Spring 2009 Lab 3: Transmitting and Receiving Ethernet Packets

  2. Big Picture Introduction • Transmit and Receive Ethernet packets between two DE2 boards • Implement the 5-layer Internet model • Primarily written in C code • Use a preexisting SOPC system from the DE2_NET project

  3. Skills to learn • Understanding previously written code • Using a peripheral device: DM9000A chip • Connect to a device that you did not design: DM9000A Ethernet chip • Internet protocol stack

  4. Additional Hardware • Two DE2 boards • Ethernet cable

  5. Overview of Lab • Each group should specify the information in Layers 2 through 5 (Link, Network, Transport, and Application) • The payload should be 16 bits selected by 16 switches on the DE2 board and should be displayed on the LEDs of the other DE2 board • Only packets with the correct source MAC, IP, and port addresses should be allowed to update the LEDs • Each group should modify the DM9000A.H file so that the last byte of the MAC address matches their group number • Test protocol compliance by working with another group and using their MAC address as your destination MAC address and your own MAC as the source.

  6. Overview of DE2_NET project • Sends a malformed broadcast Ethernet packet • Important files: hello_led.c, DM9000A.c, and DM9000A.h • Three functions to control DM9000A chip • DM9000_init(); • TransmitPacket(TXT, length); • ReceivePacket(RXT, &length); • Copy the DE2_NET and fixpaths from the DE2 CD • Switch the workspace and select the directory that you saved DE2_NET in • If running two boards on the same computer, make two folders with each holding a copy of the DE2_NET project

  7. The Internet protocol stack • Consists of 5 layers: Application, Transport, Network, Link, and Physical layer • A majority of you have learned about these layers in Computer Networking course

  8. Layers you will use • Create an Application Layer (5) message by using the sixteen switches on the DE2 board • Encapsulate the message into segment at the Transport Layer (4) • Encapsulate the segment in a datagram at the Network Layer (3) • Encapsulate the datagram in a frame at the Link Layer (2) • The frame will be sent over the Physical Layer (1)

  9. User Datagram Protocol (UDP) – Layer 4 (Transport Layer) • The Application Data will be encapsulated within a UDP segment • The Segment Header includes the Source Port, Destination Port, Length of Segment, and Checksum (2 bytes each, total of 8 bytes) • The Source and Destination Port numbers can be determined by the user, but the Length and Checksum will have to be calculated

  10. The Network Layer (3) - IPv4 • The Segment from the Transport Layer will be encapsulated within an IPv4 Datagram • Dominant network layer protocol on the internet • Data-oriented protocol to be used on a packet switched network, such as Ethernet • Note about Checksums: • Begin by first setting the checksum field of the header to zero. • Checksums involve the one’s compliment addition operation. In C take the one’s compliment of a number A by: unsigned int complimentA = ~A

  11. Packet consists of two sections: The parts of each section that you will use in the is lab are: Version: IP packet version (4) Header length (between 5 and 15) Total Length (size of datagram) header and data Identification: uniquely identifying fragments Header checksum Source and Destination address Data IPv4 packet structure

  12. Link Layer (2) – Ethernet Frame • The Datagram from the Network Layer is encapsulated within an Ethernet Frame • The Destination and Source MAC addresses should be set to uniquely identify each DE2 board • Extra credit will be awarded if you perform CRC Checksum, otherwise set it to a value of zero

  13. The Physical Layer (1) • Refers to the network hardware or physical cabling • Provides the means of transmitting raw bits • You can also use a loopback (included with kit) to send packets back your own board

  14. What to demonstrate • Display data payload on the red binary LEDs • Display the number of packets transmitted on the seven segment display • Only packets with the correct source MAC address, IP address, and port address should be displayed

  15. Where does this project lead? • The next Lab (number 4) will put Lab 2 and Lab 3 together • Implement a reliable system

  16. References • The two documents located at DE2_System\Datasheets\Ethernet • DE2_NET project • Information about the Internet protocol stack can be found here: • http://en.wikipedia.org/wiki/Main_Page • http://www.google.com/

  17. Comments and/or Questions

More Related