OSI Reference Model
네트워크에 연결된 다수의 호스트들이 서로 통신하기 위해서
국제 표준화 단체 ISO(International Standard Organization)에서 OSI를 정의해 놓았다
7개의 층으로 이루어져 있고, 네트워크의 확장을 용이하게 하는 것이 목적이다
보통 OSI 7 계층 이라고 불린다
Application, Presentation, Session 층은 소프트 웨어,
Network, Data Link, Physical 층은 하드웨어와 관련있다
(여기서 Presentation, Session 계층은 현재 표준 계층형태로 구현되어있지 않음)
각 계층에서는 프로토콜이 정의되어 있는데,
여기서 프로토콜이란 ? 둘 이상의 통신 개체 사이에 교환되는 메시지 포맷과메시지의 송수신과 여러 상황에 맞춰 행하는 절차를 미리 정의 해 둔 규약
그럼 여기서 통신을 하는 주체는 ?바로 애플리케이션 계층 !
애플리케이션 계층
애플리케이션 계층(Host) - 소켓(트랜스포트 계층 접속 인터페이스) - 트랜스포트 계층
소켓 인터페이스
AP(애플리케이션 계층)가 보내는 데이터는 다수의 segment로 나눠져서 전송되는데,
이 segment들은 트랜스포트 계층에서 패킷으로 캡슐화 된다
packet = segment + header
여기서 소켓 인터페이스 프로토콜 두가지가 있는데
그건 나중에 트랜스포트 계층 설명할 때 더 설명할 예정이다
프로토콜에 TCP, UDP가 있다는 것만 알아두자 !
네트워크 응용 프로그램 구조
1. Client/Server 모델
클라이언트가 서버쪽으로 통신 연결을 생성하고 그 연결을 사용해서 서버 쪽에 서비스 요청 데이터를 전송하면,
서버가 처리된 결과 데이터를 클라이언트 측으로 전송해준다
클라이언트는 당연히 서버의 IP주소와 소켓 번호를 알고 있어야겠다
따라서 서버는 항상 클라이언트로부터의 연결 요청을 기다리는 구조이다
예를 들면 웹 서비스, 파일 전송 서비스, 원격 로그인, 전자메일 서비스 모두 이런 방식으로 동작한다
2. P2P 모델
응용 프로세스들이 서로 네트워킹이 되어있는 구조이다
특정 중심 서버를 두지 않고 각각의 Peer(응용 프로세스)들끼리 통신하고 협력한다
따라서 높은 확장성, 분산성, 개방성이 특징이지만
이 때문에 보안에 취약하다는 단점이 있다
자세한 내용은 다른 글에서 더 다룰 예정이다