Network 환경, 네트워크 개요

markyang92·2021년 7월 14일
0

network

목록 보기
1/21
post-thumbnail
post-custom-banner

네트워크 개요

Data Layer

  • Data, Segment, Packet, Frame
  • TCP: FTP, HTTP, SMTP, DNS
  • UDP: DNS, TFTP

Header, 주소 체계

TCP


패킷의 유형


Segmentation (TCP)

  • 데이터는 한 패킷에 이더넷의 경우, 1460Byte만 전달 되므로, Segmentation으로 나눠서 전달한다.Packet의, Data1460Byte

Fragmentation (UDP, TCP의 일부)


Frame


Frame과 Packet의 전송

  • 이더넷은 라우터까지만 데려다준다.

MAC Address format

  • MS 방식: 54-B2-03-89-58-B2
  • Cisco 방식: 54B2:0389:58B2
  • 여튼 총 48bit
    • 앞의 24bit: 제조사 식별코드 (OUI)
      • 나의 제조사: 54B203
    • 뒤의 24bit: 제품 일련 번호

네트워크 환경


IP

IP = network + host

  • IP: 네트워크 part + 호스트 part로 나뉘어 져 있다.

  • 네트워크 Part = 하나의 브로드 캐스트 도메인
    • 같은 네트워크 도메인(브로드 캐스트 도메인)에 있는 IP끼리 통신하기 위해선 같은 네트워크 영역
    • 각 Edge는 호스트 Part달라야함
  • 다른 곳과 통신하기 위해선 라우터게이트웨이같은 통신 장비가 필요하다.
    • 라우터, 게이트웨이가 Edge 네트워크 Part라고 생각

몇 IP 특징

  1. 루프백(loopback) 주소
    실제 네트워크 인터페이스가 아님
    가상 루프백 인터페이스로 패킷을 전달 할 수 있는 주소
    localhost hosts 매핑되어 있음
    인터넷으로 전달되지 않고 시스템 내부에서 패킷이 루프된다.
    127.0.0.1(IPv4), 0:0:0:0:0:0:0:1(IPv6)
  2. 사설(Private) 주소
    사설 네트워크에서만 사용하는 주소
    주소 부족의 경우, 인터넷 연결을 위해 NAT을 사용할 수 있다.
    192.168.?.?(IPv4), - (IPv6)(IPv6는 사설 주소 없음)
    10.?.?.?: 는 주로 host-only내부망용으로 쓰인다.
  3. 멀티캐스트 주소
    불특정 다수에게 전송
    244~239.X.X.X(IPv4), FF~:(IPv6)
  4. 브로드캐스트 주소
    IP= 네트워크 부분 + host 부분 였는데, host 부분을 전부 1로 채움
    네트워크 part: 192.168.155.?
    브로드캐스트 주소: 192.168.155.255
  5. default
    0.0.0.0

subnet mask

  • 서브넷 마스크
    • 1, 0으로 이루어지며, 1연속에 0이 끼어들 수 없음
    • 최근에는 앞에서 부터 1의 갯수를 세어서 표현하기도 함
      • 11111111.11111101.11111111.11111111 (X)
      • 11111111.11111111.00000000.11111111(X)
      • 11111111.11111111.11111110.00000000 (O) = 255.255.254.0 = 23
      • 11111111.11111111.11111111.00000000 (O) = 255.255.255.0 = 24
  • IP 주소에서 네트워크 part는 어디까지인가?를 알려줌
    • subnet mask: 255.255.255.0 라면 ?.?.?.X IP 앞의 3 class부분을 네트워크 파트다!

IP, netmask, gateway, DNS 관계

  • 다음과 같이 관계를 그릴 수 있음

hostname

  • /etc/hostname에 명시
    • 외부에서 이 컴퓨터를 알아보는 이름


hosts

  • /etc/hosts에 명시
    • 왼쪽에 명시한 IP <-> human readable 이름

port


well-known port

  • /etc/services 파일에 잘 알려진 Port 디폴트 값들이 있다.

    이러한 wel-known ports는 RFC6335 네트워크 표준 문서가 관할한다.
  • 몇개만 추리자면..
Serviceport
ftp21/tcp
ssh22/tcp
telnet23/tcp
tftp69/udp
http80/tcp
x116000/tcp
x116000/udp
x11-16001/tcp
x11-76007/tcp

DNS가 돌아가는 구조

  • /etc/hosts에 없으면 /etc/resolv.conf 를 조회한다.

공유기 포트포워딩

  • 오른쪽과 같이 공유기 없이 직접 LAN을 꽂으면, 포트포워딩이 필요없음
  • 왼쪽과 같이 공유기를 거쳐 사용 시, 공유기에 의해 192.168.0.13으로 할당받은 Host에 static IP인 123.123.123.123을 설정한다.
    • 공유기 게이트웨이 설정에서 192.168.0.13:22(22: ssh용 port)를 123.123.123.123:8888에 매칭 시키면, 외부에서 ssh 접속을 할 때 아래와같이 입력하면 192.168.0.13:22에 매칭 시켜준다.
    $ ssh -p 8888 user@123.123.123.123

주요 장비

OSI 7계층: (하위 호환성)

계층계층 이름설명주요 장비
1(HW) 물리 계층실제 장비들을 연결하기 위한 장치허브, 리피터
2(HW) 데이터 링크 계층오류와 흐름을 제거하여 신뢰있는 데이터 전송브리지, 스위치
3(HW) 네트워크 계층다수 중개 시스템 중 올바른 경로를 선택라우터(IP를 가지고 제어)
4(SW) 전송 계층송신, 수신 프로세스 간의 연결TCP/IP UDP
5(SW) 세션 계층송신, 수신 간의 논리적 연결호스트(PC 등)
6(SW) 표현 계층코드 문자 등을 번역하여 일관되게 전송하고 압축, 해제, 보안 기능도 담당호스트(PC 등)
7(SW) 응용 계층사용자 친화 환경 제공(email, web)호스트(PC 등)

장비

허브, 리피터, 스위치, 브리지

장비설명
허브여러 대의 컴퓨터를 연결하여 네트워크로 보내거나 하나의 네트워크로 수신된 정보를 여러대의 컴퓨터로 송신하기 위한 장비
리피터티지털 신호를 증폭 시켜주는 역할, 신호가 약해지지 않고 컴퓨터로 수신되도록한다.
스위치HW 기반 처리 때문에 속도가 빠르다.
각기 다른 속도를 지원하도록 제어할 수 있다.
브리지SW 방식으로 처리하기 때문에 속도가 느리다.
포트들이 같은 속도를 지원


스위치

  • L2 스위치와 L3, L4 스위치의 기능상 역할을 구분한다.
    • L2, L3, L4 스위치는 OSI 중 어떤 계층에서 수행되는가에 따라 구분된다.
    • 각 레이어에서 스위칭이 일어날 때의 장단점을 파악한다.
구분특징한계
L2 스위치가장 원초적인 스위치상위 레이어에서 동작하는 IP이해 불가
IP이해 불가에 따른 라우팅도 불가
L3 스위치IP 레이어의 스위칭을 수행하여 외부로 전송라우터와의 경계가 모호함
FTP, HTTP 등 우선 스위칭 불가
L4 스위치TCP/UDP 등 스위칭 수행
FTP, HTTP 등을 구분해 스위칭하는 로드 밸런싱 가능
애플리케이션 레이어에서 파악이 가능한
이메일 내용 등 정교한 로드밸런싱 수행 불가

라우터

  • 라우터는 서로 다른 네트워크 간의 데이터를 전송하고 가장 이상적인 데이터 전달 경로를 설정하여 주는 역할을 한다
  • 공유기: 라우팅 기능 + 스위치 기능
  • 라우터 -> 방화벽 스위치 -> 'iptables' by (xinetd superdaemon)
  • 다른 곳과 통신하기 위해선 라우터게이트웨이같은 통신 장비가 필요하다.
    • 라우터, 게이트웨이가 Edge 네트워크 Part라고 생각

라우터 심화

  • 보통 각 서브넷의 Default Gateway:
    • IP/서브넷마스크: 10.23.2.0/24 인 경우, Default Gateway:10.23.2.1
    • IP/서브넷마스크: 192.168.45.0/24 인 경우, Default Gateway:192.168.45.1

  • 호스트 A 에서 $ netstat -nr 결과 아래와 같이 나온다 치자.
Destination	Gateway		Genmask		Flags	Metric	Ref	Use	Iface
10.23.2.0	0.0.0.0		255.255.255.0	U	0	0	0	eth0
192.168.45.0	0.0.0.0		255.255.255.0	U	0	0	0	eth1
  • 여기서, 만약 10.23.2.4 IP를 할당 받은 호스트A가 패킷을 서브넷(10.23.2.0/24)를 거쳐 외부로 전송하고 싶다면! 호스트의 'Gateway'인 10.23.2.1로 패킷을 전송한다.
  • 예를들어, 호스트A -> 호스트E 로 보내려면, 패킷은 eth0 '인터페이스'를 통해, 10.23.2.1(게이트웨이)로 전송되고, 그 다음 라우터의 eth1 인터페이스를 통해 되돌려진다.
  • 리눅스 커널은 자동적으로 패킷을 서브넷에서 다른 서브넷으로 옮기지 않는다. 이런 기본적인 라우팅 기능이 가능하려면, 라우터의 커널에서 IP Forwarding을 다음 명령으로 Activate 해야한다.
$ sudo sysctl -w net.ipv4.ip_forward=1
  • net.ipv4.ip_forward를 활성화 시키면, 머신은 곧바로 두 서브넷 사이에서 패킷 라우팅을 시작한다.
    • 주의!: IP Forwarding은 보안 취약!
  • 위 명령은 '임시' 이므로, 부팅시에 추가하려면 /etc/sysctl.conf 파일에서, 명령을 찾아 활성화 시킨다.
    • /etc/sysctl.conf.d/의 파일에 추가하면, 배포판이 바뀌어도 덮어쓰지 않는다.

profile
pllpokko@alumni.kaist.ac.kr
post-custom-banner

0개의 댓글