OSI 7계층_네트워크 통신의 통상적 모델

Chaejung·2022년 7월 15일
0

기술면접대비_CS

목록 보기
1/8
post-thumbnail

OSI 7계층

Open Systems InterConnection

컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 것

통신이 일어나는 과정을 단계별로 알 수 있고, 특정한 곳에 이상이 생기면 그 단계만 수정할 수 있기 때문에 분류

현대 인터넷은 OSI 기반이 아니고, 더 간단한 TCP/IP 모델을 기반으로 하지만 OSI 7계층 모델을 아직 널리 쓰이고 네트워크 동작 시각화에 유용하다. 3

OSI model

[출처: 3]

1. 물리 계층 (physical layer)

Repeaters, Cables, Hubs

하드웨어

디지털 비트를 전기, 라디오 또는 광학 신호로 변환해서 주고받는 기능을 진행하는 공간

단순한 데이터 전달의 역할을 할 뿐이라 알고리즘, 오류제어 기능 부재 2

Bridge, Switch

  • 데이터 단위: Frame 2

네트워크 상 두 물리적 연결된 노드 간 데이터 전송을 제공, 에러검출, 재전송, 흐름제어를 진행

물리 계층에서 발생할 수 있는 오류를 찾아내고 수정

주소값은 네트워크 카드에 바인딩된 MAC(Media Access Control)주소를 부여하여 물리적으로 할당

3. 네트워크 계층(network layer)

Router, IP, ARP

  • 데이터 단위: Packet 2

(ARP: IP 주소를 물리적 주소로 대응시키기 위해 사용되는 프로토콜)

데이터를 목적지까지 가장 안전하고 빠르게 전달하는 기능을 담당

주요 기능 2가지: 3
1. segment -> packet 쪼개기, 수신 종단에 packet 재조립
2. 물리 네트워크 간 최적의 경로 발견하여 packet 라우팅

주소값은 논리 주소에 해당 -> IP 주소: 네트워크 관리자가 직접 주소를 할당

라우터를 통해 이동할 경로를 선택하여 IP 주소를 지정하고, 해당 경로에 따라 패킷을 전달

4. 전송 계층(transport layer)

TCP: 신뢰성, 연결지향적
UDP: 비신뢰성, 비연결성, 실시간

  • 데이터 단위: Segment 2

예시 프로토콜을 통해 통신을 활성화

포트를 열어두고, 프로그램들이 전송을 할 수 있도록 제공

에러 제어, 올바르지 않은 정보 시 재요청을 담당

상위 계층들이 전달의 유효성이나 효율성을 생각하지 않도록 해주는 역할

5. 세션 계층(session layer)

API, Socket

양 끝단의 응용 프로세스 간 통신을 관리

TCP/IP 세션을 만들고 없애는 책임이 있는 계층

데이터가 통신하기 위한 논리적 연결을 담당

6. 표현 계층(presentation layer)

JPEG, MPEG

데이터 표현에 대한 독립성을 제공하고 암호화하는 역할

통신하는 두 기기 간의 파일 인코딩, 명령어 포장, 압축, 암호화를 담당

7. 응용 계층(application layer)

HTTP, FTP, DNS

응용 프로세스와 직접 관계해 일반적인 응용 프로세스를 수행

사용자 인터페이스, 전자우편, 데이터베이스 관리 등의 서비스 제공

OSI vs. TCP/IP Model

OSI vs. TCP/IP

[출처: 3]

Transfer Control Protocol/Internet Protocol는 OSI 모델보다 오래됐고, 핵심 차이점은 OSI보다 간결하고, 몇 계층을 하나로 묶었다는 점!

OSITCP/IP
5, 6, 7Application Layer
1, 2Network Access Layer
해당 계층에서 시퀀싱과 인지 기능을 담당하지 않고 transport layer에서 이를 담당
일반적이고, 모든 형태의 네트워크 통신을 아우를 수 있는 프로토콜 독립 모델특정적이고, 표준 프로토콜의 기반이 되는 특정 통신 문제를 해결하기 위해 디자인된 기능 모델
어떤 간단한 어플리케이션은 7 계층을 모두 쓰진 않는다.
1, 2, 3 계층만 필수적
대부분 어플리케이션에서 모든 레이어를 사용

느낀 점

이전에 <학교에서 알려주지 않는 17가지 실무 개발 기술>를 읽으면서 들었던 키워드에 대해 정리해보았다. 당시에는 OSI? 네트워크? 이게 도대체 뭔데라는 생각과 함께 넘어갔지만, http/https를 심도있게 파보면서 이해해는 것이 필요하다는 생각이 들어 여러 자료를 보고 정리해 보았다.

비전공자에게 CS 지식이란 항상 어렵고도 난해하다. 출처가 불분명한 정보를 그대로 흡수하기에는 믿을 수가 없고 하지만 현재 알고 있는 것이 없어 이것이 맞는지조차 판단하기 어렵다.

따라서 그나마 공신력이 있다고 믿어지는 위키, 네트워크 기업 기술 블로그를 참고하였고 이에 상응하여 적절히 정리된 다른 기술 블로그를 함께 찾고 정리해보았다.

앞으로도 부족한 CS를 이렇게 정리하여 기록으로 남길 예정이다.
핵심은 최소 세 군데의 자료를 보고 정리한다!

혹시나 틀린 부분이 있다면 댓글 부탁드리겠습니다.

출처

[1]: OSI 모델

[2]: 네트워크_OSI 7 계층 (OSI 7 LAYER) 기본 개념, 각 계층 설명

[3]: OSI Model

profile
프론트엔드 기술 학습 및 공유를 활발하게 하기 위해 노력합니다.

0개의 댓글