본문 바로가기

Computer Science116

[컴퓨터 네트워크] DNS가 너의 요청을 찾아가는 길 인터넷에서 웹사이트에 접속할 때 www.example.com과 같은 도메인 이름을 사용하지만, 실제 통신은 IP 주소(예: 192.0.2.44)를 통해 이루어진다.DNS(Domain Name System)는 도메인 이름을 해당하는 IP 주소로 변환하는 시스템이며, 이 과정에서 네임서버(Name Server)가 중요한 역할을 한다.  AWS의 Route 53은 도메인의 네임서버 역할을 수행하는 대표적인 클라우드 기반 DNS 서비스이다!https://claremont.tistory.com/entry/AWS-Route-53%EC%97%90-%EB%8C%80%ED%95%B4%EC%84%9C [AWS] Route 53에 대해서ㅁAmazon Route 53: AWS에서 제공하는 확장성과 가용성이 높은 DNS(Dom.. 2025. 3. 6.
[컴퓨터 네트워크] 서브넷과 서브넷 마스크(w/CIDR 표기법) ㅇ서브넷(Subnet, Subnetwork): 하나의 네트워크를 여러 개의 작은 네트워크(서브넷)로 분할하는 기술네트워크를 세분화하여 트래픽 관리와 보안성을 강화할 수 있다서브넷을 사용하면 IP 주소를 효율적으로 활용할 수 있으며, 브로드캐스트 트래픽을 줄여 네트워크 성능을 향상시킬 수 있다[서브넷의 주요 역할]IP 주소 절약: 불필요하게 낭비되는 IP 주소를 줄일 수 있음네트워크 성능 향상: 브로드캐스트 도메인을 축소하여 불필요한 트래픽 감소보안 강화: 부서별 또는 서비스별로 네트워크를 분리하여 접근을 제한할 수 있음유지보수 용이: 네트워크를 논리적으로 분할하면 장애 발생 시 문제를 신속하게 해결할 수 있음  ㅇ서브넷 마스크(Subnet Mask): IP 주소에서 네트워크 부분과 호스트 부분을 구분하는.. 2025. 2. 10.
[컴퓨터 네트워크] NAT(Network Address Translation) ㅇNAT(Network Address Translation, 네트워크 주소 변환): 사설 네트워크(Private Network)에서 공용 네트워크(Public Network)로 데이터를 전송할 때, IP 주소를 변환하는 기술 [NAT의 필요성 3가지] 1. 네트워크 관리 효율성NAT를 사용하면 기업이나 가정에서 하나의 공용 IP를 사용하면서도 여러 장치가 인터넷을 동시에 사용할 수 있다2. IPv4 주소 부족 문제 해결IPv4는 32비트 주소 체계를 사용하여 약 43억 개의 주소만 할당 가능하다하지만 인터넷 사용자가 폭발적으로 증가하면서 주소가 부족해졌다NAT는 사설 IP 주소를 공용 IP로 변환하여 인터넷과 연결되도록 하여, 공용 IP 주소의 사용을 최소화한다3. 보안 강화외부에서 사설 네트워크의 내부.. 2025. 2. 10.
[컴퓨터 네트워크] IP 주소와 포트 번호 ㅁIP 주소(Internet Protocol Address): 네트워크에 연결된 각 장치(컴퓨터, 서버, 스마트폰 등)가 데이터를 송수신할 때 사용하는 고유한 주소인터넷에 연결된 모든 장치는 고유한 IP 주소를 가져야 한다 [IP 주소 2가지 종류]1. IPv4 (Internet Protocol version 4): 32비트 주소 체계 - 4개의 10진수(0~255)로 구성된 형식e.g. 192.168.1.1, 172.16.254.1, 8.8.8.8 (Google DNS 서버) IPv4는 최대 약 43억 개(2³² 개)의 IP 주소를 제공하지만, 인터넷 사용자의 급증으로 인해 주소가 부족한 문제가 발생했다그래서 나온 것이 IPv6 이다 2. IPv6 (Internet Protocol version 6):.. 2025. 2. 10.
[UNIX/Linux] ep11-4) UDP 소켓 프로그래밍 https://claremont.tistory.com/entry/%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C-IPCInter-Process-Communication [운영체제] IPC(Inter-Process Communication)https://claremont.tistory.com/entry/ep2-%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4process [운영체제] ep2) 프로세스(process)ㅁ프로세스(process): 실행 중인 프로그램 (실행/스케줄링의 단위 및 자료구조)보조기억장치에 저장claremont.tistory.comhttps://claremont.tistory.com/entry/UNIXLinux-ep11-1-%EC%86%8C%EC%BC.. 2024. 12. 11.
[UNIX/Linux] ep11-3+) TCP 소켓 프로그래밍 실습 ex1. 서버에 접속한 클라이언트에 관한 정보를 돌려주는 서비스 프로그램을 작성하라. 되돌려줄 정보는 호스트명, IP주소, 포트 번호이다.struct infor_type {    char host[256];    char addr[20];    int port;} struct infor_type msg; ** clientrecv(sd, (char*)&msg, sizeof(msg), 0); ** serverstruct hostent* hp; hp = gethostbyaddr((char*)&cli.sin_addr.s_addr, 4, AF_INET);sprintf(msg.host, “%s”, hp->h_name);sprintf(msg.addr, “%s”, inet_ntoa(cli.sin_addr);msg.po.. 2024. 12. 10.
[UNIX/Linux] ep11-3) TCP 소켓 프로그래밍 https://claremont.tistory.com/entry/%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C-IPCInter-Process-Communication [운영체제] IPC(Inter-Process Communication)https://claremont.tistory.com/entry/ep2-%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4process [운영체제] ep2) 프로세스(process)ㅁ프로세스(process): 실행 중인 프로그램 (실행/스케줄링의 단위 및 자료구조)보조기억장치에 저장claremont.tistory.comhttps://claremont.tistory.com/entry/UNIXLinux-ep11-1-%EC%86%8C%EC%BC.. 2024. 12. 8.
[UNIX/Linux] ep11-2+) 소켓 프로그래밍 함수 실습 ex1. 같은 시스템에서 클라이언트가 명령행 인자로 파일 이름을 받은 후 이를 서버로 보낸다. 서버는 파일 이름을 받아 파일 내용을 화면에 출력하는 프로그램을 작성하라 (ex1_client.c)#include #include #include #include #include #include #include #define SOCK_PATH "hbsocket"int main(int argc, char* argv[]) { int s, t, len, i; struct sockaddr_un remote; if ((s = socket(AF_UNIX, SOCK_STREAM, 0)) == -1) { perror("socket"); exit(1); } printf("Tr.. 2024. 12. 5.
[UNIX/Linux] ep11-2) 소켓 프로그래밍 함수 https://claremont.tistory.com/entry/%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C-IPCInter-Process-Communication [운영체제] IPC(Inter-Process Communication)https://claremont.tistory.com/entry/ep2-%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4process [운영체제] ep2) 프로세스(process)ㅁ프로세스(process): 실행 중인 프로그램 (실행/스케줄링의 단위 및 자료구조)보조기억장치에 저장claremont.tistory.comhttps://claremont.tistory.com/entry/UNIXLinux-ep11-1-%EC%86%8C%EC%BC.. 2024. 12. 4.