본 게시물은 컴퓨터공학개론 과목의 강의영상과 강의자료를 바탕으로 작성한 학습용 게시물입니다.
네트워크 기초 ( 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> 인수를 포함하는 앵커 시작
# 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
- 키 : 패스워드의 비밀성 외에도 암복호 알고리즘의 비밀성에 의존 ㅣ 공개키(암호화) , 개인키 (복호화)
- 인증서, 디지털서명
- 인증기관
'LECTURE > [2021-1] 컴퓨터공학개론' 카테고리의 다른 글
[컴퓨터공학개론] 8. 데이터 추상화 (0) | 2021.06.14 |
---|---|
[컴퓨터공학개론] 7. 소프트웨어 공학 (0) | 2021.06.14 |
[컴퓨터공학개론] 6. 프로그래밍 언어 (Programming Languages) (0) | 2021.06.13 |
[컴퓨터공학개론] 5. 알고리즘 (Algorithms) (0) | 2021.06.13 |