Tcp and udp well-known ports, Udp and icmp – D-Link DES-3326 User Manual
Page 53
DES-3326 Layer 3 Fast Ethernet Switch User’s Guide
When a packet is received, the headers are removed. The Ethernet Network Interface Card (NIC)
removes the Ethernet header and checks the checksum. It then looks at the type code. If the type code
is for IP, the packet is given to IP. IP then removes the IP header and looks at its protocol field. If the
protocol field is TCP, the packet is sent to TCP. TCP then looks at the sequence number and uses this
number and other data from the headers to reassemble the data into the original file.
TCP and UDP Well-Known Ports
Application protocols run ‘on top of’ TCP/IP. When an application wants to send data or a message, it
gives the data to TCP. Because TCP and IP take care of the networking details, the application can look
at the network connection as a simple data stream.
To transfer a file across a network using the File Transfer Protocol (FTP), a connection must first be
established. The computer requesting the file transfer must connect specifically to the FTP server on
the computer that has the file.
This is accomplished using sockets. A socket is a pair of TCP port numbers used to establish a
connection from one computer to another. TCP uses these port numbers to keep track of connections.
Specific port numbers are assigned to applications that wait for requests. These port numbers are
referred to as ‘well-known’ ports.
TCP will open a connection to the FTP server using some random port number, 1234 for example, on
the local computer. TCP will specify port 21 for the FTP server. Port 21 is the well-known port number
for FTP servers. Note that there are two different FTP programs running in this example – an FTP client
that requests the file to be transferred, and an FTP server that sends the file to the FTP client. The FTP
server accepts commands from the client, so the FTP client must know how to connect to the server
(must know the TCP port number) in order to send commands. The FTP Server can use any TCP port
number to send the file, so long as it is sent as part of the connection setup.
A TCP connection is then described by a set of four numbers – the IP address and TCP port number for
the local computer, and the IP address and TCP port number for the remote computer. The IP address
is in the IP header and the TCP port number is in the TCP header.
No two TCP connection can have the same set of numbers, but only one number needs to be different.
It is possible, for example, for two users to send files to the same destination at the same time. This
could give the following connection numbers:
Internet
addresses
TCP
ports
Connection 1 10.42.73.23, 10.128.12.1
1234, 21
Connection 2 10.42.73.23, 10.128.12.1
1235, 21
The same computers are making the connections, so the IP addresses are the same. Both computers
are using the same well-known TCP port for the FTP server. The local FTP clients are using different
TCP port numbers.
FTP transfers actually involve two different connections. The connection begins by the FTP sending
commands to send a particular file. Once the commands are sent, a second connection is opened for
the actual data transfer. Although it is possible to send data on the same connection, it is very
convenient for the FTP client to be able to continue to send commands (such as ‘stop sending this file’).
UDP and ICMP
There are many applications that do not require long messages that cannot fit into a single packet.
Looking up computer names is an example. Users wanting to make connections to other computers will
usually use a name rather than the computer’s IP or MAC address. The user’s computer must be able
53