SlideShare une entreprise Scribd logo
1  sur  13
Télécharger pour lire hors ligne
NachOS 3
                        on
Theore tical Presentati
What is networking?

A collection of machines, links and switches set up so that machines can
communicate with each other.

Nachos provides the abstraction of communication using mailboxes. The Nachos
networking abstraction reaches to closely connected computers. The messaging is
unreliable and messages can be dropped, but they are never corrupted in any way.
The networking provides ordered and fixed-sized messages. There are several
classes that builds the Nachos networking facility.
 
How it works?
Step 1
Host A is telling the Gateway Server the following: "I'd like to initiate a new
connection with you. My Sequence number is 1293906975"
 
Step 2
The Gateway Server is telling Host A the following: "I acknowledge your
sequence number and expecting your next packet with sequence number
1293906976. My sequence number is 3455719727".

Step 3.
Host A is telling the Gateway Server the following: "I acknowledge your last
packet. This packet's sequence number is1293906976, which is what you're
expecting. I'll also be expecting the next packet you send me to have a sequence
number of3455719728".

 
Step 4.
Host A generates a packet with some data and sends it to the Gateway Server.
The data tells the Gateway Server which webpage it would like sent.
The sequence number of the segment in line 4 is the same as in line 3 because
the ACK does not occupy sequence number space.

 
W hich files?
First of all we have to implement Locks and Condition
Variables
Which files should we modify?
The files of importance are:

threads directory:
● lockcond.h, lockcond.cc: for defining and implementing
  lock and condition synchronization primitives; needed for
  network applications to work.
network directory:
●   post.h, post.cc: postoffice and mailbox, mail message
    definition and implementation.
●   nettest.cc: application to test communication between
    host id 0 and host id 1
machine directory:
● network.h, network.cc: Data structures to emulate a physical
  network connection. The network provides the abstraction of
  ordered, unreliable, fixed-size packet delivery to other
  machines on the network.
● sysdep.h, sysdep.cc : Interprocess communication
  operations, for simulating the network; Unix sockets creation,
  binding, closing, etc. are called here to provide nachos socket
  functionality.
 
Security

● Encryption
All encryption is based on an algorithm, the function of this
algorithm is basically encode the information to be
indecipherable at first sight.

An encryption algorithm can transform the letter "A" to
"5x5mBwE" or to "xQE9fq" and the work of an encryption
algorithm is precisely determine how information will be
transformed from its original state to one that is difficult to
decode.
The encryption and decryption algorithms uses what is called key to encrypt or
                           decrypt information.

These keys are used to encrypt information, however, there is another key that
the person who receives the message knows, and it is through this unique key
                     that the message can be decrypted.
seudo-code (Server)
     P
class Server{
    try{
        ServerSocket ss = new ServerSocket(8080); /*Create
    server*/
        Socket s = ss.acept();   /* Create socket */
        receiveString();
        decodeString();
        s.close();        /* Close connection */
        ss.close(); }
    catch(Exception ex){
        ex.printStackTrace();}
}//End of Server
seudo-code (Client)
     P
class Client{
    try{
        Socket s = new Socket("localhost", 8080); /*Create
    socket*/
        encodeString(); /*before send String data must be
encode*/
        sendString();
        s.close();
        }
    catch(Exception ex){
        ex.printStackTrace();
    }
}//End of Client
Sources
●   http://en.wikipedia.org/wiki/Acknowledgement_(data_networks)

●   http://www.firewall.cx/networking-topics/65-tcp-protocol-analysis/134-tcp-
    seq-ack-numbers.html
●   http://cnx.org/content/m30811/latest/

●   http://cnx.org/content/m30811/latest/

        For more information go to blog: www.os-ocj.blogspot.com

Contenu connexe

Tendances

Kick-off Project 2: Presentatie Linux
Kick-off Project 2: Presentatie LinuxKick-off Project 2: Presentatie Linux
Kick-off Project 2: Presentatie Linux
Patrick Koning
 
ZeroMQ: Super Sockets - by J2 Labs
ZeroMQ: Super Sockets - by J2 LabsZeroMQ: Super Sockets - by J2 Labs
ZeroMQ: Super Sockets - by J2 Labs
James Dennis
 
Tomáš Čorej - OpenSSH
Tomáš Čorej - OpenSSHTomáš Čorej - OpenSSH
Tomáš Čorej - OpenSSH
webelement
 
Nach os network
Nach os networkNach os network
Nach os network
naniix21_3
 
Nach os network
Nach os networkNach os network
Nach os network
naniix21_3
 
Nach os network
Nach os networkNach os network
Nach os network
naniix21_3
 

Tendances (19)

HTTPS: All you need to know
HTTPS: All you need to knowHTTPS: All you need to know
HTTPS: All you need to know
 
Jnp
JnpJnp
Jnp
 
Kick-off Project 2: Presentatie Linux
Kick-off Project 2: Presentatie LinuxKick-off Project 2: Presentatie Linux
Kick-off Project 2: Presentatie Linux
 
HTTPS, Here and Now
HTTPS, Here and NowHTTPS, Here and Now
HTTPS, Here and Now
 
Socket.io v.0.8.3
Socket.io v.0.8.3Socket.io v.0.8.3
Socket.io v.0.8.3
 
ZeroMQ: Super Sockets - by J2 Labs
ZeroMQ: Super Sockets - by J2 LabsZeroMQ: Super Sockets - by J2 Labs
ZeroMQ: Super Sockets - by J2 Labs
 
Build reliable, traceable, distributed systems with ZeroMQ
Build reliable, traceable, distributed systems with ZeroMQBuild reliable, traceable, distributed systems with ZeroMQ
Build reliable, traceable, distributed systems with ZeroMQ
 
Tomáš Čorej - OpenSSH
Tomáš Čorej - OpenSSHTomáš Čorej - OpenSSH
Tomáš Čorej - OpenSSH
 
Nach os network
Nach os networkNach os network
Nach os network
 
Nach os network
Nach os networkNach os network
Nach os network
 
Nach os network
Nach os networkNach os network
Nach os network
 
Harden Security Devices Against Increasingly Sophisticated Evasions
Harden Security Devices Against Increasingly Sophisticated EvasionsHarden Security Devices Against Increasingly Sophisticated Evasions
Harden Security Devices Against Increasingly Sophisticated Evasions
 
Tomáš Čorej: Configuration management & CFEngine3
Tomáš Čorej: Configuration management & CFEngine3Tomáš Čorej: Configuration management & CFEngine3
Tomáš Čorej: Configuration management & CFEngine3
 
WebSockets with PHP: Mission impossible
WebSockets with PHP: Mission impossibleWebSockets with PHP: Mission impossible
WebSockets with PHP: Mission impossible
 
First Responder Course - Session 9 - Volatile Evidence Collection [2004]
First Responder Course - Session 9 - Volatile Evidence Collection [2004]First Responder Course - Session 9 - Volatile Evidence Collection [2004]
First Responder Course - Session 9 - Volatile Evidence Collection [2004]
 
Docker and Fargate
Docker and FargateDocker and Fargate
Docker and Fargate
 
От sysV к systemd
От sysV к systemdОт sysV к systemd
От sysV к systemd
 
Tcpsockets
TcpsocketsTcpsockets
Tcpsockets
 
Ethereum genesis
Ethereum genesisEthereum genesis
Ethereum genesis
 

Similaire à Nachos3 - Theoretical Part

Similaire à Nachos3 - Theoretical Part (20)

A.java
A.javaA.java
A.java
 
Python networking
Python networkingPython networking
Python networking
 
OpenSSL Basic Function Call Flow
OpenSSL Basic Function Call FlowOpenSSL Basic Function Call Flow
OpenSSL Basic Function Call Flow
 
Unit 8 Java
Unit 8 JavaUnit 8 Java
Unit 8 Java
 
28 networking
28  networking28  networking
28 networking
 
Build your first blockchain
Build your first blockchainBuild your first blockchain
Build your first blockchain
 
Remote Procedure Call
Remote Procedure CallRemote Procedure Call
Remote Procedure Call
 
Networking in Java
Networking in JavaNetworking in Java
Networking in Java
 
TCP Sockets Tutor maXbox starter26
TCP Sockets Tutor maXbox starter26TCP Sockets Tutor maXbox starter26
TCP Sockets Tutor maXbox starter26
 
Network programming in java - PPT
Network programming in java - PPTNetwork programming in java - PPT
Network programming in java - PPT
 
PYTHON -Chapter 5 NETWORK - MAULIK BORSANIYA
PYTHON -Chapter 5 NETWORK - MAULIK BORSANIYAPYTHON -Chapter 5 NETWORK - MAULIK BORSANIYA
PYTHON -Chapter 5 NETWORK - MAULIK BORSANIYA
 
Network programming in Java
Network programming in JavaNetwork programming in Java
Network programming in Java
 
Network programming in Java
Network programming in JavaNetwork programming in Java
Network programming in Java
 
Md13 networking
Md13 networkingMd13 networking
Md13 networking
 
Network Programming in Java
Network Programming in JavaNetwork Programming in Java
Network Programming in Java
 
#2 (UDP)
#2 (UDP)#2 (UDP)
#2 (UDP)
 
Java networking programs - theory
Java networking programs - theoryJava networking programs - theory
Java networking programs - theory
 
Socket programming
Socket programming Socket programming
Socket programming
 
Socket programming
Socket programmingSocket programming
Socket programming
 
Os 2
Os 2Os 2
Os 2
 

Plus de Eduardo Triana (12)

1 internetworking
1 internetworking1 internetworking
1 internetworking
 
1 internetworking
1 internetworking1 internetworking
1 internetworking
 
Redes final
Redes finalRedes final
Redes final
 
Redes proyecto
Redes proyectoRedes proyecto
Redes proyecto
 
PicSumador
PicSumadorPicSumador
PicSumador
 
NachOS 3 - Practical presentation
NachOS 3 - Practical presentationNachOS 3 - Practical presentation
NachOS 3 - Practical presentation
 
Nachos 2 Practical Part
Nachos 2 Practical PartNachos 2 Practical Part
Nachos 2 Practical Part
 
Nachos 2 Practical Part
Nachos 2 Practical PartNachos 2 Practical Part
Nachos 2 Practical Part
 
Nachos 2 Practical Part
Nachos 2 Practical PartNachos 2 Practical Part
Nachos 2 Practical Part
 
Nachos Extra Points
Nachos Extra PointsNachos Extra Points
Nachos Extra Points
 
Nachos 2
Nachos 2Nachos 2
Nachos 2
 
Operating systems
Operating systemsOperating systems
Operating systems
 

Dernier

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Dernier (20)

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 

Nachos3 - Theoretical Part

  • 1. NachOS 3 on Theore tical Presentati
  • 2. What is networking? A collection of machines, links and switches set up so that machines can communicate with each other. Nachos provides the abstraction of communication using mailboxes. The Nachos networking abstraction reaches to closely connected computers. The messaging is unreliable and messages can be dropped, but they are never corrupted in any way. The networking provides ordered and fixed-sized messages. There are several classes that builds the Nachos networking facility.  
  • 4. Step 1 Host A is telling the Gateway Server the following: "I'd like to initiate a new connection with you. My Sequence number is 1293906975"   Step 2 The Gateway Server is telling Host A the following: "I acknowledge your sequence number and expecting your next packet with sequence number 1293906976. My sequence number is 3455719727". Step 3. Host A is telling the Gateway Server the following: "I acknowledge your last packet. This packet's sequence number is1293906976, which is what you're expecting. I'll also be expecting the next packet you send me to have a sequence number of3455719728".  
  • 5. Step 4. Host A generates a packet with some data and sends it to the Gateway Server. The data tells the Gateway Server which webpage it would like sent. The sequence number of the segment in line 4 is the same as in line 3 because the ACK does not occupy sequence number space.  
  • 6. W hich files? First of all we have to implement Locks and Condition Variables Which files should we modify? The files of importance are: threads directory: ● lockcond.h, lockcond.cc: for defining and implementing lock and condition synchronization primitives; needed for network applications to work. network directory: ● post.h, post.cc: postoffice and mailbox, mail message definition and implementation.
  • 7. nettest.cc: application to test communication between host id 0 and host id 1 machine directory: ● network.h, network.cc: Data structures to emulate a physical network connection. The network provides the abstraction of ordered, unreliable, fixed-size packet delivery to other machines on the network. ● sysdep.h, sysdep.cc : Interprocess communication operations, for simulating the network; Unix sockets creation, binding, closing, etc. are called here to provide nachos socket functionality.  
  • 8. Security ● Encryption All encryption is based on an algorithm, the function of this algorithm is basically encode the information to be indecipherable at first sight. An encryption algorithm can transform the letter "A" to "5x5mBwE" or to "xQE9fq" and the work of an encryption algorithm is precisely determine how information will be transformed from its original state to one that is difficult to decode.
  • 9. The encryption and decryption algorithms uses what is called key to encrypt or decrypt information. These keys are used to encrypt information, however, there is another key that the person who receives the message knows, and it is through this unique key that the message can be decrypted.
  • 10.
  • 11. seudo-code (Server) P class Server{ try{ ServerSocket ss = new ServerSocket(8080); /*Create server*/ Socket s = ss.acept(); /* Create socket */ receiveString(); decodeString(); s.close(); /* Close connection */ ss.close(); } catch(Exception ex){ ex.printStackTrace();} }//End of Server
  • 12. seudo-code (Client) P class Client{ try{ Socket s = new Socket("localhost", 8080); /*Create socket*/ encodeString(); /*before send String data must be encode*/ sendString(); s.close(); } catch(Exception ex){ ex.printStackTrace(); } }//End of Client
  • 13. Sources ● http://en.wikipedia.org/wiki/Acknowledgement_(data_networks) ● http://www.firewall.cx/networking-topics/65-tcp-protocol-analysis/134-tcp- seq-ack-numbers.html ● http://cnx.org/content/m30811/latest/ ● http://cnx.org/content/m30811/latest/ For more information go to blog: www.os-ocj.blogspot.com