* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download ECE 354 Lab3
Distributed firewall wikipedia , lookup
Power over Ethernet wikipedia , lookup
Net neutrality wikipedia , lookup
Piggybacking (Internet access) wikipedia , lookup
Airborne Networking wikipedia , lookup
Net neutrality law wikipedia , lookup
Multiprotocol Label Switching wikipedia , lookup
IEEE 802.1aq wikipedia , lookup
Network tap wikipedia , lookup
Computer network wikipedia , lookup
Asynchronous Transfer Mode wikipedia , lookup
Point-to-Point Protocol over Ethernet wikipedia , lookup
Zero-configuration networking wikipedia , lookup
Wake-on-LAN wikipedia , lookup
Deep packet inspection wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
Internet protocol suite wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
ECE 354 Lab 3: Transmitting and Receiving Ethernet Packets ECE Department: University of Massachusetts, Amherst 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 ECE 354 2 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 ECE 354 3 Additional Hardware  Two DE2 boards  Ethernet cable ECE 354 4 The Internet protocol stack –as we will use it  Consists of 5 layers: Application, Transport, Network, Link, and Physical layer; ignore Session and Presentation (OSI) ECE 354 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 (switch_pio) on the DE2 board and should be displayed on the LEDs (led_red) 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. This shall fail (or else you need to update it). ECE 354 6 Overview of DE2_NET project  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 from the DE2 CD and use that project in Quartus.  If running two boards on the same computer, make two folders with each holding a copy of the DE2_NET project ECE 354 7 Layers you will use  Create an Application Layer (5) message (data) by using the sixteen switches on the DE2 board  Encapsulate it 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  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) - 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 ECE 354 10 IPv4 packet structure  Packet consists of two sections:  header and data  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)  Identification: uniquely identifying fragments  Header checksum  Source and Destination address  Data    ECE 354 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 DE2 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 DE2_System_v1.6\Datasheets\Ethernet  DE2_System_v1.6\DE2_demonstrations\ DE2_NET project  For detailed description of headers http://en.wikipedia.org/wiki/Internet_protocol_s uite  Method of calculating the CRC http://en.wikipedia.org/wiki/Cyclic_redundancy_ check ECE 354 16 Comments and/or Questions ECE 354 17
 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                                            