ECE Department: University of Massachusetts, Amherst ECE 354 Spring 2009 Lab 3: Transmitting and...
-
date post
20-Dec-2015 -
Category
Documents
-
view
213 -
download
0
Transcript of ECE Department: University of Massachusetts, Amherst ECE 354 Spring 2009 Lab 3: Transmitting and...
ECE Department: University of Massachusetts, Amherst
ECE 354Spring 2009
Lab 3: Transmitting and ReceivingEthernet Packets
2ECE 354
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
3ECE 354
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
5ECE 354
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.
6ECE 354
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
7ECE 354
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
8ECE 354
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)
9ECE 354
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
10ECE 354
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
11ECE 354
IPv4 packet structure
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
12ECE 354
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
13ECE 354
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
14ECE 354
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
15ECE 354
Where does this project lead?
The next Lab (number 4) will put Lab 2 and Lab 3 together
Implement a reliable system
16ECE 354
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/