반응형

computer network 19

컴퓨터 네트워크 - P2P applications

P2P (Peer to Peer, Peer-Peer) P2P는 단말(end system = peer) 간에 양방향 파일 전송 시스템이다. 각 단말이 서버이면서 동시에 클라이언트의 역할을 한다. P2P에서 파일 전송은 망을 구성하는 peer들의 성능에 의존되는 통신망이다. P2P를 사용하는 대표적인 프로그램으로 비트토렌트, 소리바다 등이 있다. 클라이언트 서버구조에서는 클라이언트(peer)가 늘어날수록 전송 속도가 선형적으로 증가하는 반면, P2P 구조에서는 Peer가 증가하더라도 비선형적으로 전송 속도가 크게 늘어나지 않는다. P2P가 큰 네트워크에서도 파일 전송에 더 적은 시간이 걸리며 확장성이 있다. Pure P2P Pure P2P 구조에서는 always-on 서버(중앙 서버)가 존재하지 않고 pee..

컴퓨터 네트워크 - DNS: Domain Name System

DNS (Domain Name System) 인터넷 프로토콜의 장비들(라우터, 링커)이 통신하기 위해서는 IP 주소를 알아야 한다. 32 bit로 이루어진 이 주소는 사람이 기억하거나 해석이 어려워 사람이 사용하기 쉬운 이름을 붙인 것이 Domain Name이다. 하지만 Domian name은 소프트웨어가 인식할 수 있는 이름이 아니다. 사람에게는 IP 주소를 Domain name으로 소프트웨어에게 Domain name을 IP 주소로 바꿔주는 것(resolve)이 DNS이다. DNS 계층 구조 DNS는 많은 name 서버들의 계층 구조로 구현된 분산 데이터베이스로 이루어져 있다. 중앙 집중식(centralized) 서버의 경우 공격을 받거나 문제가 생기면 전체 웹 서비스가 멈출 수 있기 때문에 분산한다...

컴퓨터 네트워크 - FTP

FTP (File Transfer Protocol) 클라이언트와 서버 간에 파일 저장, 전송, 공유 등에 사용되는 프로토콜이다. TCP 통신을 사용하며 파일 전송을 위해서는 2가지의 연결을 맺어야 한다. 서버의 21번 포트에 파일을 가져오는 명령, ID, password 전송, 디렉토리 검색 등을 위한 연결(control connection)과 20번 포트에 실제 데이터를 전달하는 연결(data connection)을 맺어야 한다. 21번 포트에 TCP 연결 후 파일 전송 요청을 받으면 20번 포트에 TCP 연결을 맺고 파일 전송을 수행한다. 하나의 파일을 전송한 뒤, 21번 포트 data connection을 닫는다. 매 파일 전송 마다 data connection을 열고 닫으며, control con..

컴퓨터 네트워크 - Cookie & Cache

Cookies 쿠기에 대해 알아보기 앞서 HTTP의 stateless 속성에 대해 알아야 한다. HTTP는 stateless의 속성을 가져 사용자의 요청에 대한 기록을 서버에서 저장하지 않는다. 그렇기 때문에 사용자의 행위에 대한 기록을 서버에 남겨, 다음 행위에서 이전 기록을 통해 무언가를 하고자 할 때에 쿠기가 사용된다. Stateless 한 HTTP에서 stateful 한 성격을 구현하는 것이 쿠키이다. 쿠기는 클라이언트가 서버에 접속 시에 서버가 쿠키값을 생성하여 클라이언트에 부여한다. 쿠키 값은 서버에서 생성하여 부여하되, 보관은 클라이언트와 서버 양쪽에서 한다. 클라이언트는 쿠키 값을 받아 저장한 뒤, 동일한 서버에 다시 접속 시에 쿠키값을 같이 전송한다. 이 쿠키값을 가지고 서버는 클라이언트..

컴퓨터 네트워크 - Application layer

컴퓨터 네트워크 - Application layer Network Application 응용은 단말(end system)에 올라가게 된다. 네트워크 장비에는 응용 프로그램이 올라가지 않으며 올릴 시 속도가 감소하게 된다. 네트워크 장비는 심플하며 빠른 속도를 갖는 것을 원칙으로 가지며, 응용 프로그램과 같이 복잡한 기능은 단말에 올리는 것이 원칙이다. Application architectures Client-server Peer-to-Peer (P2P) Hybrid of client-server and P2P Client-server architecture 우리가 사용하는 대부분의 네트워크는 client-server의 구조로 이루어져있다. Server : 항상 실행(always-on) 호스트이여야 하며..

컴퓨터 네트워크 - Security

컴퓨터 네트워크 - Networks under attack: Security Network Security 네트워크 보안은 공격자가 어떠한 방법으로 네트워크를 공격할 것인지와 공격에 대해 어떻게 대처할 것인지 그리고 네트워크를 공격에 대비하여 어떻게 설계할지 등에 대하여 연구하는 것이다. 초기 인터넷은 상호 간에 신뢰하는 소수의 연구자들끼리 그룹을 위해 만든 네트워크로 원래 보안을 고려하여 만든 네트워크가 아니었다. 하지만 추후 인터넷이 대중적으로 확산이 되며 보안에 대한 이슈들이 생겨났고 보안 기능이 인터넷 프로토콜의 각 층에 고안되었다. Malware (악성 코드) 대표적인 악성코드로 virus, worm, trojan horse 등을 들 수 있다. 이밖에도 spyware malware와 같이 키 입..

컴퓨터 네트워크 - Protocol layers, service model

컴퓨터 네트워크 - Protocol layers, service model Protocol Layer 프로토콜 레이어란 컴퓨터 관련 공부를 하다 보면 자주 접할 수 있는 application - presentation - session - transport - network - link - physical로 나눠져 있는 OSI 7계층과 application - transport - network - link - physical로 나눠져 있는 인터넷 프로토콜 스택이 있다. 이렇게 프로토콜을 층(layer)로 만드는 이유는 각 층이 특정한 기능을 수행하도록 정의하기 위함이다. 프로토콜의 디버깅과 기능의 업그레이드 등에서 유리하다. 이는 한 층의 기능변화가 다른 층에 영향을 주지 않도록 하여 일부 층만 만든 ..

컴퓨터 네트워크 - Network edge

컴퓨터 네트워크 - Network edge 네트워크의 구성을 살펴보면 다음과 같이 크게 3가지의 구조로 이루어져있다. network edge : 네트워크 구성에서 가장 종단부분의 네트워크를 말한다. 여기에는 End system과 Edge router들이 존재한다. (Edge router란 단말이 연결된 router를 뜻한다.) access network : 호스트와 네트워크 장치(edge router)를 연결하는 부분. 단말과 처음 연결되는 라우터의 경로로 쉽게 랜선 혹은 와이파이를 떠올리면 된다. 가정용, 기관용, 모바일 연결 네트워크 등이 있다. network core : 네크워크의 중심으로 단말간 연결이 아닌 router간 연결된 부분을 말한다. Access network 기술 Dial-up Mod..

컴퓨터 네트워크 - 인터넷이란 무엇인가?

컴퓨터 네트워크 - 인터넷이란 무엇인가? 인터넷 (Internet) 간략하게 소개하면 인터넷이란 "network of networks"로 네트워크들을 연결해주는 네트워크(연결체)이다. 유선랜, 무선랜, 셀룰러(Mobile) 네트워크 등 다양한 네트워크들이 서로 통신하기 위해서는 인터넷을 통해야 한다. 분산되어 있는 응용 서비스를 가능하게 하는 통신 인프라이다. 인터넷은 호스트간에 신뢰성 있는 데이터 전달을 하기도 하며, "best effort(unreliable)"하게 데이터를 전달한다. 응용 서비스의 성격에 따라 선택하여 데이터 전달을 한다. 인터넷 패킷(chunks of data)은 라우터(Router)를 통해 전달된다. 라우터를 표시할 때에 원형 모양에 안에 x가 있는 그림을 사용한다. 인터넷 프로..

반응형