OSI 7계층: ISO라는 국제 기구에서 만든 네트워크 통신 기능을 7개의 계층으로 나누는 개념적 프레임워크
OSI 7계층 도입 이전에는 통일된 국제 표준 규격이 존재하지 않았음.
같은 회사의동일 제조사 기기 간의 통신은 잘 되었으나, 다른 회사 장비간에는 표준 규격이라는게 따로 존재하지 않아서 호환이 잘 안 되었으며, 중간에 오류나 장애발생이 잦은 등 리소스 낭비가 심했음.
결국 다양한 하드웨어 및 소프트웨어 기술이 지리적, 정치적 경계를 넘어 일관되게 작동하게 만들기 위해 OSI 7계층이 만들어짐
추상화: 복잡한 통신 전체 과정을 7계층으로 나누어(계층화), 하위 계층의 구체적인 하드웨어 및 소프트웨어의 세부 구현을 숨기고, 상위 계층에는 단순화된 기능(인터페이스)만 제공하게 하여, 복잡한 시스템에 대한 이해가 쉬워지고 더 빠른 연구 및 개발로 이어지게 됨.
표준화: 서로 다른 시스템 간 호환을 위해, 각 계층에서 특정 프로토콜 대신, 각 계층이 수행할 작업(공통 규격)을 약속(규정)하는 것.
즉
추상화 -> (이해)
표준화 -> (호환)
송신 측에서 0과 1로 이루어진 디지털 신호를 아날로그 신호(전기 신호)로 바꿔서 전선을 통해 보내고,
수신 측에서 받은 아날로그 신호를 다시 디지털 신호로 바꿔서 통신함.
물리 계층 요약
즉 Physical Layer은 물리적으로 연결된 두 대의 컴퓨터가 0과 1의 나열을 주고받을 수 있게 해주는 모듈(module)
1계층 만 있을 시 문제점
데이터 링크 계층은 점대점(point to point)간의 신뢰성있는 통신을 보장하기 위한 계층
- 데이터 앞에 헤더, 끝에 트레일러를 붙여 데이터의 경계를 알림(Framing)
- 헤더 부분에 출발지와 도착지의 MAC주소를 적음
- 트레일러에 CRC 검사 코드를 붙여 오류 검출 및 제어
ip(Internet Protocol) 주소: 네트워크에 연결된 기기(컴퓨터, 스마트폰, 서버)를 식별하고 데이터를 주고받기 위해 부여된 고유한 네트워크 주소
네트워크 계층 요약
서로 다른 네트워크들의 연결로 이루어진 inter-network 에서 목적지 컴퓨터로 데이터를 전송하기 위해, ip주소를 이용해서 패킷의 경로를 설정하고(routing), 다음 라우터에게 데이터를 넘겨주는 것(forwarding)
3계층(네트워크 레이어) → 인터넷 상의 모든 컴퓨터가 통신할 수 있게 되었음
데이터는 최종적으로 컴퓨터에서 실행되는 프로세스에 전달됌.
프로세스는 각각의 포트번호를 가지고 있으며, 포트번호를 사용해서 데이터들을 정해진 프로세스에게 전달하며 이를 전송 계층에서 책임짐.
또한 전송 방식(TCP, UDP)도 결정함.
TCP: 신뢰성과 순서 보장이 최우선일 때 사용합니다. 패킷 유실 방지, 오류 제어, 흐름 제어(Flow Control), 혼잡 제어(Congestion Control)를 수행
UDP: 신뢰성보다 속도가 중요할 때 제어 과정을 최소화하여 전송 (패킷 유실되거나 순서가 뒤바뀌어도 오류 수정하지 않음, 실시간 스트리밍에 유용)
전송계층 요약
End to End 통신에서 포트 번호로 최종 수신 프로세스를 식별하고, 상황에 맞게 TCP(신뢰성), UDP(속도) 전송방식을 제어하는 계층
세션: 두 어플리케이션(프로세스) 간에 데이터 교환을 시작해서 끝날 때까지 유지되는 ‘하나의 논리적인 대화 단위(연결 상태)’
세션 계층이 하는 일
표현 계층이 하는 일
사용자 데이터와 직접 상호작용하는 유일한 계층
응용 프로그램이 네트워크를 통해 실제로 주고받는 요청(Request) 및 응답(Response) 데이터를 생성하고 처리
대표 프로토콜: HTTP(웹), SMTP/IMAP(이메일), FTP(파일 전송), DNS(도메인 주소 변환)
OSI 7계층은 표준 통신 규격의 부재로 인한 병목을 해결하기 위해 만들어졌습니다.
이는 추상화(계층화)를 통해서 복잡한 통신 과정을 단순화해 생산성을 높이고, 표준화를 통해서 각 시스템 간 호환이 가능하게 합니다.
1~4계층(하위)는 점대점 통신(point to point)에 해당하는 데이터의 실제 전송과 흐름을 책임지며, 5~7계층(상위)는 세션 관리, 데이터 표현 및 응용 서비스 처리를 담당합니다.