OSI 7계층 및 계층별 프로토콜과 장비

D A S H B O A R D
D E V E L O P
S E C U R I T Y
 OSI란?  1계층 Physical  2계층 DataLink  3계층 Network  4계층 Transport  5계층 Session  6계층 Presentation  7계층 Application
주요내용
Reference

 OSI란?

Open Systems Interconnection Reference Model 7 Layer의 약자로 국제 표준화 기구 (ISO)에서 개발한 통신 관련 계층화 표준 모델
표준 개발 이유
1.
데이터의 흐름이 한번에 보이기 때문에 문제를 해결하기 편리
2.
계층별 분할 및 분업이 가능
3.
어떤 회사 장비를 사용하여도 네트워크가 이상 없이 동작 (이기종간의 네트워크 상호 호환)

 1계층 Physical Layer

물리적인 장치의 전기적, 전자적 연결의 특징을 이용해 디지털 데이터를 아날로그적인 전기 신호로 변환하여 물리적인 전송이 가능하게 함
비트 단위로 통신 (0 , 1)
해당 Layer에서는 Coax(동축 케이블), Fiber(광섬유 케이블), Wireless(WIFI) 등이 이용됨
또한 Hub, Repeater, NIC와 같은 장비가 해당 계층에 포함됨
Repeater
물리 계층에서 근거리 통신망을 구성할 때, 신호를 수신하여 신호를 증폭시킨 후 다음 노드로 전달해주는 장치
전자기장 혹은 케이블 손실로 발생한 신호 감쇠를 보상해 주기 대문에, 여러대를 사용한다면 먼 거리까지 신호 전달이 가능
But, 현재는 잘 사용하지 않음
HUB(더미 허브)0096
물리 계층에서 네트워크 디바이스를 연결해주는 장비로 멀티포트 리피터라고도 불림
들어오는 신호를 모든 포트로 재전송(Flooding)하기 때문에, 전체 대역폭을 나누어 사용하게 됨
다른 스마트한 기능 없이 네트워크에서 케이블의 집선 역할을 하여 여러 EndPoint간의 연결 혹은 전송 거리 연장 등에 이용됨
대역폭을 공유하고 Flooding을 하기 때문에 보안상 좋지 못하며, Collision domain 내에 모두 존재하기 때문에 충돌 발생 가능성이 크다. ⇒ 2계층 Physical Layer의 Ethernet에서 설명
더미 허브 외 스위칭 허브(포트를 이용해 Flooding X), 인텔리전트 허브(네트워크 관리 시스템이 추가된 더미 허브)로 구분되지만, Switch 혹은 Router를 이용하기 때문에 여기서는 고려하지 않음
NIC (Network Interface Card)
컴퓨터를 네트워크에 연결하여 통신하기 위해 사용하는 하드웨어 장치
물리 계층에서 신호를 보내고 네트워크 계층에서 데이터 패킷을 전송하며 TCP/IP 계층에서 인터페이스로 작동
기능
Serialization : 전기신호 데이터 신호 변환
Flow Control : 데이터 유실 방지를 위해 데이터를 받지 못한다면 통신 중지를 요청할 수 있음
구성 요소
소프트웨어 드라이버 : OS단에서 동작하기 때문에, OS와 NIC 통신을 위해 필수적임
MAC 주소 : 이더넷 패킷을 컴퓨터에 전달하는 데 사용 (기기의 물리적 주소)
동작방식
IRQ(인터럽트 요청)
Base Memory(메모리 범위) → 어떤 서비스를 할지 미리 정해놓은 장소
1.
목적지 MAC 주소가 나의 맥 어드레스와 일치한다면 랜카드가 CPU에 IRQ를 이용해 인터럽트
2.
CPU는 IRQ번호를 보고 랜카드의 요청임을 확인 하고 Base Memory로 이동해 작업 시작
1계층과 2계층 장비로 의견이 분분하지만 여기에서 1계층으로 둔 이유는, NIC는 결국 비트 스트림의 송수신을 수행하기 때문
MAC Address
Media Access Control의 약자
48비트의 주로로 16진수 6개를 :, ., - 으로 나누어 표시
앞 16진수 3바이트는 OUI주소로, NIC를 제작하는 각 회사에 부여된 고유 주소
뒤 16진수 3바이트는 각 회사에서 임의로 붙이는 시리얼 넘버 같은 개념
MAC 주소는 중복될 수 있지만, 같은 네트워크 안에서 중복되는 MAC 주소가 있다면 원활한 네트워크 서비스가 불가능

 2계층 DataLink Layer

피지컬 레이어를 통해 송 ・ 수신되는 정보의 오류와 흐름을 관리하여 안전한 정보의 전달을 수행하도록 도와줌
흐름제어 : 송신노드가 수신노드의 처리속도를 고려하여 이를 초과하지 않도록 전송을 제어 → Stop and Wait : 프레임을 전송 후 ACK를 돌려 받을 대까지 대기 → Sliding Window : ACK를 받기 전 수신 가능한 범위 내에서 여러 프레임을 전송
오류제어 : 전송 중에 주파수 혼란, 감쇠, 잡음 등에 의한 오류나 손실 발생 시 이를 해결하기 위한 제어방식 → 후진 오류 수정 : 송신측에서 데이터를 전송 시 오류를 검출할 수 있는 부가정보를 함께 전송 후 수신측에서 오류 발생 시 재전송 요구 → 전진 오류 수정 : 송신측에서 데이터 송신 시에 오류의 검출 및 수정까지 가능한 부가 정보를 담아서 보내는 방식으로 재전송 X
회선제어 : 회선구성 방식(점대점, 다중점)과 전송방식(단방향, 반이중, 전이중) 등의 전송 방식에 따라 사용되는 제어 규범
NIC의 MAC 주소를 이용해 통신한
프레임(Frame) 단위 통신 → L3 Layer에서 받은 Datagram을 캡슐화한 것 → Datagram에 Header와 trailer가 추가되게된다.
해당 Layer에서는 Ethernet, VLAN, PPP와 같은 프로토콜이 사용됨
또한, Bridge, L2 Switch와 같은 네트워크 장비들이 해당 계층에서 사용된다.

Ethernet

STP

PPP

Bridge vs Switch

차이점

Bridge : 소프트웨어
네트워크 세그먼트(노드)들을 연결하고 프레임을 전달하는 역할
하나의 포트를 여러 노드들이 공유하는 구성
각 포트들은 모두 동일한 속도
Store-and-forward 방법만을 이용 → 일단 들어오는 프레임을 전부 받아드린 후 처리를 시작하는 방식, 모두 받아들인 후 이 프레임이 제대로 들어왔는지, 에러는 없는지, 또 출발지 주소는 어디인지, 목적지 주소는 어디인지를 파악해 처리해주는 방식
Switch : 하드웨어
목적지 MAC Address를 분석해 프레임 필터링, 전송 및 브로드케스팅
하나의 포트를 하나의 노드들이 사용하는 전용 구성
브릿지에 비해 프레임 처리가 훨신 빠름
각 포트별로 속도 설정 가능
Cut-through 또는 Store-and-forward 방식을 사용 → Cut-through: 들어오는 프레임의 목적지 주소만 본 후 바로 전송 처리를 시작하는 방식 따라서 처음 48bit만 보기 때문에 처리 시간이 짧다 하지만 에러를 찾기 힘들고 복구능력이 약함 → Fragment-free: 앞 두가지 방식의 장점을 결합한 방식 전체 프레임을 다 기다리지 않으며, 처음 512bit를 봄 따라서 에러 감지 능력이 컷스루에 비해서는 우수

공통점

1.
Learning 배운다 → 통신 시 PC의 MAC 주소를 맥 어드레스 테이블에 저장해 둠
2.
Flooding 모르면 들어온 포트를 제외한 모든 포트로 뿌림 → 테이블에 목적지 주소가 없다면 자신을 제외한 모든 PC에 프레임을 뿌림
3.
Forwarding 해당 포트로 건네준다 → 목적지를 알고 있으면 그 곳에만 프레임을 보냄
4.
Filtering 다른 포트로 못 건너가게 막는다 → 브릿지에서 다리 남단(같은 세그먼트)에 같이 있다면 굳이 브릿지를 건널 필요가 없으므로 필터링 → 콜리전 도메인을 나눠주는 역할
5.
Aging 나이를 먹는다 → 어느정도 시간이 지나면 맥 어드레스 테이블의 정보를 지움

 3계층 Network Layer

데이터를 목적지까지 가장 안전하고 빠르게 전달하는 것으로 종단간 신뢰성 있는 데이터 전송을 담당 → 라우팅이라 불림
호스트로 도달하기 위한 최적의 경로를 라우팅 알고리즘을 통해 선택하고 제어
경로를 선택하고, 주소를 정하며, 경로에 따라 패킷을 전달해주는 역할을 함 → 이를 위해 IP를 이용
최대 크기가 1500바이트인 Packet 단위 통신
또한, Router, L3 Switch와 같은 네트워크 장비들이 해당 계층에서 사용된다.

IP

ARP / RARP

ICMP

라우터
패킷의 목적지 IP 어드레스를 분석해 패킷을 전송하며 브로드 캐스트 트래픽이 다른 세그먼트로 전달되지 않도록 함
포트와 세그먼트(노드)를 구분하기 위해 라우팅 테이블 이용
역할
PATH Dtermination(경로 결정) → 데이터 패킷이 목적지까지 갈 수 있는 길을 검사하고 어떤 길로 가는 것이 가장 적절한지 결정 → 라우팅 프로토콜이 사용됨: 라우팅 테이블을 만들어 관리
Switching(스위칭) → 경로가 결정되면 그곳으로 데이터 패킷을 스위칭해줌
라우팅 프로토콜 vs 라우티드 프로토콜
라우티드 프로토콜: TCP/IP, IPX, AppleTalk →라우터가 라우팅을 해주는 고객을 의미
라우팅 프로토콜: RIP(Routing Information Protocol), IGRP(Interior Gateway Routing Protocol), OSPF(Open Shortest Path First),EIGRP(Enhanced Interior Gateway Routing Protocol) 등 → 라우티드 프로토콜을 목적지까지 가장 좋은 길을 갈 수 있게 해주는 역할

 4계층 Transport Layer

종단간 신뢰성 있는 데이터 전송을 담당
종단(Host)의 구체적인 목적지(Process)까지 데이터가 도달할 수 있도록 함
Process를 특정하기 위한 주소로 Port Number를 이용
신뢰성 있는 데이터 전송을 위해 분할과 재조합, 연결제어, 흐름제어, 오류제어, 혼잡제어를 수행
Sagment 단위 통신

TCP

UDP

 5계층 Session Layer

응용 프로그램간의 논리적인 연결(세션) 생성 및 제어를 담당
TCP/IP 통신 연결을 수립/ 유지/중단
data 또는 message 단위로 통신

 6계층 Presentation Layer

데이터 표현방식, 상이한 부호체계 간의 변화에 대해 규정
인코딩/디코딩, 압축/해제, 암호화/복호화 등의 역할을 수행
data 단위 통신

 7계층 Application Layer

HTTP, SMTP와 같은 응용서비스 계층
data 단위 통신