모두의 네트워크 스터디
응용계층-전송계층-네트워크계층-데이터링크계층-물리계층
다른 네트워크에 있는 목적지로 데이터를 전달하려면 네트워크 계층 기술이 필요하다. 네트워크 안에서는 데이터 링크 계층의 기능만으로 통신이 가능하더라도, 수많은 네트워크가 연결된 환경에서 데이터 링크 계층의 기능만으로는 다른 네트워크로 데이터를 전송하기 힘들다. 네트워크 간의 통신을 가능하게 하는 것이 네트워크 계층의 역할이고, 이 계층을 통해 다른 네트워크로 데이터를 전송하려면 라우터가 필요하다. 데이터를 보내려는 상대가 어디있는지 알아야 라우터가 목적지까지의 경로를 알려줄 수 있는데, 이때 목적지의 주소가 IP주소이다.
IP주소는 어떤 네트워크의 어떤 컴퓨터인지를 구분할 수 있도록 하는 주소이고, 네트워크 간의 연결에서 목적지를 구분할 수 있게 한다. IP 주소로 목적지를 지정할 뿐 아니라, 데이터를 어떤 경로로 보낼지도 결정해야하는데, 이 경로를 경정하는 것을 라우팅이라고 한다. 라우팅은 라우터 또는 레이어 3 스위치라는 장비로 한다. 라우터는 라우팅 테이블을 통해 경로 정보를 등록하고 관리한다.
네트워크 계층에는 IP(Internet Protocol)라는 프로토콜이 있다. (TCP/IP의 IP가 바로 이 IP) 네트워크 계층에서 캡슐화를 할 때는 IP 헤더를 붙이는데, 1. version 2. header length 3. service type 4. total length 5. ID 6. flagf 7.flagment offset 8.TTL 9.protocol 10.header checksum 11.source IP address 12.destination IP address 순으로 헤더 정보가 구성되어 있다. (11. 출발지 IP 주소와 12.목적지 IP 주소 정도만 기억하면 됨) IP 헤더는 데이터를 정확하게 전달하기 위한 필요한 정보가 포함되어 있다. 이렇게 데이터에 IP 헤더가 추가되어 만들어진 것을 IP 패킷이라고 한다. 데이터 링크 계층에서는 프레임이었는데, 네트워크 계층에서는 IP 패킷, 각 계층에 ㅔ따라 사용하는 용어가 달라진다.
<23년 2월 10일 금요일>
IP 주소는 인터넷 서비스 제공자(ISP)에게 받을 수 있다. IP의 버전에는 IPv4와 IPv6이 있다. 전자는 32비트, 후자는 128비트로 되어있어 IPv6은 훨씬 많은 주소를 만들 수 있어서 IP주소가 부족할 일이 없다. IP 주소에는 공인 IP 주소(ISP가 제공, 인터넷에 직접 연결되는 컴퓨터나 라우터에 할당)와 사설 IP 주소(회사나 가정의 랜에 있는 컴퓨터)가 있다. ISP가 제공하는 공인 IP 주소는 라우터에만 할당하고, 랜 안에 있는 컴퓨터에는 랜의 네트워크 관리자가 자유롭게 사설 IP 주소를 할당하거나 라우터의 DHCP(Dynamic Host Configuration Protocol) 기능을 사용하여 주소를 자동으로 할당한다.
IP주소는 32비트를 읽기 쉽게 8비트(옥텟octet)씩 나누어 표시하고, 사람이 알아보기 쉽게 10진수로 변환해 표시한다. MAC 주소는 48비트로 구분하기 쉽도록 16진수로 표시한다. IP 주소는 10진수로 표시하지만, 실제로는 2진수로 되어있다는 것, 8비트씩 끊어서 4개의 옥텟으로 구분하고 있고 숫자의 범위도 정해져 있다는 걸 기억하자.
IP 주소는 네트워크 ID(어떤 네트워크인지 나타냄)와 호스트 ID(해당 네트워크의 어느 컴퓨터인지를 나타냄)로 나눠져있고, 이 두가지가 합쳐져서 IP 주소가 된다.
<23년 2월 10일 금요일>
IPv4의 IP 주소는 32비트. 비트로 구분하지만 네트워크 ID를 크게 만들거나 호스트 ID를 작게 만들어 네트워크 크기를 조정할 수도 있다. 네트워크 크기는 클래스로 구분

공인 IP 주소 범위가 별도로 있다. 사설 IP 주소는 절대 공인 IP 주소로 사용할 수 없다.
<23년 2월 13일 월요일>
IP 주소에는 네트워크 주소와 브로드 캐스트 주소가 있다. 이 두 주소는 컴퓨터나 라우터가 자신의 IP로 사용하면 안 되는 주소이다.

네트워크 주소 : 호스트ID가 10진수로 0, 전체 네트워크의 대표주소.
브로드캐스트 주소 : 호스트 ID가 10진수로 255, 네트워크 내 한번에 데이터 전송할 때 사용.

네트워크 주소 는 전체 네트워크에서 작은 네트워크를 식별하는데 사용. 호스트ID가 10진수로 0이면 그 네트워크 전체를 대표하는 주소 가 된다.

브로드캐스트 주소 는 네트워크에 있는 컴퓨터나 장비 모두에게 한번에 데이터를 전송하는데 사용되는 전용 IP 주소. 전체 네트워크에 데이터를 전송하려면 192.168.1.255 같은 브로드 캐스트 주소로 데이터를 전송하면, 네트워크 안의 모든 컴퓨터가 데이터를 받게 된다.
네트워크 주소와 브로드캐스트 주소는 자신의 IP 주소로 설정하면 안 된다 는 것을 반드시 기억하자.
<23년 2월 13일 월요일>

네트워크를 분할하는 것을 서브넷팅subneting 이라 하고, 분할된 네트워크를 서브넷 이라 한다. 많은 수의 컴퓨터가 브로드캐스트 패킷을 전송하면 모든 컴퓨터에 패킷이 전송되고 네트워크가 혼잡해질 수 있다. A 클래스의 대규모 네트워크를 작은 네트워크로 분할하여 브로드캐스트로 전송되는 패킷의 범위를 좁힐 수 있다.

A클래스는 네트워크 ID가 8비트고 호스트 ID가 24비트인데, 이 상태를 서브넷팅하여 작은 네트워크로 분할하면, 기존에 네트워크 ID와 호스트 ID로 구성되어 있던 것이 네트워크 ID, 서브넷 ID, 호스트 ID로 나누어지게 된다.
IP주소를 서브넷팅하면 어디까지가 네트워크 ID고 어디부터 호스트 ID인지 판단하기 어려울 때가 있는데, 서브넷 마스크 라는 값을 사용한다. 클래스별로 서브넷 마스크는 A 클래스가 255.0.0.0, B 클래스가 255.255.0.0, C 클래스가 255.255.255.0 이다.
프리픽스 prefix 표기법
서브넷 마스크를 슬래시(/비트수)로 나타낸 것을 말한다.
예를 들어 255.255.255.0/24
<23년 2월 14일 화요일>
서로 다른 네트워크와 통신하려면 라우터가 필요하다. 라우터는 네트워크를 분리한다. 스위치만 있는 네트워크에서는 모든 컴퓨터와 스위치가 동일한 네트워크에 속한다. 허브도 스위치와 마찬가지로 네트워크를 분리할 수 없다. 라우터가 있으면 네트워크를 분리할수 있다. 컴퓨터가 다른 네트워크에 있는 컴퓨터에 데이터를 전송하려면 라우터의 IP주소를 설정 해야한다. 이것이 네트워크의 출입구를 설정하는 것으로 기본 게이트웨이 라고 한다.

컴퓨터는 다른 네트워크로 데이터를 보낼 때 어디로 전송해야 하는지 알지 못하기 때문에, 네트워크의 출입구를 지정하고, 일단은 라우터로 데이터를 전송한다. 그림에서 컴퓨터1은 라우터의 IP주소 192.168.1.1이라는 출입문(기본 게이트웨이)에 연결되어있다.
윈도우os에서 컴퓨터 네트워크를 설정할 때, 기본적으로 '자동으로 IP 주소 받기'에 체크되어 있으면 네트워크 외부에 접속할 때 사용하는 기본 게이트웨이가 자동으로 설정된다.
기본 게이트웨이를 설정한 다음, 라우터의 라우팅routing 기능이 필요하다. 라우팅은 경로 정보를 기반으로 현재의 네트워크에서 다른 네트워크로 최적의 경로를 통해 데이터를 전송한다. 이 경로 정보가 등록된 테이블이 라우팅 테이블 이다. 라우팅 테이블은 네트워크 관리자가 수동으로 등록(소규모 네트워크에 적합)하거나 자동으로 등록하는 방법이 있다. 자동으로 등록하는 방법은 라우터 간의 경로 정보를 서로 교환하여 라우팅 테이블 정보를 자동으로 수정해준다. 이렇게 라우팅 정보를 교환하기 위한 프로토콜을 라우팅 프로토콜이라 한다. 라우팅 프로토콜에는 RIP, OSPF, BGP 등이 있다.
<23년 2월 15일 수요일>
5장 네트워크 계층 : 목적지에 데이터 전달하기 끝