본문 바로가기
네트워크

Chapter 2 Application Layer

by 정구지개발자 2023. 7. 15.
728x90

 

2.1 Principles of Network Applications

 

  • Thus, when developing your new application, you need to write software that will run on multiple end systems.
  • Keep in mind that an application’s architecture is distinctly different from the network architecture
  •  From the application developer’s perspective, the network architecture is fixed and provides a specific set of services to applications. The application
  • architecture, on the other hand, is designed by the application developer and dictates how the application is structured over the various end systems
  • In choosing the application architecture, an application developer will likely draw on one of the two predominant architectural paradigms used in modern network applications: the client-server architecture or the peer-to-peer (P2P) architecture.

 

 

 

  • In a client-server architecture
  • Note that with the client-server architecture, clients do not directly communicate with each other; for example, in the Web application, two browsers do not directly communicate
  • Another characteristic of the client-server architecture is that the server has a fixed, well-known address, called an IP address (which we’ll discuss soon). Because the server has a fixed, well-known address, and because the server is always on, a client can always contact the server by sending a packet to the server’s IP address.

 

 

  • In a P2P architecture,
  • Because the peers communicate without passing through a dedicated server, the architecture is called peer-to-peer.
  • One of the most compelling features of P2P architectures is their self-scalability
  • P2P architectures are also cost effective, since they normally don’t require significant server infrastructure and server bandwidth (in contrast with clients-server designs with datacenters).
  • However, P2P applications face challenges of security, performance, and reliability due to their highly decentralized structure.

 

2.1.2 Processes Communicating

Client and Server Processes

 

 

  • With P2P file sharing, the peer that is downloading the file is labeled as the client, and the peer that is uploading the file is labeled as the server.

 

The Interface Between the Process and the Computer Network

 

  • A process sends messages into, and receives messages from, the network through a software interface called a socket.
  • A process is analogous to a house and its socket is analogous to its door. When a process wants to send a message to another process on another host, it shoves the message out its door (socket).

 

 

  • As shown in this figure, a socket is the interface between the application layer and the transport layer within a host. It is also referred to as the Application Programming Interface (API)

 

Addressing Processes

 

  • To identify the receiving process, two pieces of information need to be specified:
  • (1) the address of the host 
  • (2) an identifier that specifies the receiving process in the destination host.

 

  • In the Internet, the host is identified by its IP address all we need to know is that an IP address is a 32-bit quantity that we can think of as uniquely identifying the host
  • A destination port number serves this purpose
  • a Web server is identified by port number 80. A mail server process (using the SMTP protocol) is identified by port number 25
728x90

'네트워크' 카테고리의 다른 글

2.2 The Web and HTTP  (0) 2023.07.19
2.1.3 Transport Services Available to Applications  (0) 2023.07.18
1.6 Networks Under Attack  (0) 2023.07.13
Protocol Layering  (0) 2023.07.13
1.4.4 Throughput in Computer Networks  (0) 2023.06.20

댓글