0부터 시작하는 네트워크 공부 - Datalink Layer & Network Layer

Jaehong Lee·2022년 6월 15일
0
post-thumbnail
  • 하나의 네트워크 대역에 존재하는 장비들의 Data를 전달하는 layer
  • Lan을 사용하며, 오류제어와 흐름제어도 한다
  • 다른 네트워크 갈려면 3layer로 가서 3layer의 주소와 프로토콜을 사용해야한다

1.1 주소

  • mac 주소 사용, mac 주소 앞자리는 제조사에서 부여하며, 동일한 제조사 일시 앞자기가 동일하다
  • mac 주소는 16진수로 표기하며, 무조건 6byte이고, 1바이트마다 :이나 -로 구분한다

1.2 프로토콜

  • 이더넷 프로토콜 : preamble은 1이 쭉 떠 있다가 마지막에 0이 써있으면 그 다음부터 시작이다. 그 다음부터, 도착지 6바이트, 출발지6바이트, 타입-해당 패킷에 어떤 프로토콜이 합쳐졌는지 표시 2바이트, 데이터 2바이트가 들어있다 (1바이트 : 8비트)

2. Network Layer

  • 다른 네트워크 대역까지 Data를 어떻게 전달하지 Routing을 통해 packet의 경로 제어. WAN으로 통신하며 4BYTE인 IP 주소를 사용한다
  • IP주소는 .으로 구분된다

2.1 주소

  1. IPv4 : 호스트의 PC에 할당된 IP주소
  2. 서브넷 마스크 : IP 주소에 대한 네트워크 대역을 규정하는 것
  3. 게이트웨이 주소 : 외부 네트워크와 통신시 사용하기 위한 게이트웨이의 주소

2.2 Classful IP

  • A~E 클래스로 구성되며 D,E는 멀티캐스트와 연구용이다
  • 주소 낭비가 심하다
  1. A 클래스 : 10진수, 맨 앞이 항상 0이며, 앞 8BIT는 대역폭, 나머지 24BIT는 호스트 부분이다.
  2. B 클래스 : 10진수, 맨 앞이 10으로 시작되며 앞 16BIT가 대역폭, 나머지 16BIT가 호스트이다

2.3 Classless IP

  • 서브넷 마스크를 이용해 네트워크 대역을 나누며, 사용하는 호스트 주소 범위를 1과 0의 경계를 통해 제어할 수 있다.
  • 서브넷 마스크가 11111111.11111111.11111111.00000000이라면 뒤 1BYTE로 호스트 주소를 나타내며, 이를 수정 시 네트워크를 나눌 수 있다

2.4 서브넷 마스크

  • 서브넷팅 : 서브넷 마스크를 기준으로 네트워크 대역폭과 해당 대역의 호스트 부분을 나누는 것이다. 서브넷 마스크가 00000000인 부분이 호스트 부분
  • 단, 서브넷 마스크는 1사이에 0이 오면 안된다
  • 서브넷 마스크를 변경하여 대역폭을 변경시키고자 할때, 서브넷 마스크의 0부분을 1로 바꿀때마다 사용가능한 호스트 대역폭은 절반씩 줄어든다. 이렇게 되면 사용가능한 네트워크 대역이 늘어난다 (111이면 001~111까지) . 이렇게 되면 각 네트워크 대역마다 네트워크id랑 브로드캐스트 주소, 게이트웨이 가 생김. 이걸 통해 대역폭아 나뉘기에 낭비를 더 줄일 수 있다.
  • ip에서 194.153.23.0/24에서 24는 네트워크 대역폭 bit로 서브넷 마스크를 통해 네트워크를 16개로 나눈다고 할때, 2의 4승이므로 앞에 4bit를 1로 바꾼다. 따라서 24는 28이 된다. /28

2.5 네트워크 ID 와 브로드 캐스트 주소

  • 네트워크 id : 호스트 부분이 모두 0으로 호스트가 사용할 수 없는 ip주소이다
  • 브로드 캐스트 주소 : 호스트 부분이 모두 1로 호스트가 사용 불가 ip
  • 호스트가 사용가능한 ip = 00000001(1)~11111110(254)중 가장 큰 254나 가장 작은 1은 게이트웨이 ip로 사용한다. 그러므로 256개의 ip중 호스트가 사용가능한 수는 253가지

3. 사설 IP 와 공인 IP

  • Classless IP의 IPv4 주소부족 문제를 보안하기 위해 나옴

3.1 공인 IP (Public)

  • 실제 인터넷상에서 로컬 네트워크를 식별하기 위해 ISP에서 제공해주는 IP 주소이다.

3.2 사설 IP (Private)

  • 일반 호스트에게 할당된 IP로 인터넷에 접속시 공인 IP를 통해 접속한다
  • 사설 ip는 외부에서 보이지 않기에 접속 불가능

3.3 사설 IP 에서 공인 IP에 접속하는 과정

  • 사설 ip에서 인터넷을 사용할때 Nat프로토콜을 통해 특정 사설ip를 특정 공인ip로 변환시켜 접속한다
  • 공유기에 Lan 다수와 외부용 하나의 Wan으로 구성, 인터넷 접속시 이 Wan을 통해 공인ip를 사용하여 접속

3.4 공인 IP에서 다른 사설 IP에 접속하는 과정

  • 네트워크 장비에는 게이트웨이 주소가 주어진다. 사용자가 알지 못하는 대역폭에 접속하기 위해 이 게이트웨이로 접속하는데, 이때, 네트워크 장비에서 공인ip로 바꿔서 인터넷에 접속하는데, 이때 인터넷 세상에서는 공인ip로만 통신해서 외부 네트워크 대역에서는 사설ip 대역이 보이지 않는다.
  • 이러한 사설 ip와 통신하려면 포트포워딩을 통해 네트워크 packet을 보낼때 상대 네트워크 장비에 먼저 보내어 특정 공인 포트로 들어온 요청을 특정 사설 포트와 사설 ip와 매핑시켜 사설 ip에 접속하게 한다

3.5 실습

  • 하이퍼 바이저 : 자원을 효율적으로 사용하기 위해 컴퓨터의 자원을 분할 할당 하여 하나의 가상환경을 구축. 운영체제도 설치해야한다. 운영체제이기에 시스템 자원을 사용한다. 허나, 컨테이너는 실행되고 있는 프로그램이므로 운영체제가 필요없다. 이로인해 하이퍼바이저는 어떤 운영체제도 설치할수 있으며 컨테이너는 운영체제가 필요없으므로 빠르고 가볍다.

  • 실험)

  1. 가상머신에서 호스트pc로 ping 가능
  2. 가상머신에서 타인 호스트 pc로 ping 가능 : 같은 네트워크 대역이기에 가능
  3. 가상머신에서 타인 호스트 pc의 가상머신으로 ping 불가능 : 외부에서는 사설 ip가 보이지 않는다. 따라서 타인의 가상머신은 타인의 사설ip이기에 보이지 않아서 통신이 안된다.
    • 가상 ip 동작 : 공인 ip -> 네트워크 장비 (게이트웨이 주소) -> 게이트웨이 주소 통해서 호스트의 사설 ip와 연결 -> 사설 ip가 가상환경의 nat 공유기에 연결 -> 가상 ip에 연결
    • 가상 네트워크 nat 공유기에 가상 네트워크 ip 설정시 nat의 게이트웨이는 가상 환경상에서 2로 설정됨 ( 1은 본체 컴퓨터에서 가상 IP가 가상 공유기를 통해 연결될 장치를 만들때 사용 )
    • 사설 ip의 게이트웨이 주소를 통해 가상 컴퓨터에 가상 사설 ip를 설정(nat 공유기의 네트워크 대역 범위내에서)
    • 반대로 가상 서버에서 호스트 컴퓨터의 사설 ip로 나가고, 호스트 컴퓨터에서 공인 ip로 나간다

3.6 ping pong 시 메세지

  1. 요청 시간이 만료되었습니다 : 요청이 도착했지만 응답이 안오는 상태(대부분 방화벽으로 인해)
  2. 대상 호스트에 연결할 수 없습니다 : 요청이 도착하지 못 한 것
profile
멋진 엔지니어가 될 때까지

0개의 댓글