본문 바로가기
CS

22.12.02 / CS특강 / OSI 7계층

by 노믹 2022. 12. 11.

탄생 배경

  • 1960년대에 미 국방성에서 알파넷이라는 이름으로 최초 네트워크를 개발 후 미국 내에 배포함
    • 미국을 시작으로 글로벌 네트워크를 구축 하려니, 네트워크에 규칙이 없어서 난장판 이었음
  • 1970년대에 국제 표준화 기구(ISO)에서 OSI 7계층 모델을 만들어서 네트워크 기본 구조를 가이드
    • 네트워크를 계층화 한 7개 계층은 각각의 규칙을 가지고 네트워크상에서 데이터를 전달하도록 가이드
  • 1980년대에 우리나라를 시작으로 독일 등.. 각국에 글로벌 네트워크가 연결됨
    • 그런데, OSI 7계층 모델에 계층별 규칙을 모두 완성해서 구축하려고 했으나 생각보다 오래걸림
  • 1990년대에 최종적으로 OSI 7계층 모델보다 먼저 나와 검증완료된 TCP/IP 규칙(프로토콜)이 표준
    • 따라서, OSI는 7개의 계층을 가지고 있지만 오래된 TCP/IP 프로토콜은 5개의 계층만 가진다.

계층화?

통신기술의 도입과 통신기능의 확장을 쉽게 하기 위해 규칙(프로토콜)을 몇 개의 계층으로 나누는 것을 계층화라고 함

즉, 기능에 필요한 몇 개의 계층만 표준화하면 정상적으로 통신 가능

 

각 계층별 역할

7계층 👩‍💻응용 계층(Application) 애플리케이션 서비스 제공
6계층 🗂️표현 계층(Presentation) 문자코드, 압축, 암호화
5계층 ⛳️세션 계층(Session) 통신 방식 결정
4계층 🔐전송 계층(Transport) 신뢰성 있는 통신 구현
3계층 🎯네트워크 계층(Network) 다른 네트워크와 통신하기 위한 IP주소 결정
2계층 ⛓️데이터링크 계층(Data Link) 물리주소 결정
1계층 📡물리 계층(Physical Layer) 물리적인 연결과 전기 신호 변환

계층간 인터페이스

  • 자신의 바로 위 계층에 제공되는 정보와 서비스를 정의

계층기본구조

  • 계층1,2,3(네트워크 지원계층)
    • 하나의 장치에서 다른 장치로 전송되는 데이터의 물리적인 면을 처리
  • 계층5,6,7(사용자 지원계층)
    • 관계 없는 소프트웨어 시스템 간 상호 운용성 제공
  • 제공4(전송계층)
    • 네트워크 지원 계층과 사용자 지원 계층을 서로 연결**.** 네트워크 지원 계층이 전송한 것을 사용자 지원 계층이 사용할 수 있는 형태가 되도록 보장

각 계층 장비의 기준

  • 각 계층 장비는 아래 레이어를 포함하는 구조
    • 1계층(L1) 장비는 1계층 기능만 가진 장비이다. (랜선, 케이블)
    • 2계층(L2) 장비는 1~2계층 기능을 모두 가진 장비이다. (L2스위치 / MAC주소)
    • 3계층(L3) 장비는 1~3계층 기능을 모두 가진 장비이다. (라우터 = 중계노드 / IP주소)
    • 4계층(L4) 장비는 1~4계층 기능을 모두 가진 장비이다. (L4로드밸런서 / 포트)
    • 7계층(L5) 장비는 1~7계층 기능을 모두 가진 장비이다. (컴퓨터, 핸드폰, 카톡서버)
  • 네트워크의 물리적인 연결은 케이블(L1 장비)로 L2, L4 장비를 연결해 모두 연결한다.
    • L2 스위치가 L3 장비기능도 하고있음
    • L5 ~ L7 구간은 논리적인 SW 구간임

물리(Physical) 계층

  • 개요
    • 물리적으로 연결된 두 대의 컴퓨터가 전선을 통해 직접 데이터를 송수신할 수 있게 해주는 모듈
  • 목적
    • 들어온 전기 신호를 그대로 잘 전달하는 것
  • 동작
    • 전기신호를 비트로 서로 변환해주는 기기
    • 아날로그 신호 ↔ 디지털 신호
      • ∿∿∿ ↔ 010101
      • encoding & decoding
    • 물리적인 케이블 계층, 비트단위로 전송되는 전기신호
  • 규칙
    • 물리 계층에서는 두 시스템 간 데이터를 전송하려고 링크를 활성화하고 관리하는 전기적, 기계적, 절차적, 기능적 특성을 정의

데이터 링크(Data Link) 계층

  • 개요
    • 출발 주소와 도착 주소를 확인하고 자신에게 보낸 데이터인지 아닌지 검사한 후 데이터 처리를 수행한다.
  • 목적
    • 주소정보를 정의하고 정확한 통신이 되도록 하는 것(이 주소는 IP주소가 아닌 MAC주소임)
  • 동작
    • framing, switching
    • MAC주소를 기반으로 같은 네트워크에 있는 장비들이 데이터들을 주고 받게 해줌
    • 물리적인 네트워크를 통해 데이터를 전송하는 기능을 수행
    • 전송할때 보낼 데이터를 frame 단위로 쪼개고 순번을 매긴 후 frame 앞뒤에 표시를 함
      • 이를 통해 순서도 맞추고 빠진 데이터도 복구함
      • 즉, L2 장비 간의 신뢰성 있는 전송을 보장
  • 규칙
    • 네트워크 접속 장치간 신호를 주고받는 규칙을 정하는 계층
    • Frame 데이터가 잘못되었을경우 다시 요청하는 방식으로 복구까지 해줌
  • 장비
    • 브리지, L2스위치 등…

IP vs MAC

  • IP 주소
    • 장치가 네트워크에 등록되는 시점에 할당받는 번호 = 이사가는 시점에 할당받는 집주소
    • 192.168.0.2 = (대한민국).(경기도).(광명시).(철산로54번지)
  • MAC 주소
    • 장치가 생산될때 제조사에서 할당해주는 고유번호 = 내가 태어날때 할당받는 주민등록 번호
    • ac:d0:74:78:42:07 = (91:08:07):(10:34:13)
  • 내 장비의 IP 주소와 MAC 주소는 네트워크 설정에서 쉽게 알 수 있다
  • 네트워크에 등록요청하면 네트워크 서버 장비들은 IP 주소를 장비들에게 할당해주고 이것을 MAC 주소와 매핑시켜 준다. 이 매핑정보를 통해 전송경로를 타고간다.
  • 네트워크상에서는 IP 주소를 가지고 통신하는것 처럼 보이지만 실제로는 네트워크 장비들끼리 서로 MAC 주소를 알려주면서 연결된다.
    • 도착지 IP주소를 찾을때까지 출발 MAC 주소와 도착지 MAC 주소를 계속 업데이트 시키면서 이동
    • MAC주소는 L2스위치가, IP주소는 L3라우터가 알고있음

네트워크(Network) 계층

  • 개요
    • IP 주소를 이용해 서로 다른 네트워크에 속한 컴퓨터끼리 데이터를 주고 받게 해주는 것
  • 목적
    • IP 주소를 제공하는 역할을 수행
  • 동작
    • packet, routing, forwarding
    • 호스트에 IP주소를 부여하고 도착지 IP까지 최적의 경로를 찾아준다(라우팅)
    • 데이터 전송과 경로 선택 기능을 제공하고, 라우팅 프로토콜을 사용하여 최적의 경로를 선택
    • 데이터를 전송할 수신측의 주소를 찾고 수신된 데이터 주소를 확인하여 자신의 것이면 위 계층(전송계층)으로 올려줌
  • 규칙
    • 서로다른 두 네트워크간의 통신을 담당
    • 2계층인 데이터링크 계층은 같은 MAC 주소를 기반으로 네트워크 내의 통신을 담당하지만 IP 주소를 기반으로 외부 네트워크와 통신을 담당한다.
  • 장비
    • 라우터

  • 주소 변환 프로토콜(ARP)는 네트워크 계층의 기능

  • 3계층의 라우터들이 패킷에 있는 IP 헤더를 보고 가장 가까운 경로로 전달해준다.

전송(Transport) 계층

  • 개요
    • 프로토콜(TCP, UDP)과 관련된 계층으로 오류 복구와 흐름 제어 등 담당
  • 목적
    • 두 시스템 간 신뢰성 있는 데이터를 전송하는것이 목적
  • 동작
    • port
    • 네트워크 지원 계층(L1~L3)과 사용자 지원 계층(L5~L7)을 서로 연결**.**
    • 네트워크 지원 계층이 전송한 것을 사용자 지원 계층이 사용할 수 있는 형태가 되도록 보장
    • 송신부 : 세션 계층의 데이터에 포트번호를 달고 프로토콜 설정 후 네트워크 계층으로 보냄
    • 수신부 : 네트워크 계층의 패킷을 프로토콜에 맞게 데이터로 변환 후 세션 계층의 알맞는 어플리케이션 포트로 보냄
  • 규칙
    • 운영체제(OS)의 커널에 SW 적으로 구현되어 있습니다.
    • 규칙 종류 = 프로토콜 종류
      • TCP : 오류방지, 데이터 신뢰도가 높은 프로토콜
      • UDP : 데이터 손실이 있더라도 데이터를 지속적으로 전송/비디오
    • 하위 계층으로 신뢰할 수 있는 데이터를 전송, 송수신자간에 논리적 연결을 수행
      • 시퀀스 넘버기반 = 헤더 = 중간에 흐트러진 데이터 체크용
  • 장비
    • L4 스위치(로드밸런서)

 

세션(Session) 계층

  • 응용 시스템간의 세션을 관리하며 송신자와 수신자간에 동기화 신호를 주고받음
  • 통신 방식(단순:TV, 반이중:무전기, 전이중:전화)을 결정
    • SSH(22port), TLS(web표준) 등…
  • 세션을 열고 닫고를 제공하는 메커니즘의 계층
  • 세션 복구도 지원함. 세션복구는 체크포인트를 통해 동기화를 시켜준다. (응용 시스템에서 복구)
  • 체크포인트를 5MB마다 설정한다고 헀을때 100MB를 전송하려고 할때 48M 전송후 끊겼다고하면
  • 세션계층에서 복구되어 다시 45MB부터 전송할 수 있게 한다.

표현(Presentation) 계층

  • encoding, decoding
  • 네트워크를 통해 송수신된 이진 데이터를 인코딩, 디코딩 하는 방법(메타 정보)을 넘겨주는 것
  • 데이터를 읽을 수 있는 형식으로 변환 (데이터 인코딩, 디코딩, 암호화, 복호화 등의 기능을 수행)
  • 데이터 변환, 압축 및 암호화가 이루어지는 계층
  • 서로 다른 통신 기기간에 다른 인코딩을 사용할 수 있기 때문에 변환

응용(Application) 계층

  • 브라우저, 메일 시스템 등 프로그램들이 해당 프로토콜을 통해 데이터를 전송 할 수 있게 해준다.
  • FTP, HTTP, SMTP, Telnet 과같은 프로토콜들이 속한 계층

 

각 계층별 통신규칙 및 단위

OSI 참조 모델 데이터 전송

  • 송신 측 시스템
    • 응용 계층에서 하위 계층으로 순차적으로 데이터 송신
  • 수신 측 시스템
    • 물리 계층에서 상위 계층으로 순차적으로 데이터 수신
  • 물리 계층과 응용 계층을 제외한 나머지 계층에서는 데이터 시작 부분과 끝 부분에 헤더나 트레일러 형태로 정보추가

  • 층별 통신 단위 = PDU = 프로토콜 데이터 유닛
    • 데이터 통신을 하는데 있어서 PDU를 표준으로 통신
  1. 물리 계층
    • 🚦규칙 : Hub, Repeater
    • 🧩단위 : 비트 (Bit)
  2. 데이터 링크 계층
    • 🚦규칙 : MAC 주소
    • 🧩단위 : 프레임 (Frame)
  3. 네트워크 계층
    • 🚦규칙 : IP
    • 🧩단위 : 패킷 (Packet)
  4. 전송 계층
    • 🚦규칙 : TCP, UDP
    • 🧩단위 : 세그먼트(Segment)
  5. 세션 계층
    • 🚦규칙 : OS
    • 🧩단위 : 데이터(Data)
  6. 표현 계층
    • 🚦규칙 : JPG, MPEG
    • 🧩단위 : 데이터(Data)
  7. 응용 계층
    • 🚦규칙 :
      • HTTP = 웹 접근 프로토콜
      • FTP = 파일 전송 프로토콜
      • Telnet = 통신 프로토콜 (단말 접속용)
    • 🧩단위 : 데이터(Data)

 

💡 캡슐화 vs 디캡슐화

  • 캡슐화 : 하위로 내려갈수록 캡슐화가 진행이된다.
  • 디캡슐화 : 상위계층으로 올라갈수록 디캡슐화가 진행된다.

  • 송신할때는 캡슐화!
  • 수신할때는 디캡슐화(역캡슐화)!

 

'CS' 카테고리의 다른 글

22.12.09 / CS특강 / DB 기초  (0) 2022.12.11
22.12.02 / CS특강 / TCP/IP  (1) 2022.12.11
22.12.01 / CS특강 / JavaScript 기초  (0) 2022.12.11
22.12.01 / CS특강 / RestAPI  (0) 2022.12.11
22.11.25 / CS특강 / TCP/IP  (0) 2022.12.01