저는 출처의 글/영상 을 똑같이 필사(?) 하며 공부하는 스타일이기에, 정확한 글과 출처는 첨부된 링크를 확인해주십시오.
PC, 스위치, 라우터 전부 처음 켰을 때 부터 어떻게 라우팅테이블을 채워가고 어떤 프로토콜들을 주고 받는지, 그리고 점점 발전하게된 스토리 이해하기
1. 초기 부팅 및 기본 설정
1) pc , 리눅스의 부팅 (출처: https://neos518.tistory.com/113 )
요약)
전원 켜기 -> POST (스스로 전원이 켜지는지 자가진단) -> BIOS 단계 -> 부팅장치 검색 -> 부트로더 실행(GRUB)
-> 실행할 커널 선택 -> 커널 로드 및 pid 1번 실행 (systemd) -> 기타 필수 프로그램 실행 -> 부팅완료
(https://it-hangil.tistory.com/13)
사전 정보 )
BIOS :
- 메모리와 cpu 레지스터를 초기화 시킨다.
- 디스크로부터 부트로더를 불러온다.
- 부트로더는 디스크에서 os 커널의 이미지를 찾아서 메모리로 불러오고 실행시키는 역햘을 한다.
과정 설명)
1. 컴퓨터의 전원 스위치를 켜면, ROM BIOS 라고 불리는 기본적인 프로그램이 동작하게 된다.
-> 이 프로그램은 전원이 꺼져도 기억할 수 있도록 ROM 메모리에 기록되어있음
2. POST (power on self test) 라고 불리는 검사 단계가 진행됨, 대개 메인 메모리로 사용되는 ram, 키보드, 하드디스크 등을 체크하고 문제가 있을 시 부팅 중단
3. os 부팅 파일을 찾기 위해 드라이브를 찾아본다. (기본적으로 A 드라이브 먼저 찾아봄 - 바이오스 셋업에서 다른 드라이브를 찾아보도록 센팅한 경우라면 예외, 만약 A 드라이브가 비어있는 경우 바이오스는 하드디스크에서 시스템 파일을 찾음. 나같은 경우는 다른 드라이브를 찾아보도록 설정했었음)
4. 부트 파일이 위치해 있는 드라이브를 인식하고 나면, 바이오스는 해당 드라이브의 첫 번째 섹터에 있는 정보를 찾아 메모리에 로드하기 위해 복사하게 되는데, 이 정보가 바로 마스터 부트 레코드(MBR ; Master Boot Record)라고 알려져 있는 정보이다.
5. 부트 레코드를 메모리의 특정 위치로 복사해 넣는다.
6. 부트 레코드가 초기 시스템 파일(MS-DOS인 경우 IO.SYS)을 디스켓이나 하드디스크로부터 읽어서 메모리에 로드한다.
7. 초기 파일(IO.SYS인 경우 SYSINIT이라고 불리우는 프로그램)은 운영체계의 나머지 부분을 메모리로 로드한다.
8. 초기 파일(IO.SYS인 경우 SYSINIT이라고 불리우는 프로그램)은 운영체계의 나머지 부분을 메모리로 로드한다.
9.초기에 로드되는 시스템 파일 중에 하나로 시스템 구성 파일(DOS의 경우 CONFIG.SYS)이 있다. 시스템 구성파일은 로드해야 할 특정 시스템 파일(예를 들어 각종 장치를 위한 드라이버 파일들)들에 관한 정보를 담고 있다.
10. 초기에 로드되는 시스템 파일 중에 하나로 시스템 구성 파일(DOS의 경우 CONFIG.SYS)이 있다. 시스템 구성파일은 로드해야 할 특정 시스템 파일(예를 들어 각종 장치를 위한 드라이버 파일들)들에 관한 정보를 담고 있다.
11. 초기에 로드되는 시스템 파일 중에 하나로 시스템 구성 파일(DOS의 경우 CONFIG.SYS)이 있다. 시스템 구성파일은 로드해야 할 특정 시스템 파일(예를 들어 각종 장치를 위한 드라이버 파일들)들에 관한 정보를 담고 있다.
2) 라우터, 스위치 부팅 (출처 : https://freelin00.tistory.com/m/13)
- ROM : 컴퓨터의 읽기 전용 기억 장치. 비휘발성 메모리
- FLASH : 컴퓨터의 데이터를 읽고 쓸 수 있으며, 여러번 다시 쓸 수 있다. 비휘발성, 라우터로부터 탈착 가능
- RAM : 휘발성, 컴퓨터 주기억 장치, 정보를 장기간 보존할 수 없어 일정기간마다 기억 내용을 읽어 내서 다시 기록해 넣는 방식
- IOS : 인터넷 운영체제. Internet Operation System의 약자로, 네트워크 장치의 인터넷 기능에 초점을 맞춘 네트워크 운영체제
- Program : 라우터의 프로그램이 돌아가는 것
- Active Running-config : IOS 운영체제 기반의 설정 내용
- Table and Buffer : 데이터를 주고 받을 때 생기는 table 등을 말함
- 전원이 꺼지면 위 3가지의 실행되던 내용이 모두 삭제됨
- NVRAM : 비휘발성 임의 접근 메모리, Non-Volatile Random Access Memory 의 약자.
- 라우터 내부에 있는 메모리, 속성은 Flash 와 동일하다.
- NVRAM은 전원이 꺼져도 데이터가 유지되는 메모리로, 일반적인 RAM과는 다릅니다.
- 주 전원이 없을 때 백업 배터리로 전원을 공급한다. 또한 주 전원이 되돌아왔을 때 더 빨리 항법 방식으로 전환하도록 도와주며, 중요한 데이터를 보존하는데 쓰인다.
- 항법 방식? :
- 설정 파일 저장: NVRAM은 네트워크 장비의 설정 파일(예: Cisco 라우터의 Start-up Config)을 저장하는 데 사용됩니다. 이 설정 파일은 장비가 부팅될 때 RAM으로 로드되어 활성화됩니다.
- 부팅 과정: 장비가 켜지면, POST(전원 켠 후 자가 진단)를 수행하고, 이상이 없으면 NVRAM에 저장된 설정 파일을 RAM으로 불러옵니다. 이 과정에서 NVRAM의 데이터가 RAM으로 복사되어 장비가 정상적으로 작동할 수 있도록 합니다. 0
- Subset IOS : ROM 에 있는 IOS 운영체제의 subset. Flash 에서 잘못된 경우, Subset IOS 를 실행시켜 부팅하여 복구한다.
- 2가지 주 기능이 있다.
- Flash 에 있는 IOS 가 깨지면 subset IOS 를 불러서 flash IOS 에 복구한다.
- Flash 의 패스워드를 잃어버렸을 경우 참고한다.
라우터, 스위치 구조에서의 실행 순서와 부팅과정
부팅 : Flash에 있는 메모리를 RAM으로 옮겨와 IOS 운영체제가 실행이 전부 끝난 상태를 말함
라우터와 스위치의 부팅순서는 다음과 같습니다.
1) 전원을 켜면 POST(Power on Self Test)를 실시하여 장치의 이상 유무를 판단합니다.
2) 다음으로 ROM에 있는 Bootstrap(bootloader)를 RAM으로 옮깁니다.
3) Bootloader가 FLASH에 있는 IOS를 RAM으로 옮기게 됩니다. 이때 FLASH에 있어야할 IOS가 없거나 손상되어있으면 ROM에 있는 서브셋 IOS를 읽어 부팅을 합니다. 이때 이를 룸몬(rommon) 모드라고 합니다. 시스템이 이와 같이 부팅이 될 경우에는 새로이 IOS 이미지를 FLASH로 복사해야 합니다.
- IOS를 업데이트하거나 암호를 잃어버렸을 경우, 강제로 진입하여 문제를 해결 할 수 있음
- rommon 모드 명령어 : (패킷 트레이서* 라우터 또는 스위치 CLI에서) "ctrl + break 키"를 누르면 실행을 강제 중단하며 rommon 모드로 들어감
4) RAM으로 옮겨진 IOS는 실행되어지며, 정상적으로 부팅이 되고 난 후, IOS를 통한 부팅이 정상적으로 진행되면, NVRAM의 설정 파일(startup-config)를 읽어 들여 이를 적용합니다. 만약 이 파일이 없으면 디폴트 모드로 부팅합니다.
5) 부팅 이후에 RAM의 Active Running Config에서 설정한 것을 전원을 꺼서 메모리가 날아가기 전에 NVRAM의 Start-up Config에 저장해놓아 메모리가 사라지지 않도록 방지
Start-up Config와 Active Running Config
패킷트레이서에서의 Star-up Config와 Active Running Config
Start-up Config란 : NVRAM에 저장되어 있는 설정 파일이며, 이 파일은 장치가 재부팅할 때 적용됨
Active Running Config 란 : RAM에 있는 라우터 또는 스위치의 설정 내용이며, NVRAM으로 옮기지 않고 장치가 재부팅되거나 전원이 꺼지면 모든 내용이 삭제됨. 옮기면 전원을 껐다 켜도 설정 내용이 NVRAM에 남아있는 것을 확인 가능
한줄요약 : 라우터가 켜지면 상태를 점검하는 POST과정을 거치고 부트스트랩을 실행해서 플래시 메모리에 저장된 IOS와 NVRAM에 저장된 구성파일을 RAM에 로딩합니다.
출처) https://i5i5.tistory.com/438, https://freelin00.tistory.com/m/13
2. L2 VLAN 의 필요성 및 동작원리
출처 : https://www.youtube.com/watch?v=ILv_-eQX7XU&t=8s
VLAN 의 필요성
회사내에 3개의 부서가 있다고 가정하고, 인원이 각각 부서마다 3명씩 있다고가정하자.
그렇다면 부서별로 접근해야하는 서버가 있을 것이다.
HR - 인사 DB
엔지니어 - 기술데이터 DB
Sales 부서- 영업, 고객자료 DB
부서안에서만 통신할 수 있도록 스위치를 두고, 해당 스위치에 각 pc 와 서버를 연결하게 될 것
근데 문제는 스위치가 24port switch 라면, 포트를 4개만 사용하고 있기 때문에 (서버3대, db1대) 자원의 낭비가심하다. 20개의 포트가 남기 때문에
이것을 어떻게 효율적으로 사용할 수 있을까? 고민하다가,
한대의 스위치로 모든 서버를 연결하면 -> 12포트 사용하게 된다.
이렇게 구성하게 되면 타 부서를 접근가능해버리는 문제가 발생하기 때문에 vlan 이라는 기술을 만들었다.
VLAN 의 동작원리
8개의 포트가 있는 스위치가 있다고 가정해보자.
vlan 은 default 로 요새 스위치가 다 가지고 있다. (vlan1 번으로 초기세팅 되어있음)
각 부서의 PC 들을 연결을 한다.
HR 부서의 pc 만이 인사 db 에 접근해야하니까 물리적인 스위치는 한개인데, 여러개의 스위치로 접근하는 것처럼 가상으로 스위치를 만들어준다. 이것이 바로 vlan
모두 1번 vlan 으로 세팅된곳에, vlan2번과 3번을 만든다.
HR 부서와 연관된 장비들이 연결되어있는 포트를 vlan2 번에 연결하고,
엔지니어 부서와 연관된 장비들이 연결되어있는 포트를 vlan3번에 연결한다.
각 포트들에 구분이 지어진다.
이상태에서 HR 부서에서 프레임이 스위치쪽으로 들어왔다고 가정을 해보자.
스위치에서는 해당 프레임에 vlan 정보를 assign 한다.
스위치 내부에서 프레임에 vlan2 번에 대한 태그 정보를 달게 되는 것이다.
vlan2,3 번 프레임은 인사 DB 쪽으로 보내려고 할 때 어떻게 동작하는가?
2번 정보가 달린 프레임)
프레임에 달린 vlan 정보와 인터페이스에 세팅된 vlan 정보가 같다.
이 vlan 이라는 정보는 요즘에는 랜카드도 인식할 수 있으나 원래는 스위치만 인식할 수 있다.
vlan 정보는 떼 버리고, 프레임 정보만 내보낼 수 있는것이다.
vlan 3번 태그가 달린 프레임은, 포트에 세팅된 vlan 은 2번인 경우, 해당 프레임은내보내지 못하게 된다.
그래서 vlan2번-2번포트, 3번포트는 3번포트끼리만 가능한 것이다.
vlan 이라는 것을 다른말로, 포트그룹이라고도 이야기한다.
vlan 을 세팅하는 방법은 여러가지가있다.
인터페이스에 가서 해당 vlan 은 vlan2번이다! 라고 세팅할 수도있고,
특정 mac address 는 vlan2번이다!라고도 할 수 있어서
프레임의 src mac address를 보고 , 어떤 vlan 인지를 파악할 수 있는가 하면
유저 인증을 통해서 AAAA라고 하는 유저-vlan번호 매핑 가능
실습)
스위치 1대 - pc 3대
telnet 으로 들어가서 같은 vlan 일때는 통신 되고, 다를 때에는 통신되지 않는다를 확인해보자.
스위치 내부 세팅 확인
디폴트 설정인 vlan1 번임을 확인할 수 있음
시스코 장비 - SAID 라는 태그를 달아서 서로 같은 장비끼리만 통신할 수 잇게 한다.
vlan 생성실습)
일단 vlan,이름 만들어줌
2번에 PC1&PC2 라는 이름으로 vlan 생성된거 확인 가능
다만 아직 포트 assgin안되어있음
인터페이스에 포트 할당해줌
할당해주고,확인해본다.
포트 할당된 것을 확인할수 있고,
같은 방식으로 vlan3번도 int 0/2번에 할당해준다.
간만에 이 스위치 내부 설정방법을 보니 반갑다.. 명령어 다 까먹음
서로 다른 vlan 에 연결된 pc 1 -> pc3 끼리 통신이 안되는 것 확인 가능
3. Layer 3 스위치 vs 라우터
라우터에서는 라우팅을 하기 위해서 라우팅 테이블을 가지고 있고,
스위치는 mac add 포워딩을 위해 mac table 을 가지고 있다.
그 상태에서 프레임이 들어온다고 가정해보면,
라우터)
mac address table 은 없기 때문에, L2Header 의 dest.mac address 가 자기가 현재 받는 본인의 ( 라우터의 ) 인터페이스의 맥 주소와 같은지 확인한다.
맞다면, 레이어 2 헤더를 dencapsulation 해서 L3 Header를 보게된다.
그때 dest.IP가 받은 인터페이스의 (라우터 인터페이스) ip 인지 확인을 하게된다.
만약 일치한다면, 처리를 한다.
만약 아니라면,
- 라우팅 테이블을 lookup을 해서 목적지에 대한 ip주소를 가지고 있다면, 그 주소로 라우팅을 해서 포워딩을 하는 것이다.
- 포워딩을 할 때에는 다시 L2 header 로 만들어서 (변경) 포워딩을 하게된다.
- 만약 그 목적지 정보가 없다면, 드랍시키게 되는 것이다.
스위치)
Mac address 중에서 dest.MAC address 를 확인을 한다. 모든 스위치는 각각의 포트마다 mac address 를 가지고있다.
그래서 자신의 mac addres인지 확인을 하는데
실제로 mac address 는 이더넷 통신이 다 mac address 를 가지고 있어야 해서 가지고 있는거지 통신하기 위한 용도는 아니다.
그래서 자신의 mac address 가 dest mac address 가 되어서 오는 경우는 없을 것이다.
자신의 mac address 가 아니면, mac table 을 lookup 한다.
그 테이블에 정보가 없으면 나머지 포트로 플러딩을 하고,
있으면 그쪽으로 포워딩을 하게된다.
그때 L2 헤더는 보기만 하는거지 디 인캡슐레이션 하지 않기 때문에 그대로 포워딩하면된다.
- 수신되는 링크를 제외한 나머지 모든 링크로 패킷을 단순하게 복사 전송하는 일종의 무제어 포트 배정
[ LAN 에서의 플러딩 ( MAC 플러딩) - 위에서 말한 것 ]
- LAN 상에서 프레임의 목적지 주소가 멀티 캐스트 또는 브로드 캐스트 일 경우
- 스위칭 등에서는 통상적으로 플러딩에 의해 임의 포트에서 들어온 데이터를 나머지 모든 포트로 중계함으로써 과부하에 대한 제어를 하지 못함.
- 스위치 등으로 수신되는 프레임이
- 목적지 주소가 멀티캐스트 또는 브로드 캐스트 형태일 경우이거나,
- 자신의 mac 주소 테이블에 존재하지 않거나,
- 미 인식 프로토콜이거나,
- 프레임 버퍼 메모리가 가득 차는 등 이면
- 수신 포트를 제외한 나머지 모든 포트로 전달하게 됨 -> 폭주 위험
- 2계층 상에서 플러딩 제한 방법
- VLAN 을 이용하여 해당 VLAN 에 속한 포트로만 제한시켜 플러딩 시킨다.
- 특정 포트에서 비정상 발신 MAC 주소를 차단하는 기능등을 설정 ]
[ OSPF 에서의 플러딩 ]
- OSPF 라우터가 LSA를 전달 받으면,
- 해당 정보가 자신의 LSD 에 없으면, 이를 자신의 LSD 에 등록하고, ,수신 링크를 제외한 모든 OSPF 이웃 라우터에게 플러딩 방식으로 전달함.
InterVLAN
서로 다른 vlan 끼리 통신하기 위해서는 L2스위치만으로는 불가하고, L3 라우터가 있어야 한다.
서로 다른 vlan 끼리 통신하게 하는 것을 intervlan 이라고 한다.
그 동작 원리)
스위치가 있고, 스위치에 vlan1,2 가 있고 각각 피씨가 연결되어있다.
vlan1에 frame 을 전송하면 -> 프레임에 vlan1번정보가 담긴다.
vlan2와 통신하고 싶지만,1이 붙어있어서 날라갈수가없다.
그래서 누가 필요한것이냐? -> 라우터가 필요하게 된 것이다.
그리고, 라우터쪽으로 프레임을 보낼 때 vlan 정보를 달고 보내야만 한다.
라우터와 연결된 인터페이스를 trunk 포트로 만든다.
그 담에, 라우터는 실제로 fast-ethernet 0/0 번에 연결되어있다고 가정하자.
그러면, 0/0 에 연결되어있지만 가상의 서브 인터페이스에서 0.1 인터페이스 0.2 인터페이스 이런식으로 만든다.
0.1 은 1번정보를처리하고, 내보낼때는 valn1번 정보를 달고 내보내
0.2 번은 2번정보를 처리하고 내보낼때는 vlan2 번정보를 달고 내보내
그리고 각각의 라우터 인터페이스는 L3 인터페이스이기 때문에 가상 서브 인터페이스도 L3이다.
그래서 가상 인터페이스에도 ip 할당가능
트렁크 인터페이스를 통해 정보를 내보내면, 0.1 번 인터페이스가 받는다.
L2 헤더를 디인캡슐레이션 한다. 그때 vlan 태그정보가 L2 에 있으니 vlan 정보까지 사라질것
그리고나서 라우팅 테이블을 lookup 함.
dest ip add 가 192.168,2점 대역이다. 내보내는 inf 확인해보니 0.2 번으로 보내란다.
0.2 번은 2번 vlan 태그를 달고 내보내야 한다.
그러면 그 전에 vlan 1번 태그가 달려있는건 디인캡슐레이션 때문에 없어졌고, 내보내며 새롭게 L2 헤더를 붙일 때 vlan2 번 태그를 붙이며 나간다.
그럼 스위치에서는 2번 정보로 달려서 들어올거고,
그럼 2번 pc 로 날아갈 수 있따.
이게 바로 라우터를 이용한 intervlan 라우팅이다.
Inter VLAN 한계
3개의 스위치가 trunk 로 연결이 되어있고, interVLAN 을 위해 라우터와도 trunk 로 구성되어있다.
회사에 vlan 도 많고, 유저도 많다면
vlan 1번 유저가 2번유저와 통신한다던지, 서로 다른 vlan 끼리 통신하게 되면 그 트래픽이 모두 라우터를 거쳤다가 가야한다.
inter Routing 이 되어야 하기 때문이다.
그렇게되면 라우터-스위치 구간에 병목현상이 발생할 수 있다.
제대로 통신이 안되고, pull될 수 있기에
라우터-스위치를 합쳐서 이더넷으로 통신하는것이 아닌 시스템 내에서 버스구조로 통신을 하게 되면 굉장히 고속으로 통신을 할 수 있지 않겠느냐!
병목현상을 없애고, 트래픽의 딜레이도 최소화 시킬 수 있지 않겠느냐! 해서 L3 스위치가 나오게 된 것이다.
스위치 -트렁크 - 라우터
vlan 에 assign
스위치,라우터를 하나의 장비에 기능을 넣게되면
포트들이 쭉있는데, 장치마다 assgin 된 vlan의 번호가 다르다.
얘네들을 logical 하게 내부에서 장비들을
각각의 vlan 별로 개별적인 스위치에 연결된것처럼 구분을 한다.
그러면 1번용 switch, 2번용 switch 로 구분이 될 것이다.
가상의 포트가 있는 것처럼 1스위치-1vlan 포트 , 2스위치-2vlan포트 등으로 가상 포트가 있는것처럼 포트를 만든다.
라우터는 기능으로 있는 것이기 때문에 가상의 라우터 인터페이스에 연결되어있는 것처럼 만든느 것이다.
이때 라우터에도 sv 라는 가상 포트를 만들어줘서 L3 기능을 하게 한다.
가상 라우터는 sv 가상 L3 인터페이스에 가상 스위치 인터페이스를 연결한다.
1-1,2-2가 되게 한다.
같은 vlan 끼리 통신을 할때에는 가상 스위치간 통신을 할 수 있게 만들어주고
서로 다른 vlan 끼리 통신할때에는 가상 라우터로 통신할 수 있게 한다.
만약에 밑에 스위치가 실제 포트가 트렁크로 구성이되어있다면, 트렁크로 연결된 포트가 있는 트렁크 스위치를 만든다.
그리고 나서 vlan 스위치 - 트렁크 스위치에 vlan1,2 포트를 만들어주고
마치 서로 다른 스위치가 연결되어있는 것 처럼 구성해서 만들면 전체적으로 L3 스위치의 아키가 만들어진다.
L3 스위치에 L2 포트를 no switch port 라는 명령어를 줘서 가상 라우터에 다이렉트로 연결되어있는 포트처럼 연결시킬 수 있다.
4. 라우팅 테이블과 동작 과정, 라우팅 프로토콜
라우팅 : 패킷단위로 출발지 - 목적지 경로 설정
포워딩 : 라우터의 입력 포트에서 출력포트로 패킷을 이동시키는 것을 말함
라우팅 테이블 생성
라우팅 테이블은 라우팅 프로토콜을 통해서 cpu 가 만드는 것이다.
- control plane :라우팅 테이블을 만드는 과정을 담당.
- data plane : 만들어진 라우팅 테이블을 보고 처리
- 라우팅 설계 : E2E 데이터 통신을 위해 어떤 장비와 회선을 이용하여 가장 효율적으로 전달을 시킬 수 있는 경로를 구성하고, 경로상의 장애 발생에도 데이터 전달에 문제가 없도록 하는 것이 실무에서 필요하다.
- 정적 라우팅 : 가장 효율적인 라우팅 방식, 가장 우선순위가 높다.
- 특징 : next-hop IP 에 대한 Recursive 한 특성 - 해당 IP 에 대해 Route Lookup
- 장점 : 라우터의 부하 경험, 복잡한 계산 필요없어서 빠른 라우팅 가능
- 단점 : 관리자의 관리리소스 증가 , 정해진 경로 장애 발생시 네트워크 장애 발생 우려 있음
- 동적 라우팅: 라우터가 프로토콜에 의한 계산에 따라 스스로 라우팅을 결정하는 방식
AS 란?
AS 란, 하나의 거대한 네트워크 관리자에 의해 관리되는 라우터들이 집단이라고 할 수 있다.
특정 통신 사업자나 회사가 관리하는 모든 라우터들의 집단이 하나의 AS 라고 표현된다.
이때, AS 내부에서는 내부 라우팅 프로토콜, 즉 IGP 에 의해 라우팅이 이루어진다. 다른 AS 끼리 통신하는 문지기 라우터를 ASBR 이라고 한다. 이 ASBR 라우터들 끼리는 다른 들간의 통신을 위한 외부 라우팅 프로토콜, 즉 EGP 에 의해 라우팅이 이뤄진다. 출처.
AS - 라우터들의 집단
IGP - AS 내부에서의 통신
ASBR - 외부 통신을 위한 라우터
EGP - ASBR 끼리의 통신을 위한 프로토콜
라우팅 프로토콜의 종류
라우팅 테이블 관리 알고리즘에 따른 구분
- 디스턴스 벡터 : 목적지 까지 도달하는데에 필요한 거리와 방향만을 계산해서 기록하는 방식
- 링크 스테이트 : 목적지까지 도달하는 경로를 SPF, 즉 최단 경로를 찾는 알고리즘을 통해 가능한 모든 최단 경로를 라우팅 테이블에 기록해둠
RIP?
- 최소 Hop count를 파악하여 라우팅하는 프로토콜이다.
- 거리와 방향으로 길을 찾아가는 Distance Vector 다이나믹 프로토콜이다.
BGP?
- BGP는 외부 라우팅 프로토콜로(EGP) AS(관리 도메인)와 AS간에 사용되는 라우팅 프로토콜이다.
- 정해진 정책에 따라 최적 라우팅 경로를 수립한다.
- TCP 포트 179번을 통해 인접 라우터들과 이웃(Neighbor) 관계를 성립하며, 이웃 노드 간에는 유니캐스트 라우팅 업데이트를 실시한다.
🔻 유니캐스트 라우팅 프로토콜
최적의 통신 경로를 찾아내는 프로토콜이다. 하나의 Sender와 하나의 Receiver 간의 통신을 의미하며 One-to-One 통신이라 하기도 한다.
OSPF ?
- 최단 경로 우선 프로토콜이다.
- 최저 COST(최저 시간) 경로를 최적 라우팅 경로로 결정한다.
5. L4 스위치 알기
이정도면 이 블로그를 정독하는게 빠를 듯 하여 적다 말았다 -> https://aws-hyoh.tistory.com/category/Network%20Infra%20%EC%89%BD%EA%B2%8C%20%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0?page=2
L4 스위치
로드밸런싱(서버 부하 분산)
- 외부에서 들어오는 모든 요청은 L4 스위치를 거쳐야 하며, L4 스위치가 서버들에게 적절히 나누어 준다.
- TCP, UDP, HTTP 같은 프로토콜의 헤더를 분석하여 이를 바탕으로 부하 분산을 실시한다.
- Source IP나 Dest IP를 NAT(네트워크 주소 변환)하여 보낼 수 있다.
- NAT: https://aws-hyoh.tistory.com/145
- 클라이언트와 서버가 3way handshake 를 거쳐 논리적 연결이 생성되었음을 나타내는 connection 을 생성하면 중간자 역할의 L4 스 위치 역시 connection 을 생성하여 리스트를 관리한다.
- 이 과정에서 3way handshake 또한 L4 스위치를 통해 실시된다. 논리적 연결을 통해 데이터를 주고받던 서버 혹은 클라이언트가 4way handshake 를 실시해서 connection 을 제거하면, 4way handshake 의 중재자인 L4 스위치 또한 connection을 삭제한다.
- L4 스위치의 connection은 connection time out 을 가지는데, 이는 일정시간동안 사용되지 않은 connection 을 삭제하고, 클라이언트와 서버측에 필요시 connection 을 새로 맺도록 'Reset' flag 가 담긴 Packet 을 전송할 수 있도록 한다.
(진짜 새롭게 알게된다... tcp/ip 인 L4 레이어의 커넥션 동작을 L4 장비가 처리하는건 어찌보면 당연한건데 왜 이걸 생각을 못했는지... 난 아직도 너무 턱없이 모자라구나)
L4 스위치가 필요한 이유
일일이 서버에게 요청을 전달하지않고, L4 스위치에 모든 요청을 전달하면, L4스위치가 서버들에게 요청을 그대로 전달한다.
사용자는 pub IP 를 가진 L4 스위치에 요청 보냄 -> 사설 ip 를 가진 서버들에 요청 뿌려짐
이때 서버 ip 는 사설이라서 보안적으로 안전함
L4 스위치의 구성 요소
TCP는 IP의 정보뿐만 아니라 Port를 이용하여 연결한다.
한쪽 단말(Endpoint)에 도착한 데이터가 어느 입구(Port)로 들어가야 하는지 알아야 연결을 시도할 수 있기 때문이다.
위의 TCP Header를 보시면 Source Port와 Destination Port를 확인할 수 있다. 예
를 들어, 양쪽 단말(Endpoint) 이 HTTP로 이루어진 문서를 주고받고자 할 경우 데이터 통신을 하려면 Endpoint의 3306 Port도 아니고, 21 Port도 아닌 80 Port로 연결해야 한다.
80이라는 숫자는 Port입니다. 여기서 왜 이름이 'L4 스위치'인지 드러난다. OSI 7 Layer 중 Layer 4의 정보인 Port를 사용하기 때문이다.
1. 다양한 종류의 네트워크 장비들이 모인 전체 네트워크 구성이 아닌 L4 스위치를 중심으로 주변 장비들의 배치를 표현하는 'L4 스위치의 네트워크 구성'임을 감안하고 보시기 바라며 'Internet'으로 표현된 상자는 외부 인터넷을 표현하기 위한것.
2. L4 스위치가 들어가는 네트워크 인프라의 규모는 보통 중규모 이상입니다. 그렇기에 L4 스위치의 네트워크 구성은 네트워크 인프라의 극히 일부를 차지함
3. L4 스위치와 그 주변장비의 네트워크 구성을 이야기할 때는 보통 Backbone Switch(백본 스위치), Switching Hub(스위칭 허브, L2 스위치), 서버(WEB, WAS) 등을 주로 언급함
4. L4 스위치의 Default Gateway(기본 게이트웨이)는 주로 백본 스위치
5. 서버의 Default Gateway(기본 게이트웨이)는 주로 L4 스위치 혹은 백본 스위치
In-Line 구성
네트워크 장비를 일렬로 줄을 세우는 것처럼 구성한것
백본 스위치 - L4 스위치 - L2 스위치 - 서버 순
외부에서 들어온 요청은 백본 스위치를 거쳐 L4 스위치에 도달하며 L4 스위치는 이를 하위 서버에 부하분산
장점
L4 스위치가 중앙에 위치하기 때문에 모든 트래픽이 L4 스위치를 거쳐가야 합니다. 사용자가 서버에게 보내는 트래픽과 서버가 사용자에게 보내는 트래픽 모두 L4 스위치를 지나가므로 장애 상황이나 이슈 발생시 파악이 비교적 쉽습니다. 또한 다른 네트워크 구성에 비해 구성 방법이 단순하며 직관적이라 이러한 구성이 많은 편입니다.
단점
L4 스위치가 중앙에 위치한다는 것은 사용자와 서버의 모든 트래픽이 지나간다는 것을 의미하며, 이는 L4 스위치의 부하를 가중시키는 결과를 낳게 됩니다. L4 스위치의 Virtual Server 접속이 아닌 사용자와 서버의 직접 접속조차도 L4 스위치를 거쳐가야 하므로 불필요한 트래픽이 L4 스위치를 지나감을 의미하는 것이죠. 또한 L4 스위치에 문제 생겨 통신을 처리하지 못 한다면 서비스가 마비되는 사태를 초래합니다. 서버가 L4 스위치를 비켜 통신할 수 있는 방법이 없습니다. 물론 이는 이중화를 통해 해결이 가능합니다.
이외에 구성도 있는데, 이는 블로그 글을 읽고 오겠다. 정리하는데에 시간이 더 걸리기 때문이다.
L4 스위치의 이중화
이중화는 Active-Active보다 Active-Standby 운용 사례가 더 많다. 후자가 이중화 구성과 운용에 있어 난이도가 더 낮다고 한다.
Inline은 제쳐두고, One-Arm에서의 이중화를 살펴보면 모든 장비를 2개씩. L4 스위치도 2개씩. 그리고 이 L4 스위치 간 VLAN으로 연결되어 서로 정보를 공유한다. 참고
추가 네트워크 지식 및 답변 정리
공부 하다보니 결론적으로는 내가 질문에 답변을 해야하는거라
답변식으로 정리를 해볼까 한다.
1. nat
https://aws-hyoh.tistory.com/145
요약 (예비 답변):
NAT 는 공인망에서 사설망으로 들어가고자 할때, 사설망에서 공인망으로나가고자 할 때 해주는 주소 변환입니다.
이때 출발지의 ip를 변경하게되면 SNAT, 도착지를 변경하게되면 DNAT 등이라고 부르고, 이외에도 같은 공인 ip 에 여러 사용자가 배정될경우 포트로 구분해주는 PAT 방식도 있습니다.
2. vpn
https://aws-hyoh.tistory.com/161
vpn은 공인 인터넷을 사이에둔 사설망과 사설망이 공인 IP 로의 NAT 와 같은 제약없이 사설 IP 로 통신이 가능하게 하는 기술 , 데이터의 암호화를 지원한다.
VPN은 접속방식, 통신 프로토콜, 계층에 따라 여러가지로 분류할 수있는데
가장 구분이 쉬운 접속 방식을 기준으로 설명하면 SSL VPN 과 IPSec VPN이 있다.
2-1. IPSec VPN 은 네트워크(site)와 네트워크(site)를 연결하여 터널을 통해(공인망) 상대편 vpn 으로 건너갈 수 있도록 한다.
또한, 패킷을 암호화해서 L3 의 단점을 해소한다.
이는 IpSec이라 불리는 터널링 프로토콜이 있기 때문이다.
IPSec VPN은 공인 IP 를 보유한 라우터가 해당 기능을 가지고있을수도있고,
방화벽 하단에 IPSec VPN 을 두고, 별도의 인터넷 회선을 통해 네트워크를 연결할수도있고,
라우터와 스위치 사이에 vpn 을 두고 네트워크를 연결할수도있다.
어떻게 활용하느냐에 따라 다양한 곳에 배치될 수 있다.
수많은 구성이 존재해서 네트워크의 특성에 맞게 vpn을 설치할 수 있다.
- 정책에 의해 패킷을 차단하는 장비가 있는 경우, vpn 을 어디에 설치하느냐에 따라 정책 관리의 주체가 달라질 수 있다.
- vpn 은 패킷을 암호화 하는 만큼 ips 와 같은 장비가 복호화된 패킷을 볼 수 있도록 ipsec vpn 의 위치를 적절히 배치할 수 있다.
- ipsec vpn 을 사용한다는것은 본사와 지사의 트래픽이동이 잦다는것을 의미하므로, 방화벽 ,IPS 등의 장비에 주는 부하를 최소화 하는 방향으로 설치하면 좋다.
IPSec이란?
IP패킷의 암호화와 인증, 암호화를 위한 키 관리를 맡은 프로토콜 스위트.
2-2. SSL VPN
client to site 방식으로 사용되는 vpn 이다.
바꾸어 발하면 client to network .
사용자가 네트워크에 접근하기 위해 사용되는 vpn 이다.
이는 내가 홈랩에 쓰는 vpn 도 이런방식인것같다 (확인필요)
ipsec vpn 과는 다르게 vpn 장비를 2대 이상 필요로 하지도 않는다.
접근하는 사용자가 인가된 사용자인지 확인하고, 인가된 사용자가 암호화 통신을 할 수 있도록 방법을 제공하는것이 ssl,
현재에는 tls 라 불리는 프로토콜을 사용해서 vpn을 구성한다.
인증/암호화 통신 과정을 거치고 나면, ssl vpn 은 pc 에 사설 ip 와 함께 라우팅 정보를 제공하여 마치 pc 가 내부 네트워크에 연결된 것처럼 작동하도록 한다.
SSL 이란?
SSL (혹은 TLS) 프로토콜은 TCP/IP 위에서 작동하는 앱의 통신에 보안을제공하기 위한 암호 규약, 프로토콜 입니다. 여기서 앱이란 7계층에 해당하는 앱을 의미한다.
즉 , 사용자가 보내고자하는 데이터 (7계층에서 작동하는 프로토콜의 메시지) 를 암호화 하고 tcp/ip를 통해 통신하는 것이다.
ex ) http 를 이용한 웹 페이지 전송
ex ) ftp 를 이용한 파일 정보 전송
ex ) smtp 를 이용한 메일 정보 전송 등
여기서 3way handshake 도 나온다.
이는 tcp 에서 사용하는 커넥션 생성과정으로, tcp 로 이루어지는 모든 통신은 반드시 이를 통해 시작된다.
첫번째, 송신자가 수신자에게 'syn' 패킷을 날려 통신이 가능한지 확인합니다. 이때 포트가 열려있어야 한다.
두번째, 수신자가 송신자로부터 'syn'을 받고, 'syn/ack'를 송신자에게 날려 통신할 준비가 되었음을 알린다.
세번째 , 송신자가 수신자의 'syn/ack'를 받고, 'ack'를 날려서 전송을 시작함을 알린다.
커넥션이 안정적으로 생성되면
암호화 통신을 위한 과정인 ssl handshake 를 시작한다.
vpn 과 사용자가 서로 인증하고, 암호화 키를 주고받아 암호화 통신을 가능케 하는 일련의 과정이다.
3. DMZ 네트워크
ssl vpn 이 주로 위치하는 곳이 dmz 네트워크이다.
내부네트워크에 위치하면서도 외부네트워크에 가까운곳에 위치해야하기 때문이다.
물론, 보안적으로 취약해질수있기에 방화벽과 함께 설치해서 운용한다.
구성방식은 다음과 같다.
3-1.방화벽 네트워크에 별도의 dmz 를 만든 네트워크 구성
방화벽을 통해 접근할 수 있지만, 외->내 내->외 트래픽 모두 방화벽이 감당해야하기 때문에 트래픽 사용량이 많거나, 방화벽 스펙이 사용량을 따라가지 못할 경우 문제가 생길 수 있다.
3-2. 그런 경우 외/내부 네트워크가 통신하는 주 방화벽과 별도로 ssl vpn 만을 운용하기 위한 네트워크를 따로 구성할 수 있다.
방화벽개수를 늘려서 비용 증가
3-3. 방화벽과 ssl vpn 이 일체화된 네트워크 구성
소규모 네트워크나, 하드웨어 장비 안에 라이센스 적용 가능
4. arp
ARP 동작원리 영상 보고 이해한 뒤 답변을 적자.
https://www.youtube.com/watch?v=BVjVlA6w5ko
5. 서브넷과 서브넷팅
https://youtu.be/fsJa8-Dh_Sc?si=efAmrS02HPMho6jr
6. 가상화
가상화 인터페이스, 브릿지, 터널링, 오버레이, 언더레이
가상화란, 넓은 의미로 컴퓨팅 자원의 추상화를 해주는 기술입니다.
가상화 영역으로 서버, 데스크톱, 네트워크, 스토리지 등의 다양한 자원의 가상화가 있습니다.
- 호스트 os 가상화
- 하나의 os 환경을 복수의 os 환경으로 분할하는 방법
- 호스트 - 게스트 os 모두 같아야함
- 하이퍼바이저 방식에 비해 오버헤드 적음
- 하이퍼 바이저 가상화
- 여러종류의 os 가 한 하드웨어에서 운영되도록 별도의 가상화 레이어 제공
- 하이퍼바이저란? : 가상화를 도와주는 도구
- 반가상화 vs 전가상화
- 반가상화
- 하이퍼바이저가 제공하는 인터페이스인 hyper call 를 통해 하이퍼바이저에 직접 요청을 날려 os 를 제어함
- api를 이용하려면, 게스트 os 의 커널을 수정해야만 하므로, 게스트 os 는 리눅스와 같은 오픈소스 os 로만 한정
- 전가상화
- 하드웨어를 완전히 가상화한다. (BIOS, CPU, 메모리, IO 등 전체)
- 게스트 OS 를 수정할 필요가 없어, 리눅스에서 윈도우까지 OS 선택의 폭이 넓고 유지보수도 쉽다.
- 하드웨어 전체 가상화하는 cpu 가상화 기술(intel-v, amd-v)을 사용하므로 오버헤드에 의한 약간의 성능저하 피할수없다.
- 가상화의 유형
- 베어메탈 하이퍼바이저
- 하이퍼바이저가 하드웨어 위에서 host os 없이 guest os 를 제어한다.
- xen, hyper-v 등
- 호스티드 하이퍼바이저
- host os 위에서 실행된다
- vmware, virtualbox
- 컨테이너와 가상머신의 차이
기존의 가상머신은 host os 위에서 hyper visor 가 guest os 를 관리한다는 특징이 있지만,
컨테이너는 host os 위에있는 컨테이너 엔진이 앱을 관리한다는 특징이 있습니다.
컨테이너는 게스트 os 가 따로 존재하지 않고, host os 의 커널을 공유합니다.
때문에 리눅스 기반에서만 원활하게 동작하기에 mac 이나 윈도우같은경우 한번 더 가상화를 해야한다는 단점(host os 와 동일한 os)이 있습니다만,
기존의 가상머신에 비해서 레이어로 구성된 이미지를 통해 환경의 이동이 편리하다는 장점이 있습니다.
7. overlay , underlay 란
이걸 기반해서 네트워크 폴리시를 설정해서 관리하게되면 트래픽 관리가 조금 더 쉬워진다.
SDN 과 함께 오버레이, 언더레이 기술의 적용범위가 확장되고있는 추세이다.
패킷이 소스에서 데스티네이션 가기위해 터널을 지나 목적지에 도착을 한다.
실제로 터널이 있는건아니고, R1- > R2 로 가는 헤더를 추가해서 오리지널 데이터를 싵고 나른것이다.
택시를 타고 최적의 경로를 통해 R2 를 간담에 내리는것과 매우 흡사하다.
탑승한 사람은 R1 -> R2 로 이동한것뿐이다. 최적의 경로를 찾아 이동한건 택시이다.
즉, 터널에서는 오리지널 헤더가 아무 의미가 없는것이다.
터널헤더만이 R1->R2 경로를 찾을때 필요한것이다.
이 두 영역을 오리지널 헤더가 의미있는영역/터널 헤더가 의미있는 영역을 나눠본다.
터널안에있는 장비들은 무시하고 R1->R2 직접 연결로 생각해보자.
그러면 오리지널 헤더를 기반으로 best path를 찾고,
ACL 같은걸로 필터링을 하고, QoS 를 하는것을 오버레이라고 부른다.
QoS 에 관해서는 밑에서 다루겠다. (길어질듯하여)
그리고, 추가적인 터널 헤더를 기반으로 best path 를 찾고, 필터링을 하고, QoS 를 하는것을 언더레이라고 부른다.
예컨대, vlan 을 통해 여러 통신기법을 만들어내보자.
vlan 은 한대의 스위치를 여러개처럼 구성하는것 이상도이하도 아니기에
오버레이랑 언더레이도 딱 저 위개념그자체이다.
밑받침 : 언더레이
덮개 : 오버레이
왜 overlay / underlay 인가?
10.10.10.1 에서 오리지널 헤더를 인캡슐레이션 해서 포워딩 -> R1 이 받아서 터널 헤더를 추가 -> R2 로 포워딩 -> R1과 R2 사이의 장비들은 터널헤더만 보고 R2 로 라우팅 -> R2 는 목적지가 본인이니 자신의 정보가 담긴 헤더를 디인캡슐레이션 해서 오리지널헤더를 보게됨
목적지로 포워딩.
완료!
만약 전체 패킷을 레이어 화 한다면, 터널헤더가 항상 오리지널 헤더 하위에 존재하게된다.
당연함. 왜냐면 오리지널 헤더를 터널헤더로 인캡슐레이션 한거니까 당연히 하위 레이어
터널기술은 상위/하위 개념이 명확하지않다.
ㅙ? 오리지널 헤더가 L3, or L2 가있고 터널헤더에 L3,L4 있어버리기 때문에 위치만 위 아래인것이기에 누구보다 레벨이 높다고 표현할 수 없다.
장점은?
- overlay
물리적으로 떨어진 장비간에 통신을 할 수 있도록 오버레이 통신하게 함
상호간에 정보를 알아야 통신이 가능하다.
abcde 정보가있다고 가정하자. ( mac, ip , nw, vlan 정보일수있다)
- underlay
overlay 로 연결된 장비간에 통신할 수 있도록 overlay 장비의 주소, 언더레이 장비 내부 인프라 정보가 존재할 것이다.
오버레이 에서 오버레이 정보를 알필요가없고
언더레이에서 오버레이 정보를 알 필요가읎다.
서로 영향을 주지 않는다.
각각 자신들이 필요로 하는 정보만 가지고있고, 원하는 통신을 할 수있게 만들어주었기 때문에 가장 큰 장점이다.
8. vlan, vxlan, geneve
ㄱ.....근데 vxlan 까지 알정도면 CCNA 공부해야되는거 아닌가 싶긴함..재밌긴한데..끝이없어서 보류..........이게..면접준비인지 갑자기 네트워크 딥다이브하는건지...
https://white-polarbear.tistory.com/category/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC/Overlay%20Network
9.백업
- 백업 전략
- 백업 유형
- 백업 도구 및 기술
https://library.gabia.com/contents/infrahosting/7241/
10. HCI 란?
11. 기본적인 프로토콜과 리눅스 명령어
참고 : https://cspractice.tistory.com/50
- Telnet , SSH, SFTP, ICMP, FTP, DNS 등 기본적인 프로토콜에 대한 이해
ex) telnet 사용방법, putty, 파일 질라, ssh Ip@hostname 이런 것들
- ping, nslookup, tracert 등 네트워크 관련 명령어 사용 방법
- 리눅스 기본적인 명령어 사용 방법
ex) netstat, ping, ssh, mount, rm, su 등 리눅스 명령어를 다 알지 못하더라도 구글링으로 상황에 맞게 찾을 수 있어야 함 - 권한, 네트워크 설정, 패키지 설치/삭제, 디렉터리 생성/삭제, 파일 생성/삭제 등
- 패킷 보는법
- 영상 함 보자
https://www.youtube.com/watch?v=CGo273hb28s
12. 경험 기반 질문 + 꼬리질문 예상
> (의식의 흐름대로...수정할 예정이라 일단 적기)
- 지원동기
평소 인프라 및 클라우드에 대한 관심으로, 이와 관련된 직무 지식을 위해 클라우드 동아리에서 2년동안 천천히 공부해왔습니다.
사실 인프라와 같은 부분은 단순히 지식을 학습하고 실습하는것과 달리 실무를 직접 경험했을때의 경험치가 다르다고 생각해왔기에 실무 경험을 쌓고 싶었습니다. 실제 인프라 관리 경험을 다른 어느회사도 아닌 빅테크기업인 OOO에서 경험한다는것은 제 1년이라는 시간을 매우 가치있게 보낼 수 있을것이며, 앞서 쌓아온 인프라 지식을 응용하며 더 깊게 딥다이브 할 수 있는 기회라고 생각이 들어 지원하게 되었습니다.
- OOO에서 기대하는점?
1. 사내 인프라 구성이 어떻게 되어있을지 알아가는 과정이 기대된다.
2. 뛰어난 동료분들을 만나 자극을 받고, 많은 것을 배우고 얻어가고 싶다.
- 어떤 업무를 할 것이라고 생각? , 설명해보아라.
사내 인프라 관리에서도 네트워크 구성, 설계 및 가상화 되어있는 서버 작업이 주 업무일 것 같습니다.
- 네트워크 구성과 관련된 내 경험?
- 홈랩을 진행하면서 했던 네트워크 구성이 기억에 남는다.
물론 고난도의 작업은 아니지만, 거의 처음 해본것
라우터에 랜선을 꽂아 pc 와 각각 연결을 해주었다.
이후 외부에서도 개발자(운영자)가 접근을 용이하게 하고, 보안을 가져갈 수 있도록
tailscale 을 이용해서 site-to-client vpn동작을 구성해둔 상태이다. - 3대의 pc를 k8s 기반으로 네트워크 통신하기 위해 calico라는 cni를 설치하면서, 노드끼리 통신이 가능하게 했고
이때 노드에서 띄운 서비스를 내부망끼리는 접근이 가능했어야 했다.
하지만 이때 라우팅테이블을 확인해보았을 때, 노드간 vpn 터널링 동작을 위한 터널 인터페이스가 제대로 할당되지 않고 calico 인터페이스로 할당되는 문제가 발생했었다.
이를 해결하기위해, 칼리코 옵션을 설정해서 특정 인터페이스를 이그노어 하는 옵션과 ip 대역을 지정해서 인터페이스를 할당해주었다.
- 서버 구성 어떻게 했는지,이유, 하면서 발생한 문제점?
이번에도 홈랩을 하면서 발생했던 문제입니다.
어떤 이유에선지 앞선 calico 인터페이스 문제를 해결하다가, iptable 을 잘못건드려 초기화 해버리는 상황이 발생했습니다.
그 이후부터는 다시 iptable 을 설정해도, 서버를 재시작할때마다 table 이 초기화 되었고,
때문에 노드가 제대로 동작하지 않아 초기설정을 다시했어야만했습니다.
저는 이런 비효율적인 반복 작업을 해소하기위해
5분에 한번씩 iptable 을 저장하도록 크론잡으로 동작하도록 했고,
컴퓨터가 재시작될때마다 저장해둔 iptable 을 불러오는 스크립트가 실행되게 했습니다.
- 서버 사양 : 인텔 N100, 듀얼 밴드, WiFi5, BT4.2, 데스크탑 게이밍 컴퓨터, 미니 PC 게이머, 16GB, 512GB
- 구축시 고민
외부 접근이 제일 큰 고민이었다.
vpn 은 실 유저가 접근하기에는 어렵기때문에,
어떻게 외부 사용자가 내부 서비스를 접근할 수 있을지에 대한 고민이었다.
무엇보다도 보통 집의 공인 ip는 영구적으로 고정되지 않는다는 단점이 있기 때문에
클라우드 서버의 고정 ip 를 이용해서 사용자가 접근할 수 있도록 내부에 nginx 를 이용해 라우팅과 같은 프록시를 설정해뒀다.
- 내가 사용한 리눅스 명령어들?
서버의 인터넷 동작 및 서버간 통신 확인 : ping
iptable 확인하려고 iptables show -L
top 으로 메모리 확인
df -h 로 파일 확인
등..
- L4 두개이상 쓸 일이 있었는지, 보통 하나에 때려박는데 이럴 때에 문제점 (feat.gpt)
L4 스위치를 하나만 사용할 때 발생할 수 있는 문제점은 다음과 같습니다:
### 1. **단일 실패 지점 (Single Point of Failure)**
- L4 스위치에 장애가 발생하면, 전체 서비스가 중단될 수 있습니다. 이는 비즈니스 연속성에 큰 영향을 미칩니다.
### 2. **부하 처리 제한**
- 트래픽이 급증할 경우, 단일 L4 스위치가 모든 요청을 처리해야 하므로 성능 저하나 응답 지연이 발생할 수 있습니다. 이는 사용자 경험에 악영향을 미칠 수 있습니다.
### 3. **유연성 부족**
- 트래픽 패턴이나 사용자 요구가 변화할 경우, 단일 스위치는 이러한 변화를 효과적으로 처리하기 어려울 수 있습니다. 추가적인 트래픽 처리 용량을 확보하기 위해서는 스위치를 교체하거나 업그레이드해야 합니다.
### 4. **네트워크 병목 현상**
- 모든 트래픽이 단일 L4 스위치를 경유하기 때문에, 특정 서비스나 애플리케이션에 대한 요청이 많을 경우 병목 현상이 발생할 수 있습니다. 이는 전체 네트워크 성능을 저하시킬 수 있습니다.
### 5. **보안 및 관리 문제**
- 단일 L4 스위치에 모든 트래픽이 집중되므로, 보안 문제가 발생할 경우 리스크가 커집니다. 또한, 관리 및 모니터링도 복잡해질 수 있습니다.
### 6. **업그레이드 및 유지보수의 어려움**
- L4 스위치의 유지보수나 업그레이드를 수행할 때, 서비스 중단이 불가피할 수 있습니다. 이는 사용자에게 불편을 초래할 수 있습니다.
### **결론**
단일 L4 스위치를 사용할 경우 여러 가지 문제점이 발생할 수 있으며, 이러한 문제들은 비즈니스에 심각한 영향을 미칠 수 있습니다. 이러한 위험을 줄이기 위해서는 이중화, 로드 밸런싱, 장애 조치 시스템 등을 고려하는 것이 중요합니다. 추가적인 질문이나 궁금한 점이 있으면 언제든지 말씀해 주세요!
- 내 라우터 방식은?
인라인 방식으로 구성해뒀다. 많은 장비들이 필요한 상황이 아니였어서,,
- 궁금한점?
사내 인프라 관리는 어느정도 기밀성이 유지되어야 하는 부분이라고 생각이드는데, 계약직으로써 접근할 수 있는 범주가 한정되어있는지, 어떤 업무를 하게되는지 JD 보다 명확하게 설명해주실 수 있는지?
13. 상황 질문 예상
- 만약 트래픽이 ~~에 몰린다면 어떻게 해결할것인지?
- 네트워크 구성 관련 질문
근데 진짜 가늠이 안됨...
물어봐도 잘 대답할 수 있을지도 미지수고,,,
- 이중화 되어있지 않은 서버의 부하를 어떻게 처리할 것인가? (https://cspractice.tistory.com/60)
-> 로드밸런싱을 이용해볼 것이다.
'☁️2024 > Computer Science' 카테고리의 다른 글
[ Network ] DMZ , 방화벽, Zone, UTM ? (2) | 2024.11.14 |
---|---|
[ Network ] SDN 과 ACI 간단 정리 #1 (2) | 2024.11.13 |
[ Network ] VIP 란? (0) | 2024.11.13 |
[ Network ] 프록시와 NAT (0) | 2024.11.13 |
[ Network ] 서브넷마스크와 서브넷팅 (0) | 2024.11.12 |