Basic model of FTP
FTP Server Demo
Let’s see a demonstration of two communicating end-systems in a home network.
Copyright By PowCoder代写 加微信 powcoder
Fibre optic link
Modem/router/access point
Mesh WiFi System
https://main.prod.vodafonenz.psdops.com/_document?id=00000174-9e1b-d0cd-a57e-9fffd98e0000
Mesh Wifi: https://www.vodafone.co.nz/online-shop/accessory/deco/x20-mesh-wifi-system/
Optical Network Terminator
Home Network Devices
Fibre optic link
Laptop (Windows 10)
PC (Ubuntu)
Mesh WiFi System
Sample Settings of an Ultra Hub (Modem/router/access point)
In this example, we will test two machines that are connected to the same Mesh WiFi system.
Windows 10
IP Address
IP Address
Client–Server Model
Communication between an FTP server and an FTP client conforms to a set of standard protocols defined in RFC *documents.
The FTP client is already built into the operating system.
The FTP server was written in C/C++ using the socket library that utilises the services of the operating system.
Communicating processes running on different hosts, with potentially different operating systems.
*RFC 959, RFC 2428 (IPV6 support), RFC 2228 (security))
Firstly, let’s gather some important network details that will be used to connect the two end systems.
IP address
Listening port number (only for the server)
Subnet/Netmask
Network interface
Find information of all network interfaces using the command line: ifconfig -a
Client (Linux)
IP address?
Network interface?
IPv6 address:
fe80::bbc9:689c:f6a7:2d46
interface:
255.255.252.0
Find information of all network interfaces using the gui
Client (Linux)
IP address?
Network interface?
Find information of all network interfaces using the command line
Server (Windows 10)
IP address?
Network interface?
Windows 10
IP Address
IP Address
IPv6 address:
fe80::bbc9:689c:f6a7:2d46
interface:
IPv6 address:
fe80::fd39:f4ed:1938:97e6%20
interface:
255.255.252.0
255.255.252.0
Summary of essential network details in this sample network:
Client-Server
IPv4 address:
192.168.68.53
IPv4 address:
192.168.68.54
Next, we need to configure the firewall at the server’s side, in order to allow the client to connect to it.
For its Domain profile, allow inbound and outbound connections
For its Private profile, allow inbound and outbound connections
We can open the firewall settings to apply these settings.
Sequence of steps (Windows 10 machine).
Firewall Configuration (Server-side)
Next, let’s test the connectivity between the two end systems…
Connect the server to the client
Connect the client to the server
We can use the ping command to do these tests.
Windows 10
IP Address
IP Address
IPv6 address:
fe80::bbc9:689c:f6a7:2d46
interface:
255.255.252.0
Open a command prompt, then issue the ping command.
From the server (Windows 10), ping the Client
IPv4 address:
192.168.68.53
IPv6 address:
fe80::fd39:f4ed:1938:97e6%20
interface:
255.255.252.0
IPv4 address:
192.168.68.54
Windows 10
IP Address
IP Address
IPv6 address:
fe80::bbc9:689c:f6a7:2d46
interface:
255.255.252.0
Open a command prompt, then issue the ping command.
From the server (Windows 10), ping the Client
IPv4 address:
192.168.68.53
IPv6 address:
fe80::fd39:f4ed:1938:97e6%20
interface:
255.255.252.0
IPv4 address:
192.168.68.54
Link-local address have the prefix fe80::/64.
The last 64 bits of the IPv6 address is known as the interface identifier and is derived from the 48-bit MAC address of the network adapter
Alternatively, for this particular example, adding the interface name to the IPv6 address also works (e.g. %20).
(Windows 10) Network Shell (netsh)
C:\> netsh interface ipv6 show address
Displays all IPv6 addresses or all IPv6 addresses on a specific interface on the local computer.
https://docs.microsoft.com/en-us/windows/win32/winsock/netsh-exe
The term network shell refers to an interface between users and the operating system, which enables the administration and configuration of local, and remote network settings.
https://www.ionos.com/digitalguide/server/tools/netsh/
How to find the interface name and index associated with an IPv6 address?
Windows 10
IP Address
IP Address
IPv6 address:
fe80::bbc9:689c:f6a7:2d46
interface:
255.255.252.0
Open a command prompt, then issue the ping command.
(Linux) From the client, ping the server
IPv4 address:
192.168.68.53
IPv6 address:
fe80::fd39:f4ed:1938:97e6%20
interface:
255.255.252.0
IPv4 address:
192.168.68.54
Before we start running a demo of the two end systems, let’s have a look at an overview of the different system components involved.
Socket for Data Connection
Socket for Control Connection
Directory structure, file to send
Home/Desktop folder
Windows 10
Letter.txt
Root folder
IP Address
IP Address
User interface
ftp-server.exe
User interface
Home/Desktop folder
Windows 10
Letter.txt
Root folder
IP Address
IP Address
User interface
ftp-server.exe
User interface
Operating System
Operating System
Transport layer
Transport layer
Home/Desktop folder
Windows 10
Letter.txt
Root folder
Operating System
Operating System
IP Address
IP Address
Transport layer
Transport layer
User interface
Listening socket
ftp-server.exe
User interface
file transfer
Home/Desktop folder
Windows 10
Letter.txt
Root folder
Operating System
Operating System
IP Address
IP Address
Transport layer
Transport layer
User interface
Listening socket
ftp-server.exe
User interface
Control connection
Data connection
file transfer
Home/Desktop folder
Windows 10
Letter.txt
Root folder
Operating System
Operating System
IP Address
IP Address
Transport layer
Transport layer
User interface
Listening socket
ftp-server.exe
User interface
Control connection
Data connection
file transfer
Home/Desktop folder
Windows 10
Letter.txt
Root folder
Operating System
Operating System
IP Address
IP Address
Transport layer
Transport layer
User interface
Listening socket
ftp-server.exe
User interface
Control connection
Data connection
(Windows 10) FTP Server launch
The FTP server is set to listen for incoming connections at port 1772. Valid port numbers: [1024, 65535]
(Linux) FTP Client launch
The FTP client connects to the FTP server’s IP address: fe80::fd39:f4ed:1938:97e6%en02, port 1772.
After the connection is established and the user authenticated, the FTP client downloads an image file from the FTP server.
Things to learn
study the different networking concepts, structures and jargons.
study the details of fundamental networking protocols and algorithms used in various layers of the internet protocol stack.
learn how to write distributed applications in C using the socket library.
In this course we will:
End of Session
Lavf58.12.100
Lavf58.12.100
/docProps/thumbnail.jpeg
程序代写 CS代考 加微信: powcoder QQ: 1823890830 Email: powcoder@163.com