본문 바로가기
교육

[3일 차] 21.07.22 : 네트워크 기초 3

by ballena 2021. 7. 22.

패킷 트레이서는 어제도 오늘도 짜증 났다. 

따라가느라 정신이 없다 보니 에러가 나면 고칠 수가 없다.

 

이번 주 수업은 네트워크 기초였다. 수업자료로는 2, 4, 5장.

 

수업 중 집중력이 흐트러질 때도 있고, 필기를 하다 보니 좀 난잡해졌다.

주말에 수업 녹화 영상을 보며 21, 22일 내용을 복습해야겠다.

 


수업 초반에는 패킷 트레이서로 네트워크 구축을 복습했다. NAT PAT, ARP도 추가로 실습했다.

LAN은 3개 컴퓨터와 스위치로, 게이트웨이 주소는 네트워크의 첫 번째 주소로.

CIDR 표기법을 보고 네트워크의 범위를 구하고, 사용 가능한 주소를 구한다.

첫 주소는 게이트웨이(네트워크) 주소, 마지막 주소는 브로드캐스트 주소.

 

* 사설망의 장점

- 공인 IP 절약

- 내부 망 보호

 

* Router는 서로 다른 네트워크 간 통신(연결)을 위한 3 계층 장비다.

네트워크-라우터-라우터-네트워크 구조에서, 라우터-라우터도 하나의 서브넷으로 볼 수 있다. 그러면 네트워크-라우터, 라우터-라우터, 라우터-네트워크의 3개 서브넷이 생긴다.

 

라우터 설정 시 커맨드 명령어로 주소 설정하는 것을 꽤 오래 수업했다. 외울 필요는 없다고 하시는데... 수업하는 거 보면 알아두라는 것 같다.

no
Router> en                                                      (enable)
Router# conf t                                                 (configure terminal)
Router(config)# int fa0/0                                     (interface fastethernet 0/0)
Router(config-if)# ip add [ip address] [subnet mask]  (ip address [ip address] [sunbet mask])
Router(config-if)# no shut                                    (no shutdown)

어쨌든 위 구조처럼 설계를 하면, 초록불이 들어온다. 그런데 ping을 날려보니 안된다. 왜?

-> 라우팅 설정이 필요하다. 라우팅 테이블을 확인해서 어느 인터페이스로 보내야 할지 알아야 하기 때문.

-> 라우터 간 네트워크까진 라우팅 테이블에 있었다. 그런데 그 너머가 없다. 그러니 전송이 안되던 것.

-> 라우팅 정보를 입력한다.

 : ip route [목적지 네트워크 주소] [목적지 서브넷 마스크] [로컬 인터페이스]
 : ip route [목적지 네트워크 주소] [목적지 서브넷 마스크] [인접 라우터 ip 주소] <- 메인
                                                                             ↑ next hop ip address
-> 등록 완료. 이제 라우터 너머의 네트워크를 인지했다.

 

라우팅 방식은

1. Static

2. Dynamic : 라우팅 프로토콜(RIP, EIGRP, OSPF, BGP)

 

* 접근 리스트 : access-list 1 permit

* 와일드카드 마스크, 라는 것이 있는데 대충 서브넷 마스크의 반대라고 생각하면 된다.

0.0.0.255 같은 형식.

 

* 패킷 트레이서 실습에서 했던 "명령어로 주소/라우터 설정하기"는 복습을 진행하며 따로 정리하는 것이 낫겠다.

 

NAT에는 마스커레이딩(사설을 공인으로 바꾸는 동작), 포트 포워딩이라는 것이 있다.

 

오전 수업 내용의 요점은

-> 사설 네트워크와 다른 네트워크의 통신 과정에 대해 이해할 것.

-> NAT PAT 작동 방식/과정

-> ARP 요청/응답 진행 과정


수업 중반에는 IPv6에 대해 배웠다. 

 

IPv6는 평문을 암호화하는 기능이 자체적으로는 없다. 자체 설정을 통해서야 사용 가능하다.

IPv6에서 개선된 점이 여러 가지 있다.

-> 32bit에서 128bit로 증가. 주소 개수가 넉넉해졌다.

-> 공인 IP를 절약할 필요가 없고, 자체 암호화 기술이 있으므로 NAT가 필요 없다.

-> 보안 문제, 라우팅 효율성, QOS 등이 개선되었다.

-> 전송 방식은 Unicast, Multicast, Anycast가 있다.

 

IPv4는 유니캐스트(1대 1), 멀티캐스트(1:그룹), 브로드캐스트(1:전부)가 있었는데, 브로드캐스트는 그리 좋은 방법이 아니다. 이는 ARP와 관련이 있는데, ARP는 일반적으로 내부 네트워크에서 MAC 주소를 확인하기 위한 용도다. 그리고 MAC 주소는 2 계층 범위에서 확인이 가능하다. 네트워크 상에서 2 계층의 범위는 컴퓨터-스위치까지다. 라우터는 포함 X.

외부 네트워크 기기의 MAC 주소를 확인하려면 외부 ARP를 사용하는데,

-> 송신자는 발송한 패킷의 목적지 MAC 주소에 게이트웨이 MAC 주소를 넣어놓는다.

-> 이러면 네트워크에서 나가는 중(스위치 -> 라우터)에는 게이트웨이 MAC 주소고,

-> 네트워크에서 나가고 라우터 간을 이동할 때에는 서브넷이 바뀐다.

-> 서브넷이 바뀐다는 것은 출발 MAC 주소가 출발한 네트워크 라우터의 MAC 주소로 바뀐다는 의미다.

-> 게이트웨이 MAC 주소였던 목적지 MAC 주소는 목적 네트워크 라우터의 MAC 주소로 바뀐다.

 

대충 이런 과정을 거쳐 전송될 것인데... 그래서 왜 브로드캐스트가 위험한 것이냐면

-> 출발 네트워크 내에 자신의 것이 아닌 목적지 IP 주소를 가진 ARP 패킷이 도착하면 원래는 폐기해야 하는데

-> '무차별 모드'인 랜 카드를 가진 컴퓨터가 있다면(해커)?

-> 출발 컴퓨터가 인식하는 게이트웨이 MAC 주소를 해커의 컴퓨터 MAC 주소로 바꿔버리면

-> 송신 데이터가 해커의 컴퓨터를 거쳐서 네트워크 밖으로 나가고, 들어올 때에도 해커의 컴퓨터를 거친다.

-> 이 말은 곧 오고 가는 데이터가 해커의 손을 거친다는 의미다.

 

그래서 나온 IPv6의 애니캐스트는

-> 일반적으로 라우터에서 쓰는 전송 방식이다.

-> 어떤 정보가 라우터로 들어오면, 가장 인접한 불특정 장비 쪽으로 해당 트래픽을 보낸다.

 

IPv6는 IPv4에 비해 헤더가 심플해졌다.

-> Header Length, Identification, Flags, Fragment offset, Header checksum 등이 사라졌다.

-> 하지만 IPv6는 IPv4에 비해 오버헤드가 크다.

 

  • IPv6 주소 표기법

-> IPv6는 128bit이므로 16진수로 표현한다. 1자리가 4bit다.

-> 16bit의 8개 필드가 있다 = 16진수로 표현하면 4자리 숫자가 8개 필드. ' : '로 구분한다.

1. 0으로 시작하는 필드의 앞 0은 생략 가능. 단, 전체 16진수가 0인 필드는 0으로라도 표현해야 한다.

예시 : 1234:0123:0012:0000:0001:0002:0003:0004 => 123:123:12:0:1:2:3:4

2. 0000이 연속으로 나타나는 필드는 딱 1번 생략 가능.

예시: 11:0:0:0:55:0:0:88 => 11::55:0:0:88

3. IPv4 + IPv6 같이 표현하기.

예시 : IPv4 주소(d.d.d.d) + IPv6 주소(x:x:x:x:x:x:x:x) = x:x:x:x:x:x:x:x:d.d.d.d

 

IP 주소를 넣는 방식은 2가지.

1. 수동(Static)

2. 자동(Dynamic) -> DHCP

 

* Plug & Play : USB

IP를 자기가 만들 수 있느냐 없느냐의 문제. 인접 장비와 제어 정보를 주고받는 목적. 통신용 아님.

 

* 링크-로컬 IPv6 주소 : 컴퓨터가 스스로 만든다.

 

 

  • IPv4 <-> IPv6 전환 기술 : 헤더의 구성/순서가 다르니 전환 기술이 없으면 못 알아먹는다.

1. Dualstack

SW적 구현을 통해 어떤 주소 체계라도 처리 가능. 일반적으로 많이 쓰이는 방식.

 

2. Tunneling

단말 사이에 논리적 터널 경로를 구성해 통신. 캡슐화로 IPv4 헤더를 붙여 터널을 지나고, 터널 지나면 캡슐화를 풀어서 IPv4 헤더 해제. 단말은 IPv6인데 네트워크는 IPv4일 때 사용한다. 이때 터널의 입/출구에 있는 장치는 듀얼스택 기술을 사용한다.

 

3. Translation

패킷의 완전한 재조합으로 다른 주소체계로 전환한다. 전환하는 지점에도 듀얼스택 기술을 사용한다. 아예 바꿔버리는 것이니 헤더를 더 붙인다던가 하는 것이 아니라 완전 변환이다.

IPv4를 쓰는 네트워크 <-> IPv6를 사용하는 네트워크 간 통신에 사용.


수업 후반에는 네트워크 전송 매체와 프로토콜을 수업했다.

네트워크 전송 매체 시간에는 집중력을 좀 잃었다. 너무 물리적으로 보이는 내용이라 필요 없다고 생각했던 것 같다.

 

네트워크 전송에서 알아둘 단위

- 대역폭(Bandwidth) : 신호의 최고 주파수와 최저 주파수의 폭(Hz)

- 트래픽(Traffic) : 전송 매체를 통해 지나간 데이터의 누적량(bit)

- 회선 속도 : 전송 매체를 통해 초당 전송한 데이터량(bps)

 

1. 유선 전송 매체 : UTP, 동축 케이블, 광케이블

2. 무선 전송 매체

 

- Port 주소는 16bit 10진수

- IP 주소는 32bit 10진수     : 3 계층이다!

- MAC 주소는 48bit 16진수 : 2 계층이다!

 

 

  • 프로토콜을 공부할 때 가장 중요한 것은...

- TCP/IP 프로토콜의 특징을 이해할 것.

- 그 외의 다른 프로토콜은 기능을 이해하면 된다.

- 대충 ~기능은 ~계층에서 했었지~ 정도?

 

 

  • ARP : IP 주소를 MAC 주소로 mapping. 정방향 프로토콜이다.
  • RARP : 역방향 프로토콜이다. DHCP 서비스의 원조격이라고 한다.

 

콘솔 창에 arp -a를 치면 ARP 캐시가 출력된다. arp -d는 캐시 삭제(정적은 삭제 안됨).

동적 : 가져온 거

정적 : 수동으로 입력한 거

 

IP 주소를 할당하던 프로토콜이 있다.

RARP : 정적으로 MAC : IP 매핑. IP 주소, 서브넷 주소 부여

BOOTP : 정적으로 MAC : IP 매핑. IP 주소, 서브넷 주소, 게이트웨이 주소 부여

DHCP : 동적으로 MAC : IP 매핑. 모두 가능.

 

* ICMP : 오류 검사, 오류제어 제공. 오류 복구 미제공. 헤더에서 type 0, 3, 8 정도만 기억.

 

* IGMP


복습 시 중점을 둘 것은

- NAT PAT

- ARP

의 동작 원리 이해

+

수업 내용

프로토콜 계열은 대충 무슨 역할인지만 보면 될 듯하다.

내일은 7 계층 서비스를 이론적으로 배우로 실습한다고 한다.

 

 

듣다 보면 "이것까진 몰라도 됩니다. 그냥 알아두세요."라는 말이 자주 나왔다.

하지만 듣다 보면 그냥 부담을 덜어주려고 하는 말씀인 것 같다. 알아두면 언젠가 쓸 곳이 있을 것 같다.

그냥 귀담아듣지 말고 수업에서 하는 건 다 알아두는 것이 좋겠다.

 

개 같은 패킷 트레이서. 복습 때 두고 보자.

댓글