요번 글은 OSI 7계층에 대해서 기본 개념과 컴퓨터 세상이 어떻게 존재하고 이루어져있는지 그림을 통해 알아보도록 하겠습니다. 제가 강의 듣고 있는 네트워크 핵심이론 기초 편에 지속적으로 나오는 그림이고, 컴퓨터를 이해하기에 적합한 그림이라고 생각됩니다. 알아보도록 합시다
우선 Software와 Hardware로 구분지을 수 있다.
Hardware란 쉽게 말해서, 우리의 컴퓨터를 의미한다. CPU, RAM, HDD, SDD, 기타등등 모든것을 하드웨어라고 생각하면 됩니다.
Software는 컴퓨터 내에서 돌고 있는 모든 프로그램을 소프트웨어라고 생각하면 된다. 윈도우부터 시작해서, 탐색기, 크롬, 게임 기타등등을 모두 software라고 생각하면 됩니다.
다음으로 User mode ,Kernel mode가 나오게 됩니다.
커널이란 이야기를 많이 들어봤을 것입니다. 커널이란, 하드웨어 resource를 컨트롤 해주는 중간체 역할이라고 하면 됩니다. 예를들어 보면, kernel이 존재하지 않는 상태에서 컴퓨터를 키면 어떻게 될까요? 그냥 컴퓨터 펜소리만 나고 아무일도 일어나지 않겠죠? ( 하드웨어 내장된 프로그램 정도만 작동하겟네요)
모니터,마우스,스피커, 기타 등등 모든 하드웨어와 소프트웨어를 연결시켜주는 것으로 간단하게 이해하면 될 거 같습니다.
(커널의 개념은 나중에 추가적으로 자세히 설명하도록 하겠습니다.)
User mode는 간단합니다. 현재 저희가 눈에 보이고 사용하는 모든 것들을 User mode라고 생각하면 됩니다.
이제 그림으로 들어가서 이야기해봅시다.
OSI 7 계층을 위에서 설명한 ( S/W,H/W ) , (User_mode / Kernel mode) 로 나눌 수 있습니다.
(완전 Hardware 영역인 물리 계층은 패스하고 넘어가도록 하겠습니다.)
위 그림을 OSI 7계층에 맞춰서 작성해보면 다음과 같습니다.
대표적인 Protocol들을 작성해 두었습니다.
DataLink-Layer 영역에는 Ethernet
Network-Layer 영역에는 Internet
Transport-Layer 영역에는 TCP/UDP
Session-Layer 영역에는 SSL
Presentation-Layer 영역은 skip..
Application-Layer 영역에는 HTTP
각 영역들이 각각 컴퓨터 세계에서 어떤 개념에 위치하는지 확인하면서 보니 7계층 개념을 조금 더 확실히 알게될 수 있었습니다.
구체적으로 S/W,H/W의 예를 들며 자세히 봐봅시다.( 그림에 일부 표시가 되어 있습니다 :) )
DataLink-Layer에 NIC 라는 네트워크 인터페이스 카드 (Hardware) + 네트워크 드라이버(Sofeware)가 해당합니다.
cf) 컴퓨터 새로 OS깔면 Driver들 안깔면 아무것도 작동안하는걸 경험해보셨을 겁니다.(인터넷도 안되고, 소리도 안들리고 .. 기타등등)
다음으로 Network-Layer의 - 인터넷 대표적인 IP 프로토콜이 위치합니다.
우리가 만드는 컴퓨터의 대부분은 인터넷을 통해 작동합니다.
다음으로, Transport-Layer에 TCP,UDP가 있습니다.
특히, 이 TCP를 연결하기 위해 Socket Interface 이란것을 열어야 합니다
(파일 개념 / Kernel mode - User-mode를 연결 )
TCP, UDP 개념은 이후에 정리하도록 하고 넘어가보도록 하겠습니다.
그다음에 우리의 크롬에서 작동하는 계층은 Session,Presentation,Application layer 입니다.
직접 작동하는 hardware 및 software를 계층에 빗대어 설명하니, 조금 더 이해가 수월했을거라 생각합니다.
다음으로 각 계층에서 사용하는 "식별자" 라는 것에 대해서 알아봅시다.
식별자란 무엇일까요? 말 그대로 무언가를 식별하는데 사용하는 것 입니다.
각 네트워크 계층에 해당하는 식별자에 대해서 알아보겠습니다 :)
DataLink-Layer을 알아보겠습니다. (L2)
NIC를 식별하는 것이 바로 MAC 주소 (Physical address) 입니다.
#cf) MAC주소란 이야기는 많이 들었을 텐데 L2 계층에 NIC를 식별하는 주소라는 것을 이제서야 알게 됬네요 ..
Network-Layer을 알아보겠습니다. (L3)
L3계층의 식별자는 우리가 가장 많이 들어봤을 IP입니다.
Internet을 사용하는 컴퓨터를 식별하는 식별자입니다. (host의 식별자)
v4,v6 두가지 버전이 있고 다음 네트워크 글에서 정리해보도록 하겠습니다.
Transport-Layer을 알아보겠습니다. (L4)
우리가 또 많이 들어봤을 Port번호 입니다.
이 포트번호는 환경에 따라 여러가지 해석될 수 있습니다.
L1-L2 관련 일하시는 분들은 Port번호를 Lan 케이블을 연결하는 단자라고 이해합니다. ( 즉 Interface 식별자 )
L3-L4 관련 일하시는 분들은 Port 번호를 서비스 식별자로 이해합니다.
프로그램을 관리하는 분들은 Port 번호를 process 식별자로 이해합니다.
#cf) 저는 주로 L3-L4의 개념으로 Port 번호를 이해하고 있었는데, 다양한 관점이 있다는 것을 알게되었습니다.
간단한 OSI7 계층 정리였습니다. 이어지는 글에서 아래 Reference에서 작성되어 있는 강의를 듣고, 정리해보도록 하겠습니다
널널한 개발자님의 - 네트워크-핵심이론-기초