DEVELOP
article thumbnail

본 게시물은 컴퓨터공학개론 과목의 강의영상과 강의자료를 바탕으로 작성한 학습용 게시물입니다.


네트워크 기초 ( Network Fundamentals )

# 컴퓨터 네트워크의 분류 

  • 개인통신망 (Personal Area Network , PAN) 
    : 헤드셋, 스마트폰 사이 또는 무선마우스와 PC사이 등 수 미터 이내의 짧은 거리의 통신에 사용
  • 근거리 통신망 (Local Area Network, LAN) 
    : 하나의 건물이나 건물 군 안의 컴퓨터들로 이루어짐
    - ex ) 대학 캠퍼스, 제조업체 공장 안의 컴퓨터들 
  • 광역도시 통신망 (Metropolitan Area Network , MAN)
    : 지역 공동체 정도의 지역에 걸친 중간 크기의 네트워크 
  • 원거리 통신망 (Wide Area Network, WAN)
    : 이웃 도시나 지구의 반대편 등에 있는 컴퓨터들 

# 소유권 

  • 개방형(open) 네트워크
    : 네트워크의 내부 공영이 공적 영역에 있는 설계에 기초 
  • 폐쇄형(closed) / 사적 소유 
    : 네트워크의 내부 운영이 개인이나 기업이 소유하고 통제하는 기술에 기초

# 토폴로지 (topology)

: 컴퓨터들이 연결되는 패턴을 나타냄 

  • 버스 토폴로지 (이더넷, Ethernet)
  • 스타 토폴로지 (Wireless networks with central Access Point)

버스 토폴로지와 스타 토폴로지

# 프로토콜

  • CSMA/CD (Carrier Sense, Multiple Access with Collision Detection) 
    - 이더넷 표준에 기초
    - 각각의 메세지를 버스 상의 모든 컴퓨터에 방송되도록 함
    - 은폐 단말기 문제 :  방해물이나 거리 때문에 직접 상대의 신호를 들을 수 없는 경우 사용 불가 

버스 네트워크 상의 통신

# 네트워크의 결합 

  • 리피터
    : 두 버스 사이에서 신호의 의미에는 상관하지 않고 신호를 전달
    - 모든 메세지 전달 
    - 대개 신호 증폭 기능 
  • 브리지
    : 두 개의 버스를 연결하지만, 모든 메세지를 전달하지는 x 
  • 스위치
    : 여러 연결점을 갖는 브리지 
  • 라우터 
    : 호환 불가능한 네트워크들을 연결 

# 프로세스 간 통신 (Inter-process Communication)

  • 클라이언트 - 서버 모델
    : 한 프로세스가(서버) 다른 여러 프로세스(클라이언트)에 서비스를 제공 
  • P2P 
    : 서로 서비스를 주고 받는 모델이 관여되어 있음 

# 분산 시스템 (Distributed Systems)

: 프로세스들은 여러 컴퓨터에게 나뉘어 실행됨 

  • 클러스터 컴퓨팅
    : 훨씬 큰 컴퓨터에서 수행해야 할 계산이나 서비스를 제공하기 위해 많은 대수의 독립적인 컴퓨터들이 긴밀하게 협력 
  • 그리드 컴퓨팅
    : 클러스터 방식에 비해 연결 관계는 다소 느슨하지만 여전히 큰 작업을 위해 협력 
    - 그리드에 참여하는 컴퓨터들 사이에 데이터와 알고리즘의 분배를 용이하게 하기 위한 특화된 소프트웨어 이용 가능 
  • 클라우딩 컴퓨팅 
    : 네트워크 상의 공유 컴퓨터들로 이루어진 거대한 집단에서 필요에 따라 클라이언트가 사용할 수 있도록 할당

인터넷 (Internet)

# 인터넷

: 전 세계를 연결하는 인터넷

 

# 인터넷의 구조 

  • ISP ( Internet Service Provider) 
    - Tier-1 (Backbone)
    - Tier-2 
    - 접속 ISP / Tier-3 : 인터넷에 연결성 제공 
    - 단말 시스템 / 호스트 : 개별 사용자들이 접속 ISP에 연결하는 장치 

인터넷의 구성

 

# 인터넷 주소 체계 - IP주소

  • IP주소 : 32비트 / 128비트 컴퓨터 식별자 비트패턴 
    - 네트워크 식별자 : ICANN에 의해 할당 
    - 호스트 주소 : 도메인 관리자에 의해 할당 
  • 점찍는 10진 표기법 
    : 각 바이트는 10진법 정수로 표시되며 각 바이트 사이에 점을 찍어 구분함 
    - ex ) 5.2 -> 0000010100000010

# 인터넷 주소 체계 - 호스트 이름

  • 도메인 이름
    - 등록대행사가 지정 
    - ex) aw.com 
    - 최상위 도메인 : 도메인 소유자에 대한 분류 ex) kr, com, edu 
  • 부도메인과 개별 호스트 이름 
    - 도메인 소유자가 지정
    - ex) r2r2.compsci.nowhereu.edu (호스틍름,부도메인,도메인이름)
  • 기호식 주소와 IP주소 사이의 변환은 네임서버에 의해 처리
  • DNS (Domain Name System) : 인터넷 차원의 디펙토리 시스템 
  • DNS Lookup(DNS 조회) : 주소 변환을 위해 DNS 사용 절차
  • Internet Corporation for Assigned Names & Numbers (ICANN) 
    - 네트워크 식별자 할당
    - 도메인 & 도메인 이름 감독 

# 초기 인터넷 응용 프로그램 

  • NNTP (Network News Transfer Protocol) : 뉴스 응용 프로그램
  • FTP ( File Transfer Protocol) : 파일 목록 받아오고 파일 복사 
  • Telnet and SSH : 먼 거리의 컴퓨터에 접근
  • HTTP (Hypertext Transfer Protocol) : 웹페이지 
  • email (Electronic Mail) 
  • SMTP (Simple Mail Transfer Protocol) : 이메일 메시지 전송 시 두 호스트가 대화하는 방식 규정 

# 최근 인터넷 응용 프로그램

  • VoIP ( Voice Over IP ) 
  • Internet Multimedia Streaming
    - N-unicast  : 하나의 송신자가 다수의 수신자에게 메시지를 전송
    - Multicast : 분배 문제를 인터넷 라우터들에 떠넘김
    - On-demand streaming : 주문형 스트리밍 
    - CDNs : 콘텐츠 전송 네트워크 

월드와이드웹 (World Wide Web) 

# 월드와이드웹

  • 하이퍼텍스트 
  • 브라우저
  • 웹 서버 
  • URL / HTTP 

# HTML (Hypertext Markup Language)

  • 텍스트파일과 비슷, 태그 포함 
  • <h1> 수준 1 헤딩 시작 
  • <p> 새로운 문단 시작
  • <a> 인수를 포함하는 앵커 시작 

HTML로 인코딩된 페이지

# XML ( Extensive Markup Language) 

  • 데이터를 텍스트 파일로 표현하기 위한 표기 체계의 설계에 사용되는 표준화된 스타일 
  • 수식, 멀티미디어 콘텐츠, 음악 등을 표현하기 위한 다양한 마크업 언어들이 개발되어옴 
  • SGML(Standard Generalized Markup Language) 을 순화시켜 만든 표준 

# Client Side vs. Server Side

  • Client-side activities
    - javascript
    - java applets
    - Macromedia Falsh
  • Server-side activities (sebserver)
    - CGI (Common Gateway Interface)
    - Servlets
    - javaServer Pages (JSP) / Active Server Pages (ASP)
    - PHP  

인터넷 프로토콜 (Interner Protocols)

# Internet Software Layers 

  • 응용 : 전송할 메시지 만들어 내고 목적지 주소를 붙임 
  • 전송 : 메시지를 패킷으로 쪼개고 주소 붙여 네트워크 계층으로 전송 ㅣ TCP , UDP
  • 네트워크 : 경로설정 (라우팅)해서 링크 계층으로 전송  ㅣ IPv4, IPv6
  • 링크  : 패킷 전송 ㅣ CSMA/CD , CSMA/CA
  • 물리 : 직접 신호의 전송을 담당 ㅣ CDMA, 5G 

Cybersecurity 

# 공격 (Attacks) 유형 

  • 멜웨어 : 악성 소프트웨어
    - 바이러스 : 자기자신을 프로그램에 끼워 넣음
    - : 네트워크를 통해 자신을 전파시키는 독립적 프로그램
    - 트로이목마 : 필요한 프로그램으로 위장해 침입 
    - 스파이웨어(스니핑) : 자신이 자리 잡은 컴퓨터에서 일어나는 활동들에 관한 정보를 모아 공격자에게 보내줌  
    - 피싱 : 직접 요청하는 방법으로 정보를 얻는 기법 
  • Dos (denial of service 서비스거부) : 컴퓨터에 과도한 요청을 보내는 방법 
    DDos ( distributed denial of service) : 공격을 생성하는 작업이  다수의 호스트에 분산 
  • Spam : 정크 메일 

# 보호(protection) 및 대책 

  • 방화벽 (firewalls) : 네트워크 상의 특정 지점을 지나는 트래픽을 거르는 것 
    - 스푸핑 : 자신 외의 당사자로 위장 
  • 스팸 필터 : 원하지 않는 이메일 차단 
  • 프록시 서버 : 클라이언트와 서버의 중개 역할 
  • 안티바이러스 소프트웨어 ㅣ V3, 알약 

# 암호화 (Encryption) 

  • HTTPS (HTTP의 보안 버젼) , SSL 
  • 키 : 패스워드의 비밀성 외에도 암복호 알고리즘의 비밀성에 의존 ㅣ 공개키(암호화) , 개인키 (복호화) 
  • 인증서, 디지털서명
  • 인증기관 
profile

DEVELOP

@JUNGY00N