OSI 7계층?
네트워크 통신이 일어나는 과정을 7단계로 나눈 국제 표준화 기구(ISO)에서 정의한 네트워크 표준 모델.
네트워크 통신의 각 과정을 계층별로 개념화한 모델이라,
OSI 7계층의 경우 각 계층의 구간벼로 데이터의 움직임을 알 수 있고, 장치간의 데이터 통신을 설명하는데 유용하게 활용
더 나아가 통신 과정에서 발생한 문제를 추적해 해결할 수 있는 것도 개념화된 네트워크 계층 덕분임.
하위계층으로 갈수록 하드웨어에 가까워지고,
상위계층으로 갈수록 소프트웨어에 더 가까워짐.
1~4 - 하위 / 5~7 - 상위
각 계층을 지날 때 마다 각 계층에서 Header가 붙게되고, / 7-> 1로 헤더붙임(캡슐화)
수신측은 역순으로 헤더를 분석/1계층에서 7계층으로 헤더 뗌(디캡슐화)
-> 각각의 층마다 인식을 할 수 있어야하기 때문
출발지에서 데이터가 전송될 때 헤더가 추가되는데,
2계층만 오류제어를 위해 꼬리부분에 추가.
물리계층에서 1,0의 신호가 되어 전송매체(동축케이블, 광섬유 등)을 통해 전송

1계층 - 물리계층(Physical Layer)
- 주로 전기적, 기계적, 기능적인 특성을 이용해 통신 케이블로 데이터를 전송하는 물리적인 장비
- 단지 데이터 전기적인 신호(0, 1)로 변환해서 주고받는 기능만 함 -> 알고리즘, 오류제어 기능 XXX
- 이 계층에서 사용되는 통신 단위: 비트(Bit) -> 1과 0으로 나타냄, 즉 전기적으로 On, Off 상태
- 장비: 통신 케이블, 리피터, 허브 등..
시스템의 물리적 전기적 표현을 나타내는 층.
케이블 종류, 무선 주파수 링크, 핀, 전압 등 물리적인 요건 의미
라우터나 스위치의 전원이 켜져있는지, 케이블이 제대로 연결되어 있는지 여부 등
2계층 - 데이터 링크계층(DataLink Layer)
- 물리계층을 통해 송수신되는 정보의 오류와 흐름을 관리해 안전한 통신의 흐름을 관리
(Point-To-Point 전송)
- 프레임에 물리적 주소(MAC address)를 부여하고 에러검출, 재전송, 흐름제어 수행
- 이 계층에서 전송되는 단위: 프레임(Frame) - 데이터 단위
- 장비: 브리지, 스위치, 이더넷 등(여기서 MAC주소 사용)
-> 브릿지나 스위치를 통해 맥주소를 가지고 물리계층에서 받은 정보 전달
직접적으로 연결된 두 개의 노드 사이에 데이터 전송을 가능하게 하고,
물리계층에서 발생한 오류를 수정하기도 함.
대부분의 스위치는 2계층에서 작동
3계층 - 네트워크 계층(Network Layer)
- 중계 노드를 통해 전송하는 경우 어떻게 중계할 것인가 규정
- 라우팅 기능을 맡고 있는 계층, 목적지까지 가장 안전하고 빠르게 데이터를 보내는 기능을 가짐(최적의 경로 설정 가능)
- 데이터를 목적지까지 가장 안전하고 빠르게 전달
- 라우터(Router)를 통해 경로를 선택하고 주소를 정하고(IP) 경로(Route)에 따라 패킷 전달 -> IP 헤더 붙음
- 이 계층에서 전송되는 단위: 패킷(Packet) - 데이터 단위
- 장비: 라우터, L3 스위치
네트워크 핵심인 라우팅(데이터가 가야할 길을 찾는 기능)의 대부분이 3계층에서 작동.
여러 대의 라우터들을 바탕으로 데이터를 패킷 단위로 잘게 쪼개어 전송
데이터가 전송될 수 있는 수 많은 경우의 수중 가장 효율적인 라우팅 방법을 찾는 것 또한 이 단계에서 가능
4계층 - 전송 계층(Transport Layer)
- 송신자와 수신자 간의 신뢰성있고 효율적인 데이터를 전송하기 위해 오류검출 및 복구, 흐름 제어와 중복검사 등 수행
- 데이터 전송을 위해 Port 번호 사용(대표 프로토콜: TCP, UDP)
- port 번호, 전송방식(TCP/UDP) 결정 -> TCP 헤더 붙음
* TCP: 신뢰성, 연결지향적
- 두 지점간의 신뢰성 있는 데이터를 주고 받게 해주는 역할
- 신호를 분산하고 다시 합치는 과정을 통해 에러와 경로 제어
- 전송 계층에서 데이터 단위 - 세그먼트(Segment)
보내고자 하는 데이터 용량, 속도, 목적지를 처리.
전송계층의 가장 대표적인 것 - 전송 제어 프로토콜(TCP)
TCP?
인터넷 프로토콜(IP) 위에 구축되어 TCP/IP 로 알려짐
5계층 - 세션 계층(Session Layer)
- 통신 장치 간 상호작용 및 동기화 제공
- 연결 세션에서 데이터 교환과 에러 발생 시의 복구 관리
- 주 지점간의 프로세스 및 통신하는 호스트 간의 연결 유지
- TCP/IP 세션 체결, 포트번호를 기반으로 통신 세션 구성
- API, Socket
실제 네트워크 연결이 이루어짐.
두 대의 기기가 '대화'하기 위해서 하나의 '세션'이 열려야함.
세션 계층에서는 프로세스간의 통신을 제어, 통신 과정이 진행될 때 동기화를 유지하는 역할을 함.
6계층 - 표현 계층(Presentation Layer)
- 세가지 기능
1. 송신자에서 온 데이터를 해석하기 위한 응용계층 데이터 부호화, 변화
- 수신자에서 데이터의 압축을 풀 수 있는 방식으로 된 데이터 압축
- 데이터의 암호화와 복호화
(MIME 인코딩이나 암호화 등의 동작이 표현계층에서 이루어짐.
EBCDIC로 인코딩된 파일을 ASCII로 인코딩된 파일로 바꿔주는 것이 한가지 예)
- 전송하는 데이터의 표현방식을 결정(ex. 데이터변환, 압축, 암호화 등)
- 파일인코딩, 명령얼르 포장, 압축, 암호화
- JPEF, MPEG, GIF, ASCII 등
응용프로그램 형식을 네트워크 형식으로 변환하거나 그 반대의 경우가 일어남.
응용프로그램 혹은 네트워크를 위해 데이터를 표현하는 계층임.
ex) 데이터를 안전하게 주고 받기위한 암호화/복호화 과정
7계층 - 응용 계층(Application Layer)
- 사용자와 가장 밀접한 계층, 인터페이스 역할
- 최종 목적지로, 응용 프로세스와 직접 관계하여 일반적인 응용 서비스 수행(ex. explore, chrome 등)
- HTTP, FTP, SMTP, POP3, IMAP, Telnet 등과 같은 프로토콜이 있다.
- 전자메일, 인터넷, 동영상 플레이어 등
사용자가 네트워크에 접속할 수 있도록 인터페이스 제공
사용자에게 가장 직접적으로 보이는 부분
각 계층 대표 프로토콜
프로토콜?
컴퓨터 내부에서, 또는 컴퓨터 사이에서 데이터의 교환 방식을 정의하는 규칙 체계

TCP/IP 4계층?
OSI 7계층보다 먼저 나온 규격이나 현재 더 많이 사용.

1계층 - 네트워크 액세스 계층(Network Access Layer)
- OSI 7계층의 물리계층(1)과 데이터 링크 계층(2)에 해당
- TCP/IP 패킷을 네트워크 매체로 전달하는 것과 네트워크 매체에서 TCP/IP 패킷을 받아들이는 과정 담당
- 에러 검출 기능(Detecting errors), 패킷의 프레임화(Fraimg packets)
- 네트워크 접근 방법, 프레임 포맷, 매체에 대해 독립적으로 동작하도록 설계
- 물리적인 주소로 MAC 사용
- LAN, 패킷망, 등에 사용
2계층 - 인터넷 계층(Internet Layer)
- OSI 7계층의 네트워크 계층(3)에 해당
- 어드레싱(addressing), 패키징(Packaging), 라우팅(routing) 기능을 제공
- 네트워크상 최종 목적지까지 정확하게 연결되도록 연결성 제공
- 프로토콜 종류 - IP, ARP, RARP
3계층 - 전송 계층(Transport Layer)
- OSI 7계층의 전송 계층(4)에 해당
- IP와 Port를 이용하여 프로세스와 통신
- 애플리케이션 계층의 세션과 데이터그램(datagram) 통신서비스 제공
- 통신 노드 간의 연결을 제어하고, 신뢰성 있는 데이터 전송을 담당
- 프로토콜 종류 - TCP, UDP
4계층 - 응용 계층(Application Layer)
- OSI 7계층의 세션 계층(5), 표현 계층(6), 응용 계층(7)에 해당
- 프로그램(브라우저)가 직접 상호작용하는 레이어. 데이터를 처음으로 받는 곳
- 다른 계층의 서비스에 접근할 수 있게 하는 애플리케이션 제공
- 애플리케이션들이 데이터를 교환하기 위해 사용하는 프로토콜 정의
- HTTP, SMTP 등의 프로토콜 가짐
- TCP/UDP 기반의 응용 프로그램 구현 시 사용
- 프로토콜 종류 - FTP, HTTP, SSH