Application Layer(1)

2024. 9. 28.·컴퓨터네트워크

Application Layer는 중요한 계층이라 여러 번 나눠서 알아볼게요.

 

1회차에선 application layer에서 제공하는 서비스인 Client-server paradigm, Peer-peer architecture를 먼저 간단히 알아보고 Processes Communicating, Sockets, Addressing Processes에 대해서도 알아보겠습니다!

----🐢

Client-Server Paradigm

- 서버(Server)

항상 켜져 있는 host / 고정 IP 주소 보유

 

- 클라이언트(Client)

서버에 접속, 통신 요청 / 연결이 불안정할 수 있음 / 동적(임시) IP 주소 가질 수 있음

예시: HTTP, IMAP, FTP 

---🐢-

Peer-to-Peer(P2P) Architecture

항상 켜져 있는 서버 X

모든 엔드 시스템이 대등하게 직접 통신

Self Scalability: 새로운 피어가 추가될 때, 서비스 용량도 함께 증가하면서 네트워크의 서비스 수요 충족

예시: P2P file sharing(서버 접속 개념X)

--🐢--

Processes Communicating

(프로세스 간의 통신을 위해 OS가 지원)

Process : host 내에서 실행중인 프로그램

 

동일한 host 내에서 두 프로세스는 inter-process communication(OS에 의해 정의)을 통해 통신

서로 다른 host에 있는 프로세스는 소켓을 사용해 메시지를 교환하여 통신

-🐢---

소켓(Socket)

프로세스가 메시지를 송수신할 수 있도록 통로 제공

 

소켓은 TCP나 UDP와 같은 프로토콜을 통해 데이터 송수신

TCP: 보내는대로 전송(신뢰성 보장)

UDP: 그대로 안 갈 수도 있음(신뢰성 X)

 

네트워크 엔티티

소켓을 통해 통신을 주고받는 각 주체(클라이언트, 서버)

각 엔티티는 소켓을 통해 데이터 전송 요청/응답

소켓은 IP주소와 포트 번호로 식별

 

참고) TCP 소켓 통신에서 주로 사용되는 함수

socket(): 소켓 생성

bind(): 서버 소켓을 특정 IP 주소와 포트 번호에 연결(바인딩)

accept(): 서버가 클라이언트의 연결 요청을 수락

connect(): 클라이언트가 서버에 연결을 요청

위와 같은 소켓을 통한 함수 호출을 칼라를 입힌다고도 함

🐢----

Addressing Processes

메시지를 수신하기 위해 프로세스는 고유한 식별자(identifier)가 필요

host device는 고유한 32-bit IP 주소를 가짐

 

🤔: 한 IP주소에 여러 프로세서가 있으면 어떡하나요?

🐢: 각 프로세서는 서로 다른 포트 넘버를 가지고 있어서 괜찮아요!

그래서 식별자는 IP주소와 포트 넘버(port numbers)를 포함하고 있답니다.

 

예시 포트 번호

HTTP server: 80 (웹서버) / mail server: 25

저작자표시 비영리 변경금지 (새창열림)

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

Internet Protocol Stack  (0) 2024.09.27
Queueing delay  (0) 2024.09.27
패킷 스위칭과 서킷 스위칭  (1) 2024.09.20
Network Delay  (1) 2024.09.20
인터넷/네트워크 구조(기초)  (0) 2024.09.13
'컴퓨터네트워크' 카테고리의 다른 글
  • Internet Protocol Stack
  • Queueing delay
  • 패킷 스위칭과 서킷 스위칭
  • Network Delay
우는거북이
우는거북이
  • 우는거북이
    거북이는 울고 있다
    우는거북이
  • 전체
    오늘
    어제
    • 알아보기 (74) N
      • AI (4)
      • 언어 (16)
        • Python (15)
        • C언어 (1)
      • 알고리즘 (7)
      • 백준 (22)
      • 자료구조 (10)
      • 컴퓨터네트워크 (6)
      • 운영체제 (1)
      • 데이터통신 (8) N
  • 인기 글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
우는거북이
Application Layer(1)
상단으로

티스토리툴바