컴퓨터 네트워크
응용 계층: Application Layer
kiki1875
2023. 3. 31. 10:33
Internet protocol stack은 인터넷에서 컴퓨터와 기기들이 통신하기 위해 사용되는 프로토콜의 집합이다.
이는 총 4개의 계층 구조를 가지고 있는데, 서로 독립적으로 작동하여 효율적인 통신을 가능하게 한다.
- Application Layer: 최종 사용자 애플리케이션과 통신하기 위한 인터페이스를 제공.
- HTTP, FTP, SMTP 등
- Transport Layer: 데이터 전송을 제어, 신뢰성 있는 전송을 보장하기 위해 사용.
- TCP, UDP 등
- Network Layer: 데이터를 패킷으로 분할하고 네트워크간 라우팅 및 인터넷 프로토콜을 사용하여 목적지에 전달
- Link Layer: 물리적인 네트워크를 통해 데이터를 전송 - 인접한 노드로 전송
Application 은 다음과 같은 구조를 가질 수 있다
- Client - Server
- 서버는 항상 켜져있는 호스트이다
- 서버는 영구적인 IP 주소를 가지고 있다
- 클라이언트는 서버와 소통한다
- 클라이언트는 동적인 IP 주소를 가지고 있다
- 클라이언트 간의 통신은 직접적이지 않다
- P2P (peer to peer)
- 항상 켜져있는 서버 x
- End - system 끼리 직접적으로 소통한다
- Peer은 다른 peer 에게 서비스를 요청한다
- 새로운 peer 가 연결할 때, 새로 들어온 peer 가 직접적으로 확장시킨다.
- Peer들 끼리 연결되어 있다
Addressing Process
- 메세지를 주고 받기 위해 프로세스는 식별자가 필요하다
- 식별자는 IP 주소와 포트 # 를 가지고 있다
- 호스트는 32 bit IP 주소를 가지고 있다
- App-layer protocol 은 다음 구조를 띄고 있다
- 어떤 종류의 메세지: ex) request, response
- Message Syntax
- Message Semantics: 각 필드의 의미
- Rules: 프로세스가 메세지를 어떻게 주고 받을 것인지
App 은 그렇다면 어떤 전송 서비스가 필요한가
- Data Integrity: 특정한 app 들은 100% 믿을 수 있는 통신이 필요하다
- Timing: 특정한 app 들은 delay 가 최소화 되어야 한다
- Throughput: 특정한 app 들은 효율적이기 위해 처리되어야 하는 양의 데이터가 있다.
- Security: 특정한 app 들은 암호화가 필요하다.