윈도우에서 ipconfig, 리눅스에서 ifconfig 명령어를 실행하면 장치의 네트워크 구성 정보를 출력합니다. 그중 중요한 비중으로 인식되는 inet, netmask, broadcast란 무엇인지 알아보겠습니다. ipconfig 1. inet (IPv4) IPv4 또는 inet은 네트워크에서 고유한 호스트를 식별할 수 있게 하는 32비트 주소입니다. 예를 들어, 사내망에서 구축된 웹서버의 IPv4 주소가 192.168.1.10이면 사용자는 이 주소에 접속해서 서비스를 이용할 수 있습니다. 만약 해당 웹서버가 192.168.1.11에 구축된 DBMS와 연동되어 있다면 해당 주소를 사용해서 데이터베이스와 통신할 수 있습니다. 2. netmask (subnet mask) 넷마스크(netmask) 또는 서브..
스트리밍 동영상을 보다 재생이 버벅거리면 "버퍼링 걸린다"라는 표현을 쓰곤 합니다. 여기서 버퍼링(buffering)은 버퍼(buffer)라는 용어의 진행형입니다. 버퍼는 네트워크로부터 전송되는 데이터를 일시적으로 저장하는 메모리를 뜻합니다. 즉 스트리밍 영상이 멈추는 건 버퍼에 데이터가 충분히 쌓이지 않아 재생이 일시적으로 멈추는 현상입니다. 버퍼란? 컴퓨터에서 버퍼란 데이터를 일시적으로 저장하는 메모리 영역입니다. 버퍼는 주로 두 개의 서로 다른 프로세스나 장치 간에 데이터를 전송할 때 데이터의 흐름을 관리하고 속도 차이를 보상하기 위해 사용됩니다. 버퍼를 사용하면 한쪽에서 생성된 데이터를 다른 쪽이 처리할 수 있을 때까지 일시적으로 저장할 수 있어 프로세스 간의 동기화를 돕고 전체 시스템의 성능을 ..
현재 사용하고 있는 네트워크의 공인(Public) IP를 확인하는 방법을 알아보겠습니다. 공인 IP란 인터넷에서 장치를 식별할 수 있게 부여된 고유 IP를 말합니다. 예를 들어, 와이파이나 핫스팟에 연결된 노트북, 회사 네트워크에 연결된 PC 등은 사용 중인 공인 IP를 확인할 수 있습니다. IP 공인(Public) IP 확인 방법 네이버, 다음, 구글 등 웹사이트에서 간단히 확인이 가능합니다. 1. 네이버, 다음 검색창에 내 IP 주소 확인을 검색하면 현재 사용 중인 네트워크의 공인 IP가 확인됩니다. 2. 구글 검색창에 what is my ip를 검색하면 현재 사용 중인 네트워크의 공인 IP가 확인됩니다. 사설(Private) IP 확인 방법 공인 IP와 다른 개념인 사설 IP에 대해서도 간단히 알아..
netstat 명령어로 프로세스 상태를 확인하다 보면 FIN_WAIT_1, FIN_WAIT_2, TIME_WAIT의 연결 상태를 보게 됩니다. 때로는 너무 많은 프로세스가 이런 WAIT 상태에 놓여있기도 합니다. 이는 TCP 연결 종료 과정에서 나타나는 상태입니다. 각각이 어떤 의미인지 TCP의 단계별 연결 종료 과정을 알아보겠습니다. FIN_WAIT / TIME_WAIT FIN 패킷과 ACK 패킷 FIN_WAIT와 TIME_WAIT을 이해하려면 먼저 FIN 패킷과 ACK 패킷을 알아야 합니다. TCP 통신에서는 이러한 패킷을 통해 전송 중인 데이터의 연결 상태를 확인합니다. 1. FIN 패킷 FIN 패킷은 TCP 연결을 종료하려고 할 때 사용되는 제어 패킷입니다. FIN은 종료를 의미하는 finsh의 ..
NFS 서버란? NFS(Network File System) 서버는 원격 파일 공유 프로토콜입니다. NFS 서버를 사용하면 클라이언트 컴퓨터들이 원격 서버에 있는 파일에 접근하고 이를 로컬 파일처럼 읽고 쓸 수 있게 됩니다. 이를 통해 파일 공유 및 저장을 효율적으로 관리할 수 있습니다. 리눅스 배포판인 Ubuntu, CentOS, Fedora 등, 유닉스 시스템인 FreeBSD, Solaris을 포함해서 윈도우 시스템에서도 NFS 서버를 구축하고 관리할 수 있습니다. NFS 호스트 파일 시스템에 연결할 수 있는 HDD, SSD 등 모든 장치는 NFS를 통해 공유할 수 있습니다. NFS 서버를 사용하는 이유 NFS 서버를 사용하는 이유는 파일을 관리하기 위함입니다. 여러 클라이언트가 동시에 원격 파일에 ..
넷플릭스는 전 세계에 고화질 영상 스트리밍 서비스를 제공하고 있지만 끊김이 거의 없습니다. 네트워크는 물리적인 거리에 영향을 받는데 어떻게 쾌적할 수 있을까요? 사용자에게 물리적으로 가까운 곳에 일종의 복제 서버를 두기 때문입니다. 이 개념이 CDN입니다. CDN이란? CDN(Content Delivery Network)은 다양한 위치에 배치된 서버의 분산 네트워크입니다. 사용자가 물리적으로 가까운 서버에서 리소스를 사용하도록 함으로써 응답 속도를 빠르고 쾌적하게 하기 위해 사용됩니다. CDN에서 서로 다른 지역에 분산된 네트워크의 물리적 위치를 PoP(Point of Presence)라고 부릅니다. CDN을 사용하면 사용자의 응답 대기 시간을 줄일 수 있고, 트래픽이 급증할 때 로드가 분산되는 효과를 ..
타임아웃이란? 네트워크에서 타임아웃(Timeout)은 장치나 프로그램이 연결을 중단하기 전까지의 응답 시간을 의미합니다. 두 장치 간 네트워크 통신 시 커넥션(연결)이 발생하면 데이터를 주고받습니다. 이때 어떠한 이유로 데이터가 손실되거나 전달이 지연되는 등의 이유로 대기가 발생할 수 있습니다. 대기가 무한정 이어지는 것을 막기 위해 정해진 시간이 지나면 타임아웃에 의해 연결이 해제됩니다. 네트워크에서 타임아웃이라고 부를 수 있는 종류는 커넥션 타임아웃, 세션 타임아웃, 서버 타임아웃, DNS 타임아웃 등 여러 가지입니다. 명칭이 중요한 건 아니고, 타임아웃이라는 역할의 본질은 동일합니다. 타임아웃이 필요한 이유 1. 지속적인 연결 시도 방지 장치와 장치가 연결될 때 문제가 있어서 응답 대기 시간이 길어..
프록시 서버는 클라이언트와 서버의 중간에서 트래픽을 대신 전달해 주는 서버입니다. 프록시 서버를 사용하면 리소스 캐싱, 로드 밸런싱, 보안 강화 등 장점이 있는 반면 통신 오류, 속도 지연 등 단점도 존재합니다. 프록시(Proxy) 서버란? 프록시는 클라이언트와 서버 사이에 있는 중간 서버입니다. 클라이언트 → 서버로 통신하던 것이 프록시 서버를 사용하면 클라이언트 → 프록시 서버 → 서버 흐름으로 바뀝니다. 서버가 클라이언트 요청에 응답할 때도 서버 → 프록시 서버 → 클라이언트로 거칩니다. 웹 트래픽 디버깅을 해보셨다면 피들러(Fiddler)라는 툴을 아실 겁니다. 피들러가 하는 일이 패킷을 수집해서 사용자가 볼 수 있는 형태로 저장하고, 패킷의 내용과 통신 결과를 보여주는 건데요. 이것이 가능한 이..
서버를 이중화하는 방식은 크게 두 가지입니다. active-active 방식과 active-standby 방식입니다. 어차피 서버가 두 대 있는 건 마찬가지인데, 이왕이면 액티브-액티브로 운영하지 왜 액티브-스탠바이 방식으로 운영하기도 하는 걸까요? 이와 관련하여 액티브-스탠바이 모델의 장점에 대해 알아보겠습니다. active-standby 모델이란? 액티브-스탠바이는 2개의 서버를 구축하고, 평소에는 하나의 서버에서 클라이언트의 응답을 반환하고 나머지 하나는 대기 상태로 유지하는 가운데 액티브 서버에 장애가 발생하면 스탠바이 서버가 구동돼 다운타임을 방지하는 아키텍처입니다. active-standby 모델 장점 비용 효율성 : 액티브-스탠바이 모델은 액티브-액티브 모델보다 비용 효율적입니다. 가령 두 ..
내부망을 사용하는 서로 다른 두 회사가 있습니다. 이런 경우 두 회사는 어떻게 데이터를 주고받을 수 있을까요? VPN을 이용해서 인터넷망을 거치는 방식으로 가능합니다. 서로 다른 사설 네트워크가 통신하는 방법에 대해 알아보겠습니다. 사설 네트워크 간 통신 사설 네트워크 간 통신은 중요하고 빈번합니다. 보안을 신경쓰는 조직이면 대부분 내부망을 구성하는데, 내부망을 구성함에도 협업 업체와 데이터를 주고받거나 프로그램 사용 시 통신이 필요한 경우 등이 있기 때문입니다. 내부망은 라우터로 연결된 컴퓨터들간의 근거리 통신(LAN, Local Area Network) 환경을 의미합니다. 이 상황에서 다른 네트워크에 있는 장비와 통신을 하려면 몇 가지 방법이 있습니다. 1. 직접 케이블을 연결합니다. 서로 다른 네트..