충분히 쌓여가는
OSI (Open System Interconnection) 7계층 본문
OSI 7계층 배경
- OSI 7계층을 이해하기에 앞서 네트워크를 이해해야함
- 기술의 발달로 기존 아날로그 신호 -> 전기적 신호를 활용하게 됨 -> 여러 대의 기기가 그물망처럼 연결되어 서로 통신한다는 뜻의 네트워크 구축을 가속화 시킴 -> 서로 다른 네트워크를 연결시키고 싶음 -> OSI 계층 탄생
OSI 7계층
- 국제 표준화 기구인 ISO(International Standardization Organization)에서 개발한 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 개방형 시스템 상호 연결 모델
- 각 계층은 서로 독립적으로 구성되어 있고, 각 계층은 하위 계층의 기능을 이용하여 상위 계층에 기능을 제공함
- 계층을 지날 때마다 헤더(Header)가 붙는데, 이것은 해당 계층의 기능과 관련된 제어 정보가 포함되어 있음
- 제어 정보들은 모두 운영체제가 제공하는 프로토콜에 의해 송신 측에서는 계층을 지날 때마다 덧붙여서 추가되고, 수신 측에서는 계층을 지날 때마다 제거됨
- 네트워크에서 통신이 일어나는 과정을 7계층으로 나눈 모델
- 서로 이질적인 네트워크 간의 연결에 어려움 발생 -> 호환성 이슈를 방지하고자 ISO에서 OSI 참조모델 제시
OSI 7계층
OSI 7계층 특징
계층 | 계층 이름 | 설명 | 프로토콜 | 전송단위 | 장비 |
7계층 | 응용계층 (Application Layer) |
- 사용자와 네트워크 간 응용서비스 연결, 데이터 생성 | HTTP / FTP | 데이터 (Data) |
호스트 (PC 등) |
6계층 | 표현 계층 (Pressentation Layer) |
- 데이터 형식 설정, 부호교환, 암.복호화 | JPEG / MPEG | ||
5계층 | 세션 계층 (Session Layer) |
- 송수신 프로세스 간의 연결 - 연결 접속, 동기제어 |
RPC / NetBIOS | ||
4계층 | 전송 계층 (Transport Layer) |
- 송수신 프로세스 간의 연결 - 신뢰성 있는 통신 보장 - 데이터 분할, 재조립, 흐름 제어, 오류 제어, 혼잡 제어 |
TCP / UDP | 세그먼트 (Segment) |
L4 / 스위치 |
3계층 | 네트워크 계층 (Network Layer) |
- 단말기 간 데이터 전송을 위한 최적화된 경로 제공 | IP / CMP | 패킷 (Packet) |
라우터 |
2계층 | 데이터링크 계층 (Data Link Layer) |
- 인접 시스템 간 데이터 전송, 전송 오류 제어 - 동기화, 오류 제어, 흐름 제어, 회선 제어 |
HDLC / PPP | 프레임 (Frame) |
브리지 / 스위치 |
1계층 | 물리 계층 (Physical Layer) |
- 0과 1의 비트 정보를 회선에 보내기 위한 전기적 신호 변환 | RS-232C | 비트 (Bit) |
허브 / 리피터 |
1계층: 물리 계층
- 네트워크의 기본 네트워크 하드웨어 전송 기술
- 네트워크의 높은 수준의 기능의 논리 데이터 구조를 기초로 하는 필수 계층
- 다양한 특징의 하드웨어 기술이 접목되어 있기에 OSI 아키텍처에서 가장 복잡한 계층으로 간주됨
- 0과 1로 컴퓨터 신호 표현 -> 전자기파는 항상 0, 무한대, 0, 무한대 주파수 범위를 가지고 있어 이런 전기적 신호를 통화시킬 수 없음 -> 아날로그 신호 변경 필요함
- 최소 2대의 컴퓨터가 통신하기 위해 0, 1의 나열을 아날로그 신호로 바꿔 전선으로 보내고, 아닐로그 신호를 0과 1로 해석하는 역할을 하는 것이 물리 계층
2계층: 데이터 링크 계층
- 포인트 투 포인트(Point to Point) 간 신뢰성있는 전송을 보장하기 위한 계층으로 CRC 기반의 오류 제어와 흐름 제어가 필요함
- 네트워크 위의 개체들 간 데이터를 전달
- 물리 계층에서 발생할 수 있는 오류를 찾아냄
- 수정하는 데 필요한 기능적, 절차적 수단을 제공함
- 각 계층은 독립적이지만, 기본적으로 상하구조 체계 -> 윗 계층이 동작하기 위해 아래 계층들이 잘 작동해야함
- 직접 연결된 이웃 컴퓨터와의 통신만을 다룸
- 데이터 링크 계층에서 전송되는 데이터 단위: 프레임
- 프레이밍: Physical Layer를 통해 받은 신호를 조합해 Frame 단위의 데이터 유닛으로 만들어 처리
- 흐름제어: 데이터를 송수신 시, 너무 많거나 너무 적은 데이터를 송수신하지 않도록 흐름제어
- 오류제어: 프레임 전송 시 발생한 오류를 복원하거나 재전송
- 접근제어: 매체 상 통신 주체(장치)가 여러 개 존재할 때, 데이터 전송 여부 결정
- 동기화: 프레임 구분자 (특별한 bit 패턴)
3계층: 네트워크 계층
- 여러개의 노드를 거칠때마다 경로를 찾아주는 역할을 하는 계층
- 다양한 길이의 데이터를 네트워크들을 통해 전달하고, 그 과정에서 전송 계층이 요구하는 서비스 품질(QoS)을 제공하기 위한 기능적, 절차적 수단을 제공
- 라우팅, 흐름 제어, 세그멘테이션(segmentation/desegmentation), 오류 제어, 인터네트워킹(Internetworking) 등을 수행함
- 부산에 있는 홍길동이 서울에 있는 전우치에게 데이터를 보낼때에 어떻게 할지를 다루는 것이 3계층
- 네트워크 계층 전송단위: 패킷
- 주소(IP)를 정함 -> 경로 선택 -> 패킷 전달 => 라우팅(네트워크에서 패킷을 보낼 때 목적지까지 갈 수 있는 여러경로 중 한 경로를 설정해주는 과정)
4계층: 전송 계층
- 양 끝단(End to end)의 사용자들이 신뢰성있는 데이터를 주고 받을 수 있도록 해 주어, 상위 계층들이 데이터 전달의 유효성이나 효율성을 생각하지 않도록 해줌
- 데이터를 주고받는 다고 끝이 아님 -> 사용자들이 신뢰성있는 데이터를 받을 수 있도록 전송 속도를 조절하거나, 오류가 발생하면 맞춰주는 역할을 수행함(TCP 프로토콜 / UDP 프로토콜)
- TCP 프로토콜: 신뢰성 있는 통신 보장, 신뢰성 있는 연결과 전달을 보장하는만큼 계속 연결 유지해야하기 때문에 그만큼 자원이 더 필요함
- UDP 프로토콜: 빠른 데이터 전송에 초점을 둠, 신뢰성 있는 데이터 전송보다 스트리밍과 같은 연속적인 특징을 가진 서비스에 UDP 프로토콜이 적합함
1계층 ~ 4계층 기능
- 데이터 전달
5계층: 세션 계층
- 양 끝단의 응용 프로세스가 통신을 관리하기 위한 방법을 제공
- 동시 송수신 방식(duplex), 반이중 방식(half-duplex), 전이중 방식(Full Duplex)의 통신과 함께, 체크 포인팅과 유휴, 종료, 다시 시작 과정 등을 수행한다. 이 계층은 TCP/IP 세션을 만들고 없애는 책임을 짐
- 통신하는 사용자들을 동기화하고 오류복구 명령들을 일괄적으로 다룸
- 통신을 하기 위한 세션을 확립/유지/중단 (운영체제가 해줌)
- 데이터를 송수신하는 양쪽 종점 컴퓨터 내의 프로세스 간의 통신 프로토콜
- 세션
- 네트워크 환경에서 사용자간 또는 컴퓨터 간의 대화를 위한 논리적 연결
- 프로세스들 사이에 통신을 수행하기 위해 메시지 교환을 통해 서로 인식한 이후부터 통신을 마칠때까지의 시간
- 응용 프로그램 간의 통신을 하기 위한 세션을 운영체제를 통해 확립, 유지, 중단하는 작업 수행
- 동기화
- 동기: 통신 양단에서 서로 동의하는 논리적인 공통처리지점, 동기점을 설정하기 위해 사용됨
- 송수신 중 오류 발생 -> 처음부터가 아닌 동기화 이후부터 재전송함
6계층: 표현 계층
- 코드 간의 번역을 담당하여 사용자 시스템에서 데이터의 형식상 차이를 다루는 부담을 응용 계층으로부터 덜어줌
- MIME 인코딩이나 암호화 등의 동작이 이 계층에서 이루어짐
- 7계층에서 넘겨받은 데이터를 5계층이 다룰 수 있는 데이터로 바꿈
- 5계층에서 넘겨받은 데이터를 7계층이 이해할 수 있는 형태로 바꾸고 전달
- 주고 받은 데이터를 안전하게 사용하기 위해 암호화 / 복호화 진행
7계층: 응용 계층
- 유저와 가장 가까운 계층 -> 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행함
- 일반적인 응용 서비스는 관련된 응용 프로세스들 사이의 전환을 제공
- 전송된 메일, 사진, 동영상 등이 크롬과 같은 응용 프로그램을 통해 유저가 가시적으로 확인할 수 있는 과정
- 해당 데이터들은 프로토콜(HTTP, FTP, SMTP 등)에 의해 처리됨
5계층 ~ 7계층 기능
- 데이터를 송수신하는 양쪽 종점 컴퓨터 내의 프로세스들 간의 통신 프로토콜
데이터 캡슐화
- 데이터 이동: 7계층 -> 1계층
- 데이터가 이동하는 과정에서 캡슐화 진행
- 각 계층은 다른 계층과 통신할 때 데이터가 특정 정보가 들어있는 Header과 Footer을 추가한 후 다른 계층으로 전달됨
총 흐름(ex. 이메일 보냄)
- 작성된 메세지는 7계층에서 6계층으로 전달
- 6계층에서는 전달된 메세지를 데이터로 변환 하거나, 암호화 또는 압축을 수행, 변환된 데이터는 5계층으로 전달
- 5계층으로 전달된 데이터는 동기화를 위하여 주기적으로 동기점을 삽입 -> 4계층으로 데이터를 전달
- 4계층에서 발신지와 목적지를 정하고 연결 방식을 연결성, 비연결성 방식으로 설정 -> 흐름 제어와 오류 제어 기능 수행, 데이터 단위를 Segment 또는 Datagram으로 나눔, 만약 악성코드가 있을 경우 방화벽이 작동함
- 3계층에서 라우팅에 필요한 논리 주소를 설정, 패킷에 대한 라우팅 정보를 삽입
- 2계층은 우선 Frame 단위로 데이터를 나눔 -> MAC 주소로 지정 -> 속도 차이를 원할히 메꾸기 위해서 흐름 제어
- 1계층에는 전송 매체가 일반 케이블인지 광케이블인지 메체의 길이를 설정 -> 데이터를 회선으로 보내기 위해 전기적인 변환을 담당
1계층 장비
장비 | 설명 |
허브 | - 여러 대의 컴퓨터를 연결하여 네트워크로 보내거나, 하나의 네트워크로 수신된 정보를 여러 대의 컴퓨터로 송신하기 위한 장비 |
리피터 | - 디지털 신호를 증폭시켜 주는 역할을 하여 신호가 약해지지 않고 컴퓨터로 수신되도록 하는 장비 |
2계층 장비
장비 | 설명 | |
브리지 | - 두 개의 근거리통신망(LAN)을 서로 연결해 주는 통신망 연결 장치 | |
L2 스위치 | - 느린 전송 속도의 브리지, 허브 단점을 개선하기 위해서, 출발지에서 들어온 Frame을 목적지 MAC 주소 기반으로 빠르게 전송시키는 데이터 링크 계층의 통신 장치 - L2 스위치는 종류에 따라 3가지 방식 중 하나를 사용 |
|
Store and Forwarding | 데이터를 전부 받은 후 다음 처리를 하는 방식 | |
Cut Through | 데이터의 목적지 주소만 확인 후 바로 전송 처리하는 방식 | |
Fragment Free | 프레임의 앞 64바이트만을 읽어 에러를 처리하고 목적지 포트로 전송하는 방식 | |
- L2, L3, L4 스위치는 OSI 중 어떤 계층에서 수행되는가에 따라 구분 | ||
NIC | - Network Interface Card의 약자 - 외부 네트워크와 접속하여 가장 빠른 속도로 데이터를 주고받을 수 있게 컴퓨터내에 설치되는 장치 |
|
스위칭 허브 | - 스위치 기능을 가진 허브 - 사용되는 대부분의 허브가 스위칭 허브 |
3계층 장비
장비 | 설명 |
라우터 | - LAN과 LAN을 연결하거나 LAN과 WAN을 연결하기 위한 인터넷 네트워킹 장비 - 패킷의 위치를 추출하여, 그 위치에 대한 최적의 경로를 지정하여, 이 경로를 따라 데이터 패킷을 다음 장치로 전송시키는 장비 - 라우팅 프로토콜은 경로 설정ㅇ늘 하여 원하는 목적지까지 지정된 데이터가 안전하게 전달되도록 함 |
게이트웨이 | - 프로토콜을 서로 다른 통신망에 접속할 수 있게 해주는 장치 - LAN에서 다른 네트워크에 데이터를 보내거나 다른 네트워크로부터 데이터를 받아들이는 출입구 역할 |
L3 스위치 | - 3계층에서 네트워크 단위들을 연결하는 통신 장비 - IP 레이어에서의 스위칭을 수행하여 외부로 전송 - 라우터와의 경계가 모호 |
유무선 인터넷 공유기 |
- 외부로부터 들어오는 인터넷 라인을 연결하여 유선으로 여러 대의 기계를 연결하거나 무선 신호로 송출하면서 여러 대의 컴퓨터가 하나의 인터넷 라인을 공유할 수 있도록 하는 네트워크 장비 |
망(백본) 스위칭 허브 |
- 광역 네트워크를 커버하는 스위칭 허브 - 예를 들어 경남권 스위칭, 부산권 스위칭 등 대단위 지역을 커버함 |
4계층 장비
장비 | 설명 |
L4 스위치 | - 4계층에서 네트워크 단위들을 연결하는 통신장비 - TCP/UDP 등 스위칭 수행 - FTP, HTTP 등을 구분하여 스위칭하는 로드 밸런싱 가능 - 애플리케이션 레이어에서 파악이 가능한 이메일 내용 등 정교한 로드 밸런싱 수행불가 - 4계층 정보인 TCP/UDP 포트번호를 분석하여 포워딩을 결정하고 QoS와 GLB/SLB 기능을 제공하는 스위치 |
참고자료
수제비 정보처리기사 실기 11-30 ~ 11-35
티스토리, "네트워크 | OSI 7 계층 그림과 함께 이해하기"
'IT > Computer Science' 카테고리의 다른 글
TCP/IP (0) | 2023.01.03 |
---|---|
동기(Synchronous) / 비동기(Asynchronous) (0) | 2022.12.30 |
프로토콜(Protocol) / OSI 7계층 (1) | 2022.12.29 |
MSA(MicroService Architecture) (0) | 2022.12.29 |
HTTP와 HTTPS (0) | 2022.12.27 |