본문 바로가기
교육

[1일 차] 21.07.20 : 네트워크 기초

by ballena 2021. 7. 20.

정규 교육 기간이 시작되었다. 

커리큘럼 상으로는 리눅스 교육이 시작되어야 하지만, 그전에 1~2주 정도 네트워크 기초 수업을 거친다고 한다.

앞으로 계속 써먹을 지식이기도 하니 복습할 겸 해서 유익한 시간이 될 것 같다.

 

아래는 수업 내용을 정리한 것인데, 듣는 대로 적다 보니 난잡할 수 있다.

수업 내용 중 중요한 내용은 따로 정리해야겠다.

 

AWS 인스턴스 접근 방식에는 대략 3가지가 있다.

1. AWS 콘솔. 가장 기초적인 접근 방식이다.

2. AWS CLI. cmd로 설치해 접근 가능하다.

3. SDK

.

.

.

네트워크 기초 수업의 시작은 OSI 7 계층이었다. 사전 교육 기간에도 진행했던 내용이다.

각 계층이 어떤 역할을 하는지, 각 계층의 정의는 무엇인지 등을 배웠다.

단순히 교육과정 상으로만 보면 클라우드 엔지니어로서 주로 사용하고, 기억할 만한 것은 3 계층밖에 없다고 한다. 하지만 기술 면접을 대비하려면 배울 때 모두 기억해두는 편이 좋다고 한다.

'기억해둔다'의 기준은 "주소 요청 후 화면이 뜨는 과정을 OSI 7 계층으로 설명할 수 있을 것"이다.

각 계층에 대한 정리는 따로 할 예정이라 여기에는 수업 내용의 요약만을 작성할 예정이다.

수업 중에 메모한 것을 긁어 붙일 수도 있지만, 복습하는 차원에서 다시 쓴다.

 

5~7 계층에서 내려온 데이터에 하위 계층들이 주소, 제어정보 등을 Header로 첨부한다.

첨부 방식 3종과 PDU(Protocol Data Unit)는

1. 4 계층의 TCP/UDP : Port 주소 + etc 첨부 => Segment

2. 3 계층의 IP : IP 주소 + etc 첨부 => Packet(= Datagram)

3. 2 계층의 Frame : MAC 주소 + etc 첨부 => Frame

(5~7 계층의 PDU는 그냥 'Data')

-> 내려온 데이터는 4 계층에서 20바이트 TCP/UDP 헤더가 붙고(세그먼트)

-> 내려온 세그먼트는 3 계층에서 20~60바이트 IP 헤더가 붙고(패킷)

-> 내려온 패킷은 2 계층에서 프레임으로 포장된다.

 

  • 4 계층 Transport Layer의 Protocol TCP/UDP

-> 어떤 것이 TCP에 담기고, 어떤 것이 UDP에 담기는가?

-> Application에 따라 결정된다 : 신뢰성/비신뢰성 여부

 

* Port 주소는 16bit, IP 주소는 32bit, MAC 주소는 48bit

 

* Port 주소를 쓰는 이유는?

-> 찾아온 장비 내의 목표 Application 식별.

(IP, MAC 주소는 특정 장비 식별)

 

* Well-known Port(0 ~ 1,023)의 범위 기억하기.

* 7 계층의 App(서비스) 이름, 프로토콜명, 포트 번호 기억하기.

 

  • 3 계층 Network Layer

-> IP 주소는 논리적 주소

-> 일반적으로는(클라이언트 수준에서는) 유일하게 변경 가능한 주소

-> 다른 계층은 별 상관없지만, 3 계층은 잘 알아놓아야 한다.

-> Routing 설정 때문 : 라우팅 프로토콜로 최적 경로 탐색

 

-> 3 계층 차원에서의 데이터 분할 전송이 어떻게 일어나는가?

-> ID와 Fragmentation

 

* 라우터는 상위 계층 장비를, 스위치는 라우터를 읽을 수 없다.

 

* Source Address 필드는 32bit IP 주소

 

  • 2 계층 Data-Link Layer

-> MAC 주소는 LAN 단계에서 작용(네트워크 내부, Subnet)해서 식별

-> 2 계층에서도 오류/흐름 제어? : 4 계층과는 동작 구간(송신 측과 수신 측)이 다름. 2 계층은 단말/라우터 사이에서 작용.

 

* 유선이든 무선이든 장비 간 통신에는 랜 카드(NIC) 필요

-> 라우터, 스위치로 네트워크 차원의 허브

.

.

.

  • TCP/IP Protocol

-> 실제 데이터 통신은 이 모델로 한다.

-> 원래 OSI에는 IP만 있었는데, TCP에서 여러 프로토콜이 추가되었다.

 

* IPv4 통신 방식은 유니캐스트/멀티캐스트/브로드캐스트가 있다.

 

* IPv4는 4개 필드로 이루어져 있다. 1 필드는 8bit(0~255)다.

- Classful : A ~ E Class. 첫 필드의 범위로 나눈다.

(A는 0~127, B는 128~191, C는 192~223, D는 224~239, E는 240~255)

- Classless

 

  • Subnet Mask : 오늘 수업의 핵심.

- IP 주소의 어디까지가 네트워크 부분이고 어디까지가 호스트 부분인가? : 어떤 주소들의 네트워크 부분이 일치한다면 그 주소들은 같은 네트워크에 있다고 볼 수 있을 것이다.

- 서브넷에 주소가 얼마나 있는지, 서브넷을 어떻게 나누었는지 등 네트워크를 구분 짓기 위해 사용. 특정 IP가 소속된 네트워크의 다른 IP 정보를 구할 수 있다.

- 목적지 IP가 내 네트워크와 같은 네트워크에 있나 확인 가능

- 서브넷 마스크가 다르다? 게이트웨이만 알고 있으면 어디로 전달할지 컴퓨터가 인지 가능

 

 

* 192.168.0.3과 서브넷 마스크 255.255.255.0
-> 1100 0000.1010 1000.0000 0000.0000 0011
-> 1111 1111.1111 1111.1111 1111.0000 0000
연속된 1까지가 네트워크 부분.     ↑
-> 어떤 주소가 192.168.0까지 같다면 같은 네트워크에 있을 것이다.

 

  • 예제

1. 192.168.0.0~192.168.0.127이면 
192.168.0.0    = 192.168.0.0000 0000
192.168.0.127 = 192.168.0.0111 1111
                                  ↑
좌측부터 우측으로 변하지 않는(공통의) 필드의 비트까지가 네트워크 부분(1)이다.
서브넷 마스크 = 255.255.255.1000 0000

2. 192.168.0.64~192.168.0.127이면
192.168.0. 0100 0000
192.168.0. 0111 1111
               ↑
서브넷 마스크 = 255.255.255.1100 0000

3. 192.168.0.192~192.168.0.255
192.168.0. 1100 0000
192.168.0. 1111 1111
               ↑
서브넷 마스크 = 255.255.255. 1100 0000

4. 192.168.0.176~192.168.0.191
192.168.0. 1011 0000
192.168.0. 1011 1111
                  ↑
서브넷 마스크 = 255.255.255. 1111 0000

 

5. 호스트 ip 주소 192.168.0.130
서브넷 마스크 255.255.255.128일 때, 범위는?
192.168.0.130
-> 1100 0000.1010 1000.0000 0000.1000 0010
255.255.255.128
-> 1111 1111.1111 1111.1111 1111.1000 0000
서브넷 마스크 마지막 필드가 1000 0000이라면 첫 비트까지 같다는 것.
다른 주소들은 아무튼
1100 0000.1010 1000.0000 0000.1*** ****
가 될 것.
그럼 1000 0000(128) ~ 1111 1111(255)의 범위다.

 

* 사용자의 컴퓨터는 목적지 IP가 같은 네트워크에 있는지 아닌지만 서브넷 마스크로 판별하면 된다. 외부 네트워크는 알 필요 없다.

 

* 실전에서는 VPC CIDR 대역 설정에서 사용하게 될 것이다.

.

.

.

* IP 헤더의 TOS(Type Of Service) 필드, ID 필드,...

* Gateway, Router

* TTL(Time To Live) 필드

* Data Capsulation & De-capsulation

 

  • 서브넷 마스크가 정해지면 네트워크 주소의 범위가 정해지는 것 아닌가?

-> 4번 예제에서 1011까지가 네트워크 필드니까 네트워크의 범위는 1011 0000 ~ 1011 1111이 되는 것 맞나?

  • 서브넷 분할/주소 범위 결정/서브넷 마스크 결정 <- 정해지는 순서가 뭐지?
  • 강사님이 서브넷 마스크를 구하는 편법을 알려주셨는데, C 클래스 기준이기도 하고 이미 정석대로 구하는 법을 이해해서 편법을 새로 익힐 필요성은 느끼지 못하겠다. 이후에 CIDR을 생각하면 그냥 정석대로 하는 것이 나을 것 같다.

댓글