ECE 354 Spring 2009 Lab 3 Transmitting and
ECE 354 Spring 2009 Lab 3: Transmitting and Receiving Ethernet Packets ECE Department: University of Massachusetts, Amherst
Big Picture Introduction § Transmit and Receive Ethernet packets between two DE 2 boards § Implement the 5 -layer Internet model § Primarily written in C code § Use a preexisting SOPC system from the DE 2_NET project ECE 354 2
Skills to learn § Understanding previously written code § Using a peripheral device: DM 9000 A chip § Connect to a device that you did not design: DM 9000 A Ethernet chip § Internet protocol stack ECE 354 3
Additional Hardware § Two DE 2 boards § Ethernet cable ECE 354 4
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 DE 2 board and should be displayed on the LEDs of the other DE 2 board § Only packets with the correct source MAC, IP, and port addresses should be allowed to update the LEDs § Each group should modify the DM 9000 A. 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. ECE 354 5
Overview of DE 2_NET project § Sends a malformed broadcast Ethernet packet § Important files: hello_led. c, DM 9000 A. c, and DM 9000 A. h § Three functions to control DM 9000 A chip • DM 9000_init(); • Transmit. Packet(TXT, length); • Receive. Packet(RXT, &length); § Copy the DE 2_NET and fixpaths from the DE 2 CD § Switch the workspace and select the directory that you saved DE 2_NET in § If running two boards on the same computer, make two folders with each holding a copy of the DE 2_NET project ECE 354 6
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 ECE 354 7
Layers you will use § Create an Application Layer (5) message by using the sixteen switches on the DE 2 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) ECE 354 8
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 ECE 354 9
The Network Layer (3) - IPv 4 § The Segment from the Transport Layer will be encapsulated within an IPv 4 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 compliment. A = ~A ECE 354 10
IPv 4 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) § § § ECE 354 header and data § § Identification: uniquely identifying fragments Header checksum Source and Destination address Data 11
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 DE 2 board § Extra credit will be awarded if you perform CRC Checksum, otherwise set it to a value of zero ECE 354 12
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 ECE 354 13
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 ECE 354 14
Where does this project lead? § The next Lab (number 4) will put Lab 2 and Lab 3 together § Implement a reliable system ECE 354 15
References § The two documents located at DE 2_SystemDatasheetsEthernet § DE 2_NET project § Information about the Internet protocol stack can be found here: • http: //en. wikipedia. org/wiki/Main_Page • http: //www. google. com/ ECE 354 16
Comments and/or Questions ECE 354 17
- Slides: 17