4일차 - Base learning (네트워크)

Jk Lim·2023년 4월 13일
0

MLOps 부트캠프

목록 보기
3/34

4일차는

  1. 명령어를 통한 네트워크 환경 분석 실습과
  2. OSI 7계층 및 TCP/IP 4계층과
  3. wireshark를 사용한 네트워크 신호 분석과
  4. IP 표기법에 대해 학습하였다.

1. 네트워크 환경 분석 실습

용어 정리

  • ttl(time to live) : 이 값만큼 라우터와 라우터 사이를 옮겨가면서 요청한 ip를 찾음 (ip헤더에 값으로 주어짐)
  • AP(Access Point) : 스위치 + 라우터 (예-와이파이 공유기)
  • ping : 신호를 보냈다가 돌아오는 것 (ICMP 프로토콜 사용)
  • 홉(hop) : 라우터와 라우터 사이 - 각 패킷이 매 노드(또는 라우터)를 건너가는 양상을 표현
    • ping을 보냈을때 찍힌 ttl + 라우터의 개수 = 해당 ping을 보낸 서버의 ttl
    • 운영체제마다 고유의 ttl을 가지고 있어서 ttl값으로 운영체제를 확인 해 낼 수 있다. (64-리눅스 / 128-윈도우)

명령어

  • nslookup : 서버 주소 알아내기 (nslookup naver.com)
  • traceroute / tracert(윈도우) : 네트워크 신호의 흐름을 알 수 있다.
  • ip a : IP확인
  • netstat -nr(윈도우도 동일) : routing table / 게이트웨이 정보 확인 / Flags : UG → Use Gageway / 0.0.0.0의 의미는 anywhere 어디든 갈 수 있다.

  • time dig @168.126.63.1 naver.com in : 168.126.63.1 이라는 DNS 서버에서 naver.com이라는 도메인을 찾는데까지 걸리는 시간을 측정

  • 게이트웨이(192.168.40.1)에 ping을 날림 → ttl=64를 통해서 게이트웨이가 리눅스 커널위에서 동작한다는 것을 알 수 있음

2. OSI 7계층 및 TCP/IP 4계층

  • arp : 주소 변환 프로토콜을 의미 (IP주소를 통해 MAC 주소를 학습) 2~3계층 사이
  • MAC주소를 알아야 2계층에서 스위치 장비가 데이터를 주고받을 수 있음.
  • TCP 와 UDP의 차이점 (참고자료)

4 계층 - 전송 계층 (Transport Layer)

  • 데이터를 담을 수 있는 계층
  • 전송 계층 (4계층)의 PDU 값 : 세그먼트 (segment)
  • 이 계층에서 가장 중요한 것은 포트 (iana port assignment / RFC문서 : 통신규약 문서)
  • netstat 는 세션 정보를 확인하는 명령어
    • port는 세가지 영역으로 나뉨. 왜 나누어서 사용하는가? → 보안적 측면, 시스템 포트는 루트/Admin 권한, 사용자 포트는 userland (대부분은)
    • 포트가 열려있으면 서비스, 서비스가 열려있으면 프로세스가 열려있다. (반대는 안됨)
    • 프로세스가 열려있어도 서비스가 아닐 수 있고, 서비스가 열려있어도 포트가 안열려 있을 수 있다.
    • 프로그램을 바인딩 했다 : 어떠한 권한을 부여해서 실행했다.
    • 포트넘버가 열려있다. → 내 컴퓨터에 빨대가 꽃혀있다. → 없애야함 (결제 관련 프로그램 등)

5 계층 - 세션 계층 (Session Layer)

  • What is Session? → 어플리케이션(응용프로그램)과 관련되는 것_응용프로그램 레벨에서 카운트(네트워크 레벨 X)
  • 언제까지 권한이 유지되느냐? → 세션이 유지 될 때까지
  • 사이트 접속 → 로그인 → 인증/식별/인가 의 과정을 거침 (반드시)
  • 로드밸런스(LB)도 세션 계층 ~ 서버 과부하를 막기위해 트래픽?을 분산시켜주는 장비

6 계층 - 표현 계층 (Presentation Layer)

  • 인코딩/디코딩/암호화/코덱 등의 영역 - 어플리케이션이 해줌
  • SSL, TLS를 해주는 계층 - ip제외하고 암호화

7 계층 - 응용 계층 (Application Layer)

* TCP/IP 4계층

  • 현재 사용하는 형태
  • OSI 7 계층이 존재하지 않는 것은 아님. 같은 데이터 형식 / 장비를 사용하는 계층끼리 묶은 것이 TCP/IP 4계층이다.

3. Wireshark 사용법

Display Filtering

  • Time : 상대적인 시간 (내가 모니터링 하기로 시작한 순간부터) - Default 설정값
  • View > Time Display Format > UTC Date… / Tenths of a second 로 설정
  • 필드에 Port number가 안보임
  • Edit > preferences… > Appearance > Columns > [+] 두개 > Title : Src-port, Dest-Port > Type : Src Port(unresolved), Dest port(unresolved) > 순서 변경
    (unresolved : 번호 형태로 포트를 보여줌 / resolved : 네임으로 포트를 보여줌)
  • Statistic > Conversations (어떤 트래픽에서 많이 발생하는지 볼 수 있는.. 패킷 개수가 가장 많은 연결) > Apply as filter > Selected > A↔B > 필터가 걸려서 Display됨

I/O Graph

  • Statistic > I/O Graphs > Display Filter, Color, Style 등 설정
    * wireshark에서 t shark라는 것을 지원해 줌 → 이것으로 원본 데이터를 뽑아내 머신러닝 등에 활용 할 수 있다.

4. IP 표기법

  • IP를 왜 사용하나? → 관리의 목적 (집주소로 위도,경도를 사용하지 않는 것과 같음)
  • MAC 주소가 위도, 경도의 느낌. 고유의 번호
  • IP = Information Protocol : IP는 항상 앞에 붙어서 다른 데이터와 함께 움직인다

예시를 통한 IP 구조 확인

  • inet(ip) : 192.168.40.4
  • netmask (subnetmask) : 255.255.255.0 → 네트워크 영역과 호스트 영역을 구분 지어주는 정보 (하나의 IP 주소 = 네트워크 영역 + 호스트 영역)
  • 192.168.40 (네트워크 영역) + 4 (호스트 영역) →netmask의 255라고 표기된 세자리가 네트워크(공통)영역이라는 것을 표시해주는 것임
  • netmask를 2진수로 표기하면… 11111111.11111111.11111111.00000000 ⇒ 24
    -- 예) 172.16.100.20 / 16 ⇒ 172.17(네트워크 영역) + 100.20(호스트 영역)
  • 첫주소와 끝주소는 예약 되어 있음 : 모두가 1인경우 브로드캐스트 주소로 사용하고 모두 0인 경우엔 네트워크 주소로 사용함.
  • ip, netmask(subnet mask), gateway, dns address : 앞의 세개 중 하나만 바뀌어도 네트워크 정보를 갱신해 주어야 함. (dns는 information 정보)
  • CIDR 표기법 / prefix 방식 (CIDR - Classless Inter-Domain Routing : 도메인 = 분할)
  • subnetting : 네트워크를 나누는 것 (8로 안나눠지면 subnetting이 된 것)

동적 IP vs 고정 IP

  • IP는 관리를 목적으로 만들어 짐 - 원래는 IP를 static하게 만들어 관리하는 것이 가능
  • DHCP (동적으로 IP를 할당하는 프로토콜) 이 필요한 서비스가 있음
  • 동적 IP할당을 위해서는 한쪽에 DHCP 서버가 있어야하고 그 서버는 DHCP 할당 IP범위를 정함. 얼마의 기간동안 할지도 정함. (공유기가 DHCP의 기능을 함)
  • 외부에서 고정 IP : naver.com, google.com 등의 고유 주소를 마킹 (대명사)
  • 내부에서 고정 IP : 내부에서 고정해서 사용하는 장비. 게이트웨이 등

기타 네트워크 장비

  • NAT (Network Access Translation) : 내부 IP를 외부로 변환 또는 외부 접근을 내부접속 가능하게 하는 변환 (라우팅 - 라우터)
  • 라우팅 : 내부 외부 신호 변환 + 노드와 노드 사이를 막히지 않는 (최적)경로로 가게 해주는 장비, 인터넷이 느려지지 않게.
  • NAC 장비 (Network Access Control) : 외부 접근 통제

0개의 댓글