[Network] 1. OSI 7계층
네트워크
- 네트워크란 원하는 정보를 원하는 수신자 또는 기기에 정확하게 전송하기 위한 기반 인프라이다.
- 네트워크 기술이란 서버와 클라이언트의 정보가 오고 가는 다리 역할을 하는 기술의 총칭을 의미한다.
OSI 7 계층
- Open System Interconnection 7계층
- 컴퓨터, 핸드폰 등 하나의 클라이언트에서 발생한 데이터가 상대방 컴퓨터 혹은 서버로 전달되기 위해서는 표준화 된 어떠한 약속 혹은 절차를 따라야한다. 전기 신호가 그냥 케이블을 타고 상대방 컴퓨터로 전달되는 것이 아니다.
- 보내는 쪽에서는 데이터를 안전하고, 정확하고, 신속하게 규격화 즉 포장하는 방법이 필요하고, 받는 쪽에서는 그 데이터를 안전하고 정확하고 신속하게 해석하는 방법이 필요한 것이다. 그런 기술적 약속을 프로토콜 이라고 한다.
- 네트워크를 공부한다는 것은 많은 프로토콜을 학습한다는 것과 마찬가지다.
- 컴퓨터 간 데이터를 주고받을 때 에러가 발생하지 않도록 알맞게 나누어 전송하고, 이를 수신하여 다시 기존에 정보로 변환하는 과정에 어떤 모델이 약속되어 있는지를 OSI 7계층을 보면 알 수 있다.
- OSI 7계층은 국제 표준화 기구인 ISO 에서 개발한 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 개방형 시스템 상호 연결 모델이다. 각 계층은 서로 독립적으로 구성되어 있고, 각 계층은 하위 계층의 기능을 이용하여 상위 계층에 기능을 제공한다.
-
통신이 일어나는 과정을 단계별로 알 수 있고, 특정한 곳에 이상이 생기면 그 단계만 수정할 수 있기 때문에 7계층으로 나눈다.
-
같은 데이터라고 하더라도 각 계층별로 부르는 명칭이 달라진다. (PDU 참고)
- 캡슐화(Encapsulation & 역캡슐화(Decapsulation)
- 발신 측에서 헤더를 생성하고, 트레일러를 만들어 보내는 부분, 즉 필요한 데이터를 추가해 나가는 것을 캡슐화라고 한다.
-
반대로 수신 측에서 헤더를 제거하며 상위 계층으로 전달하는 과정이 역캡슐화이다.
- AH : Application Header
- PH : Presentation Header
- SH : Session Header
- TH : Transport Header
- NH : Network Header / NT : Network Tail
- DH : Data Link Header / DT : Data Link Tail
1) 물리 계층(Physical)
-
물리 계층은 실제 장치들을 연결하기 위해 필요한 전기적, 물리적 세부 사항들을 정의하는 계층이다. 통신 채널을 통해 전송되는 사용자 장치의 디지털 데이터를 이에 상응하는 신호들로 변환한다.
- 장비: 리피터, 케이블, 허브 등 / 프로토콜: RS-232 / PDU: Bit
- 0과 1의 bit 정보를 회선에 보내기 위한 전기적 신호로 변환해서 주고받는 기능을 진행하는 공간이다. 즉, OSI 계층을 타고 전달된 데이터를 전기적인 신호로 변환시켜 통신을 수행한다.
- 데이터 링크(L2) 개체 간의 bit 전송을 위한 물리적 연결을 설정, 유지, 해제하기 위한 수단을 제공한다.
2) 데이터링크 계층(Data Link)
- 데이터 링크 계층은 링크의 설정과 유지 및 종료를 담당하며 노드 간의 오류제어, 흐름제어, 회선제어 기능을 수행하는 계층이다.
-
네트워크 계층(L3)에 데이터를 전달하고, 물리 계층(L1)에서 발생할 수 있는 오류를 탐지하고 수정하는 기능을 제공한다.
- 장비: 스위치, 브릿지 등 / 프로토콜: HDLC, PPP, 프레임 릴레이, ATM / PDU: Frame
- 헤더의 끝에는 물리 주소 정보(Mac)가 들어있고, 트레일러에는 오류를 검출하는 비트를 포함한다.
- Mac 주소를 통해 통신한다. frame 에 Mac 주소를 부여하고 에러검출, 재전송, 흐름제어를 진행한다.
- Mac 주소란? 단 하나의 고유한 주소를 부여해서 통신할 수 있도록 만든 일종의 하드웨어 주소.
- IP 주소만 가지고 통신하는 것이 아니다. IP 는 레이어 3의 네트워크 계층이고 MAC 주소는 레이어 2의 데이터링크 계층이다.
- 통신 표준에 맞게 단계별로 진행될 때, IP 주소에서 Mac 주소로 변환되는 과정을 거치기 때문에 Mac 주소, IP 주소 모두 통신을 위해 필요하다. 이 변환되는 과정을 ARP (Address Resolution Protocol)이라고 부른다.
3) 네트워크 계층(Network)
-
네트워크 계층은 다양한 길이의 패킷을 네크워크들을 통해 전달하고, 그 과정에서 전송 계층(L4)이 요구하는 서비스 품질(Qos)을 위한 수단을 제공하는 계층이다. 라우팅 패킷 포워딩, 인터 네트워킹 등을 수행한다.
- 장비: 라우터, L3 스위치 / 프로토콜: IP, ARP, RARP, ICMP, IGMP, 라우팅 프로토콜 / PDU: Packet
- 라우터 를 통해 이동할 경로를 선택하여 IP 주소를 지정하고, 해당 경로에 따라 패킷을 전달해준다. 즉 패킷을 네트워크를 통해 발신지에서 목적지까지 전달하기 위해, 라우팅 프로토콜을 사용하여 최적의 경로를 선택한다.
- 패킷이란? 전송 계층으로 부터 전달받은 세그먼트(L4 PDU)는 네트워크 계층의 정보를 포함해 패킷이라고 불리게 된다.
4) 전송 계층(Transport)
- 전송 계층은 상위 계층들이 데이터 전달의 유효성이나 효율성을 생각하지 않도록 해주면서, 종단 간의 사용자들에게 서비스를 구분하고 신뢰성 있는 데이터를 전달하는 계층이다.
-
순차번호 기반의 오류 제어 방식을 사용하고, 종단 간 통신을 다루는 최하위 계층으로 종단 간 신뢰성이 있고 효율적인 데이터를 전송한다.
- 장비: L4 스위치 / 프로토콜: TCP, UDP / PDU: Segment
- TCP 와 UDP 프로토콜을 통해 통신을 활성화한다. 포트를 열어두고, 프로그램들이 전송을 할 수 있도록 제공해준다. 즉 송수신 프로세스 간의 연결, 신뢰성 있는 통신 보장, 데이터 분할, 재조립, 흐름제어, 오류제어, 혼잡제어를 한다.
- TCP : 신뢰성, 연결지향적
- UDP : 비신뢰성, 비연결성, 실시간
5) 세션 계층(Session)
- 세션 계층은 응용 프로그램 간의 대화를 유지하기 위한 구조를 제공하고, 이를 처리하기 위해 프로세스들의 논리적인 연결을 담당하는 계층이다.
-
통신 중 연결이 끊어지지 않도록 유지시켜주는 역할을 수행하기 위해 TCP/IP 세션 연결의 설정과 해제, 세션 메세지 전송 등의 기능을 수행한다.
- 프로토콜: SSH, RPC, NetBIOS / PDU: Data
- 데이터가 통신하기 위한 논리적 연결을 담당한다. TCP/IP 세션을 만들고 없애는 책임을 지니고 있다.
- 통신을 하기 위한 세션 확립, 유지, 중단을 수행한다. 통신하는 사용자들을 동기화해주고, 오류 복구 명령들을 일괄적으로 처리한다.
6) 표현 계층(Presentation)
- 표현 계층은 애플리케이션이 다루는 정보를 통신에 알맞은 형태로 만들거나, 하위 계층에서 온 데이터를 사용자가 이해할 수 있는 형태로 만드는 역할을 담당하는 계층이다. 즉 정보의 구문(Syntax) 및 의미(Semantics) 에 관여하는 계층이다.
-
수신자 장치에서 적합한 어플리케이션을 사용하여 응용계층(L7) 데이터의 부호화 및 변환 수행을 통해 송신 장치로부터 온 데이터를 해석한다.
- 프로토콜: JPEG, MPEG 등 파일의 확장자 / PDU: Data
- 데이터 표현(형식)에 대한 독립성을 제공하고 암호화하는 역할을 담당한다. 파일 인코딩, 명령어를 포장, 압축, 암호화한다.
- 데이터의 효율과 보안을 위해 압축과 암호화를 수행하고, 전송을 위한 포맷으로 변경을 수행한다.
7) 응용 계층(Application)
-
응용계층은 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행하는 역할을 담당하는 계층이다. 응용 프로세스가 개방된 형태로 다양한 범주의 정보처리기능을 수행할 수 있도록 여러가지 프로토콜 개체에 대하여 사용자 인터페이스를 제공한다.
- 장비: L7 스위치 / 프로토콜: HTTP, FTP, SMTP, POP3, IMAP, Telnet / PDU: Data
- 최종 목적지로, 응용 프로세스 간의 정보 교환, 파일 전송 등의 서비스를 제공한다.
- 사용자 인터페이스, 전자우편, 데이터베이스 관리 등의 서비스를 제공한다.
댓글 남기기