네트워크 입문_OSI 모델
1-1. OSI 모델이란?
- 개방형 시스템 상호 연결(OSI) 모델은 다양한 통신 시스템이 표준 프로토콜을 사용하여 통신할 수 있도록 국제 표준화 기구가 만든 개념 모델이다.
- OSI는 다양한 컴퓨터 시스템의 상호 통신을 가능하게 하도록 하는 표준을 평이한 영어로 제공한다.
- OSI 모델은 컴퓨터 네트워킹을 위한 보편적인 언어로 생각할 수 있다. 이 모델은 통신 시스템을 7개의 추상적 계층으로 나누고 각각의 계층이 다른 계층 위에 얹히는 개념에 기초한다.
- OSI 모델의 각 계층은 특정 작업을 처리하고 그 위와 아래의 계층과 통신한다.
- DDoS 공격은 다음과 같이 네트워크 연결의 특정 계층을 표적으로 한다.
- 응용 프로그램 계층 공격은 계층 7을 표적으로 하며 프로토콜 계층 공격은 계층 3과 4를 표적으로 한다.
- 문제를 모델의 특정 계층으로 좁힐 수 있으면 불필요한 작업을 많이 피할 수 있다.
- 계층구조를 가짐으로써 데이터자체의 흐름을 각 구간별로 데이터의 움직임을 알 수 있
다.
1-2.OSI 모델의 7가지 계층
7. 응용 프로그램 계층
- 사용자의 데이터와 직접 상호 작용하는 유일한 계층
- 사용자와 가장 밀접한 계층으로 인터페이스 역할이다.
- 응용 프로세스 간의 정보 교환을 담당한다.
- 전자메일, 인터넷, 동영상 플레이어 등이 있다.
6. 프레젠테이션 계층
- 데이터를 어떻게 표현할지 정하는 역할을 하는 계층이다.
- 송신자에서 온 데이터를 해석하기 위한 응용계층 데이터 부호화, 변화
수신자에서 데이터의 압축을 풀수 있는 방식으로 된 데이터 압축
데이터의 암호화와 복호화등을 수행한다.
(MIME 인코딩이나 암호화 등의 동작이 표현계층에서 이루어짐. EBCDIC로 인코딩된 파일을 ASCII 로 인코딩된 파일로 바꿔주는 것이 한가지 예임)
5. 세션 계층
- 통신 장치 간 상호작용 및 동기화를 제공한다.
- 연결 세션에서 데이터 교환과 에러 발생 시의 복구를 관리한다.
4. 전송 계층
- 종단 간 신뢰성 있고 정확한 데이터 전송을 담당한다.
- 송신자와 수신자 간의 신뢰성있고 효율적인 데이터를 전송하기 위하여 오류검출 및 복구, 흐름제어와 중복검사 등을 수행한다.
- 데이터 전송을 위해서 Port 번호를 사용한다.(대표적인 프로토콜로 TCP와 UDP가 있음)
- 전송 계층에서 데이터 단위는 세그먼트(Segment)이다.
3. 네트워크 계층
- 중계 노드를 통하여 전송하는 경우 어떻게 중계할 것인가를 규정한다.
- 라우팅 기능을 맡고 있는 계층으로 목적지까지 가장 안전하고 빠르게 데이터를 보내는 기능을 가지고 있다.(최적의 경로를 설정가능)
- 컴퓨터에게 데이터를 전송할지 주소를 갖고 있어서 통신가능하다.(=우리가 자주 듣는 IP 주소가 바로 네트워크 계층 헤더에 속함)
- 네트워크 계층에서 데이터 단위는 패킷(Packet)이다.
- 장비로는 라우터, L3 스위치가 있다.
2. 데이터 연결 계층
- 물리적인 연결을 통하여 인접한 두 장치 간의 신뢰성 있는 정보 전송을 담당한다.(Point-To-Point 전송)
- 안전한 정보의 전달이라는 것은 오류나 재전송하는 기능이 존재한다.
- MAC 주소를 통해서 통신한다.
- 데이터 링크 계층에서 데이터 단위는 프레임(Frame)이다.
- 장비로는 브리지, 스위치가 있다.
1. 물리적 계층
- 주로 전기적, 기계적, 기능적인 특성을 이용해 데이터를 전송한다.
- 데이터는 0과 1의 비트열, 즉 On, Off의 전기적 신호 상태로 이루어져 해당 계층은 단지 데이터를 전달한다.
- 단지 데이터 전달의 역할을 할 뿐이라 알고리즘, 오류제어 기능이 없다.
- 장비로는 케이블, 리피터, 허브가 있다.
계층 별 PDU
1계층 : Bits
2계층 : Frames
3계층 : Packets
4계층 : Segments
5~7계층 : Data
2-1.TCP/IP Protocol Suite
- TCP/IP는 현재의 인터넷에서 컴퓨터들이 서로 정보를 주고받는데 쓰이는
통신규약
(프로토콜)의 모음이다.
- 1960년대 말 미국방성의 연구에서 시작되어 1980년대 초 프로토콜 모델이 공개됐다 .
- 하드웨어, 운영체제, 접속매체에 관계없이 동작할 수 있는 개방성을 가진다.
네트워크 액세스 계층(Network Access Layer)
- OSI 7 Layer에서
물리계층
과 데이터링크 계층
에 해당한다.
- OS의 네트워크 카드와 디바이스 드라이버 등과 같이 하드웨어적인 요소와 관련된 모든 것을 지원하는 계층이다.
- 물리적인 주소로 MAC을 사용한다.
- CSMA/CD, MAC, LAN, X25, 패킷망, 위성 통신, 다이얼 모뎀, LAN, 패킷망 등
- Ehternet(이더넷), Token Ring, PPP 등등
인터넷 계층(Internet Layer)
- OSI 7계층의
네트워크 계층
에 해당한다.
- 통신 노드 간의 IP패킷을 전송하는 기능과 라우팅 기능을 담당한다.
- 상위 전송계층이 보낸 데이터에 IP 헤더를 붙여 IP 패킷으로 만든 후 전송한다.
- IP, ICMP, ARP, RARP, OSPF, BGP 등등
전송 계층(Transport Layer)
- OSI 7계층의
전송 계층
에 해당한다.
- 통신 노드 간의 연결을 제어하고, 신뢰성 있는 데이터를 전송한다.
- TCP, UDP 등등
응용 계층(Application Layer)
- OSI 7계층의
세션 계층, 표현 계층, 응용 계층
에 해당한다.
- TCP/UDP 기반의 응용 프로그램을 구현할 때 사용한다.
- 시스템의 논리주소, port를 가지고 있고 상위 계층의 프로세스를 연결해서 통신한다.
- SMTP, FTP, HTTP, SSH, DNS 등등
3-1.OSI 모델과 TCP/IP Protocol Suite
- TCP/IP 프로토콜은 OSI 모델보다 먼저 개발되었다. 그러므로 TCP/IP 프로토콜의 계층은 OSI 모델의 계층과 정확하게 일치하지 않는다.
- 두 계층을 비교할 때 ,
세션(Session)과 표현(presentation)
2개의 계층이 TCP/IP프로토콜 그룹에 없다는 것을 알 수 있다.
- 두 모델 모두
계층형
이라는 공통점을 가지고 있으며 TCP/IP는 인터넷 개발 이후 계속 표준화되어 신뢰성이 우수
인 반면, OSI 7 Layer는 표준이 되기는 하지만 실제적으로 구현되는 예가 거의 없어 신뢰성이 저하되어있다.
- OSI 7 Layer는 장비 개발과 통신 자체를 어떻게 표준으로 잡을지 사용되는 반면에 실 질적인 통신 자체는 TCP/IP 프로토콜을 사용한다.