CS/Network

[네트워크] TCP/IP 5계층 | Application Layer

sebinChu 2024. 4. 24. 14:49

 TCP/IP 5계층

  • Application
    • FTP, HTTP, SMTP 등의 프로토콜
  • Transport
    • TCP, UCP
  • Network
    • IP, 스위치
  • Link
    • 이더넷
  • Physical

 

여기서 7계층되면…

  • Application - Transport 계층 사이에 두 계층 추가
    • Presentation 인코딩, 디코딩, 암호화/복호화
    • Session: 애플리케이션 간 연결 지원(SSL, TLS 등)

계층 간 이동 ⇒ Encapsulation

각각의 계층을 이동하면서 프로토콜 헤더를 붙이게 된다.

캡슐화: 송신 측에서 응용계층부터 각 계층을 들리면서 헤더 추가, 물리 계층까지 가면 최종적으로 전기 신호로 변환되어 수신 측에 도착

 

 

Applciation Architecture(P2P와 Client-Server 구조)

 

  1. Client-Server 구조
  • 서버는 항상 호스팅되어야 하고, 영구 IP 주소를 가져야 한다.
  • 클라이언트는 서버와 소통하며, 서로 직접 소통 X. 유동 IP 가진다.
  1. P2P 구조
  • 서버가 항상 호스팅되어야 하는 것은 아니다. → peer 끼리 소통하는 거고, 고정된 서버가 없다. 스스로가 서버가되고 클라이언트가 되는 구조다.
  • self scalability 특성: 새로운 peer가 생기면 계속 서비스 스케일이 늘어난다.
  • IP가 변동되기도 하는데, 전체적으로 관리가 어렵다.
  • 대표적인 예) 비트토렌트

 


Process Communication

  1. 같은 호스트 안에서 두 개의 프로세스는 IPC(Inter-Process Communication)한다.
  2. 다른 호스트의 프로세스는 메시지 교환 → 소켓 통신
    • 소켓은 프로세스의 문(door)과 같은 역할을 한다.

⇒ 소켓 통신은 다른 호스트에 존재하는 프로세스간 통신이다! 각각의 소켓은 서로 IP주소와 port 번호로 식별되고, 네트워크를 통해 서로 연결하고 데이터 송수신한다.

  • IP는 컴퓨터를 찾아가는 역할
  • PORT는 많은 프로세스 중 원하는 프로세스를 찾아가는 역할

*웹서버는 모두 80포트 사용. 네이버, 다음, 구글 등등 통일적으로 찾아가기 위해서!

 

 


App Layer Protocol RFC

Requests for comments: IETF에서 관리하는 기술 표준으로, 프로토콜 및 파일이 주요 주제이며 승인된 문서는 일련된 번호를 갖는다.

  • HTTP는 RFC-2068에서 시작되었다.

App Layer와 Transport Layer의 관계

  1. Data Integrity: 데이터의 유실없이 도착
  2. Timing: 예정된 시간 내에 도착
  3. Throughput: 데이터의 처리율(용량)이 충분
  4. Security: 안정성

Transport Layer가 제공하는 것은 1번 딱 하나. 나머지는 app 계층에서 처리.

 

 

App Layer 주요 프로토콜

Protocol Port Application underlying Transport Protocol

HTTP 80 web TCP  
SMTP 25 e-mail TCP  
Telnet 22 remote terminal 접근 TCP  
FTP 21/20 파일 변환 TCP  
RTP   스트리밍 TCP or UDP  

 

 


SSL(Secure Socket Layer)

 

인터넷을 통해 전달되는 정보를 보호하기 위해 개발한 통신 규약 → HTTPS는 HTTP를 암호화하여 전송