OSI 7 Layer
네트워크 시스템은 소프트웨어 아키텍처 중 Layered Architecture를 따름. 즉 네트워크 시스템은 하나의 커다란 소프트웨어
OSI 7 Layer는 거대한 네트워크 소프트웨어 구조를 설명하는 것
- Application(응용) 계층 : 최종 목적지로 응용 프로그램과 연관하여 서비스를 수행하는 계층
- ex) HTTP, FTP, DNS
- Presentation(표현) 계층 : 데이터 압축, 변환이 이뤄지는 계층
- ex) JPEG, MPEG
- Session(세션) 계층 : 데이터가 통신하기 위한 논리적 연결을 담당하는 계층
- ex) API, Socket
- Transport(전송) 계층 : 종단 간의 사용자들에게 신뢰성 있는 데이터를 전달하는 계층
- Port 번호를 사용하여 컴퓨터의 특정 프로세스까지 데이터가 도달하게 하는 모듈
- 흐름 제어 : 송신측과 수신측 사이의 데이터 처리 속도 차이를 제어
- 혼잡 제어 : 네트워크 혼잡을 피하기 위해 데이터의 전송 속도 제어
- 오류 제어 : 오류 검출과 재전송
- Network(네트워크) 계층 : IP를 지정하고 라우터로 경로를 선택해 네트워크를 통해 패킷을 전달하는 계층
- 수많은 네트워크들의 연결로 이루어지는 inter-network 속에서 특정 컴퓨터에 데이터를 전송하기 위해 필요.
- IP 주소를 이용해 길을 찾고(routing), 다음 라우터에게 데이터를 넘겨주는 것(forwarding)
- Data Link(데이터링크) 계층 : 신뢰성 있는 전송을 보장하기 위한 계층
- 같은 네트워크에 있는 여러 대의 컴퓨터들이 데이터를 주고받기 위해서 필요한 모듈
- 오류 제어, 흐름 제어, 회선 제어
- Physical(물리) 계층 : 전기적, 물리적 세부 사항을 정의하는 계층
- 물리적으로 연결된 두 대의 컴퓨터가 0과 1의 나열을 주고받을 수 있게 해주는 모듈
전송계층은 논리적으로 1:1 연결된 송신과 수신 호스트 즉, 종단간의 호스트에 신뢰성 관련 기능을 제공하고, 데이터 링크 계층은 물리적으로 1:1 연결된 호스트 사이의 전송 즉, 직접 묶여있는 호스트-노드 또는 노드-노드 사이에서의 신뢰성 관련 기능을 제공
계층을 나눈 이유 : 통신이 일어나는 과정을 단계별로 알 수 있고, 문제가 생기면 그 단계만 수정하면 되기 때문
OSI 7 Layer 목적
- 표준화를 통하여 장비별로 이질적인 포트, 프로토콜의 호환 문제를 해결하고, OSI 모델을 이용하여 네트워크 시스템에서 일어나는 일을 쉽게 설명할 수 있게 하는 것
- OSI 계층별 기능과 통신의 과정을 정립하여 교육하기 위한 목적으로 사용
Encapsulation & Decapsulation
- Encapsulation(캡슐화)
- 데이터를 전송할 때 각각의 레어마다 인식할 수 있는 헤더를 붙이는 과정
- 2계층(Data layer, 데이터링크계층)에서는 오류제어를 위해 데이터의 뒷부분에도 일부 데이터가 추가됨
- Decapsulation(역캡슐화)
- 수진된 데이터가 각각의 레이어를 따라 올라가면서 헤더가 벗겨지는 과정
OSI 7 Layer별 Protocol과 기능
- OSI 7계층에서 PDU(Process Data Unit)란 각 계층에서 전송되는 단위
- 계층 별 PDU
- 1계층 : Bits
- 2계층 : Frames
- 3계층 : Packets
- 4계층 : Segments
- 5~7계층 : Data
- 각 계층별 프로토콜 기능
- 분할 : 큰 용량의 데이터를 전송하기 위해 데이터를 나누는 기능
- 재조립 : 분할된 데이터를 사용하기 위해 재조립 하는 기능
- 캡슐화 : 각 계층을 거칠 때 마다 각 계층의 헤더가 계층별로 붙으며, 캡슐화를 진행
- 순서 제어 : 전송되는 데이터의 순서를 조율하고 이를 통해 데이터가 중복되거나 유실되는지 체크
- 흐름 제어 : 송신되어 데이터의 양과 전송률을 제한하는 기능
- 오류 제어 : 데이터가 올바르게 수신되었는지 에러 검출 코드를 통해 체크하는 기능
1계층 - 물리 계층(Physical Layer)
- 전기적, 기계적 특성을 이용하여 통신 케이블로 전기적 신호(에너지)를 전송
- 비트(Bit)단위의 PDU, 1(On)/0(Off)의 인코딩 전압 및 케이블 사양 핀의 수 등을 정의한 계층
- 단지 데이터 전달의 역할
- 1계층 장비 : 케이블, 리피터, 허브
- PHY칩에 하드웨어적으로 구현되어있음.
2계층 - 데이터 링크 계층(Data Link Layer)
- 물리적인 연결을 통하여 인접한 두 장치의 신뢰성 있는 정보 전송을 담당
- 프레임(Frame)단위의 PDU, MAC주소와 제어정보를 전송, 헤더를 통해 캡슐화 또는 캡슐화 해제
- 정보의 오류와 흐름을 관리하여 안정된 정보를 전달
- IEEE802.2(LLC), IEEE802.3(CSMA/CD), IEEE802.5(Token Ring) 등등
- 2계층 장비 : 브릿지, 스위치
- 랜카드에 하드웨어적으로 구현되어있음.
3계층 - 네트워크 계층(Network Layer)
- 중계 노드를 통해 전송하는 경우 어떻게 중계할 것인가를 규정
- 패킷(Packet)단위의 PDU, 패킷은 목적지까지 경로를 설정, 헤더를 통해 캡슐화 또는 캡슐화 해제
- 데이터를 목적지까지 가장 안전하고 빠르게 전달.
- IP(Internet Protocol), 라우팅(Routing), OSFP, BGP 등등
- 3계층 장비 : 라우터, L3 스위치
- 운영체제의 커널에 소프트웨어적으로 구현되어있음.
4계층 - 전송 계층(Transport Layer)
- 종단 간(End-to-End)에 신뢰성 있고 정확한 데이터를 전송
- 세그먼트(Segement)단위의 PDU, 종단 간의 에러복구와 흐름제어 담당, 헤더를 통해 캡슐화 및 캡슐화 해제
- TCP(Transmission Control Protocol), UDP(User Datagram Protocol) 등등
- 4계층 장비 : L4 스위치
- 운영체제의 커널에 소프트웨어적으로 구현되어있음.
5계층 - 세션 계층(Session Layer)
- 통신장치 간 상호작용 및 동기화를 제공
- 연결 세션에서 데이터 교환과 에러 발생 시의 복구를 관리. 즉, 논리적인 연결을 담당
- 헤더를 통해 캡슐화 및 캡슐화 해제
- 4계층과 5계층을 경계가 모호함
- NetBIOS, SSH, Appletalk 등등
6계층 - 표현 계층(Presentation Layer)
- 데이터 표현에 차이가 있는 응용처리에서 제어 구조를 제공
- 데이터의 표현 차이
- 전송하는 데이터의 인코딩, 디코딩, 암호화, 코드 변화
- 헤더를 통해 캡슐화 및 캡슐화 해제
- ASCII, JPEG, MPEG 등등
7계층 - 응용 계층(Application Layer)
- 사용자와 가장 밀접한 계층, 인터페이스(Interface) 역할
- 응용 프로세스 간의 정보 교환
- 전자메일, 인터넷 서비스, 동영상 플레이어 등의 어플리케이션
TCP/IP 4계층
- ARPANET이 개발된 이후 현재의 인터넷으로 발전해나가는 과정에서 대부분의 데이터 통신이 TCP와 IP기반으로 이루어졌기 때문에 인터넷 프로토콜 그 자체를 표현하는 용어
- 사실상 인터넷 프로토콜을 대표하는 용어로 사용
- TCP/IP는 현재 인터넷에서 컴퓨터들이 서로 정보를 주고받는데 쓰이는 통신규약(프로토콜)의 모음
1계층 - 네트워크 액세스 계층(Network Access Layer)
- OSI 7계층의 물리계층과 데이터 링크 계층에 해당
- 물리적인 주소로 MAC을 사용
- CSMA/CD, MAC, LAN, X25, 패킷망, 위성 통신, 다이얼 모뎀, LAN, 패킷망 등
- Ehternet(이더넷), Token Ring, PPP 등등
2계층 - 인터넷 계층(Internet Layer)
- OSI 7계층의 네트워크 계층에 해당
- 통신 노드 간의 IP패킷을 전송하는 기능과 라우팅 기능을 담당
- IP, ICMP, ARP, RARP, OSPF, BGP 등등
3계층 - 전송 계층(Transport Layer)
- OSI 7계층의 전송 계층에 해당
- 통신 노드 간의 연결을 제어하고, 신뢰성 있는 데이터를 전송
- TCP, UDP 등등
4계층 - 응용 계층(Application Layer)
- OSI 7계층의 세션 계층, 표현 계층, 응용 계층에 해당
- TCP/UDP 기반의 응용 프로그램을 구현할 때 사용
- SMTP, FTP, HTTP, SSH, DNS 등등
OSI 모델 vs TCP/IP 모델
- 현대의 인터넷이 TCP/IP 모델을 따르고 있는 이유는 OSI 모델이 시장점유율에서 졌기 때문
- OSI 모델의 Application, Presentation, Session 계층이 TCP/IP 모델에서는 Application으로 합쳐짐
Reference
https://www.youtube.com/watch?v=1pfTxp25MA8
http://wiki.hash.kr/index.php/OSI_7_계층
https://backtony.github.io/interview/2021-09-30-interview-2/#osi-모델-vs-tcpip-모델
'CS' 카테고리의 다른 글
[Network] TCP, UDP의 특징과 비교 (0) | 2023.06.08 |
---|