OSI 7계층

맘비·2023년 4월 24일
0

CS / Web

목록 보기
9/10
post-thumbnail

OSI(Open Systems Interconnection Reference Model):

개방형 시스템 상호 연결 모델 표준
시스템들의 상호 연결에 있어 문제없도록 표준을 정한 것
네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것
각 계층을 지날 때마다 header가 붙게 되고, 수신 측은 역순으로 header를 분석함.

✅ TCP/IP는 OSI 참조 모델을 기반으로 상업적이고 실무적으로 이용될 수 있도록 단순화한 것이다.

1. 물리 계층 (Physical Layer)

  • 전기적, 기계적, 기능적인 특성을 이용해 데이터를 전송함
  • 데이터는 0과 1의 비트열 (On, Off)의 전기적 신호 상태로 이루어져 데이터를 전달
  • 전달의 역할을 할 뿐이라 알고리즘, 오류제어 기능은 없음
  • 장비로는 통신케이블, 리피터, 허브가 있음

→ 케이블, 리피터, 허브를 통해 데이터를 전송

  • 허브:
    다수의 pc 장치를 묶어 LAN을 구성할 때 각각 PC에 연결된 노드를 한 곳으로 모아줌
  • 리피터:
    신호를 증폭해 다음 구간으로 재전송하는 장치. 근거리 통신망을 구성하는 세그먼트 확장 및 연결
  • 물리적 연결을 통해 인접한 두 장치 간의 신뢰성 있는 정보 전송을 담당 (Point – to – Point)

  • 물리 계층을 통해 송수신되는 정보의 안전한 전달을 위해 오류 검출, 재전송, 흐름 제어 기능이 존재

  • MAC 주소를 통해서 통신

  • 데이터링크 계층에서의 단위는 ‘프레임 (Frame)’

  • 장비로는 브리지, 스위치가 있음

    → 브리지나 스위치를 통해 프레임에 맥주소를 부여하고, 이를 가지고 물리 계층에서 받은 정보를 전달함

  • 스위치: Mac 주소를 가진 장비가 연결된 포트로 프레임 전송

3. 네트워크 계층 (Network Layer)

  • 라우팅 기능을 맡고 있는 계층으로, 목적지까지 가장 안전하고 빠르게 데이터를 보내는 기능을 가지고 있음 (최적의 경로 설정 가능)

  • 경로를 선택하고, 주소를 정하고 경로에 따라 패킷을 전달

  • 컴퓨터에게 데이터를 전송할 주소를 갖고 있어 통신 가능

  • IP(논리적인 주소구조)가 네트워크 계층 헤더에 속함 (= IP주소를 사용함)

  • 여러 개의 노드를 거칠 때마다 경로를 찾아주는 역할

  • 중계 노드를 통해 전송하는 경우 중계 방식을 규정

  • 라우팅, 흐름제어, 세그멘테이션, 오류 제어, 인터네트워킹 수행

  • 데이터를 연결하는 다른 네트워크를 통해 전달함으로써 인터넷이 가능하게 만드는 계층

  • 데이터 단위는 ‘패킷(Packet)’

  • 장비로는 라우터, L3 스위치

    → 주소 부여 (IP), 경로 설정 (Route)

  • 라우터는 보안설정 가능, 스위치는 불가능
  • 라우터: L3 주소 (IP 주소)를 이용해 패킷을 전달

4. 전송 계층 (Transport Layer)

  • 통신을 활성화하기 위한 계층. 포트를 열어 응용 프로그램들을 전송할 수 있게 함
  • 데이터가 온다면 전송계층에서 하나로 합쳐 세션계층으로 던져 줌
  • 송신자와 수신자 간의 신뢰성(정확성) 있고 효율적인 데이터 전송을 위해 오류 검출/복구/흐름제어/중복 검사/특정 연결 유효성 제어 등을 수행
  • 패킷의 전송이 유효한지 확인 후, 실패한 패킷을 재전송
  • 상위 계층들(세션, 표현, 응용)이 데이터 전달의 유효성/효율성을 생각치 않도록
  • 데이터 전송을 위해 Port 번호를 사용
  • 대표적으로 TCP, UDP 가 있음
  • 데이터 단위는 ‘세그먼트(Segment)’

→ 패킷 생성 및 전송

  • IP:
    비연결성, 비신뢰성의 한계를 가짐. 그래서 TCP와 함께 쓰임
  • TCP:
    연결 지향적이며 신뢰성 있는 전송을 보장함.
    패킷 손실, 중복, 순서 바뀜이 없도록 보장함.
    연결 관리(설정/해제)가 필요함.
  • UDP:
    신뢰성 낮은 비연결성 프로토콜.
    확인 응답/순서 제어/흐름 제어/오류 제어 없음.
    비연결접속상태 하에서 통신하기에 논리적인 가상회선 연결이 필요 없음.
    헤더가 단순하며 빠른 요청과 응답이 필요한 실시간 응용에 적합.

5. 세션 계층 (Session Layer)

  • 데이터가 통신하기 위한 논리적인 연결
  • 응용 프로세스가 통신을 관리하기 위한 방법을 제공 (동시 송수신, 반이중, 전이중 방식)
  • 통신 장치 간 상호작용 및 동기화 제공
  • 연결 세션에서 데이터 교환과 에러 발생 시의 복구를 관리
  • TCP/IP 세션을 만들고 없애는 책임을 짐

→ 통신 사용자들 동기화, 오류 복구 명령 일괄적으로 다룸. 통신을 위한 세션 확립/유지/중단

  • 전이중: 두 디바이스간 통신선이 두개
  • 반이중: 통신선이 하나. 동시송수신 불가, 번갈아가며

6. 표현 계층 (Presentation Layer)

  • 데이터를 어떻게 표현할지 정하는 역할
  • 코드 간의 번역을 담당해 사용자 시스템에서 데이터 형식상의 차이를 다루는 부담을 덞.
  • text인지, gif인지 jpg인지 구분함
  • 기능 3가지
    - 송신자에게서 온 데이터를 해석하기 위한 응용 계층의 데이터 부호화, 변화
    - 수신자에서 데이터의 압축을 풀 수 있도록 하는 데이터 압축
    - 데이터의 암호화, 복호화 (MIME 인코딩, 암호화 등이 여기서 이뤄짐)
  • MIME (multipurpose Internet Mail Extensions):
    전자우편을 위한 인터넷 표준 포맷
    이메일과 함께 동봉할 파일을 텍스트 문자로 전환해 전달하기 위해 사용함.
    ASCII가 아닌 파일 전송의 어려움을 보완하고, 문제없이 전달하기 위해 텍스트 파일로 변환함.
    UUEncode 단점 보완- 문서 끝 부분 공백은, 공백이 아니라 변환되어야 할 값인데 공백을 무시하는 시스템의 경우 파일을 원형 그대로 전달받을 수 없었음
  • 텍스트 파일로의 변환을 인코딩, 바이너리 파일로 변환하는 것을 디코딩

7. 응용 계층 (Application Layer)

  • 최종 목적지로서, HTTP, FTP, SMTP, POP3, IMAP, Telnet 등 프로토콜이 있음
  • 사용자와 가장 밀접한 계층, 인터페이스 역할
  • 응용 프로세스 간의 정보 교환을 담당
  • 전자 메일, 인터넷, 동영상 플레이어
profile
기록만이 살 길 ... 말하는 감자애오

0개의 댓글