[네트워크] 네트워크를 배우려는 사람들을 위해

OSI 7 Layer 는 완벽하게 개념을 다루고 있다.

개념 vs 사실 

개념과 사실은 이상의 실체. 같은 의미. 

ex)사람과 김영희

만약 어떤 사람이 최호성과 친해지고 싶다고 하면, 사람에 대해서 공부하기 보다는 최호성을 공부해야 하는 것이다. 

 

TCP/IP + HTTP 는 완벽하게 구현이다. 하지만 OSI 7 Layer 는 추상적인 설명의 나열이다. 

실체에 대해 먼저 학습 해야 사람이란 무릇 어떻구나 라는 철학적인 답문을 할 수 있는 것이다.

 


 

OSI 7 Layer 

 

OSI 7Layer 는 이렇게 구성된다. 

 

 

 

DoD 4계층

DoD 에서는 이렇게 4개로도 나누기도 한다. 

 

 

 

 

 

여기서 process 가 있을 때 윈도우 수준에서 어떤 프로토콜이 구현되어 있다고 해보자.

 

process 밑에 커널에는 프로토콜이 구현되어있다. (TCP/IP 로 구현되어 있다고 가정)

하드워드에는 Network Interface Card(NIC) 이 있고, 그 위에는 그것을 움직일 수 있는 Driver가 존재한다.

 

커널을 ueser mode application 으로 추상화 할 때는 File  의 형태로 추상화 하는데, 이런 추상화에서, 이 파일을 file 이라고 부르지 않는다.

 

 

어떤 프로세스가 어떤 프로토콜을 (커널의 구성요소를) 추상화했는데, 그것이 네트워크에 관련된 것이면 우리는 이것을 socket이라고 부른다.

 

 

누군가 socket이 무엇이냐 라고 물으면, TCP IP 소켓이라고 했을 때, TCP를 user mode 어플리케이션 프로세스가 접근할 수 있도록 파일형식으로 추상화한 interface가 socket 이다! 라고 대답하면 된다.

 

 

어쨌든 OSI 7 Layer 든 DoD 에 의한 것이든 분류 기준은 있다. 중요한 것은 어떻게 구현이 되는가 이다. 그래서 구현에 관심을 가질 필요가 있다. 네트워크에서는 OSI 7계층보다 소켓이라는 실체를 공부하는 것이 더 중요하다.

 

 

OSI 7 Layer 가 무엇인지 너무 외우려 하지 말자. TCP/IP 를 공부하면 된다. 

 

 

참고로 각 계층은 식별자가 하나씩 있다. 

  • HW(Access) : MAC 주소 
  • Network : IP 주소 
  • Transport : Port 번호

그러니까 이들은 모두 '식별자' 이다.

 

 


ref :