programmingu

OSI 7 계층 본문

Computer Science/네트워크

OSI 7 계층

예진잉구 2021. 12. 19. 05:39

 

OSI 7계층이란?


  • OSI(Open System Interconnection) 7계층은 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것이다.
  • 네트워크 프로토콜 디자인과 통신을 계층으로 나눠 설명한 것이다.
  • 각 계층은 하위 계층을 사용, 현재 계층의 기능을 포함해 상위 계층에 제공. 위에서 바라보았을 때 아래층이 안보이는 구조라 할 수 있다.

OSI 계층을 나눈 이유

  • 역할별로 계층을 분리(독립적인 역할) ⇒ 문제 발생시 어떤 계층에 문제가 생겼는지 파악하기 쉽다. ⇒ 이상이 생긴 단계만 고칠 수 있다.
  • 흐름을 알기 쉽다.

데이터 캡슐화

  • 사용자 데이터가 각 계층을 지나면서 하위 계층은 상위 계층으로부터 온 정보를 데이터로 취급하며, 자신의 계층 특성을 담은 제어정보(주소, 에러 제어 등)를 헤더화 시켜 붙이는 일련의 과정
  • 데이터를 보낼 때는 응용 계층에서 시작되어 OSI 계층을 차례로 내려오며 물리 계층으로 간다. 이 과정에서 캡슐화를 하게 되는데 각 계층은 다른 계층과 통신할 때 데이터에 특정 정보가 들어 있는 머리말(헤더)과 꼬리말(푸터)을 추가한 후 다른 계층으로 전달한다.
  • PDU(Protocol Data Unit)은 프로토콜 데이터단위이며 OSI 모델의 정보 처리 단위이다. 캡슐화 과정에서 만들어진다. 아래 계층으로 내려갈수록 PDU에는 다양한 프로토콜에 의해 헤더와 푸터가 더해진다. 마지막 물리 계층에서 PDU는 최종적인 모습으로 변하며, 데이터를 보내는 접점이 된다(encapsulation). 반대로 데이터를 받은 컴퓨터는 PDU로부터 프로토콜의 헤더와 푸터를 분석하며 올라가 마지막 응용 계층에 도달하면 원본 데이터만 남는다(decapsulation).

OSI 7 계층 단계


1️⃣ 물리 계층 (Physical Layer)

  • 하드웨어 전송 기술로 이루어져 있다. OSI 모델에서 가장 복잡한 계층으로 간주
  • 전기 신호를 주고 받는 역할을 하는 계층
  • 통신 케이블을 통해 전기 신호를 사용하여 비트스트림을 전송하는 계층이다.
  • 전송 단위: 비트 → 0/1로 구분되는 신호. 즉 전기신호 ON/OFF
  • 데이터의 종류나 에러가 있는지 등의 확인 및 제어는 하지 않는다. (데이터 계층에서 함) ⇒ 단지 데이터를 전달만 한다.
  • 대표적인 장비: 통신 케이블, 리피터, 허브 등

2️⃣ 데이터 링크 계층 (DataLink Layer)

  • 물리계층을 통해 송수신되는 정보의 오류와 흐름을 관리하여 안전한 정보의 전달을 수행할 수 있도록 도와주는 역할
  • 물리계층으로 데이터를 전송할 때 데이터 전송 오류를 감지 ⇒ 오류를 감지하면 재전송하는 방법으로 처리
  • 브릿지나 스위치를 통해 MAC 주소를 가지고 물리계층에서 받은 정보를 전달한다. = 프레임에 주소(물리적 주소 MAC)를 부여
  • 전송 단위: 프레임
  • 대표적인 장비: 브릿지, 스위치 (이 계층에서 동작)
  • 예: 이더넷 등
  • 참고
    • MAC 주소란? 네트워크 세그먼트의 데이터 링크 계층에서 통신을 위한 네트워크 인터페이스에 할당된 고유 식별자이다. MAC 주소는 이더넷과 와이파이를 포함한 대부분의 IEEE 802 네트워크 기술에 네트워크 주소로 사용된다.
    • 프로토콜이란? 컴퓨터나 네트워크 장비가 서로 통신하기 위해 미리 정해놓은 약속(통신규약)

3️⃣ 네트워크 계층 (Network Layer)

  • **데이터를 목적지까지 가장 안전하고 빠르게 전달하는 기능(라우팅)**을 하는 계층 라우팅: 네트워크 안에서 통신 데이터를 짜여진 알고리즘에 의해 최대한 빠르게 보낼 최적의 경로를 선택하는 과정
  • 주소(IP)를 정하고, 경로(Route)를 선택하고, 패킷을 전달하는 것이 가장 핵심인 계층
  • 흔히 아는 IP주소를 제공, 노드들을 거칠때마다 라우팅 해준다.
  • 전송 단위: Packet
  • 대표적인 장비: 라우터, L3 스위치, IP 공유기 등

4️⃣ 전송 계층 (Transport Layer)

  • 양 끝단(End to end)의 사용자들이 신뢰성있는 데이터를 주고 받을 수 있도록하는 계층
  • 데이터를 전송받은 경우, 전송계층에서 데이터를 합산해 세션 계층으로 보낸다.
  • 전송 속도를 조절, 오류 검출, 재전송, 흐름 제어, 중복검사 등을 수행. 상위계층에서는 유효성이나 효율성은 생각하지 x
  • 특정 연결의 유효성을 제어하고, 일부 프로토콜은 상태 개념이 있고(stateful), 연결 기반(connection oriented) ⇒ 전송 계층이 패킷들의 전송이 유효한지 확인하고 전송 실패한 패킷들을 다시 전송한다
  • TCP /UDP 프로토콜을 사용한다.
  • 이 계층까지는 물리적인 계층에 속한다.
  • 전송단위 : TCP는 Segment, UDP는 Datagram

5️⃣ 세션 계층(Session Layer)

  • 이 계층부터는 데이터를 만들어낸다.
  • 네트워크상 양쪽 연결(논리적인 연결)을 관리하고 연결을 지속시켜주는 계층 ⇒ **동시 송수신 방식(duplex)(반이중 방식(half-duplex, 무전기), 전이중 방식(Full Duplex, 전화기))**의 통신과 함께, 체크 포인팅과 유휴, 종료, 다시 시작 과정 등을 수행
  • TCP/IP 세션을 만들고 없앤다. = 통신을 하기 위한 ****세션을 생성, 유지, 종료, 전송중단시 복구하는 기능이 있다. (운영체제가 제공)
  • 통신하는 사용자들을 동기화하고 오류복구를 진행
  • OS가 세션계층에 속한다
  • 예: API, Socket

6️⃣ 표현 계층(Presentaion Layer)

  • 응용계층으로부터 전달받거나 전송하는 데이터의 인코딩 및 디코딩이 이루어지는 계층
  • 응용 계층에서 Data를 이해할 수 있도록 응용프로그램에 맞춰 변환한다. 코드간의 번역
  • JPEG, TIFF, GIF, MPEG 등 다양한 포멧을 구분
  • 포장/압축/암호화

7️⃣ 응용 계층(Application Layer)

  • 사용자 또는 어플리케이션이 네트워크에 접근할 수 있도록 한다.
  • 사용자를 위한 인터페이스를 지원, 사용자의 입출력 부분. 사용자에게 보이는 유일한 계층
  • 메일 전송, 인터넷 접속 등의 작업을 수행할 수 있다.
  • 예: HTTP, FTP, DNS 등

요약


계층    이름             단위(PDU)                              예시                        프로토콜(Protocols)              디바이스

7 응용 계층(Application Layer) Data 텔넷(Telnet), 구글 크롬, 이메일, 데이터베이스 관리 HTTP, SMTP, FTP, Telnet, DNS, modbus, SIP, AFP, APPC, MAP  
6 표현 계층(Presentation Layer) Data 인코딩, 디코딩, 암호화, 복호화 ASCII, MPEG, JPEG, MIDI, EBCDIC, XDR, AFP, PAP  
5 세션 계층(Session Layer) Data   NetBIOS, SAP, SDP, PIPO, SSH, TLS, NWLink, ASP, ADSP, ZIP, DLC  
4 전송 계층(Transport Layer) TCP-Segment, UDP-datagram 특정 방화벽 및 프록시 서버 TCP, UDP, SPX, SCTP, NetBEUI, RTP, ATP, NBP, AEP, OSPF 게이트웨이
3 네트워크 계층(Network Layer) Packet 라우터 IP, IPX, IPsec, ICMP, ARP, NetBEUI, RIP, BGP, DDP, PLP 라우터
2 데이터링크 계층(DataLink Layer) Frame MAC 주소, 브리지 및 스위치 Ethernet, Token Ring, AppleTalk, PPP, ATM, MAC, HDLC, FDDI, LLC, ALOHA 브릿지,스위치
1 물리 계층(Physical Layer) Bit 전압, 허브, 네트워크 어댑터, 중계기 및 케이블 사양, 신호 변경(디지털,아날로그) 10BASE-T, 100BASE-TX, ISDN, wired, wireless, RS-232, DSL, Twinax 허브,리피터

 

 

출처

https://yurmu.tistory.com/23

 

[C/Socket] Network Programming - 패킷, 네트워크, OSI 7계층, 소켓

##### 목차 ##### 1. 패킷 2. 네트워크    (1) 호스트    (2) 네트워크 구조    (3) 노드        1) 허브        2) 스위치        3) 브릿지        4) 라우터        5) 게..

yurmu.tistory.com

http://wiki.hash.kr/index.php/OSI_7_계층#n

 

OSI 7 계층 - 해시넷

OSI 7 계층(OSI 7 Layer) OSI 7 계층(OSI 7 Layer)는 네트워크 프로토콜이 통신하는 구조를 7개의 계층으로 분리하여 각 계층간 상호 작동하는 방식을 정해 놓은 것 이다. 이는 ISO(국제표준화기구)에서 개

wiki.hash.kr