본문 바로가기

Network, Security

OSI(Open System Interconnection) 7계층

OSI(Open System Interconnection) 7계층

개방형 시스템 네트워크의 효율적인 운영을 위해 모든 데이터 통신 기준으로 계층을 분할하고, 각 계층간 필요한 프로토콜을 규정한 것이다.

OSI 7 계층

 

7. Application 사용자 소프트웨어를 네트워크에 접근 가능하도록 한다. 사용자에게 최종 서비스를 제공하는 계층이다. FTP, SNMP, HTTP, Mail, Telnet 등
6. Presentation 포맷 기능, 압축, 암호화 등의 작업을 수행한다. 텍스트 및 그래픽 정보를 컴퓨터가 이해할 수 있는 16진수 데이터로 변환한다. 압축, 암호, 코드 변환, GIF, ASCII, EBCDIC
5. Session 세션 연결 및 동기화 수행, 통신 방식을 결정한다. 가상 연결을 제공하여 Login/Logout을 수행한다. 반이중, 전이중, 완전이중 결정, SSL
4. Transport 가상연결, 에러 제어, Data 흐름 제어를 하며 사용하는 단위는 Segment이다. 두 개의 종단 간 End-to-End 데이터 흐름이 가능하도록 논리적 주소를 연결한다. 신뢰도, 품질보증, 오류탐지 및 교정 기능을 제공한다. 다중화가 발생한다. 사용하는 주소는 Port이다. TCP, UDP
3. Network 경로 선택, 라우팅 수행, 논리적 주소 연결을 한다. 데이터 흐름 조절과 주소 지정 메커니즘을 구현하고 네트워크에서 노드에 전송되는 패킷 흐름을 통제하여 상태 메시지가 네트워크상에서 어떻게 노드로 전송되는가를 정의한다. 단위는 Packet(Datagram)이고 사용하는 주소는 IP이다. IP, ICMP, IGMP, APP, RARP, 라우팅 프로토콜(RIP, OSPF, BGP 등)
2. Data Link MAC 주소를 통한 물리 주소를 결정한다. Point-to-Point(점대점)연결을 하며 에러 제어와 흐름제어 데이터 전송의 역할을 하며 사용하는 단위는 Frame이다. 전송 오류를 처리하는 최의 계층이다. 흐름 제어, 오류 제어(ARQ), 브리지, PPTP, L2TP, HDLC, L2F, Frame Relay
1. Physical 전기적, 기계적 연결을 정의하고 실제 Data Bit를 전송한다. 단위는 Bit이며 전기적신호, 전압구성, 케이블, 인터페이스 등을 구성한다. Data Rates, line noise control, 동기화 기능을 수행한다. 동축케이블, 광섬유, Twisted Pair Cable 등

각 계층은 위 표와 같은 기능들을 수행한다. 위의 7계층을 TCP/IP 4계층으로 표현할 수 있는데 1, 2계층을 묶어 네트워크 엑세스 계층, 3계층은 인터넷 계층, 4계층은 전송계층, 5, 6, 7 계층을 묶어서 응용계층으로 표현하기도 한다.

위의 표를 보면 4계층에서 End-to-End와 2계층에서 Point-to-Point가 나온다. End-to-End는 끝과 끝을 의미하여 데이터를 전송하는 사용자와 데이터를 받는 사용자간의 통신을 의미한다. Point-to-Point는 해당 데이터가 전송되는 과정에서 거쳐가는 라우터와 여러 기기들 사이의 1:1 연결을 의미한다. 예를 들어 공유기를 사용중인 집에서 외부의 서버에 데이터를 전송한다면 사용자의 PC와 공유기 사이의 1:1 연결을 하고 공유기는 외부의 라우터와 1:1 연결이 될 것이다. 이렇게 전송되는 동안 거쳐가는 기기들 사이의 1:1 통신을 Point-to-Point라고 한다.

2, 3, 4 계층은 주소를 사용한다. 4계층은 Port, 3계층은 IP Address, 2계층은 MAC Address를 사용한다. 4계층의 Port 주소는 통신하는 양쪽 사용자가 사용하는 응용프로그램의 주소이다. 3계층의 IP 주소는 사용자가 사용중인 인터넷 망의 주소이고, 2계층의 MAC 주소는 인터넷 망 내부에 사용중인 기기의 주소이다. 즉 데이터가 사용자를 찾아갈 때 이 주소들을 통해 찾아가는데 찾아가는 과정이 역 캡슐화이다. 처음 물리적 선로를 통하여 이동하는 데이터는 사용자의 PC에서 공유기로 이동한다. 이때는 Point-to-Point 통신으로 2계층의 MAC주소를 참조하여 공유기에게 데이터를 전송한다. 공유기에서는 데이터에 달려있는 헤더들 중 주소들을 볼 수 있는데 근처에 연결된 라우터들 중 데이터를 받을 사용자의 IP 주소를 알고 있는 라우터를 찾는다. 그리고 해당 라우터에 데이터를 전달하고 라우터는 상대방의 IP 주소에 데이터를 전송한다. 이때, 사용자가 공유기를 사용중 이라면 데이터를 공유기에 전송한다. 데이터를 받은 공유기는 연결된 PC들 중 해당되는 MAC 주소를 가진 사용자에게 데이터를 전송한다. 그렇게 사용자 PC에 도착한 데이터는 해당 데이터를 어떤 응용 프로그램에 줘야할지 포트주소를 확인하여 전달하고 세션, 표현, 응용 계층을 거치면서 최종적으로 데이터를 확인할 수 있게 된다.

사용자의 PC에서 공유기로 나갈때 공유기에 연결된 PC들은 사설망의 주소를 사용한다. 여기서 사설망은 공유기에 연결된 하나의 공인 IP 주소를 여러 사용자가 사용할 수 있게 공유기가 찢어주는 역할을 한다. 이 기능을 NAT라고한다. 그래서 공유기에 연결된 PC들은 데이터를 전송하거나 받을 때 공유기를 통해서 들어가고 나갈 수 있다.

네트워크에서 발생하는 여러 공격들은 전송되는 데이터의 주소 헤더를 변경하여 공격을 수행한다.

 

계층별 하드웨어 장비

물리 계층 케이블 : Twisted Pair Cable, Coaxial, Fiber-Optic Cable
리피터 : 네트워크 구간 케이블의 전기적 신소를 재생하고 증폭하는 장치이다. 디지털 신호를 제공하고 아날로그 신호를 증폭하게 되면 잡음과 왜곡이 심해질 수 있다.
허브 : 하나의 포트로 들어온 전기적 신호를 여러 포트로 나누어 전송할 수 있는 장치이다.
데이터 링크 계층 브릿지(Bridge) : 서로 다른 LAN Segment를 연결하고 관리자에게 MAC 주소 기반 필터링을 젣공하여 더 나은 대역폭 사용과 트래픽을 통제한다. 리피터와 같이 데이터 신호를 증폭하지만 MAC 기반에서 동작한다는 특징이 있다.
스위치(Switch) : 목적지의 MAC 주소를 알고 있는 지정된 포트로 데이터를 전송한다. 리피터와 브릿지의 기능을 결합한 것으로 네트워크의 속도 및 효율적으로 운영하기 위해 사용된다.
네트워크 계층 라우터(Router) : 패킷을 받아 경로를 설정하고 패킷을 전달한다. 브릿지는 MAC 주소를 확인하여 사용자의 기기에 데이터를 전송하지만 라우터는 IP 주소를 확인하여 경로를 찾아간다. 패킷 헤더 정보에서 IP 주소를 확인하여 목적지 네트워크로만 전달하여 Broadcast를 막는다. 또한 패킷에는 홉(Hop)의 수가 지정되어 라우터를 지나갈 때마다 값이 1씩 줄어들며 0이되면 해당 패킷은 소멸된다. 해당 기능을 통해 패킷이 네트워크에 무한히 떠도는 것을 막을 수 있다.
반응형