rabbit97 님의 블로그
OSI 7계층 중 네트워크 계층이란? 본문
주제 : OSI 7계층 중 네트워크 계층에 대해 조사해주세요. 아래 내용 포함하기!
- ip의 개념
- 서브넷 마스크
- 동적 ip주소
- 라우팅
참고 블로그 : https://howudong.tistory.com/247
[Network] 네트워크 계층의 역할과 및 IP 구조/ 서브넷
네트워크 계층의 역할 네트워크 간의 연결 구조 네트워크 계층 역할 : 네트워크 간의 통신을 가능하게 하는 것 서로 다른 네트워크에 있는 컴퓨터로 데이터 전송이 가능해짐 데이터 링크 계층
howudong.tistory.com
Network layer
전송 단위 | Packet(패킷) |
---|---|
대표 장치 | Router(라우터), L3 Switch[14] |
프로토콜 | IP, ARP[15]/NDP[16], RIP, RIP v2, OSPF [17], IGRP, EIGRP[18], BGP 등등의 Routing Protocol, AS번호, NAT 등 |
네트워크 계층은 여러 개의 노드를 거칠 때마다 경로를 찾아주는 역할을 하는 계층으로 다양한 길이의 데이터를 네트워크들을 통해 전달하고, 그 과정에서 전송 계층이 요구하는 서비스 품질(QoS)을 제공하기 위한 기능적, 절차적 수단을 제공한다.
네트워크 계층은 라우팅, 패킷 포워딩, 세그멘테이션(segmentation/desegmentation), 인터네트워킹(Internetworking) 등을 수행한다. 라우터가 이 계층에서 동작하고 이 계층에서 동작하는 스위치도 있다.
데이터를 연결하는 다른 네트워크를 통해 전달함으로써 인터넷이 가능하게 만드는 계층이다. 논리적인 주소 구조(IP), 곧 네트워크 관리자가 직접 주소를 할당하는 구조를 가지며, 계층적(hierarchical)이다. 3/4계층은 TCP/IP 프로토콜 스택은 컴퓨터 커널 내부에 구현되며, 하위 2계층과 디바이스 드라이버(네트워크 드라이버)를 통해 컴퓨터 내부에서 데이터를 통신한다.
선결조건으로 운영체제에서 네트워크 장치(모뎀, 랜카드)가 사전에 인식되어 있어야 한다. TCP/IP 프로토콜 스택은 2계층에서 받은 데이터(프레임)을 소켓 인터페이스를 통해 7계층(응용계층, TCP/IP 4계층)으로 올려보낸다.
서브네트의 최상위 계층으로 경로를 설정하고, 청구 정보를 관리한다. 개방 시스템들의 사이에서 네트워크 연결을 설정, 유지, 해제하는 기능을 부여하고, 트랜스포트 계층 사이에 네트워크 서비스 데이터 유닛(NSDU: Network Service Data Unit)을 교환하는 기능을 제공한다.
현재 사용하는 인터넷은 기본적으로는 네트워크 계층에 속하는 망이다. L3~L5 사이는 보통 국제인터넷표준화기구(IETF)에서 규격을 관리한다.
네트워크 간의 연결 구조를 나타낸 그림
- 네트워크 계층 역할 : 네트워크 간의 통신을 가능하게 하는 것
- 서로 다른 네트워크에 있는 컴퓨터로 데이터 전송이 가능해짐
- 데이터 링크 계층 → 같은 네트워크에 있는 컴퓨터로만 데이터 전송 가능
- 다른 네트워크로 데이터를 전송하기 위해 필요한 네트워크 장비
- 거리에 관계없이 데이터를 보낼 수 있음
- 해당 목적지까지 어떤 경로로 가는 것이 좋은지 알려주는 기능
- 데이터를 보내려는 곳의 주소(목적지)를 알아야 함 → IP주소를 알아야 함
- IP 주소 : 어떤 네트워크의 어떤 컴퓨터인지를 구분할 수 있도록 하는 주소
- IP주소가 있으면 다른 네트워크에 있는 목적지를 지정 가능
- 라우팅 테이블에 경로 정보를 등록하고 관리
- 라우팅 : 목적지 IP주소까지 어떤 경로로 데이터를 보낼지 결정하는 것
- IP 주소로 목적지를 지정하는 것뿐만 아니라 데이터를 어떤 경로로 보낼지도 중요
IP란?
- 네트워크 계층에서는 캡슐화할 때 IP(Internet Protocol) 헤더를 붙임
IP 헤더의 구성
- 해당 정보들은 데이터를 정확하게 전달하기 위해 필요한 정보들임
- IP 헤더는 왼쪽부터 오른쪽 순으로 아래 이름의 헤더 정보들로 구성되어 있다.
- 버전
- 헤더 길이
- 서비스 유형
- 전체 패킷 길이
- ID(identification, 일련번호)
- 조각 상태(flags)
- 조각의 위치
- TTL
- 프로토콜
- 헤더 체크섬
- 출발지 IP 주소
- 목적지 IP 주소
- 데이터에 IP헤더가 붙은 것을 IP패킷이라고 함
- cf. 데이터 링크 계층 → 이더넷 헤더 + 데이터 + 트레일러 = 프레임
IP 주소의 구조
- IP 주소는 인터넷 서비스 제공자(ISP)에게 받을 수 있음 → 통신사에게 할당받음
- IP 버전에는 IPv4와 IPv6가 있음
- IPv4 : 32비트로 되어 있어서 IP 주소를 약 43억 개 만들 수 있음
→ 인터넷이 널리 보급되면서 IP 주소가 부족해짐 → IPv6 주소를 사용
- IPv4 : 32비트로 되어 있어서 IP 주소를 약 43억 개 만들 수 있음
- IPv6 : 128비트로 되어있어 340간 개 즉, 거의 무한대로 만들 수 있음
- IP 주소의 종류
- 공인 IP 주소 : 인터넷에 직접 연결되는 컴퓨터나 라우터에 쓰이는 주소
- 인터넷 서비스 제공자(ISP)가 제공
- 공인 IP 주소 : 인터넷에 직접 연결되는 컴퓨터나 라우터에 쓰이는 주소
- 사설 IP 주소 : 회사나 가정의 랜에 있는 컴퓨터에 쓰이는 주소
DHCP 사용하는 이유
- DHCP : IP주소를 자동으로 할당하는 프로토콜
DHCP를 통한 IP
- 같은 LAN 안에 있는 컴퓨터에 IP 주소 할당
- LAN 안에 컴퓨터가 여러 대 있다면 컴퓨터 한 대 당 공인 IP 주소를 하나씩 할당하는 것은 비효율
← 공인 IP 주소는 사용할 수 있는 숫자가 제한되어 있기 때문
- LAN 안에 컴퓨터가 여러 대 있다면 컴퓨터 한 대 당 공인 IP 주소를 하나씩 할당하는 것은 비효율
- 공인 IP 주소는 라우터에만 할당 후, 두 가지 중 한 가지 방식 선택 → 공인 IP 주소 절약
- LAN 안에 있는 컴퓨터는 LAN의 네트워크 관리자가 자유롭게 사설 IP 주소를 할당
- 라우터의 DHCP 기능을 사용하여 주소를 자동으로 할당
IP주소의 비트수와 표시
- 공인 IP 주소와 사설 IP 주소는 모두 2진수의 32비트를 동일하게 사용
- IP 주소는 32비트로 구분하기 쉽도록 10진수로 표시
- cf. MAC 주소는 48비트로 구분하기 쉽도록 16진수로 표시
- IP 주소는 8비트 단위로 나눠서 표시
- 8비트를 옥텟이라고 부르기도 함
IPIP 주소 예시 - 10진수로 표시하지만 실제로 IP 주소는 2진수로 되어 있다.
- 4개의 옥텟으로 구분하고 숫자의 범위도 0 ~ 255로 정해져 있음
- 8비트를 옥텟이라고 부르기도 함
네트워크 ID와 호스트 ID
네트워크 ID, 호스트 ID 구분 예시
- 네트워크 ID : 어떤 네트워크인지
- 호스트 ID : 해당 네트워크의 어느 컴퓨터인지
- 네트워크 ID + 호스트 ID = IP 주소
IP주소의 클래스 구조
- 여기서 말하는 IP주소는 IPv4 (32비트)
- 네트워크 크기는 클래스라는 개념으로 구분할 수 있음
- 네트워크 ID를 크게 만들거나 호스트 ID를 작게 만들어서 네트워크 크기를 조정 가능
클래스 구분
IP 주소 클래스 종류 표
- 일반 네트워크에서는 일반적으로 A ~ C 클래스까지 사용 가능
- A 클래스
- 처음 8비트 → 네트워크 ID
- 다음 24비트 → 호스트 ID
- 1 옥텟의 범위 : 00000001 ~ 01111111( 1 ~ 127 )
- IP 주소 범위 : 1.0.0.0 ~ 127.255.255.255
- B 클래스
- 처음 16비트 → 네트워크 ID
- 다음 16비트 → 호스트 ID
- 1 옥텟의 범위 : 10000000 ~ 10111111( 128 ~ 191 )
- IP 주소 범위 : 128.0.0.0 ~ 191.255.255.255
- C 클래스
- 처음 24비트 → 네트워크 ID
- 다음 8 비트 → 호스트 ID
- 1 옥텟의 범위 : 11000000 ~ 11011111( 192 ~ 223 )
- IP 주소 범위 : 192.0.0.0 ~ 223.255.255.255
클래스별 공인, 사설 IP 주소
네트워크 주소와 브로드캐스트 주소의 구조
- 네트워크 주소와 브로드캐스트 주소는 자신의 IP 주소로 설정하면 안 된다.
- 네트워크 주소 : 전체 네트워크에서 작은 네트워크를 식별하는 데 사용
- 호스트 ID 부분이 10진수로는 0, 2진수로는 00000000인 주소
- 전체 네트워크의 대표 주소
- 예 : 192.168.1.1 ~ 192.168.1.6의 IP 주소를 가진 컴퓨터는 192.168.1.0의 네트워크에 있다.
- 브로드캐스트 주소 : 네트워크에 있는 모두에게 한번 더 데이터를 전송하는 데 사용되는 전용 IP 주소
- 호스트 ID 부분이 10진수로는 255, 2진수로는 11111111인 주소
- 전체 네트워크에 데이터를 전송하려면 호스트 ID를 255로 설정하면 됨
- 예 : 192.168.1.255의 브로드캐스트 주소로 데이터를 전송하면 192.168.1.x의 컴퓨터가 모두 받음
서브넷 구조
- 엄청나게 많은 주소가 하나의 네트워크를 사용해서, 브로드캐스트 패킷을 전송한다면 네트워크가 혼잡
→ 서브넷팅 방식을 사용하여 브로드캐스트로 전송되는 패킷의 범위를 좁힐 수 있음- 서브넷팅 : 대규모 네트워크를 작은 네트워크로 분할하는 것
- 서브넷 : 분할된 네트워크
- 서브넷팅을 통해 더 많은 네트워크를 만들 수 있어 IP 주소를 더 효과적으로 사용 가능
서브넷팅 분할
서브넷팅 분할 예시
- 기존에 네트워크 ID와 호스트 ID → 네트워크 ID + 서브넷 ID + 호스트 ID로 분할
- 호스트 ID에서 비트를 빌려 서브넷을 만듦
서브넷 마스크
- 서브넷 마스크 : 네트워크 ID와 호스트 ID를 식별하기 위한 값
- IP 주소를 서브넷팅하면 네트워크 ID와 호스트 ID의 경계를 판단하기 어려움
→ 서브넷 마스크를 사용하여 이를 판단- 프리픽스 표기법으로도 표기 가능
- 프리픽스(prefix) 표기법 : 서브넷 마스크를 슬래시(/비트수)로 나타내는 것
- 프리픽스 표기법으로도 표기 가능
- A 클래스 → 255.0.0.0( 프리픽스 표기법 : /8 )
- B 클래스 → 255.255.0.0( 프리픽스 표기법 : /16 )
- C 클래스 → 255.255.255.0( 프리픽스 표기법 : /24 )
서브넷팅 분할 과정
- 해당 IP 주소를 서브넷팅하는 과정(C 클래스)
서브넷팅 전
- 해당 네트워크 ID를 24비트에서 28비트로 만든다고 가정
→ 호스트 ID에서 4비트를 빌려와야 함 → 서브넷 ID 4비트, 호스트 ID 4비트가 됨
→ 서브넷 마스크도 가져온 비트 수만큼 1을 추가
- 프리픽스 표기법 → /28
라우터의 구조
- 라우터는 네트워크를 분리할 수 있다.
- cf. 스위치만 있는 네트워크에서는 모든 컴퓨터가 동일한 네트워크에 속하게 된다.
- 기본 게이트웨이: 다른 네트워크에 데이터를 전송하도록 라우터의 IP 주소를 설정하는 것
- 설정해야 하는 이유?
- 컴퓨터는 다른 네트워크로 데이터를 보낼 때 어디로 전송해야 할지 모른다.
→ 네트워크의 출입구를 지정하고 일단은 라우터로 데이터를 전송
→ 이후 라우팅을 거쳐 데이터를 전송
- 컴퓨터는 다른 네트워크로 데이터를 보낼 때 어디로 전송해야 할지 모른다.
- 설정해야 하는 이유?
라우팅
- 경로 정보 기반으로 다른 네트워크로 최적의 경로를 통해 데이터를 전송
- 경로 정보는 라우팅 테이블에 등록되어 있음
라우팅 테이블에 어떻게 등록하는가
- 자동으로 등록하는 방법 - 대규모 네트워크에 적합
- 라우터 간에 경로 정보를 서로 교환하여 라우팅 테이블 정보를 자동으로 수정
- 라우팅 프로토콜이 존재
- 라우팅 프로토콜 : 라우터 간에 라우팅 정보를 교환하기 위한 프로토콜
- 이 프로토콜을 설정해서 경로 정보를 교환하고 라우팅 테이블에 등록하는 것
- 종류 : RIP, OSPF, OSPF, BGP 등
- 라우팅 프로토콜 : 라우터 간에 라우팅 정보를 교환하기 위한 프로토콜
- 수동으로 등록하는 방법 - 소규모 네트워크에 적합
- 직접 네트워크 관리자가 변경
'코딩 공부' 카테고리의 다른 글
OSI 7계층 중 응용계층이란?? (1) | 2024.10.21 |
---|---|
OSI 7계층 중 전송 계층이란? (0) | 2024.09.10 |
OSI 7계층 중 데이터링크 계층에 대해 (1) | 2024.09.10 |
OSI 7계층 중 물리계층에 대해 (2) | 2024.09.02 |
OSI의 7계층이란?? (1) | 2024.08.28 |