OSI 7계층은 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것을 말함
네트워크 통신을 구성하는 요소를 7개의 계층으로 표준화 한 것으로 개방형 시스템 상호 연결 모델의 표준이다.
통신이 일어나는 과정을 단계별로 파악하기 위해서
그렇게 되면 흐름을 한눈에 알아보기 쉽고, 사람들이 이해하기 쉽고, 7단계 중 특정한 곳에 이상이 생기면 다른 단계의 장비 및 소프트웨어를 건들이지 않고도 이상이 생긴 단계만 고칠 수 있기 떄문임
✔️ 전송 시 각 계층마다 인식할 수 있는 헤더를 붙임 = 캡슐화
✔️ 수신하면 헤더 떼어냄 = 디캡슐화
✔️ 계층 간 상하 구조를 가짐
✔️ 각 계층은 독립성을 띄고 있음
Bits
Frames
Packets
Segments
Data
현재 사용하는 모델은 TCP/IP Updated 입니다!
결국 위에 Application, Presentation, Session 부분만 합쳐져서 사용을 하고 있는 셈
✔️ Application layer는 어플리케이션 개발자에 의해 컨트롤 되지만, 나머지 계층들은 OS에 의해 컨트롤된다.
- 하는 일 : 물리적 매체를 통해 0과 1의 비트 흐름을 전송하기 위해 요구되는 기능들을 조정함
- 장비 : 케이블, 리피터, 허브
결국,
0과 1의 나열을 아날로그 신호로 변환하여 전선으로 흘려보내고 -> encoding
아날로그 신호가 들어오면 0과 1의 나열로 해석하여 -> decoding
물리적으로 연결된 두 대의 컴퓨터가 0과 1의 나열을 주고 받을 수 있게 해주는 모듈
✅ Physical Layer는 어디에 구현되어 있을까 ..?
✔️ PHY 칩
✔️ 결론적으로 하드웨어적으로 구현되어 있는 것
✔️ 위에서 언급한 encoding
decoding
모두 회로적으로 설계가 되어있다는 것
- 하는 일 : 데이터 통신 과정에서 오류가 없도록 노드 대 노드 간 정보 전송의 신뢰성을 보장함
- 장비 : 브릿지, 스위치
우리는 물리 계층을 통해서 두 대의 컴퓨터가 어떻게 통신하는지 알 수 있었음.
하지만 이 물리 계층만으로는 여러 대의 컴퓨터가 통신하도록 할 수 없음
이렇게 여러 컴퓨터가 거의 동시에 데이터를 보냈을 때 제대로 된 데이터를 추출할 수 있게 해주는 것
결국,
데이터 링크는 같은 네트워크에 있는 여러 대의 컴퓨터들이 신뢰성 있게 데이터를 주고 받기 위해서 필요한 모듈. 그냥 간단하게 데이터 전송을 하는 역할을 한다.
✅ 데이터 링크의 특징
데이터 링크 계층은 데이터 전송 + 오류 없이 데이터를 전송하고자 함
패킷
을 프레임
으로 구성)데이터 링크 계층의 대표적인 장비인 스위치는 각 장치마다 MAC주소 를 두어 정확한 장치로 데이터를 전송할 수 있게 함
✅ Data Link Layer는 어디에 구현되어 있을까 ..?
✔️ 랜카드
✔️ Data Link Layer도 Physical layer처럼 하드웨어적으로 구현되어 있는 것
- 하는 일 : 다중 네트워크 링크에서 패킷을 발신지로부터 목적지까지 성공적이고 효과적으로 전달함
- 주요 프로토콜 : IP, ICMP, IGMP, ARP
- 장비 : 라우터
데이터 링크 계층에서 노드 대 노드의 데이터 전달을 감독했다면 네트워크 계층은 데이터가 최종 목적지까지 어떤 경로를 통해 전달될 지 경로를 설정하는 역할 을 함
패킷을 최종 목적지까지 가장 빠르고 안전하게 전송할 수 있도록 하며 라우터를 사용해서 이 기능을 수행함
결국,
네트워크 레이어는 수많은 네트워크들의 연결로 이루어지는 inter-network 속에서 어딘가에 있는 목적지 컴퓨터로 데이터를 전송하기 위해
IP주소를 사용해서 길을 찾고 -> routing
자신 다음의 라우터에게 데이터를 넘겨주는 것 -> forwarding
✅ Network Layer는 어디에 구현되어 있을까 ..?
✔️ 운영체제의 커널에
✔️ 소프트웨어적으로 구현되어 있음
이제 인터넷 상의 모든 컴퓨터가 서로 서로 통신할 수 있게 되었다.
✔️ 이제 데이터를 받는 수신자는 전세계로부터 데이터를 받는다.
✔️ 그리고 컴퓨터에는 여러 프로그램들이 실행되고 있었다.
✔️ 이제 컴퓨터가 저 데이터들을 프로세스들한테 나누어 주려고 한다
=> 어떤 데이터를 어떤 프로세스한테 줄 지 어떻게 알까?
- 하는 일 : 종단 간 정보 전송의 신뢰성을 보장하고 오류를 복구하며 흐름을 제어함
- 주요 프로토콜 : TCP, UDP 등
- 장비 : 게이트웨이
전송 계층에서는 발신지와 목적지, 양 종단 간 정보 전송의 신뢰성을 보장하고 오류를 복구하며 흐름을 제어한다. 또한 데이터 통신 과정에서 오류가 발생했을 경우 이를 해결하고, 각 데이터 전송의 흐름을 제어하는 역할을 하게 됨
✔️ 신뢰성을 보장한다 ?
데이터가 정상적으로 전송됐는지 확인하고 정상적으로 전송되지 못한 데이터가 있다면 이를 재전송하여 누락되는 데이터가 없도록 보장한다는 의미임.
데이터를 제대로 프로세스에게 전달해주기 위해서는 포트번호 가 필요하다
- 하는 일 : 응용 프로세스를 통해 통신 세션을 구성함
- 주요 프로토콜 : TLS, SSH
세션 계층은 포트 연결을 통해 통신 장치 간의 상호작용을 설정하고 유지하며 동기화하는 역할을 한다.
- 하는 일 : 운영체제를 통해 입출력되는 데이터를 다른 표현 형태로 변환함
데이터를 다른 장치 모두가 이해할 수 있도록 번역을 함. 다른 장치에서도 내가 보낸 데이터가 내가 보낸대로 일관되게 출력되도록 하기 위한 계층임
- 하는 일 : 사용자와 직접 상호작용하며 인터페이스 역할을 수행함. 각 프로세스 간의 정보 교환을 담당함.
- 주요 프로토콜 : DNS, HTTP, FTP
우리가 사용하는 대부분의 프로그램들이 있는 계층임. 동영상 재생 프로그램이나 인터넷 브라우저 등 우리가 자주 사용하는 프로그램들 또한 이 계층에 포함되어 사용자가 네트워크에 접근할 수 있도록 도와주는 기능을 수행함.
출처 :