CS 정리 | Network (1) | 식별자( Mac 주소, IP 주소, Port 번호) 그리고 호스트와 스위치

Konseo·2023년 10월 24일
0

네트워크

목록 보기
3/7

NULLNULL한 개발자님의 강의 및 구글링을 통해 찾은 자료를 바탕으로 기록합니다.
단순히 글을 옮겨적는 것이 아닌 제가 이해한 것을 바탕으로 저만의 설명을 적습니다.

들어가기 전 : 이상의 실체

우리는 TCP/IP의 네트워크 원리, 그리고 HTTP의 핵심 기능을 알아서 인터넷의 작동원리를 알고 싶은 것이며, 이들은 명백한 구현(실체)이다. OSI 7 계층은 실체를 만들기 위한 개념적 표현(이상)이다. 따라서 7계층을 단순히 암기하려는 데 신경쓰기보다는 실체에 더 집중할 필요가 있다. 이 점을 기억하고 네트워크 지식을 다져보자.

  • TCP/IP 모델은 OSI 7 계층 또는 DoD 모델의 구현체이다. TCP/IP 모델에 조금 더 집중해보자.
  • user 계층과 kernel 계층이 상호작용하기 위해선 interface가 필요하다
    • 그 interface를 socket 이라고 부르는데, 이는 file 형태로 추상화되었다.
    • 이렇게되면 user 계층에 있는 어플리케이션 프로세스가 TCP를 접근할 수 있게 된다.

식별자 (MAC 주소, IP 주소, Port 번호)

  • Mac 주소 : HW 계층(L2)에서의 식별자
  • IP 주소 : Network 계층(L3)에서의 식별자
  • Port 번호 : Transport 계층(L4)에서의 식별자

그렇다면 이들은 무엇을 식별하기 위해 탄생하였을까? 🙄

  • Mac 주소Network Interface Card(NIC) 를 식별하기 위함이다.
    • Mac 주소는 하드웨어 주소로도 불린다.
      • 그렇다면 Mac 주소는 변경 불가능한가?
        • NO. 변경 가능하다
    • 그럼 NIC가 무엇인가?
      • 쉽게 얘기하면 LAN 카드이다. (LAN 카드는 또 유/무선으로 나뉨)
      • 따라서 NIC 하나 당 고유의 Mac 주소를 갖고 있다.
    • NIC은 한 컴퓨터에 여러 개일 수 있나요?
      • YES. 따라서 NIC이 2개일 경우 Mac 주소도 2개를 갖고 있다.
  • IP 주소Host를 식별하기 위함이다.
    • IP 주소는 v4와 v6 두 가지 버전이 존재한다. (보통 v4를 사용)
    • 그럼 Host가 무엇인가?
      • Host는 인터'넷'에 연결된 컴퓨터를 의미한다.
    • IP 주소는 NIC 하나 당 여러개의 IP 주소를 바인딩할 수 있다.
  • Port 번호는 관점에 따라 다르다.
    • ⭐ 개발자 관점에서는 process를 식별하기 위함이다.
    • 네트워크 관리자 관점에서는 service 번호이다.
    • 통신공사 관점에서는 interface 번호이다.

Host, Switch, Network

  • Host
    • 인터'넷'에 연결된 컴퓨터라고 이미 언급한 바 있다. 즉 computer+net 이라고 생각하면 편하다.
    • Host는 network를 이용하는 주체이거나, newtwork 자체 두 가지로 나뉘게 된다.
    • network 이용 주체
      • end-point 라고도 한다. ( = 단말기 )
      • 대표적으로 peer, server, client 와 같은 역할로 나뉜다.
    • network 자체 ( = switch )
      • switch로 별도 분류된다.
      • 다시 얘기하면 network 자체를 이루고 있는 컴퓨터(호스트의 일종)인데, switch이므로 switching을 한다.
      • 대표적으로 router 가 있다.
      • 무엇을 위해 switching 하는가?
        • 보통의 경우 (A 장치에서 B 장치로 가는) 경로를 찾기 위해 switching을 한다.
      • 그렇다면 어떤 정보들을 통해 switching을 하는가?
        • 다양한 정보에 따라 switching이 가능하다.
          • Mac 주소를 통해 switching을 한다면 L2 switch
          • IP 주소를 통해 switching을 한다면 L3 switch (router)
          • Port 번호를 통해 switching을 한다면 L4 switch
          • 마지막으로 HTTP의 특정 정보를 통해 switching을 한다면 L7 switch
      • 가격은 user 계층으로 올라갈 수록 비싸진다.
        • 단순히 HW 계층에서 전기적 신호만을 가지고 경로를 찾을 것인지, 아니면 user 계층에서 복잡한 연산을 통해 경로를 찾을 것인지에 대한 차이가 있는 것이다.
      • 참고로, router 외에 방화벽이나, IPS 등도 switch로 분류된다.
        • 이들은 경로 추적이 아닌 보안 을 위해 switching을 한다.

그렇다면 network가 도대체 뭘까? 🙄

  • 개념적으로 접근한다면..
    • net+work의 합성어로, 두 대 이상의 컴퓨터들을 그물망(net)처럼 연결하고 서로 통신(work)하는 것이다
    • 독립적인 장치가 적절한 영역 내에서 적당히 빠른 속도의 물리적 통신 채널을 통해 서로가 직접 통신할 수 있도록 지원해 주는 데이타 통신 체계(IEEE에서 정의한 문장)이다.
  • 대표적인 network로는 internet이 있다
    • internet은 router와 dns의 집합체 이다.

조금만 더 생각해보자. 공유기는 switch일까? 🙄

공유기에 다양한 호스트들이 연결되어 있고, 공유기는 호스트들의 ip를 통해 경로를 추척하니 L3 switch 일 것 같다.

profile
둔한 붓이 총명함을 이긴다

0개의 댓글