728x90
반응형
Network 의 구조

 

Computer 간의 네트워크를 연결한 Computer network

한대만으로는 컴퓨터 네트워크라고 할 수 없지만, 두 대 이상 연결되어 있으면 컴퓨터 네트워크가 됨

컴퓨터 간에 필요한 데이터(정보)를 서로 주고 받음.

컴퓨터 간의 데이터(파일) 전송, 웹 사이트 열람, 메일 송.수신

인터넷은 전 세계의 네트워크부터 작은 네트워크까지를 연결하는 거대한 네트워크

 

Packet 이란?

컴퓨터 간에 데이터를 주고 받을 때 network를 통해 전송되는 데이터의 작은 조각

큰 데이터가 있더라도 작게 나누어서 보내는 것이 규칙 (택배)

큰 데이터를 그대로 보내면 그 데이터가 네트워크의 대역폭을 많이 차지(점유)해서

다른 패킷의 흐름을 막을 위험이 있음.

 

도로에 비유하자면 보통 크기 승용차라면 정체없이 원활하게 지나갈 수 있는 도로인데 대형 트럭이

차선 두개를 모두 점유하면 교통정체가 일어남.

 

용량이 큰 데이터는 패킷을 분할하여 전송

 

이미지 전송시 2차원 matrix 형태로 패킷으로 전송.

 

수신 받더라도 확인할 수 없음.

따라서 원래 사진대로 되돌리는 작업이 필요함.

목적지로 보낸 패킷이 전송한 순서대로 도착하지 않을 수도 있음

또 패킷이 전송 될 때 네트워크가 지연되어서 늦게 도착하거나 패킷이 누락되기도 함.

그래서 목적지에 도착한 패킷은 순서 없이 제각각 도착함.

 

패킷을 그냥 보내면 사진파일을 원래대로 되돌릴 수 없음.

그래서 송신측에서 수신측으로 패킷을 보낼 때에는 각 패킷에 순서대로 번호를 붙여서 보냄

그러면 번호에 맞춰 정렬하면 되니까 늦게 도착한 패킷도 원래 위치로 돌아갈 수 있음.

패킷이 도착하면 번호순으로 정렬.

 

대역폭(bandwidth):

일반적으로는 네트워크에서 이용 가능한 최대 전송 속도로 정보를 전송할 수 있는

단위 시간당 전송량을 말함.

 


정보의 양을 나타내는 단위

정보의 양을 나타내는 단위인 비트(bit)와 바이트(byte)

 

디지털 데이터(digital data)

모든 컴퓨터는 숫자 0과 1만을 다루는데 0과 1의 집합을 디지털 데이터라고 함

0과 1의 정보를 나타내는 최소 단위를 비트(bit)라고 함

0 또는 1 인 숫자 8개를 모아 표시하면 이 단위를 바이트(byte)라고 함

그래서 8비트는 -> 1바이트가 됨.

 

컴퓨터는 기본적으로 이러한 바이트 단위로 데이터를 읽고 쓰는 작업을 함.

그래서 디지털 데이터를 만들 때는 8비트를 1바이트로 다루는 것이 좋음.

숫자와 문자의 대응표를 문자 코드라고 함.

 

ASCII 코드는 알파벳, 기호, 숫자 등을 다룰 수 있는 기본적인 문자 코드

 

문자도 사진과 마찬가지로 상대방에게 이 숫자를 패킷으로 나누어서 보내면

받은 쪽에서 패킷을 원래 값으로 되돌릴 수 있음

따라서 문자 데이터도 패킷으로 나누어서 네트워크에 전송함.

 

네트워크에 데이터를 전송하는 경우에는 비트 정보를 전기 신호로 변환하기 때문에

실제로는 네트워크에 전기 신호가 전송되고 있음

 


랜과 왠

 

네트워크에는 랜(LAN)이라고 하는 좁은 범위의 네트워크와 왠(WAN)이라고 하는 넓은 범위의 네트워크가 있음

 

LAN(Local Area Network: 근거리 통신망)

WAN(Wide Area Network: 광역 통신망)

ISP(Internet Service Provider: 인터넷 서비스 제공자)

 

LAN:

특정지역을 범위로 하는 네트워크

가정이나 빌딩 안에 있는 사무실 같이 지리적으로 제한된 곳에서 컴퓨터와 프린터를 연결할 수 있는 네트워크

(랜은 건물 안이나 특정 지역을 범위로 하는 네트워크)

랜은 연결하는 거리가 짧은 만큼 신호가 약해지거나 오류가 발생할 확률이 매우 낮음

 

WAN:

지리적으로 넓은 범위에 구축된 네트워크

이것은 인터넷 서비스 제공자가 제공하는 서비스를 사용하여 구축된 네트워크를 말함

랜과 랜을 연결하는 것으로 생각해도 됨.인터넷 서비스제공자(ISP)의 서비스를 사용하여 네트워크 구축 가능

인터넷 서비스제공자(ISP): 인터넷 상용 서비스 사업을 하고 있는 통신사(KT, U+, SK)

WAN은 멀리 떨어져 있는 랜과 연결되어 있어 신호가 약해지거나 오류가 발생할 확률이 높아짐

 

랜과 왠의 차이점

랜은 범위가 좁고 왠은 범위가 넓다.

랜은 속도가 빠르고 왠은 속도가 느리다

랜은 오류가 적고 왠은 오류가 많다.

랜은 왠보다 범위가 좁고 속도가 빠르며 오류가 발생할 확률이 낮다.

왠은 랜보다 범위가 넓고 속도가 느리며 오류가 발생할 확률이 높다.

 


가정에서 하는 랜 구성

 

일반적인 가정에서 구성하는 랜 네트워크.

 

인터넷을 사용하려면 먼저 결정해야 될 것은 인터넷 회선과 인터넷 서비스 제공자(ISP)

인터넷을 개통할 때 ISP와 인터넷 회선 두가지를 결정.

 

ISP와 네트워크를 연결하기 위해 필요한 장비 : 인터넷 공유기

 

인터넷 공유기 (broadband router):

가정이나 소규모 기업에서 인터넷에 접속할 때 사용

가정용으로 만든 라우터라고 생각하면 됨

최근에는 라우터의 기능뿐만 아니라 허브, 스위칭 허브, 방화벽과 같은 다양한 기능도 제공

 

접속 방식에는 유선랜과 무선랜 사용.

무선랜 공유기는 무선 랜을 지원하는 인터넷 공유기를 말함.

 

회사에서 하는 랜 구성

 

소규모 회사(소호 기업)에서의 네트워크 구성

 

가정에서의 랜 구성과는 조금 다름.

 

가정에서의 랜 구성과 눈에 띄게 다른 점은 DMZ라는 네트워크 영역이 존재

DMZ(Demilitarized Zone) : 외부에 공개하기 위한 네트워크

서버를 공개하는데 주로 웹 서버, 메일 서버, DNS 서버를 공개

네트워크 구성 중에 일반적으로 인터넷인 외부네트워크와 내부 네트워크 사이에 위치한

중간 지대(SubNet)을 말함. 네트워크의 보안 영역으로 외부 공격자가 내부 네트워크에 침투하는 것을 막음

웹 사이트를 불특정 다수의 외부 사용자에게 공개하려면 웹 서버를 외부에 공개하고 외부 사용자와 메일을 주고 받으려면

메일 서버를 외부에 공개하고 외부에서 도메인 이름을 사용하여 회사의 서버에 접속하려면 DNS서버를 외부에 공개하면 됨.

 

직원수가 많아질 수록 스위치와 같은 장비가 늘고 랜 케이블의 배선이 늘어남.

 

회사에서는 서버를 운영하기 위해 서버를 사내에 설치하거나 데이터센터에 두거나 클라우드(Cloud)에 둘 수 있는데

서버를 사내에 두고 운영하는 예임.

사내에서 서버를 운영하는 경우에는 회사 내에 서버 장비실을 두고 그곳에 랙(선반)을 설치함.

 

사내 또는 데이터 센터에 서버를 두고 운영하는 것을 온프레미스(on-premise)라고 함.(클라우드와 비교됨)

 

랙안에는 랙에 설치하기 적합한 형태와 크기를 가진 서버와 라우터와 스위치를 설치할 수 있는데,

라우터는 무선 랜 기능이 있는 라우터를 사용하는 경우가 많음.

 

각 서버는 스위치와 연결하여 서로 통신

사무실 안에서 사용하는 컴퓨터와 프린터도 근처에 있는 스위치에 연결하거나 무선 랜 기능을 통해

랜에 연결해야 네트워크를 사용할 수 있음

 

회사의 서버는 온프레미스나 클라우드로 운영됨

각 서버나 컴퓨터는 스위치나 무선 랜 기능을 사용하여 사내 랜에 접속함.


네트워크의 규칙

 

일상생활에서 지켜야 하는 규칙이 있듯 네트워크에서도 지켜야 하는 규칙이 있음.

 

서로 같은 언어를 사용하면 의사소통을 할 수 있다.

통신하기 위한 규칙을 프로토콜이라고 함.

편지를 배송하기 위해서는 편지를 쓸때부터 상대방에게 도착하기까지 지켜야 하는 독립적인 여러 규칙을 거쳐야 하나다.

 


OSI 모델과 TCP/IP 모델

네트워크에서는 데이터를 주고받기 위한 통신 규격이 정해져 있음

 

규격:

기술적인 사항에 대해 제정한 기준을 말하는데 보통은 기술적 표준을 의미함

ISO:

International Organization for Standardization(국제표준화기구)

 

OSI 모델이란.

네트워크 기술의 기본이 되는 모델.

데이터의 송수신은 컴퓨터에서 컴퓨터로 데이터를 전송하는 것

이때 컴퓨터 내부에서는 여러가지 일을 하는데 이런 일을 일곱개 계층으로 나눠서 함.

그 일곱개의 계층이 OSI 모델임. 계층이라는 용어 대신 레이어(layer)를 사용하기도 함.

 

물리 → 데이터링크 → 네트워크 → 전송 → 세션 → 표현 → 응용 계층

 

통신할 때 데이터는 맨 위의 응용 계층에서 순차적으로 아래 계층으로 전달됨.

 

- OSI 모델 각 계층의 역할

응용 계층(Application Layer):

이메일 & 파일 전송, 웹사이트 조회 등 Application에 대한 서비스를 제공

 

표현 계층(Presentation Layer):

문자 코드, 압축, 암호화 등의 데이터를 변환함

 

세션 계층(Session Layer):

세션 체결, 통신 방식 결정

 

전송 계층(Transport Layer):

신뢰할 수 있는 통신 구현

 

네트워크 계층(Network Layer):

다른 네트워크와 통신하기 위한 경로 설정 및 논리 주소를 결정

 

데이터 링크 계층(Data Link Layer):

네트워크 기기 간의 데이터 전송 및 물리 주소를 결정

 

물리 계층(Physical Layer):

시스템 간의 물리적인 연결과 전기신호를 변환 및 제어

 

데이터를 전송하는쪽(송신 측)은 데이터를 보내기 위해 상위계층에서 하위 계층으로 데이터 전달.

각 계층은 독립적이므로 데이터가 전달 되는 동안 다른 계층의 영향을 받지 않음

데이터를 받는(수신 측)은 하위 계층에서 상위 계층으로 전달된 데이터를 받음.

 

 


TCP/IP 모델.

OSI 모델의 7계층을 4계층으로 바꾼 모델.

 

응용 → 전송 → 인터넷 → 네트워크 전송 계층

 

OSI모델 → TCP/IP 모델

응용,표현,세션 → 응용

전송 → 전송

네트워크 → 인터넷

데이터링크, 물리 → 네트워크 전송

 

그리고 각 계층에는 다양한 프로토콜이 존재함 (통신 규칙)

 

* ISO(국제 표준화 기구)에서 OSI 모델 제정


캡슐화와 역캡술화

 

데이터를 송수신할 떄는 캡슐화와 역캡슐화가 이루어짐

 

예) 컴퓨터 A에서 컴퓨터 B로 데이터 송신 가정

데이터를 송신시 데이터의 앞 부분에 전송하는데 필요한 정보를 붙여서 다음 계층으로 보내야 함.

이 정보를 헤더라고 하는데 헤더에는 데이터를 전달받을 수신자의 정보도 포함되어 있음.

 

필요한정보, 송신데이터, 필요한정보(헤더)|송신데이터

 

이처럼 헤더를 붙여 나가는걸 캡슐화라고 함.

한편 데이터를 받은 쪽에서는 헤더를 하나씩 제거하기 때문에 역캡슐화.

 

- 캡슐화와 역캡슐화 흐름의 전체 구성

데이터 송신측

응용 계층 → 데이터

전송 계층 → 헤더 + 데이터

네트워크 계층 → 헤더 + 헤더 + 데이터

데이터 링크 계층 → 헤더 + 헤더 + 헤더+ 데이터 + 트레일러

물리 계층 → 헤더 + 헤더+ 헤더+ 데이터 + 트레일러

 

데이터 수신측

물리 계층 ← 헤더 - 헤더+ 헤더 + 데이터 - 트레일러

네트워크 계층 ← 헤더 - 헤더 + 데이터

전송 계층 ← 헤더 - 데이터

응용 계층 ← 데이터

 

트레일러는 데이터를 전달할 때 데이터의 마지막에 추가하는 정보 (헤더와 트레일러, 앞 뒤)

이렇게 데이터 링크 계층에서 만들어진 데이터는 최종적으로 전기 신호로 변환되서 수신 측에 도착함

 

VPN (Virtual Private Network: 가상 사설망)

가상 통신 터널을 만들어 기업 본사나 지사와 같은 거점 간을 연결하여 통신하거나 외부에서 인터넷으로 사내에 접속하는 것을 말함

인터넷 VPN:

인터넷 VPN에는 거점 간 접속과 원격 접속 연결이 있음

둘 다 인터넷망을 사용함.

거점 간 접속은 IPSec 이라는 암호 기술 프로토콜을 사용하여 접속함

반면 원격 접속 연결은 외부에서 사용하는 컴퓨터와 사내 네트워크를 연결하기 때문에 암호화된 통신로를 만듬

 

데이터를 보낼 때 필요한 정보를 데이터에 추가하는데 이 정보를 헤더

 

 

728x90
반응형

'Network' 카테고리의 다른 글

BLE.bleak  (0) 2022.12.19
TCP/IP Layer  (0) 2022.12.17
File Transfer Protocol (FTP)  (0) 2022.12.04
TCP / IP (Socket programming)  (0) 2022.12.01
HTTP Protocol  (0) 2022.12.01

+ Recent posts