모두의 네트워크 🕶

On a regular basis·2021년 9월 17일
0

모두의 네트워크

목록 보기
5/9
post-thumbnail

🕶 <모두의 네트워크>를 읽고 학습한 내용을 정리한 포스트입니다! 화이팅! 🕶

5. 네트워크 계층: 목적지에 데이터 전달하기

17) 네트워크 계층의 역할
✍️ 네트워크 간의 연결 구조

  • 목적지로 데이터를 전달하려면 네트워크 계층의 기술이 필요함!
  • 데이터 링크 계층에서는 이더넷 규칙을 기반으로 데이터의 전송을 담당함. 😯 그래서 같은 네트워크에 있는 컴터로는 데이터를 전송할 수 있는데, 인터넷이나 다른 네트워크로는 데이터를 전송할 수 없음! 😯
  • 네트워크 간 통신을 가능하게 하는 것! 네트워크 계층의 역할임! -> 요기서 🌷라우터🌷라는 네트워크 장비가 필요함!
  • 라우터: 데이터의 목적지가 정해지면 해당 목적지까지 어떤 경로로 가는 것이 좋은지 알려주는 기능!
  • 네트워크에서도 주소가 있어야 데이터를 보냄! 랜에서는 MAC 주소만으로도 통신가능 but 다른 네트워크에는 데이터를 보낼 수 없음. 그 주소를 IP 주소라고함 !
    • IP 주소: 어떤 네트워크의 어떤 컴퓨터인지를 구분할 수 있도록 해주는 주소
    • IP 주소만 있다면 다른 네트워크에 있는 목적지를 지정할 수 있음. 하지만, IP 주소로 목적지를 지정하는 것뿐만 아니라 데이터를 어떤 경로로 보낼지도 결정해야 함. 이처럼 목적지 IP 주소까지 어떤 경로로 데이터를 보낼지 결정하는 것을 라우팅(Routing). 이 결정을 라우터가 수행하는데 라우터에는 라우팅 테이블(Routing Table)이 있어서 경로 정보를 등록하고 관리함!

✍️ IP란?

  • 네트워크 계층에는 IP라는 프로토콜이 있음.
  • 네트워크 계층에서는 캡슐화할 때 IP헤더를 붙임(데이터링크계층에서 이더넷 헤더 붙인 것처럼!!)
  • 기억해둘 것!: 출발지 IP주소와 목적지 IP주소!
  • IP 프로토콜을 사용해 캡슐화할 때 데이터에 IP 헤더가 추가되는데 이렇게 만들어진 것을 IP 패킷이라고 함!
  • 데이터 링크 계층에서는 프레임, 네트워크 계층에서는 패킷!

18) IP주소란?

  • 우편물을 보내려면 주소가 필요하듯, 데이터를 다른 네트워크의 목적지로 보내려면 IP 주소가 필요함!
  • IP 주소는 인터넷 서비스 제공자에게 받을 수 있음! 이건 마치 통신사와 같은 개념이라고 생각하면 됨 ^^ 우리나라에선 KT, SKT, LG U+ 등등.
  • IP 주소 버전: IPv4(32비트), IPv6(128비트)
    (인터넷이 널리 보급되면서 IP 주소가 부족해졌고 현대에는 128비트로 구성된 IPv6를 많이 사용)
  • IP 주소: 공인 IP 주소, 사설 IP 주소
    -> 공인 IP 주소는 인터넷 서비스 제공자(ISP)가 제공.(IPv4 주소는 주소의 수가 고갈될 수 있기 때문에 인터넷에 직접 연결되는 컴퓨터나 라우터에는 ISP가 제공하는 공인 IP 주소를 할당하고 회사나 가정의 랜에 있는 컴퓨터에는 사설 IP 주소를 할당)
  • 랜 안에 컴퓨터가 여러대 있지만 공인 IP 주소를 컴퓨터 한 대당 할당하면 한정되어 있는 주소가 빨리 소진될 것. 따라서, 공인 IP 주소는 라우터에만 할당하고 랜 안에 있는 컴퓨터들에는 랜의 네트워크 관리자가 사설 IP 주소를 할당하거나 라우터의 DHCP(Dynamic Host Configuration Protocol) 기능을 사용하여 IP 주소를 자동으로 할당. 이런 방식으로 공인 IP의 주소를 절약할 수 있음!

  • IPv4주소는 32비트이며 32비트를 8비트로 단위로 나눠서 표현하는 것을 옥텟(Octet)이라고 하는데 32비트를 4개의 옥텟으로 나누어 10진수로 표현!


-> 이렇게 썼지만 실제 IP 주소는 2진수로 되어있음!

  • IP주소: 네트워크ID('어떤 네트워크인지'를 나타냄), 호스트ID('해당 네트워크의 어느 컴퓨터인지'를 나타냄)
    🌹IP 주소 = 네트워크 주소(네트워크 ID) + 호스트 주소(호스트 ID)🌹

19) IP주소의 클래스 구조
✍️ IP 주소 클래스란?

  • IP 주소는 네트워크 주소를 크게 만들거나 호스트 주소를 작게 만들어 네트워크 크기를 조정할 수 있음. 이 네트워크 크기는 클래스(Class)라는 개념으로 구분!

    • 일반 네트워크에서는 A~C 클래스를 사용!
    • A Class는 처음 8비트가 네트워크ID, 다음 24비트가 호스트ID.
    • B Class는 처음 16비트가 네트워크ID, 다음 16비트가 호스트ID.
    • C Class는 처음 24비트가 네트워크ID, 다음 8비트가 호스트ID.
  • 주의! 공인 IP 주소와 사설 IP 주소가 정해져 있다!

  • 공인 IP 주소

  • 가정 LAN에서는 주로 C 클래스의 사설 IP 주소인 192.168.X.X가 주로 사용.
  • 참고:
    😯 공인 IP: 전 세계에서 유일한 IP로 ISP가 제공하며 외부에 공개되어 있기 때문에 인터넷에 연결된 다른 장비로부터 접근이 가능하다.
    😯 사설 IP: 한 네트워크 안에서 사용되는 IP 주소 IPv4의 부족으로 인해 모든 네트워크가 공인 IP를 사용하는 것은 불가능하기 때문에 네트워크 안에서 라우터를 통해 할당받는 가상의 주소이다. 외부에서 접속할 수 없다.

20) 네트워크 주소와 브로드캐스트 주소의 구조
✍️ 네트워크 주소와 브로드캐스트 주소란?

  • IP 주소: 네트워크 주소, 브로드캐스트 주소
    -> 이 두 주소는 특별한 주소로 컴퓨터나 라우터가 자신의 IP로 사용해서는 안 됨!
  • 네트워크 주소는 호스트 ID가 0(2진수로 00000000)인 주소이고 전체 네트워크에서 작은 네트워크를 식별하는데 사용. 즉, 그 작은 네트워크를 대표하는 주소가 되는 것!
  • 브로드 캐스트 주소는 호스트 ID가 255(11111111)인 주소. 해당 네트워크에 있는 컴퓨터나 장비 모두에게 한 번에 데이터를 전송하는데 사용되는 IP 주소. 즉, 해당 네트워크에 데이터를 전송하려면 호스트 ID에 255를 설정하면 된당! 전체 네트워크의 대표 주소라고 생각하면 됨 !
    -> 네트워크 주소와 브로드캐스트 주소는 자신의 IP 주소로 설정하면 안된당 ! 😨

21) 서브넷의 구조
✍️ 서브넷이란? 네트워크를 분할하는 것!

  • A 클래스의 대규모 네트워크를 작은 네트워크로 분할하여 브로드캐스트로 전송되는 패킷의 범위를 줄일 수 있는데, 이처럼 네트워크를 분할하는 것을 서브넷팅(Subneting)이라고 하고, 분할된 네트워크를 서브넷(Subnet)!

    -> 원래 호스트ID에서 비트를 빌려 서브넷으로 만들 수 있는 것!

✍️ 서브넷 마스크란?

  • 위에서처럼, IP 주소를 서브넷팅하면 어디까지가 네트워크 ID이고 어디부터가 호스트 ID를 판단하기 힘들다. 이를 위해 서브넷 마스크라는 값을 사용!
  • 서브넷 마스크: 네트워크 ID와 호스트ID를 식별하기 위한 값! 이 값은 프리픽스(Prefix) 표기법으로 사용할 수 있는데 슬래시(/)로 비트 수를 나타냄!
    ex) 예를 들어, C 클래스 IP 주소를 서브넷팅해보면 C 클래스는 일반적으로 네트워크 ID가 24비트. 하지만, 호스트 ID에서 4비트를 빌려 네트워크 ID를 28비트로 만들면 네트워크 ID는 24비트, 서브넷 ID는 4비트, 호스트 ID는 4비트가 된당. 결국, 255.255.255.240/28로 표현할 수 있음!
    -> 즉, 서브넷 마스크는 IP 주소의 네트워크 부분만을 나타나게 하여 같은 네트워크인지 판별하게 하는 마스크.

22) 라우터의 구조
✍️ 라우터란?: 서로 다른 네트워크와 통신하기 위한 장치

  • 스위치나 허브는 네트워크를 분리할 수는 없음. 근데 라우터는 네트워크 분할 가능! 컴터1이 다른 네트워크에 데이터를 전송하려면 라우터의 IP 주소를 설정해야 함. 이걸 기본 게이트웨이라고 함!
  • 근데 왜 라우터 IP 주소를 설정해야하지? 컴터1은 다른 네트워크로 데이터 보낼 때 어디로 전송해야하는지 알지못해. 그래서 네트워크의 출입구를 지정하고 일단은 라우터로 데이터를 전송함.
  • 기본 게이트웨이는 컴퓨터의 네트워크를 설정하는 화면에 있음. 윈도우 10의 경우 "자동으로 IP 주소 받기"를 체크하면 기본 게이트웨이가 자동으로 설정됨!
  • 여기서 추가로 라우터의 라우팅(Routing) 기능이 필요!

2) 라우팅이란?

  • 경로 정보를 기반으로 현재의 네트워크에서 다른 네트워크로 최적의 경로를 통해 데이터를 전송! 이 경로 정보가 등록되어 있는 테이블이 라우팅 테이블! (각 라우터의 라우팅 테이블에 경로 정보가 등록되어 있어서 라우팅이 가능.)
  • 라우팅 테이블에 경로 정보를 등록하는 방법은 수동 등록자동 등록이 있음! 수동으로 등록하는 방법은 소규모 네트워크에 적합하고, 자동으로 등록하는 방법은 대규모 네트워크에 적합. 자동으로 등록하는 방법은 라우터 간에 경로 정보를 서로 교환하여 라우팅 테이블 정보를 자동으로 수정해 줌.
  • 이처럼 라우터 간에 라우팅 정보를 교환하기 위한 프로토콜을 라우팅 프로토콜(Routing Protocol)이라고 함. 이 라우팅 프로토콜을 설정하여 라우터 간에 경로 정보를 서로 교환하고 그것을 라우팅 테이블에 등록해 나감. 라우팅 프로토콜에는 RIP, OSPE, BGF 등이 있고 각각 다른 특징을 가지고 있음.

출처: https://almotjalal.tistory.com/98?category=961085

profile
개발 기록

0개의 댓글