면접을 위한 cs 전공지식 노트

🖥️ CS

[네트워크] 홉바이홉 통신

홉바이홉 통신 IP 주소를 통해 통신하는 과정을 홉바이홉 통신이라고 한다. 여기서 홉(hop)이란 사전적인 의미로는 건너뛰는 모습을 의미한다. 이는 통신망에서 각 패킷이 여러 개의 라우터를 건너가는 모습을 비유적으로 표현한 것이다. 해당 그림처럼 수많은 서브네트워크 안에 있는 라우터의 라우팅 테이블 IP를 기반으로 패킷을 전달하고 또 전달해나가며 라우팅을 수행하며 최종 목적지까지 패킷을 전달한다. 즉, 라우팅 테이블을의 IP를 통해 시작 주소부터 시작하여 차례차례 다음 IP로 이동하는 라우팅 과정을 거쳐 패킷이 최종 목적지까지 도달하는 통신을 의미한다. 라우팅 테이블 라우팅 테이블은 송신지에서 수신지까지 도달하기 위해 사용되며 라우터에 들어가 있는 목적지 정보들과 그 목적지로 가기 위한 방법이 들어있는 ..

🖥️ CS

[네트워크] ARP

ARP 컴퓨터 간의 통신은 IP 주소를 기반으로 통신한다고 알고 있지만 정확하게는 이 사이에 ARP를 통해 MAC 주소를 찾아서 MAC 주소를 기반으로 통신한다. ARP란 IP와 MAC 주소의 다리 역할을 하는 프로토콜이다. 위에서 설명했듯이 ARP를 통해 IP 주소를 실제 주소인 MAC 주소로 변환한다. 이와 반대로 RARP를 통해 실제 주소인 MAC 주소를 IP 주소로 변환하기도 한다. 장치 A가 ARP Request 브로드캐스트를 보내서 IP 주소인 120.70.80.3에 해당하는 MAC 주소를 찾는다. 그리고 해당 주소에 맞는 장치B가 ARP Reply 유니캐스트를 통해 MAC 주소를 반환하는 과정을 거쳐 IP 주소에 맞는 MAC 주소를 찾게된다. 브로드캐스트 : 송신 호스트가 전송한 데이터가 네..

🖥️ CS

[네트워크] NIC, 리피터, AP

해당 기기들은 물리 계층을 처리하는 기기이다. NIC LAN 카드라고 하는 네트워크 인터페이스 카드는 2대 이상의 컴퓨터 네트워크를 구성하는데 사용하며, 네트워크와 빠른 속도 데이터를 송수신 할 수 있도록 컴퓨터 내에 설치하는 확장 카드이다. 각각 주민등록번호와 같이 구분하기 위한 MAC 주소라는 식별번호가 있다. 리피터 리피터는 들어오는 약해진 신호를 증폭하여 다른 쪽으로 전달하는 장치를 말한다. 이 리피터를 통해 더 멀리 패킷을 보내도록 사용했는데, 현재는 광케이블이 보급되면서 잘 쓰이지 않는 장치이다. AP AP는 패킷을 복사하는 기기이다. AP에 LAN을 연결한 후 다른 장치에서 와이파이 등 무선 LAN 기술을 사용하여 무선 네트워크 연결을 할 수 있다. 참고 면접을 위한 CS 전공지식 노트

🖥️ CS

[네트워크] L2 스위치

L2 스위치 L2 스위치는 장비들의 MAC 주소를 MAC 주소 테이블을 통해 관리하며, 연결된 장치로부터 패킷이 왔을 때 패킷 전송을 담당한다. IP를 이해하지 못해 IP로 라우팅은 불가능하고 단순히 패킷의 MAC 주소를 읽어 스위칭하는 역할을 한다. 역할을 봤을 때 허브와 유사하다고 생각이 된다. 브리지 브리지는 두 개의 근거리 통신망(LAN)을 상호 접속할 수 있도록 하는 통신망 연결 장치로, 포트와 포트 사이의 다리 역할을 한다. 이 또한 MAC 주소 테이블로 관리한다. 브리지는 통신망 범위를 확장하고 서로 다른 LAN 등으로 이루어진 하나의 통신망을 구축할 때 쓰인다. 참고 면접을 위한 CS 전공지식 노트

🖥️ CS

[네트워크] 라우터

라우터 라우터는 여러 개의 네트워크를 연결, 분할, 구분 시켜주는 역할을 하며 다른 네트워크에 존재하는 장치끼리 서로 데이터를 주고받을 때 패킷 소모를 최소화하고 경로를 최적화하여 최소 경로로 패킷을 포워딩하는 장비이다. L3 스위치 L3 스위치는 L2 스위치의 기능과 라우팅 기능을 갖춘 장비를 말한다. L3 스위치를 라우터라고 보면 된다. 라우터는 소프트웨어 기반의 라우팅과 하드웨어 기반의 라우팅을 하는 것으로 나눠지고, 하드웨어 기반의 라우팅을 담당하는 장비가 L3 스위치이다. 위의 그림과 같이 라우팅 테이블이라는 곳에 목적지들을 미리 정해놓고 라우터는 해당 테이블을 참고하여 패킷을 목적지로 전송한다. L3 스위치 관련해서 백본 스위치라는 것이 있는데, 궁금하면 해당 링크에 들어가서 보면 좋을 것 같..

🖥️ CS

[네트워크] L7 스위치

L7 스위치 스위치라고 하면 여러 장비를 연결하고 데이터 통신을 중재하며 목적지가 연결된 포트로만 데이터를 전송하는 통신 네트워크 장비이다. 그 중 L7 스위치는 로드밸런서라고 하며, 서버의 부하를 분산하는 장비이다. URL, 서버, 캐시, 쿠키들을 기반으로 트래픽을 분산할 수 있다. 또한, 바이러스, 불필요한 외부 데이터 등을 걸러내는 필터링 기능도 가지고 있다. 만약 장애가 발생한 서버가 있다면 이를 트래픽 분산 대상에서 제외해야 하는데, 이는 헬스 체크(health check)를 이용하여 감시하면서 이루어진다. L4 vs L7 로드밸런서로는 L7 스위치 뿐만 아니라 L4 스위치도 있다. L4 스위치는 전송 계층을 처리하는 기기로 스트리밍 관련 서비스에서는 사용할 수 없으며 IP와 포트를 기반으로 (..

🖥️ CS

프로그래밍 패러다임 (객체지향 프로그래밍)

객체지향 프로그래밍(OOP, Object-Oriented Programming) 객체지향 프로그래밍은 객체들의 집합으로 프로그램의 상호 작용을 표현하며 데이터를 객체로 취급하여 객체 내부에 선언된 메서드를 활용하는 방식을 말한다. 설계에 많은 시간이 소요되며 처리 속도가 다른 프로그래밍 패러다임에 비해 상대적으로 느리다. 특징 객체지향 프로그래밍은 추상화, 캡슐화, 상속성, 다형성이라는 4가지 특징이 있다. 1. 추상화 (abstraction) 추상화란 복잡한 시스템으로부터 핵심적인 개념 또는 기능을 간추려내는 것을 의미한다. 예를 들어 사람이라는 객체가 있다고 가정을 해보자. 사람은 모두 밥을 먹고, 잠을 잔다. 하지만 운전을 하는건 성인만 가능하다고 하면 추상화를 통해 밥을 먹는다, 잠을 잔다라는 기..

🖥️ CS

프로그래밍 패러다임 (함수형 프로그래밍, 절차형 프로그래밍)

CS는 면접을 위한 CS 전공지식 노트 책을 학습하며 글을 올릴 예정이다. 오늘은 프로그래밍 패러다임에 관해 정리를 해보려고 한다. 자바를 처음 공부하면 객체 지향 프로그래밍이라는 단어를 많이 들을텐데 이것도 프로그래밍 패러다임 중 하나이다. 프로그래밍 패러다임 프로그래밍 패러다임은 개발자에게 프로그래밍의 관점을 갖게 해주는 개발 방법론이다. 객체 지향 프로그래밍은 프로그램을 상호 작용하는 객체들의 집합으로 볼 수 있게 한다. 즉 객체를 관점으로 개발하는 방법론이라고 할 수 있다. 자바는 객체지향 프로그래밍을 지원하는 대표적인 언어인데 1.8부터는 함수형 프로그래밍을 지원하기 위한 람다식, 선언형 프로그래밍을 위한 스트림 같은 기능이 추가되었다. 프로그래밍 패러다임은 크게 선언형, 명령형으로 나뉘고 선언..

seonghye0n
'면접을 위한 cs 전공지식 노트' 태그의 글 목록