section 0 - intro

Last updated - 2023년 08월 01일 Edit Source

    인프런 널널한 개발자님의 네트워크 핵심이론 - 기초를 정리한 노트


    # Layer와 Layered 구조

    IT 업계에서는 어떤 구성요소도식화 할 때 계층적 구조를 이루도록 설계하는 경우가 많다.

    • Layered 구조로 무언가를 나열하여 도식화하는 것은 이해를 돕기 위한 행동
    • 보통, 요소들 간의 관계를 표현하기 위해 도식화를 많이 한다.
    • 상위 계층은 하위 계층에 의존적이다.
      • 행위, 기능에 관하여 의존적

    좀 더 나아가서, 존립에 관하여 의존적일 수 있다. 즉, 상위 계층이 존재하려면 하위 계층이 반드시 전제되어야 하는 상황일 수도 있는 것이다.

    • 이 과정에서 계층이 직렬화되면, 이는 Layered 구조를 가지는 것이다.
    • OSI 7 Layer와 연관지어 생각해보면, 물리적인 상황인 1계층 없이 위의 계층이 존재할 수 있을까? 존재 못하겠지.


    # 네트워크와 네트워킹

    네트워크, 네트워킹을 번역하기 굉장히 애매하지만, 네트워크는 관계, 네트워킹은 상호작용으로 이해해보면 어떨까?

    내가 홍길동과 대화를 하려는 상황이라고 생각해보자.

    1. 소리는 공기 중을 타고 전달되어야겠네. 2m 이내처럼 짧은 거리면 좋겠네
    2. 말을 통해 전달해보자
    3. 언어는? 한국어로 말해보자.

    이 모든 과정이 협의가 되면 그제서야 상호작용이 가능하게 되는 것이다. Layer를 이루게 되면서 하위 계층이 존재한다는 전제하에 상위 계층이 존재할 것이고. 상위 → 하위로 의존관계 또한 형성되겠군. 바로 Layered 구조이겠군.

    이렇게 협의하는 과정을 규칙을 정한다고 하여 Protocol 이라고 한다.



    # User mode와 Kernel mode


    • NIC (Network Interface Card, LAN Card) 와 같은 하드웨어를 제어하기 위한 소프트웨어가 존재하는데, 그것을 Driver 라고 부른다.
    • 운영체제의 커널 수준에 프로토콜로 구현된 형태가 TCP/IP
    • User 수준에서 Kernel 수준으로 말을 전달하려면, 어떤 인터페이스를 통하여야 한다.
      • 인터페이스의 형태는 File 형태로 되어있음
      • 그러나, 특별하게 TCP/IP를 추상화시킨 인터페이스 파일은, 파일이라 하지않고 소켓(socket)이라고 부른다. 이 말은, 소켓도 그냥 파일이라는 말도 되긴 하겠네 !

    Comment