프로그래밍/네트워크

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

말랑공룡 2020. 10. 17. 20:53

네트워크 계층의 역할


네트워크 간의 연결 구조

 

데이터 링크 계층만으로는 같은 네트워크에 있는 컴퓨터로 데이터 전송이 가능하지만 인터넷이나 다른 네트워크로는 데이터를 전송할 수 없다. 네트워크 계층이 존재함으로 인해 네트워크 간의 통신이 가능해진다.

이 때 필요한 장비가 '라우터(router)'다.

 

 

라우터

 

목적지 주소 역할로는 IP주소를 이용한다.

IP주소는 어떤 네트워크의 어떤 컴퓨터인지 구분할 수 있도록 한다.

하지만 단지 IP주소를 목적지로 지정하는 것 뿐 아니라 데이터를 어떤 경로로 보낼지도 결정해야 한다.

그것을 '라우팅(routing)'이라고 한다.

 

IP(Internet Protocol)

 

네트워크 계층에서는 캡슐화할 때 IP헤더를 붙인다.

 

IP헤더의 구조

 

이런 것이 보내려는 데이터 앞에 붙는다.

이렇게 캡슐화 된 것을 'IP패킷'이라고 한다.

데이터 링크 계층에서는 프레임이라는 용어를 사용했는데 네트워크 계층에서는 IP패킷이라고 부른다. 기억하자!

 

IP주소의 구조


IP주소의 종류

 

IP주소는 인터넷 서비스 제공자(ISP)로부터 받을 수 있다. 인터넷을 하기 위해 계약한 통신사가 ISP가 된다.

IP버전은 두 가지가 있다.

 

잘 모르는 부분은 쿨하게 스루하자

 

IPv4는 길이가 32비트라서 주소를 약 43억 개 만들 수 있는데 처음 IP주소를 만들 때는 43억 개면 충분하다고 생각했지만 인터넷이 널리 보급되면서 IP주소가 부족해졌고 그러면서 IPv6주소를 사용하게 되었다. IPv6은 길이가 더 길어서 더 많은 주소를 만들 수 있다.(사실상 무한대..)

 

IP주소에는 공인IP와 사설IP가 있다. 공인IP는 ISP가 제공한다.

 

한눈에 보는 WLAN / LAN

 

하나의 랜 안에 컴퓨터가 여러 대 있으면 각각 공인IP 주소를 할당하기가 어려워서 ISP가 제공하는 공인IP주소는 라우터에만 할당하고 랜 내부의 컴퓨터는 랜의 네트워크 관리자가 자유롭게 사설IP를 할당하거나 라우터의 DHCP(Dynamic Host Configuration Protocol)기능을 사용하여 주소를 자동으로 할당한다.

 

그리고 IP주소는 네트워크 ID와 호스트 ID로 나눠져 있다.

 

 

IP 주소(C클래스)

 

네트워크 주소와 브로드캐스트 주소의 구조


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

 

이 두 주소는 컴퓨터나 라우터가 자신의 IP로 사용하면 안되는 주소다.

 

  • 네트워크 주소 : 호스트ID가 10진수로 0 (ex:192.168.1.0)
  • 브로드캐스트 주소 : 호스트ID가 10진수로 255 (ex:192.168.1.255)

 

네트워크 주소는 그 네트워크 전체를 대표하는 주소다.

브로드캐스트 주소는 네트워크에 있는 컴퓨터나 장비 모두에게 한 번에 데이터를 전송하는 데 사용되는 전용 IP 주소다.

 

이런 규칙이 있어서 개개인의 IP 주소로 설정하면 안된다.

 

서브넷의 구조


서브넷이란?

 

서브넷은 분할된 네트워크를 뜻한다.

대규모 네트워크에서 브로드캐스트로 패킷을 전송한다면 네트워크가 혼잡해진다. 그래서 대규모 네트워크를 작은 네트워크로 분할하여 전송되는 패킷의 범위를 좁힐 수 있고 IP주소도 더 효과적으로 활용할 수 있다.

 

분할하는 것을 '서브넷팅(subneting)'이라고 하고 그 분할 된 네트워크를 '서브넷(subnet)'이라고 한다.

 

 

서브넷팅 전후

 

서브넷팅을 하면 기존에 [네트워크ID, 호스트ID]로 구성되어 있던 것이 [네트워크ID, 서브넷ID, 호스트ID]로 나누어지게 된다.

 

서브넷 마스크

 

https://namu.wiki/w/%EC%84%9C%EB%B8%8C%EB%84%B7%20%EB%A7%88%EC%8A%A4%ED%81%AC

 

서브넷 마스크 - 나무위키

이 저작물은 CC BY-NC-SA 2.0 KR에 따라 이용할 수 있습니다. (단, 라이선스가 명시된 일부 문서 및 삽화 제외) 기여하신 문서의 저작권은 각 기여자에게 있으며, 각 기여자는 기여하신 부분의 저작권�

namu.wiki

 

라우터의 구조


라우터(router)

 

라우터를 이용하면 네트워크를 분리할 수 있다.

 

 

라우터를 이용한 네트워크 분리

 

한 네트워크의 PC에서 다른 네트워크의 PC로 데이터를 전송하려면 어떻게 해야할까?

그럴려면 라우터의 IP 주소를 설정해야 한다. 이것을 '기본 게이트웨이(default gateway)'라고 한다.

 

기본 게이트웨이

 

일단은 라우터로 데이터를 전송한다.

그 다음은 라우팅(routing)을 해야한다.

 

라우팅(routing)이란?

 

경로 정보가 등록되어 있는 테이블을 라우팅 테이블이라고 하는데 이 테이블을 통해 다른 네트워크로 데이터를 전송한다.

테이블 등록 방법은 수동과 자동이 있다.

자동으로 등록하는 방법은 수정도 자동으로 되서 편리하다.

 

 

라우팅 테이블

 

이처럼 라우터 간에 라우팅 정보를 교환하기 위한 프로토콜을 '라우팅 프로토콜'이라고 한다.