네트워크 계층(OSI 7계층 & TCP/IP 4계층)

trevor1107·2022년 8월 21일
0

네트워크

목록 보기
1/6
post-thumbnail

이미지 출처: https://velog.io/@xldksps4/OSI-7%EA%B3%84%EC%B8%B5

OSI(Open Systems Interconnection) 7계층

국제표준화기구(ISO)에서 개발한, 네트워크 통신을 단계별로 계층을 나눈 모델이다. 각 계층은 독립적인 역할을 부여 받아 동작한다. 그래서 특정 계층에 문제가 발생하면 그 계층의 문제만 해결하면 된다. 계층을 나눈 이유는 통신이 일어나는 과정을 단계별로 파악할 수 있기 때문이다.

계층별 역할과 특징

Layer 7 응용(Application)

사용자가 네트워크에 접근할 수 있도록 서비스를 제공한다. HTTP, FTP, DHCP, POP3 등의 프로토콜이 이 계층에 포함된다. 브라우저, 메일 시스템 등을 통해 해당 프로토콜을 용이하게 사용할 수 있게 해준다.

Layer 6 표현(Presentation)

데이터를 어떻게 표현할지 정하는 역할을 가지고 있는 계층이다. 응용 계층으로부터 받은 데이터를 읽을 수 있는 형식으로 변환한다. 데이터의 인코딩, 디코딩, 암호화, 복호화등의 기능을 수행한다. 확장자의 개념이 여기서 사용되는데, JPEG, MPEG, ASCII, MIDI 등이 여기에 포함된다.

Layer 5 세션(Session)

응용 시스템 간의 세션을 관리한다. 모든 통신 장치 간에 연결을 설정하고 관리 및 종료한다. 송신자와 수신자 간의 통신을 위해 동기화 신호를 주고 받는다. 통신 방식(단순, 반이중, 전이중)을 결정한다. 포트 연결이라고도 하며, SSH, TLS(SSL) 등이 대표적인 프로토콜이다.

Layer 4 전송(Transport)

하위 계층으로 신뢰할 수 있는 데이터 전송을 주 목적으로 한다. 송신자와 수신자 간의 논리적 연결을 수행한다. 연결 지향 데이터 스트림 지원, 신뢰성, 흐름 제어, 그리고 다중화 같은 편리한 서비스를 제공한다. 전송 단위는 Segment이며, 대표적으로 TCP, UDP 프로토콜이다. 데이터 단위는 세그먼트(Sagment)이다.

Layer 3 네트워크(Network)

데이터를 목적지까지 가장 안전하고 빠르게 전달하는 기능(라우팅)이다. 라우터를 통해 경로를 선택하여 IP주소를 지정하고 경로에 따라 패킷을 전달해준다. 장비로는 라우터가 있다. IP, ICMP, ARP 등의 프로토콜이 이 계층에 해당한다. 데이터 단위는 패킷(Packet)이다.

물리 계층으로 송수신되는 정보의 오류와 흐름을 관리하여 안전한 정보의 전달을 수행할수록 도와주는 역할을 한다. 프레임에 Mac 주소를 부여하고 에러 검출, 재전송, 흐름제어를 진행한다. 장비로는 브릿지와 스위치가 있다. 데이터 단위는 프레임(frame)이다.

Layer 1 물리(Physical)

데이터를 전기적인 신호로 변환해서 주고 받는 기능을 수행한다. 데이터가 무엇인지, 어떤 에러가 있는지 등에는 전혀 신경 쓰지 않는다. 장비로는 통신 케이블, 허브, 리피터가 있다. 데이터 단위는 비트(0,1)이다.

자세한 설명 추천 영상!
https://www.youtube.com/watch?v=1pfTxp25MA8

TCP/IP 4계층

계층별 역할과 특징

Layer 4 응용(Application)

OSI 5~7계층에 해당, 사용자-소프트웨어 간 소통을 담당하는 계층이다. 서버나 클리아이언트 응용 프로그램이 동작하는 계층이다. FTP, TFTP, Telnet, SMTP, DNS, HTTP 등의 프로토콜 및 서비스가 해당 계층에 속한다.

Layer 3 전송(Transport)

OSI 4계층에 해당, 데이터의 전송 및 흐름에 있어서 신뢰성 보장을 담당하는 계층이다. TCP, UDP 프로토콜이 해당 계층에 속한다.

Layer 2 인터넷(Internet)

OSI 3계층에 해당, IP를 사용하여 발신지와 목적지 까지의 라우팅 경로를 결정하고 패킷을 전송하는 계층이다.

Layer 1 네트워크 연결(Network Access)

OSI 1~2계층에 해당, 노드간의 신뢰성 있는 데이터 전송을 담당하는 계층이다.

profile
프론트엔드 개발자

0개의 댓글