[Linux] 네트워크 기본(2)

정재훈·2022년 4월 14일
0

Linux

목록 보기
18/19

인터넷 원리

Network 란?

Network : 노드(호스트)와 링크로 구성한 데이터 교환망, 컴퓨터 장치들을 서로 대화가 가능토록 링크해준 것
노드 : 컴퓨팅 장치들
링크 : 연결

Node ID

ID : 중복되서는 안되는 영역, 식별가능한 고유의 영역
종류 : IPv4, IPv6

인터넷 원리

노드(컴퓨터)끼리 연결 - 1대 1 통신 , 링크수 1개 , 랜카드 PC당 1개 필요
컴퓨터 3대 각각 연결 - 링크 수 3개, 랜카드 PC당 2개 필요

한계점 : 컴퓨터 개수가 증가할 때 마다 랜카드의 개수가 증가한다.

해결책 : 공유기 사용
PC끼리 랜카드로 연결하지 않고, 공유기를 거쳐 연결 - 연결 PC가 늘어나도, 랜카드는 PC당 1개만 있으면 연결가능하다.

해외와 연결하기 위해서는 사용자 중 해저 광케이블을 99% 이용하고 위성을 1%만 사용한다.
이유 : 위성으로 통신이 가능킨 하지만 무선이므로 신호가 끊긴다, 자연재해 변수, 비싸다

케이블 종류 :

1. 동축케이블 / 광케이블 - 광섬유케이블 - 빛 `굴절`을 이용하여, 선이 꺾이더라도 직진성으로 전달
2. 랜선(UTP) - 힘이 약하다(먼곳 통신 불가,100m), 내구성이 약하다.

인터넷 원활한 연결을 위한 다양한 시도들

엘론머스크의 스페이스 X : 하나의 로켓이 60기 소형 위성 -> LTE 최대 속도를 가능토록 하려고
상공 인터넷 : 구글의 열풍선, Facebook의 드론

서버와 DNS

IP Address 기억하기 힘들다.
해결책 : DNS로 해결
DNS : 사람이 이해하기 쉬운 도메인 주소를 IP로 변환, 인터넷상의 전화번호부

DNS는 어디서 관리할까?

ICANN(국제 인터넷 주소 관리 기구) : 비영리 단체, 전 세계 레제스트리를 담당하는 기관
레지스트리 : 도메인 담당하는 곳 - 도메인 전부 관리하기 힘들어, 리셀러(가비아, 후이즈)가 유통한다.
레지스트리 종류 :

1. 한국인터넷진흥원 : .kr
2. VeriSign : .com .net 
3. Public Interest Registry(PIR) : .org

개인이 직접 원하는 레지스트리를 사용하고 싶다면 레지스트리 신청서 작성비 1억원이 필요하다.

네트워크 분류(중요)

1. LAN
2. WAN
3. Internet
  1. LAN(Local Area Network) : 한정된 공간에서 네트워크 구성 - 집안 / 사무실 / 소규모 공장
    랜카드 : 근거리 통신망용 네트워크 카드, 랜케이블 : 근거리 통신망 용 케이블

  2. WAN(Wild Area Network) : 멀리 떨어진 거리를 네트워크 구성 , LAN보다 넓은 네트워크 - 대규모 공장, 기업
    기업에서 WAN으로 지사들을 연결하기도 한다. - WAN 구축비용이 비싸다, 월 정액 통신료도 받는다.
    IoT에서 사용하는 무선 WAN 서비스 :SKT / KT / U+ 에서 IoT 전용 무선 WAN 서비스 (유료)

  3. Internet [Inter(연결) + net(네트워크)] : 가장 거대한 네트워크, IPS 업체를 통해 전용선 + IP를 사용한다.
    ISP(Internet Service Provider) 업체 : KT, SKT브로도밴드, LG U+, 등

네트워크 연결 거리
Interent > WAN > LAN

Cell : 무선 이동통신을 위해 하나의 기지국이 포괄하는 범위
Cellular : 한 지역을 여러개의 셀로 분활하여 운용하는 통신 방식, 주파수를 알뜰하게 사용하기 위함,
주파수 대역 - 사람의 수에 따라 대역폭이 많이 필요함

IoT은 무선 네트워크가 Default 통신 방식 - 인터넷에 연결하려면 무조건 라우터가 있어야 한다.

프로토콜

프로토콜 : 통신을 위해 양 상호 간에 지켜야 할 약속, 두 노드가 같은 프로토콜을 사용해야 통신이 가능하다. 꼭 SW에서만 해당되는 이야기가 아니고, H/W, Handshake, dataformat, 오류 검출방법 도 프로토콜이다.

Handshake

TCP는 3-way handshake 방식을 사용한다. 상대적으로 느리다.
3-way handshake란?
1. 송신 : 데이터를 보낸다
2. 수신 : 데이터를 받았는데 오류(순서 or 누락)가 있다. 재송신 요청
3. 송신 : 다시 보낸다.

IP

IP : Ineternet Protocol로, 송신 호스트와 수신 호스트가 정보를 주고받는데 사용하는 규약.
특징 :
1. 패킷 혹은 데이터그램이라고 하는 덩어리로 나뉘어 전송
2. 송신 호스트 / 수신 호스트 양방향 통신할 때 사용한다.
단점 :

1. 비신뢰성 : 통신 도중 패킷이 사라질 수 있으며, 순서대로 도착하지 않을 수 있다.
2. 비연결성 : 패킷을 받을 대상이 없거나 해당 도착지의 주소가 불능 상태여도 패킷을 전송

IP는 0000 0000(0) ~ 1111 1111(255)까지 총 4개를 보낸다. ex) 255.1.23.7
IPv4 : 총 보낼 수 있는 경우는(약 42억 = 255^4)이지만, 지구 총인구수 70억으로 부족하다.
IPv6 : 주속의 부족으로 나온 프로토콜

TCP

TCP : Transmission Control Protocol으로, IP의 단점을 보완한 프로토콜이다. IP에 TCP를 입힌 형태로 데이터 전달 보증, 순서 보증, 신뢰할 수 있는 프로토콜이지만 쓰리엔트 쉐이크 방식이기 때문에 속도가 느리다.

UDP

UDP : User Datagram Protocol: 속도는 빠르지만 약간의 끊김(손실)이 있다. 데이터 전달 및 순서 보장이 안된다. 최신 httP의 표준이다. 핸드쉐이크 없다.

Ethernet

Ehternet : 규모가 작은 LAN에서의 대표적인 통신 방법 (IEEE 802.3)

참고 : IEEE : 전기전가기술자협회 - 표준을 정하고 정해진 규정을 통해 통신하도록 관리

IP 주소를 이용한 통신이 아닌 , MAC(물리적 주소) 기반 통신을 한다.

MAC(Media Access Control) : LAN에서의 진짜 주소, 랜카드의 시리얼번호, 모두 다르다
IP 논리적 주소

각각의 호스트는 아무리 LAN방식이더라도 각각의 IP를 가지고 있다. -> ARP 과정 거침

ARP(Address Resolution Protocol) : IP만으로 MAC 주소를 찾을 때 사용하는 프로토콜

인터넷은 TCP / IP 프로토콜 을 사용 (IP 주소 기반 통신)
이더넷은 CSMA /CD 프로토콜을 사용 (MAC 주소 기반 통신)
이더넷을 위한 장비 이더넷 카드(랜카드) 및 이더넷 케이블(랜케이블) 등이 필요하다.
옛날 방식이 아니다.

Ethernet Card(NIC)

NIC : Network Interface Controller = 이더넷 카드 = 랜카드
컴퓨터와 네트워크를 연결시키기 위한 카드로 대부분 메인보드에 내장되어 있다

Ethernet 케이블

전송속도

bit rate(단위는 bps) : 초당 몇 bit 를 전송하는지

대역폭

  1. 주파수 개념 : 최대와 최소 주파수의 폭
  2. 통신 개념 : 한번에 데이터를 전송할 수 있는 양

이더넷 케이블

  1. UTP Cable(Unshielded Twisted Pair) : 이더넷의 주류를 이루는 케이블
  2. STP Cable(Shielded Twisted Pair) : EMI(방해전파) 방지를 위한 호일을 한번 더 감은 고급 케이블

케이블 전송 스팩

  1. CAT5e : 1 Gbps, 100MHz 대역폭
  2. CAT6 : 1 Gbps, 250MHz 대역폭
  3. CAT7 : 10 Gbps, 600MHz 대역폭

오래된 랜 케이블들은 속도가 느리다.

UTP 케이블 종류

1. 다이렉트 케이블(일반적으로 많이 사용) : 다른 장비끼리 연결 ex) PC와 허브
2. 크로스 케이블 : 같은 장비끼리 연결 ex) PC-PC & 허브-허브

잘못 사용하면 통신이 안된다

Auto MDI : 아무 케이블만 꽂아도 , 잘 동작하는 기술, 다이렉트 / 크로스 케이블 구분 없이 정상작동
Auto MDI 지원 : 가정용 공유기와 PC 들
Auto MDI 미지원 : 저렴이 임베디드 보드들

참고)
1. 화이트 오렌지
2. 오렌지
3. 화이트 그린
4. 블루
5. 화이트 블루
6. 그린
7. 화이트 브라운
8. 브라운

CSMA/CD 프로토콜

LAN에서 통신하는 방식 , 대충 알아서 눈치껏 보낸다.

공유기 없이 LAN 을 구성했을 경우 : 하나의 노드에서 다른 노드로 신호를 보낼 때 마다 모든 노드에 모두 같은 신호를 보낸다

CSMA/CD 프로토콜 동작 방식

1. 현재 네트워크에 통신이 되고있는지 Check
2. 사용가능할 때 까지 랜덤한 시간 기다림
3. 통신이 안 되고 있으면 통신을 시작
4. 만약 충돌이 발생한다면 , 랜덤한 시간 이후 재전송

콜리젼 도메인

충돌이 발생할 수 있는 네트워크 범위, LAN 네트워크는 모두 같은 콜리젼 도메인을 가진다
연결되는 기기가 많아 질 수록 콜리젼 확률은 올라가 통신 효율이 떨어질 수 있다

네트워크 장비들을 사용해야 콜리젼 도메인을 축소시켜 원활한 통신이 가능

Ethernet 네트워크 장비

공유기

공유기 : Home Router - 가정에서 필요한 , 여러 네트워크 장비를 통합한 가정용 라우터
한계 : 중대형 사무실급에서는 다량 연결로 인해, 포트 부족, 속도 느려짐, 안정성 떨어짐
해결책 : 연결할 PC가 많아지면 공유기 대신 라우터/스위치 사용

리피터

리피터 : 신호를 읽고 신호를 다시 전송하여 세기를 바로잡고 잡음을 제거하여 깔끔한 신호로 보내는 역할로 장거리 통신 가능토록 한다. 네트워크 장비에 리피터 기능 포함되어 있어서 잘 안쓰임

이데넛 허브

이더넷 허브(멀티포트 리피터 / 허브) : 연결된 신호를 보내면, 모두 복사해서 전체에 전달해준다.
CSMA / CD 프로토콜을 사용 : 모두 같은 콜리젼 도메인에 있게 된다, PC 연결수가 많을 수록 콜리젼 확률이 커진다

스위치

스위치(스위칭 허브) : 똑똑한 허브로 단순 복사해서 신호를 뿌리지 않는다. but 인터넷 연결 불가하다. 라우터가 있어야 연결 가능하다.

똑똑한 허브인 스위치의 동작

1. 최초 동작할 때에는 모든 노드에 신호를 보낸 후 결과에 따라 각 포트별 어느 MAC 이 연결되어 있는지 저장해둔다.
2. 신호 내용을 분석하여 , 어느 MAC 을 찾는지 알아낸다 .
3. MAC 이 있는 포트에만 신호를 전달해주는 장치 - 콜리젼 확률이 대폭 감소

라우터

내부 네트워크 연결 + 다른 네트워크로 나가는 출구 (Gateway)
매우 똑똑한 스위치, 스위치 처럼 내부 네트워크 연결이 가능하다, 내부 네트워크들과 외부 네트워크 연결이 가능하다.

192.168.0.1 : Gateway IP - 공유기 환경설정
라우터는 별다른 설정 없이 사용가능한 허브와 다르게 각종 설정을 해줘야한다.

라우터 vs 스위치
라우터는 내부 뿐만 아니라, 외부 네트워크로 연결할 수 있는 게이트웨이 역할을 함
스위치는 내부 네트워크에서만 사용

정리

ISP 업체에 전용 회선과 IP 할당

라우터 연결
게이트 웨이 역할 : 외부 네트워크 끼리 연결에 사용
외부 네트워크 : IP 기반 통신 (TCP / IP)
내부 네트워크 : MAC 기반 (CSMA / CD)

스위치 : MAC 기반으로 통신 데이터 전달

세그먼트 : 한 네트워크에서 더 작은 구역으로 나눈 구역

서버

Client들이 접속하여 서비스 받을 수 있는 시스템

특징 :

1. 대부분 무중단 운영
2. 대용량 트래픽 처리

종류 :

1. 타워형
2. 렉형

서버 컴퓨터와 우리 컴퓨터와 다른 점

단지, CPU 차이로 서버 컴퓨터의 CPU INTEL XEON - 멀티쓰레딩 기능에 초점이 맞춰져 있다.

하나의 PC 는 여러 역할의 서버 될 수 있지만, 무중단, 자료 유출, 성능 저하, 다중 이용 불가 등의 한계가 있다.

각 서버 역할에 맞는 PC를 장만해야 보안의 안전과 속도 저하가 없습니다.

클라우드

서버는 무중단 운영이 기본이다. 서버를 관리하기 위해서는 적정 온도/습도 유지, 비상전력, 관리자 등의 준비물이 많이 필요하다. 가장 큰 문제는 특정 이벤트로 인한 트래픽 과다현상이다.

해결책 : 가상화 기술 - 시뮬레이션 SW 컴퓨터 생성

클라우드 : 자산의 컴퓨터가 아닌, 서버 컴퓨터 자원을 사용하는 기술

클라우드 서비스 유형

1. laaS(Infrastructure as a Service) : 컴퓨팅 시스템을 가상화 환경으로 만들어, 서비스 제공 ex) AWS EC2
2. PaaS(Platform as a Service) : 바꿀 수 없는 기본 시스템이 구축되어 있는 상태에서 App 개발 / 배포 / DB 관리 등 가능한 상태의 시스템 (Google App Engine)
3. SaaS(Software as a Service) : 서버에서 호스팅 방식으로 서비스 제공 (ex. 네이버 클라우드 , Dropbox)

데이터 전달 방법

유니 캐스트 : 한 노드한테만 전달
브로드 캐스트 : 모든 노드에게 전달
멀티 캐스트 : 그룹핑 된 그룹에게만 전달

OSI 7계층

OSI(Open Systems Interconnection) 7계층 : ISO에서 정한 통신에 필요한 동작을 7단계로 나눔, 통신은 HW와 SW 모두 필요하다. 오류 발생시 원활한 문제 해결을 위해 나눈다.

처리 과정

APP에서 시작하여 APP에 도달하기 까지의 과정을 계층별로 처리한다.

세부 7계층

APP 단계에서 메세지를 전달하면 단계별로 헤더 정보를 하나씩 추가하며 최종적으로 만들어진 데이터를 프레임이라 한다.

  1. Physical Layer : 데이터 전송
  2. Data Link Layer : 헤더는 MAC 주소이고, 만들어진 데이터를 프레임이라한다.
  3. Network Layer : 헤더는 IP 주소이고, 만들어진 데이터를 패킷이라한다.
  4. Trasport Layer : 오류, 속도, 포트번호 적어준다.
    ----------------------하단은 참고 계층--------------------------------------
  5. Session Layer : 통신의 동기화 정보
  6. Presentation Layer : 데이터 압축 / 암호화 정보
  7. Application Layer : 사용자 데이터

참고) HW 관점의 OSI 계층
1. L1장비 : 전기적 신호를 처리하는 곳 ex) 허브, NIC, UTP 케이블
2. L2장비 : Data들의 Link, LAN 영역의 Data 정보전달 ex) 스위치
3. L3장비 : 네트워크 데이터 전달(IP 확인) ex) 스위치
4. L4장비 : IP 뿐만 아니라 TCP 포트까지 확인하여, IP 수정 및 경로 변경 ex) 스위치
5. L7장비 : 컨텐츠 내용을 확인 후 스위칭 가능 ex) 스위치

profile
여러 방향으로 접근하는 개발자

0개의 댓글