Uploaded by Minh Nguyen Truong Quang

Computer Networks reports - Minh

advertisement
1.
a. In order to get access to get access to the internet, all you require is a modem, a wireless
router, a computer or smartphone, and an internet connection from an internet service
provider. With the help of the internet, you can freely use these softwares like Outlook,
Gmail, Whatsapp, Facebook, Twitter.
b.
2. a. There are a number of roadblocks that companies face when developing their web
applications. Some of the most common reasons are the present of slow server, poorly written
code and lack of load balancing.
- Slow servers: the reason for it could be your website is hosted in the platform where
there are so many other websites working at the same time. You can address this issue
by requesting for a dedicated server for your own.
- Poorly written code: this could refer to inefficient code, memory leaks, or
synchronization issues. Old versions of software or integrated legacy systems can also
take a toll on your website’s performance. You can tackle this roadblock by making your
developers utilize the optimal coding practice.
- Lack of load balancing: When new visitors of the site are assigned incorrectly, it can
drown out your server even if the system is under capacity. These issues can cause a
slow response time, especially if your site is receiving too many requests.
b. These are 4 types of delays:
- The time taken to transmit a packet from the host to the transmission medium is called
Transmission delay.
- After the packet is transmitted to the transmission medium, it has to go through the
medium to reach the destination. Hence the time taken by the last bit of the packet to reach the
destination is called propagation delay.
- Let the packet is received by the destination, the packet will not be processed by the
destination immediately. It has to wait in a queue in something called a buffer. So, the amount
of time it waits in queue before being processed is called queueing delay.
- Now the packet will be taken for the processing which is called processing delay.
3. a. Network security encompasses all the steps taken to protect the integrity of a computer
network and the data within it. Network security is important because it keeps sensitive data
safe from cyber-attacks and ensures the network is usable and trustworthy. It also prevents
cybercriminals from gaining access to valuable data and sensitive information. When hackers get
hold of such data, they can cause a variety of problems, including identity theft, stolen assets
and reputational harm.
c. These are the 4 types:
- DDoS (distributed denial of service) attacks involve deploying sprawling networks of
botnets — malware-compromised devices linked to the internet. These bombards and
overwhelm enterprise servers with high volumes of fraudulent traffic.
- Man-in-the-middle attacks network attacks occur when malicious parties intercept
traffic conveyed between networks and external data sources or within a network. In
most cases, hackers achieve man-in-the-middle attacks via weak security protocols.
- Unauthorized access refers to network attacks where malicious parties gain access to
enterprise assets without seeking permission. Such incidences may occur due to weak
account password protection, unencrypted networks, insider threats that abuse role
privileges, and the exploitation of inactive roles with administrator rights.
- Unmoderated user data inputs could place organizational networks at risk of SQL
injection attacks. Under the network attack method, external parties manipulate forms
by submitting malicious codes in place of expected data values. They compromise the
network and access sensitive data such as user passwords.
References: a. There are 5 of them:
-
Application layer: As suggested by its name, the application layer is responsible for
communication between applications running on two different end systems. A message
or data transferred from one end is readable for the corresponding application on the
other end. These applications include web browsers, email clients, etc.
-
Transport layer: On the sending end, the transport layer is responsible for collecting the
application layer message from the relevant end-point and transferring it to the network
layer to be communicated over the network. The receiving end collects the message
from the network layer and passes it on to the relevant end-point where the application
layer can access that message.
-
Network layer: The network layer is responsible for transferring data from one system
to another on the network. The transport layer passes a segment and the destination
address to the network layer. Then, it is the responsibility of the network layer to
transfer the data to the destination end-system over the network. This layer also takes
care of the routing of data on intermediate routers.
-
-
Link layer: When a packet is being transferred over the internet, several intermediate
devices are between the two end systems. These devices may be routers, switches, or
other computers. The link layer is responsible for communication between one device
and its immediate neighbor.
Physical layer: The physical layer is responsible for breaking the data frame into bits,
converting it into a form that can be transmitted over the physical communication line,
and transferring it.
b. The reasons for it are:
-
Layering of protocols provides well-defined interfaces between the layers, so that a
change in one layer does not affect an adjacent layer.
-
The protocols of a network are extremely complicated and designing them in layers
makes their implementation more feasible.
c.
4.
a.
- Throughput, sometimes called data transfer rate, is the amount of data that travels across a
network, from a source to a destination, over a given period.
- Bandwidth is a measure of the amount of data that could travel across a network, from a
source to a destination, over a given period.
In order to compare the differences between them, you need to consider these aspects:
b.
-
Purposes: the purpose of throughput is to measure data while the purpose of
bandwidth is to a measure network's capacity. Let’s see the example of water running
through a tube, the width of the tube is the bandwidth and the volume of water
travelling in the tube is throughput.
-
Actual data transmission: While both throughput and bandwidth use bits per second as
a unit of measurement, throughput is a practical metric, measuring actual packet
delivery. In contrast, bandwidth is a theoretical metric, measuring potential packet
delivery.
-
Data transmission speed: A high throughput reflects a high-speed network, as it means
that users are receiving large amounts of data per second. A high bandwidth enables a
high-speed network, as it allows for a network to transfer large amounts of data at once.
Client-Server Network: this is a network model where clients and servers are differentiated.
Specific servers and clients are present all the time and servers respond to the requests made by
clients.
Peer-to-peer Network(P2P): there is no clear distinction between clients and servers in this
model, each and every node is itself client and server. In p2p network, Each and every node can
do both request and respond for the services.
c.
Circuit Switching: a communication method where two devices establish a path, or circuit before
the data transmission begins. The circuit remains dedicated to the communication for the
duration of the session, and no other devices can use it while the session is in progress. Circuit
switching is commonly used in voice communication and some types of data communication.
Packet Switching: a communication method where data is divided into smaller units called
packets and transmitted over the network. Each packet contains the source and destination
addresses, as well as other information needed for routing.
d.
The main difference between TCP and UDP is while TCP is a connection-based protocol, UDP is a
connectionless. Moreover, TCP has a more reliable connection, the data transfers quite slow
compared to UDP being less reliable. Once a message is sent, TCP makes sure all the data and its
entirety are delivered. On the other hand, UDP may cost data loss during its delivery.
e.
The transmission delay is the amount of time required for the router to push out the packet.
Transmission delay depends on the length of the packet and bandwidth of the network. The
formula can be calculated as follows – L / R where L is length of the packet and R is transmission
rate.
The propagation delay, is the time it takes a bit to propagate from one router to the next. A
propagation delay depends on the distance and propagation speed. The formula can be
calculated as follows – D / S where D is the distance between sender and receiver over a link,
and S is the transmission speed.
f.
Routing is a task of moving data from one device to another. In most cases, routing is performed
by a networking device called a router.
Forwarding is the process of collecting data from one device and sending it to another device.
This is a difference from routing as it does not manage to moving data across devices.
6.
a.
The transmission delay (at source) is L/R = (30 / 10) = 3s.
The transmission delay (at router) is L/R = (30 / 10) = 3s.
The total transmission delay is 2L / R = 6s
b.
The end-to-end delay is t = N(d(t) + d(p) + d(processing) + d(q)) = 1(0.003 + D/S + 0 + 0) = 6 +
(10.10^6 m)/ (2.10^8 m/s) = 6.05ms
c.
9.
References
Delays in computer network (2023) GeeksforGeeks. Available at:
https://www.geeksforgeeks.org/delays-in-computer-network/ (Last accessed: 10 May
2023).
What is a network attack? (2022) Forcepoint. Available at: https://www.forcepoint.com/cyberedu/networkattack#:~:text=There%20are%20two%20main%20types,%2C%20encrypting%2C%20or%
20damaging%20data. (Last accessed: 10 May 2023).
What is the five-layer internet protocol stack? (no date) Educative. Available at:
https://www.educative.io/answers/what-is-the-five-layer-internet-protocol-stack (Last
accessed: 12 May 2023).
What is protocol layering (no date) Tutorials Point. Available at:
https://www.tutorialspoint.com/what-is-protocollayering#:~:text=Reasons&text=Layering%20of%20protocols%20provides%20well,makes
%20their%20implementation%20more%20feasible. (Last accessed: 22 May 2023).
Difference between circuit switching and packet switching (2023) GeeksforGeeks. Available at:
https://www.geeksforgeeks.org/difference-between-circuit-switching-and-packetswitching/ (Last accessed: 22 May 2023).
Gorman, B. (2023) TCP VS UDP: What’s the difference and which protocol is better? Available
at: https://www.avast.com/c-tcp-vs-udpdifference#:~:text=The%20main%20difference%20between%20TCP,reliable%20but%20
works%20more%20quickly. (Last accessed: 18 May 2023).
baeldung, W. by: (2023) Propagation delay vs transmission delay, Baeldung on Computer
Science. Available at: https://www.baeldung.com/cs/propagation-vs-transmission-delay
(Last accessed: 20 May 2023).
Datta, W. by: S. (2023) Routing vs. forwarding vs. switching, Baeldung on Computer Science.
Available at: https://www.baeldung.com/cs/routing-vs-forwarding-vs-switching (Last
accessed: 22 May 2023).
Julien, J. (2023) Web application performance: 7 common problems and how to solve them,
Stackify. Available at: https://stackify.com/web-application-problems/ (Last accessed: 22
May 2023).
Download