일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Binary notation
- 항진명제
- Logical statement
- 모두의네트워크요약
- GPT-1
- Circuit
- CNF
- Digital Logic Circuits
- 모두의네트워크
- statement equivalence
- dnf
- Tautology
- Decimal notation
- 모순명제
- 진리표
- full adder
- 이진법 십진법 변환
- Gate
- half adder
- relationaldatabaseschema
- 모두의네트워크정리
- Contradiction
- 십진법
- 명제
- 써킷
- truth table
- ermodel
- 명제 동치
- cnn
- Sentiment Analysis
- Today
- Total
NLP Learner in Switzerland
[쉬운 정리] 모두의 네트워크 5장 ::: 네트워크 계층 : 목적지에 데이터 전달하기 본문
3장에서는 OSI모델의 물리 계층을 봤고,
4장에서는 그 상위 계층인 데이터 링크 계층을 봤으며,
5장에서는 그 상위 계층인 네트워크 계층이다.
네트워크 계층은
서로 다른 네트워크에 있는 목적지로 데이터를 전송하기 위해 필요하다.
이더넷은(4장 참고) 같은 네트워크간에 데이터 전송은 가능하지만, 인터넷이나 다른 네트워크로는 전송할 수 없다.
서로 다른 네트워크 간의 통신은
라우터(Router)라는 네트워크 장비가 필요하다.
스위치나 허브를 사용하면 동일한 네트워크가 되버린다.
라우터는 네트워크를 서로 다른 네트워크로 분리하는 역할을 한다.
라우터는
네비게이션이다. 데이터의 목적지가 정해지면 해당 목적지까지 가는 최적의 길을 알려준다.
라우터를 사용하면 거리에 관계없이 다른 네트워크로 데이터를 보낼 수 있다.
라우팅은
이 라우터를 이용해서 어떤 경로로 데이터를 보내야 가장 최적일지 결정하는 것이다.
라우팅 테이블에 경로 정보를 저장해서 관리한다.
하지만 이 모든 것은 상대방이 어디있는지 안다는 전제하에 가능하다.
그럼 상대방의 주소를 알려면
IP주소(Internet Protocol Address)가 필요하다. 같은 네트워크에서만 사용 가능한 MAC주소랑 헷갈리면 안된다. (4장 참고)
네트워크 계층에서 캡슐화(2장 참고)가 일어날 때 붙여지는 헤더는 IP헤더이며 다음 이미지처럼 매우 길다.
총 32비트를 가지고 있으므로 8비트(1바이트)*4칸이다.
이 각 8비트(컴퓨터가 이해하는 2진수)를 옥텟이라고 부르며
각 옥텟은 0부터 255까지(사람이 이해하는 십진수)의 범위안에 있다.
중요한 것은, MAC주소가 출발지 MAC주소와 목적지 MAC주소를 담고 있듯이, (4장 참고)
IP주소도 출발지 IP주소와 목적지 IP주소를 담고 있다는 점이다.
또한, IP주소는 어떤 네트워크(네트워크ID)의 어떤 컴퓨터(호스트ID)인지 정보도 담겨있다.
이 IP헤더 + 데이터를 합쳐서 IP패킷이라고 부른다.
IP주소는 ISP(Internet Service Provider) e.g. KT, SK브로드밴드, LG유플러스 한테서 받을 수 있다.
IP버전은
IPv4, IPv6가 있다. IPv4주소는 32비트여서 약 43억개의 주소밖에 못 만든다. 때문에 고갈되어서 128비트의 IPv6가 탄생했다.
IPv4는 수가 부족하기 때문에 모든 컴퓨터마다 할당할 수가 없다. 따라서 ISP가 사용하는 공인IP주소와 집/회사에서 쓰는 사설IP주소로 나뉘어진다. 공인 IP주소는 인터넷에 직접 연결하는 컴퓨터나 라우터에 할당되며, 사설 IP주소 또는 라우터의 자동IP(DHCP라고 부른다)는 회사나 가정의 랜에 있는 PC에 할당된다.
무제한으로 수 조합을 만들어낼 수 있는 IPv6의 탄생 덕분에 TV, 에어컨 등에도 인터넷을 연결해서 통신할 수 있게 되었다.
IP주소의 클래스는
네트워크가 가질 수 있는 호스트의 크기에 따라 A,B,C로 나눠진다.(A가 제일 크고 점점 감소)
멀티캐스트용(동시에 데이터 여러군데 전송)인 D클래스, 연구 및 특수용도인 E클래스도 있다.
각 클래스별 IP주소의 범위는 다음과 같다.
그리고 이 IP주소의 범위는 공인IP주소가 가질 수 있는 범위와 사설IP주소가 가질 수 있는 범위로 나뉘어 진다.
집에서는 주로 C클래스의 192.168.XXX.XXX가 사용된다.
윈도우 시작메뉴에서 cmd라고 쳐서 명령 프롬프트를 연 후에, ipconfig를 입력하면 본인 IP주소를 확인할 수 있다.
IP주소 중에는 컴퓨터나 라우터가 사용할 수 없는 특수한 주소인
네트워크 주소와 브로드캐스트 주소가 있다.
이 두 네트워크는 컴퓨터에 설정할 수 없게 되어있다.
네트워크 주소는 전체 네트워크 중 작은 네트워크를 식별하는 데 사용하며 호스트ID가 전부 0(십진수로 0)이다.
브로드캐스트 주소는 해당 네트워크의 대표주소이며 일괄 데이터 전송시 쓰인다. 호스트ID가 전부 1(십진수로 255)이다.
e.g.
아래 그림처럼 192.168.1.1~192.168.1.6 주소를 가진 컴퓨터들은 대표 네트워크 주소인 192.168.1.0 산하에 있으며,
동시에 이 6대의 컴퓨터에 데이터를 보내려면 브로드캐스트 주소인 192.168.1.255로 전송하면 되는 것이다.
서브넷팅(Subneting)은
대규모의 네트워크를 분할하는 것이다. 왜?
브로드캐스트로 전송되는 패킷의 범위를 좁힐 수 있어서.
이렇게 분할된 네트워크를 서브넷(Subnet)이라고 부른다.
서브넷팅이 일어나면
네트워크ID + 호스트ID였던 IP주소가 네트워크ID + 서브넷ID + 호스트ID로 나뉘어진다.
이렇게 되면 어디까지가 네트워크ID이고 어디서부터가 호스트ID인지 구분이 어렵다.
이 때 식별을 위해 서브넷 마스크를 사용한다. 네트워크ID는 1로 채우고(십진수로 255), 호스트ID는 0으로 채운다.
e.g. A클래스의 네트워크ID는 앞의 8비트이므로 서브넷 마스크는 255.0.0.0
또는 서브넷 마스크를 프리픽스(Prefix) 표기법 '/비트수'로 나타낼 수도 있다.
e.g. 255.255.255.0은 앞의 24비트가 네트워크ID+서브넷ID이므로 서브넷 마스크는 /24
e.g.
서브넷 마스크가 255.255.255.240이면
앞의 255.255.255는 네트워크ID이고,
십진수240=128(2^7)+64(2^6)+32(2^5)+16(2^4)이므로 이진수11110000을 나타낸다.
호스트ID는 0이라고했으므로 뒤의 4비트가 호스트ID가 되고,
앞의 1로 된 4비트가 서브넷ID가 된다.
이를 프리픽스 표기법으로 나타내면 네트워크ID+서브넷ID = /28이 된다.
컴퓨터가 다른 네트워크에 데이터를 전송하려면
라우터에다가 라우터의 IP주소인 기본 게이트웨이(Default gateway)를 설정해야 한다.
각 컴퓨터가 라우터에 데이터를 전송할 수 있는 출입구인 셈이다.
그 이후 라우터는 라우팅을 해서 다른 라우터에 데이터를 전송한다.
소규모 네트워크인 경우, 네트워크 관리자가 수동으로 라우팅 테이블에 경로 등록(정적 라우팅)
대규모 네트워크인 경우, 자동으로 경로 등록을 한다(동적 라우팅)
라우터는 상호 다른 라우터에 등록된 이 주소들을 체크해서 가장 빠른 경로를 찾아낸다.
이렇게 라우터간에 정보를 교환하는 프로토콜을 라우팅 프로토콜이라고 한다.
[복습하기]
1. 서로 다른 네트워크 간에 통신하기 위해 필요한 장비 라우터
2. 네트워크 계층에서 캡슐화할 때 추가되는 것 IP헤더
3. IPv4 주소와 IPv6 주소의 비트 수 32,128
4. IP주소의 종류에는 공인IP주소 그리고 사설IP주소
5. C클래스 네트워크에서 최대로 할당할 수 있는 IP주소 갯수 254개
6. 컴퓨터에 할당할 수 없는 특수 IP주소 2가지 네트워크 주소, 브로드캐스트 주소
7. 255.255.255.252를 프리픽스 표기법으로 나타내면 /30
8. 경로 정보를 기반으로 현재의 네트워크에서 다른 네트워크로 최적의 경로를 통해 데이터를 전송하는 방식 라우팅
9. 경로 정보가 등록되어 있는 테이블 라우팅 테이블
10. 라우터 간에 라우팅 정보를 교환하기 위한 프로토콜 라우팅 프로토콜
* 답은 각 문제의 오른쪽 부분을 드래그
'Computer Networks > 모두의 네트워크' 카테고리의 다른 글
[쉬운 정리] 모두의 네트워크 7장 ::: 응용 계층 : 애플리케이션에 데이터 전송하기 (0) | 2021.04.18 |
---|---|
[쉬운 정리] 모두의 네트워크 6장 ::: 전송 계층 : 신뢰할 수 있는 데이터 전송하기 (0) | 2021.04.16 |
[쉬운 정리] 모두의 네트워크 4장 ::: 데이터 링크 계층 : 랜에서 데이터 전송하기 (2) | 2021.04.14 |
[쉬운 정리] 모두의 네트워크 3장 ::: 물리 계층 : 데이터를 전기 신호로 변환하기 (0) | 2021.04.13 |
[쉬운 정리] 모두의 네트워크 2장 ::: 네트워크의 기본 규칙 (0) | 2021.04.10 |