같은 네트워크 내에서의 통신과 원격지 네트워크와의 통신에 사용하는 장비를 게이트웨이라고 부르고 3계층 장비(라우터와 L3 스위치)가 이 역할을 할 수 있다. 게이트웨이(Gateway) 로컬 네트워크에서는 ARP 브로드캐스트를 이용해 도착지 MAC 주소를 학습할 수 있고 이 MAC 주소를 이용해 직접 통신할 수 있지만 원격 네트워크 통신은 네트워크를 넘어 전달되지 못하는 브로드캐스트의 성질 때문에 네트워크 장비의 도움이 필요하다. 이 장비를 게이트웨이라고 하고 게이트웨이에 대한 정보를 PC나 네트워크 장비에 설정하는 항목이 '기본 게이트웨이'이다. 네트워크 통신 시에 출발지에서는 먼저 목적지가 자신이 속한 네트워크의 범위인지 확인하는 작업이 필요하다. 이때 사용되는 것이 서브넷 마스크이다. 자신이 속한 네..
GARP란 ? 대상자 IP 필드에 자신의 IP 주소를 채워 ARP 요청을 보내는 것 자신의 IP와 MAC 주소를 알릴 목적으로 사용한다. ARP 요청과 다른 점은 송신자와 대상자 IP 주소가 자신으로 동일하다는 것이다. 왜, GARP를 사용하는가 ? IP 주소 충돌 감지 상대방(동일 서브넷 상의 다른)의 ARP 테이블 작성 HA(고가용성) 용도의 클러스터링, VRBP, HSRP IP 주소 충돌 감지 송신자에서 자신의 IP 주소를 대상자 IP 주소로 한 뒤 ARP 요청을 보낸다. 만약 GARP에 대한 응답이 오면 네트워크상에서 해당 IP를 이미 사용 중인 단말이 있다는 것을 알 수 있다. 상대방(동일 서브넷 상의 다른)의 ARP 테이블 작성 한마디로 정리하면 스탠바이 → 액티브 로 변경된 단말을 알리기 위..
상위 계층에서 하위 계층으로 데이터를 보내면 물리 계층에서 전기 신호 형태로 네트워크를 통해 신호를 보낸다. 받는 쪽에서는 다시 하위 계층에서 상위 계층으로 데이터를 보낸다. 데이터를 보내는 과정을 인캡슐레이션 받는 과정을 디캡슐레이션이라고 한다. 현대 네트워크는 대부분 패킷 기반 네트워크이다. 패킷 네트워크는 데이터를 패킷이라는 작은 단위로 쪼개 보내는데 이런 기법으로 하나의 통신이 회선 전체를 점유하지 않고 동시에 여러 단말이 통신하도록 해준다. 인캡슐레이션 애플리케이션에서 데이터를 데이터 플로 계층으로 내려보내면서 패킷에 데이터를 넣을 수 있도록 분할한다. 네트워크 상황을 고려해 적절한 크기로 데이터를 쪼갠 후 네트워크 전송을 위한 정보를 헤더에 붙여넣는다. 각 계층마다 필요한 헤더 정보를 추가한 ..
✔︎ FTP (File Transfer Protocol)이란 ? FTP란 서버와 클라이언트 사이에서 TCP/IP를 통해 파일을 송수신하기 위해 고안된 프로토콜이다. 파일 전송 전용 서비스라는 특징과 인터넷을 통한 송수신을 위해 고안된 프로토콜이기 때문에 동작 방식이 단순하고 직관적이며 사용 방법이 간단하고 빠른 속도로 많은 파일을 주고 받을 수 있다. 빠른 파일 송수신만을 목적으로 두고 고안되었기 때문에 보안 부분에서는 상당히 취약하다. HTTP 프로토콜을 통해 접속되는 WWW(Word Wide Web) 방식에서 많이 사용한다. FTP를 사용하기 위해서는 서버가 존재해야 하며 클라이언트와 이어주는 통신 포트가 생성되어야 한다. 21번 포트 : 데이터 전송을 제어하기위한 신호 20번 포트 : 실제 데이터 ..
✔️ System Call 이란 ? 시스템 콜(System Call)은 운영체제의 커널이 제공하는 서비스에 대해 응용 프로그램의 요청에 따라 커널에 접근하기 위한 인터페이스다. ✔️ System Call 사용 이유 ? 운영체제는 PC를 보호하기 위해 커널 모드(Kernel Mode)와 사용자 모드(User Mode)로 나뉘어 구동된다. Kernel Mode VS User Mode Kernel Mode I/O Devices를 포함해서 모든 주소 영역에 접근 가능하다. User Mode 명령어의 일부와 HW feature의 일부만 사용이 가능하다. I/O나 Memory Protection을 포함한 명령은 사용이 불가하다. 커널 모드와 유저 모드의 구분에는 모드 비트(mode bit)를 사용하며 이 비트가 1..
✔️ 인터럽트란 ? CPU가 프로그램을 실행하고 있을 때 예외상황이 발생해 처리가 필요할 경우 현재 실행중인 작업을 중단하고 발생된 상황을 처리한 뒤 다시 실행중인 작업으로 복귀하는 것을 말한다. 입출력 연산이 CPU 연산 수행속도보다 현저히 느리기 때문에 사용한다. I/O 연산이 끝난 이후 I/O Device는 인터럽트를 통해 CPU에게 알리고 CPU는 I/O 연산 결과를 이용해 작업을 완료한다. ✔️ 인터럽트의 종류 인터럽트의 종류는 외부 인터럽트, 내부 인터럽트, 소프트웨어 인터럽트로 나뉠 수 있다. 외부 인터럽트 전원 이상 인터럽트(Power fail interrupt) : 말그대로 정전, 파워 이상 등 기계 착오 인터럽트(Machine check interrupt) : CPU의 기능적인 오류 외..