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

진예·2023년 12월 17일
0

Network

목록 보기
5/8
post-thumbnail
post-custom-banner

💡 네트워크 계층 (Network Layer)

OSI 모델 3계층 : 다른 네트워크와 통신하기 위한 경로 설정(라우팅) 및 패킷 전송

앞서 데이터 링크 계층에서 이더넷 규칙MAC 주소를 사용 통해 데이터를 전송할 수 있었는데, 이는 같은 네트워크 상에서만 가능하다는 한계점이 존재한다. 인터넷이나 다른 네트워크와 통신하기 위해서는 라우터IP 주소가 필요하다.

라우터서로 다른 네트워크를 연결해주는 장치이고, IP 주소네트워크를 식별할 수 있는 주소이다.


💡 IP (Internet Protocol)

인터넷 상에 존재하는 다른 컴퓨터로 데이터를 전송하기 위한 프로토콜

네트워크 계층에서는 캡슐화 과정에서 데이터에 IP 헤더를 붙인다. IP 헤더에는 출발지 IP 주소, 목적지 IP 주소 등의 데이터를 정확하게 전달하기 위한 정보가 포함되어 있다. IP 헤더가 추가된 데이터IP 패킷이라고 한다.


📒 IP 주소

네트워크에서 장치들을 식별하여 서로를 인식하고 통신하기 위한 주소

IP 주소네트워크 ID호스트 ID로 구성되어 있으며, 8비트(1옥텟) 단위로 구분한다.


✔️ IPv4 & IPv6

  • IPv4 : 32비트
  • IPv6 : 128비트 ➡️ IPv4의 주소 부족 문제를 해결하기 위해 등장

✔️ 공인 & 사설 IP 주소

  • 공인 IP 주소 : 직접 연결된 장치에 할당하는 IP 주소
  • 사설 IP 주소 : 랜 상에 존재하는 장치에 할당하는 IP 주소

인터넷 서비스 제공자공인 IP 주소를 제공하면, 랜의 네트워크 관리자가 사설 IP 주소를 할당하거나 라우터가 해당 IP 주소를 할당 받아 랜 상에 있는 컴퓨터들에게 사설 IP 주소를 자동으로 할당한다. (DHCP : IP 주소 자동 할당 프로토콜)


✔️ 네트워크 & 호스트 ID

IP 주소 = 네트워크 ID + 호스트 ID

  • 네트워크 ID : 어떤 네트워크인가?
  • 호스트 ID : 어떤 컴퓨터인가?


📝 IP 주소 클래스


클래스 이름내용주소
A 클래스대규모 네트워크 주소네트워크 ID 8비트 + 호스트 ID 24비트
B 클래스중형 네트워크 주소네트워크 ID 16비트 + 호스트 ID 16비트
C 클래스소규모 네트워크 주소네트워크 ID 24비트 + 호스트 ID 8비트
D 클래스멀티캐스트 주소
E 클래스특수용도 주소

IP 주소 클래스네트워크 ID비트 수를 달리 하여 사용 가능한 주소 개수를 구분한다.

A 클래스의 경우, 호스트 ID24비트이기 때문에 최대 1677만개의 주소를 사용할 수 있으므로 대규모 네트워크에 사용되고, C 클래스의 경우 호스트 ID8비트이기 때문에 최대 256개의 주소를 사용할 수 있으므로 소규모 네트워크에 사용된다.

일반적인 가정의 랜은 주로 C 클래스의 IP 주소 192.168.().()를 사용한다. 실제 우리집 와이파이 주소도 해당 주소를 사용하고 있다! (확인 방법 : cmd -> ipconfig 입력)


✔️ 네트워크 & 브로드캐스트 주소

네트워크 주소브로드캐스트 주소특정 장치가 사용할 수 없는 주소이다!

  • 네트워크 주소 : 네트워크 전체대표하는 주소
    ➡️ 호스트 ID가 10진수로 0, 2진수로 00000000

해당 네트워크의 대표 주소192.168.1.0이고, 이 네트워크에 포함된 컴퓨터들의 주소192.168.1.1 ~ 6이다. 즉, 마지막 옥텟의 호스트 ID0이면 대표 네트워크 주소이고, 0을 제외한 호스트 ID에 따라 해당 네트워크 상에 존재하는 장치들을 식별할 수 있다.

  • 브로드캐스트 주소 : 네트워크의 모든 장치한 번에 데이터를 전송하는 주소 ➡️ 호스트 ID가 10진수로 255, 2진수로 11111111

192.168.1.0 네트워크에 있는 한 컴퓨터192.168.1.255데이터를 전송하면 해당 네트워크에 존재하는 모든 컴퓨터 192.168.1.1 ~ 6에서 데이터를 수신할 수 있다.


📝 서브넷 (Subnet)

서브넷팅 : 네트워크를 분할하는 것 ➡️ 서브넷 : 분할된 네트워크

서브넷팅을 통해 대규모 네트워크를 작은 네트워크로 구분할 수 있는데, 작은 네트워크를 구분하기 위한 주소가 서브넷 ID이다. 서브넷 ID는 호스팅 ID를 빌려 사용하므로 서브넷팅을 하게 되면 IP 주소네트워크 ID, 서브넷 ID, 호스팅 ID로 구성된다.

✔️ 서브넷 마스크

네트워크 ID호스트 ID식별하기 위한 값

서브넷 마스크는 IP 주소네트워크 부분만 나타나게 해서 같은 네트워크인지 판별한다.

  • 프리픽스 표기법 : 서브넷 마스크를 /비트수 형식으로 나타낸 것
    • ex) 255.255.255.0 = /24

💡 라우터 (Router)

서로 다른 네트워크를 연결해주는 장치 ➡️ 다른 네트워크로 패킷 전송

라우터각 포트 별IP 주소를 분리하지만, 스위치나 허브는 모든 포트가 같은 네트워크를 사용한다. 라우터로 분리된 한 네트워크에서 다른 네트워크로 접속하기 위해서는 네트워크의 출입구기본 게이트웨이를 설정해야 한다. 기본 게이트웨이트는 라우터 포트의 IP 주소로 설정한다.


📒 라우팅 (Routing)

다른 네트워크로 데이터를 전송하기 위한 최적의 경로를 찾는 것

라우터는 경로 정보가 저장된 라우팅 테이블을 기반으로 목적지 IP 주소까지의 최적의 경로를 찾는다.

라우터 간 라우팅 정보를 교환하기 위한 프로토콜라우팅 프로토콜이라고 한다. (RIP, OSPF, BGF, ...) 라우팅 프로토콜을 설정하여 라우터 간 경로 정보를 교환하고 등록할 수 있다.


✔️ 요약

  • 서로 다른 네트워크 간에 통신하려면 라우터가 필요하다.

  • 네트워크 계층에서 캡슐화할 때 IP 헤더를 추가한다.

  • IPv4 주소는 32비트, IPv6 주소는 128비트로 구성된다.

  • IP 주소의 종류에는 공인 IP 주소와 사설 IP 주소가 있다.

  • C 클래스 네트워크에서 최대로 할당할 수 있는 IP 주소는 254개다.

  • 네트워크 주소브로드캐스트 주소는 컴퓨터에 할당할 수 없는 IP 주소다.

  • 255.255.255.252를 프리픽스 표기법으로 나타내면 /30이다.

  • 라우팅은 경로 정보를 기반으로 현재의 네트워크에서 다른 네트워크로 최적의 경로를 통해 데이터를 전송하는 방식이다.

  • 경로 정보가 등록되어 있는 테이블을 라우팅 테이블이라고 한다.

  • 라우팅 간에 라우팅 정보를 서로 교환하기 위한 프로토콜을 라우팅 프로토콜이라고 한다.


출처 : 모두의 네트워크

profile
백엔드 개발자👩🏻‍💻가 되고 싶다
post-custom-banner

0개의 댓글