네트워크를 위한 기초

Inys·2022년 12월 18일

네트워크에 가장 기본

한 장으로 정리하자면 다음과 같다.
어떻게 나누든 변하지 않는 것은 아래에서부터 H/W > Kernel > User로 나뉘는 구간이다.
한 장 정리

1. H/W 구간

  • OSI 7계층에서는 2구간(Physical, Datalink), TCP/IP에선 1구간(Network Access)로 나누어져있다.
  • 중요한 건 해당 구간에서는 'MAC'이라는 주소가 있다. (OSI 기준 L2에 해당한다.)
  • MAC 주소는 NIC(Network Interface Card) 식별자이며, 보통 LAN카드를 의미한다.
  • H/W에 박힌 식별 주소이기 때문에 LAN카드 수와 MAC 주소는 비례한다.
  • H/W에 박힌 식별 주소? > 변경 안됨? > 변경 가능함.
    H/W 구간이라 안된다고 생각할 수 있지만 할 수 있다. 나도 당연히 안 될줄 알았다.

2. Kernel Mode 구간

OSI 7계층과 TCP/IP에서 모두 동일하게 2구간(Network, Transport)로 나누어져있다.
또한 두 구간 모두 식별자를 가지고 있다.(IP주소, Port번호)

2-1. 네트워크 계층

  • Network 계층에서는 IP라는 주소가 있다.
  • IP 주소는 host 식별자이다.
    host는 인터넷에 연결된 컴퓨터를 말한다.
  • NIC 하나에 N개의 IP주소가 붙을 수 있다.(이를 보통 바인딩이라고 한다.)

2-2. 전송 계층

  • Transport 계층에서는 Port 번호가 있다.
  • Port 번호는 개발자 관점에서 Process 식별자이다.

3. User Mode 구간

해당 구간은 Application 계층이 주를 이룬다.
프로세스가 돌아가는 구간이라고 간단히 넘어가자.

실제 환경

한 장 그림에 세번째에 있는 그림으로 실제로 어떠한 것들이 구성하고 있는 지 설명한다.

  • H/W 구간에서는 NIC이 있으며 NIC과 같은 장치를 Kernel Mode에서 구동할 수 있도록 Device Driver가 있다.
  • Kernel Mode 구간에서는 TCP/IP가 있으며, 해당 TCP/IP를 User Mode Application이 접근할 수 있도록 Socket으로 추상화했다.
    Socket은 kernel mode 구간을 file 형태로 추상화한 인터페이스이다.
  • 따라서 User Mode 구간에서의 구동되어지는 Process는 해당 소켓을 사용한다.

더 공부할 부분
MAC 주소 변경 과정
NIC에 IP주소들이 바인딩하는 과정


참고

네트워크를 배우려는 사람들을 위해
MAC주소, IP주소, Port번호가 식별하는 것

profile
조용히 성장하기

0개의 댓글