OSI 7계층

0

부트캠프 프로젝트

목록 보기
23/24

HTTP, TCP/IP 개념이 익숙치 않아서 구글링 하던중, OSI 7계층 얘기가 많이 나오길래, 이게 뭔가해서 찾아 봤다.

중요한 것 같아 보여, 정리해 둔다.

  • OSI 7 계층은 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것을 말한다.
  • 개방형 시스템 상호연결 모델의 표준
  • OSI 7계층은 응용, 표현, 세션, 전송, 네트워크, 데이터링크, 물리계층 으로 나뉜다.
  • 전송시, 7계층에서 1계층으로 각각의 층마다 인식할 수 있어야 하는 헤더를 붙인다.(캡슐화)
  • 수신시, 1계층에서 7계층으로 헤더를 떼어냄(디캡슐화)
  • 출발지에서 데이터가 전송될 때, 헤더가 추가되는데 2계층에서만 오류제어를 위해 꼬리부분에 추가된다.
  • 물리계층에서 1,0의 신호가 되어 전송매체(동축케이블, 광섬유 등)을 통해 전송

물리계층(Physical Layer)

  • 7계층 중 최하위 계층.
  • 주로 전기적, 기계적 특성을 이용해, 통신 케이블로 데이터 전송한다.
  • 이 계층에서 사용되는 통신단위는 비트이며 이것은 1과 0으로 나타내어지고 전기적으로는 On, Off상태와 가깝다.
  • 이 계층에서는 단지 데이터를 전달만 할 뿐이지, 전송하려는/받으려는 데이터가 무엇인지, 어떤 에러가 있는지는 전혀 신경쓰지 않는다. 단지 데이터를 전기적 신호로 변환해서 주고 받는 기능만 한다.
  • 장비로는 통신케이블, 리피터, 허브가 있고 얘네들을 통해 데이터를 전송한다.

데이터링크 계층(Data-Link Layer)

  • 물리계층을 통해 송수신되는 정보의 오류와 흐름을 관리하여 안전한 정보의 전달을 수행할 수 있도록 도와주는 역할을 한다.
  • 따라서 통신에서의 오류도 찾아주고 재전송도 하는 기능을 가지고 있는 것이다.
  • 이 계층에서는 맥 주소를 가지고 통신하게 된다.
  • 이 계층에서 전송되는 단위를 프레임이라고 하고, 대표적인 장비로는 브리지, 스위치 등이 있다.(여기서 MAC주소를 사용한다.) 브릿지나 스위치를 통해 맥주소를 가지고 물리계층에서 받은 정보를 전달함.

네트워크 계층(Network Layer)

  • 라우팅 기능을 맡고 있는 계층으로 목적지까지 가장 안전하고 빠르게 데이터를 보내는 기능을 가지고 있음(최적의 경로를 설정가능)
  • 데이터를 전송할 주소를 갖고 있어서 통신가능(=우리가 자주 듣는 IP 주소가 바로 네트워크 계층 헤더에 속함)
  • 네트워크 계층에서 데이터 단위는 패킷(Packet)
  • 장비로는 라우터, L3 스위치가 있음

전송 계층(Transport Layer)

  • 신뢰성 있고 정확한 데이터 전송을 담당

  • 송신자와 수신자 간의 신뢰성있고 효율적인 데이터를 전송하기 위하여 오류검출 및 복구, 흐름제어와 중복검사 등을 수행

  • 데이터 전송을 위해서 Port 번호를 사용함.(대표적인 프로토콜로 TCP와 UDP가 있음)

  • 전송 계층에서 데이터 단위는 세그먼트(Segment)

  • TCP프로토콜

  1. 신뢰성 : 패킷손실, 중복, 순서바뀜 등 문제가 없도록 보장
  2. 연결지향적 : 같은 전송계층의 UDP프로토콜이 비연결성인 것과 대조적으로 TCP는 연결지향적이다.
  • UDP프로토콜
  1. 비연결성, 신뢰성 없음, 순서화 되지 않은 Datagram :
    a. 메세지가 제대로 도착했는지 확인핮 않음(확인응답 없음)
    b. 수신된 data의 순서를 맞추지 않는다(순서제어 없음)
    c. 흐름제어 없음
    d. 비연결상태 하에서 통신

  2. 실시간 응용 및 멀티캐스팅 가능
    a. 빠른 요청과 응답이 필요한 실시간 응용에 적합
    b. 여러 다수 지점에 전송 가능 (1:多)

  3. 헤더가 단순함. 헤더 처리에 많은 시간과 노력을 요하지 않음
    a. UDP는 TCP 처럼 16 비트의 포트 번호를 사용하나,
    b. 헤더는 고정크기의 8 바이트(TCP는 20 바이트) 만 사용

세션 계층(Session Layer)

  • 통신 장치 간 상호작용 및 동기화를 제공
  • 연결 세션에서 데이터 교환과 에러 발생 시의 복구를 관리

표현 계층(Presentation Layer)

  • 데이터를 어떻게 표현할지 정하는 역할을 하는 계층
  • 표현 계층은 세가지의 기능을 갖고 있습니다.
    1. 송신자에서 온 데이터를 해석하기 위한 응용계층 데이터 부호화
    2. 수신자에서 데이터의 압축을 풀수 있는 방식으로 된 데이터 압축
    3. 데이터의 암호화와 복호화
    (MIME 인코딩이나 암호화 등의 동작이 표현계층에서 이루어짐. EBCDIC로 인코딩된 파일을 ASCII 로 인코딩된 파일로 바꿔주는 것이 한가지 예임)

응용 계층(Application Layer)

  • 사용자와 가장 밀접한 계층으로 인터페이스 역할
  • 응용 프로세스 간의 정보 교환을 담당
  • ex) 전자메일, 인터넷, 동영상 플레이어 등
  • HTTP 프로토콜(HyperText Transfer Protocol)
    웹 서버 및 웹브라우저 상호 간의 데이터 전송을 위한 응용계층 프로토콜
    현재에는, 하이퍼텍스트 문서 뿐만 아니라, 이미지,비디오,음성 등 거의 모든 형식의 데이터 전송 가능
    클라이언트와 서버 간에 HTTP 메세지를 주고받으며 통신
    HTTP의 응답 및 요청 메세지 구성
    HTTP 메세지 내 헤더 항목들
    전송계층 프로토콜 : TCP
    사용 포트 번호 : 80번
profile
안녕하세요😄 비전공자의 웹개발자 도전기를 쓰는 중입니다! 수정/보완할 부분이 있다면 피드백 언제든 환영입니다!

0개의 댓글