네트워크

정은지·2023년 4월 11일
0

컴퓨터 네트워크란 ~ ?

데이터를 주고 받을 수 있도록 망이 구축된 것


네트워크에서 통신하는 컴퓨터들

서버 : 서비스를 제공하는 쪽
클라이언트 : 서비스를 받는 쪽

  • 패킷이라는 작은 단위로 주고 받음

컴퓨터 네트워크를 구성하는 계층

  1. 애플리케이션계층 (서비스를 제공하는 부분, 서비스의 내용 결정)
  2. 트랜스포트 계층
  3. 인터넷 계층
  4. 네트워크 인터페이스 계층
2~4번은 통신 기능을 담당하는 부분임

애플리케이션 계층
: 웹 브라우저(클라이이언트pc)와 웹서버(웹 서버 컴퓨터)
: 사용자가 실제로 체감할 수 있는 부분
: URL요청, html 응답이 이루어짐

트랜스포트 계층
: 데이터가 제대로 전달되지 않았을 때 재전송하는 역할을 함
: 애플리케이션에서 전달받은 데이터를 목적지인 애플리케이션 계층의 프로그램까지 전달함
: 애플리케이션 계층, 인터넷 계층 사이에서 데이터가 올바르게 전달되도록 중계함
: 전송하기에 적합한 크기로 작게 쪼개거나, 데이터를 결합한다.
: 포트번호를 확인해서 웹 서버(애플리케이션계층)에 데이터를 전달한다

인터넷 계층
: 데이터에 어드레스 정보를 덧붙여 목적지까지 전달함
: 이때 라우터라는 장비를 사용함

  • 라우터란..
    길 안내자임. 외국가서 휴대용 와이파이 들고다니면 인터넷 되는 것처럼 ... 중계 장치.

네트워크 인터페이스 장치
: 유선LAN 어댑터나 무선 LAN 어댑터가 처리할 수 있는 형태로 데이터를 변환함

클라이언트pc -> 웹서버컴퓨터

애플리케이션 계층 : 표시하고 싶은 웹 페이지 URL은 www.어쩌고.com이다.
트랜스포트 계층 : 웹 브라우저의 3333포트에서 웹 서버의 20번 포트로 요청한다.
인터넷 계층 : 클라이언트 pc(192.168.219.120)에서 웹 서버 컴퓨터(127.78.ㅇㅇㅇ.249)로 요청한다
네트워크 인터페이스 계층 : 이더넷 헤더

웹 서버 컴퓨터 -> 클라이언트pc컴퓨터

애플리케이션 계층 : 웹 페이지 데이터
트랜스포트 계층 : 웹서버 80번 포트에서 웹 브라우저의 49153번 포트로 응답한다.
인터넷 계층 : 웹 서버 컴퓨터(127.78.ㅇㅇㅇ.49)에서 클라이언트pc(192.168.219.120)로 응답한다.
네트워크 인터페이스 계층 : 이더넷 헤더


프로토콜

컴과 컴이 통신할 때 지켜야할 절차or규약을 프로토콜이라고한다.

계층프로토콜 이름동작 방식
애플리케이션 계층HTTP웹 페이지 데이터를 주고 받을 수 있음, 무상태 프로토콜이라서 요청과 응답을 한 번씩 주고 받은 후에 통신이 끊어진다. (PORT:80)
HTTPS보안을 위해 웹 페이지 데이터를 주고 받는 과정을 암호화(PORT:443)
SSH보안을 위해 컴퓨터를 원격에서 제어하는 과정을 암호화함(PORT:22)
트랜스포트 계층TCP애플리케이션의 데이터를 송수신하되 데이터의 정확한 전달을 중시함
UDP애플리케이션의 데이터를 송수신하되 데이터의 전송 속도를 중시함
인터넷 계층IP패킷을 목적지까지 전달함
네트워크 인터페이스 계층이더넷패킷을 목적지까지 전달함

그 이외의 프로토콜

프로토콜동작 방식
DNS도메인명과 IP어드레스의 정보를 서로 변환할 때 사용한다.

쿠키

내가만든쿠키

HTTP는 요청과 응답이 한 번씩 왔다갔다 하면 통신이 끊어짐.
그래서 쿠키 필요함
쿠키가 없으면 서버 입장에서 각 요청을 보낸 사용자를 구분할 수 없음

주의.

  • 유출되었을 때 문제가 생길만한 정보는 클라이언트 PC쿠키에 저장금지
  • 각종 정보는 서버 쪽에 저장하는 것이 원칙이다
  • 동일한 사용자인지 확인하기 위해선 세선ID등의 식별 정보로만 클라이언트 쿠키로 저장해야함

트랜스포트 계층의 역할!

  • TCP :
    데이터가 정확하게 전달되도록 속도를 조절하거나, 크기를 조절하거나 송신 실패 여부를 판단해서 도착하지 않은 데이터를 재전송함.

  • UDP :
    VoIP나 동영상 스트리밍 서비스와 같이 실시간 통신이 필요하다면 전송속도를 중시하는 UDP사용하기 , udp는 별다른 처리를 하지 않음
    TCP에 비해 간단한 프로토콜임

    • UDP에는 TCP에 없는 기능인 브로드캐스트와 멀티캐스트가 있다.
      IP주소 또한 통산 용도에 따라 '유니캐스트 주소', '브로드캐스트 주소', '멀티캐스트 주소'가 있다.

      유니캐스트(1:1통신)
      브로드캐스트(1:N) - 같은 네트워크 상의 모든 호스트
      멀티캐스트(1:N) - 특징에 의해 그룹화된 호스트

포트번호
트랜스포트 계층은 인터넷 계층에서 전달한 패킷이 들어옴
이 패킷들은 애플리케이션계층에 있는 애플리케이션에게 각각 전달해야함
이 때 어느 애플리케이션으로 보내져야할지는 포트번호를 보면 알 수 있음

포트번호
서버 측에서 사용하는 포트는 미리 정해져 있음, shh는 22번
근데 클라이언트가 사용하는 포트 번호는 그때 그때 다르다
http인 경우 서버 측에서 수신 대기하는 포트 번호는 80번임. 클라이언트인 웹 브라우저는 다이나믹 포트를 사용하기 때문에 포트 번호가 애당초 정해져있지 않음
근데..?80번 포트로 같은 요청이 몰린다면? 클라이언트측은 서로 다른 IP어드레스와 포트번호를 사용해서 서버는 클라이언트를 식별할 수 있다.


IP주소란?

: TCP/IP로 통신하는 기기를 식별하기 위한 주소를 말함
TCP/IP로 통신하는 기기를 '호스트'라고 부르며, 대표적으로는 PC와 서버, 라우터와 같은 네트워크 장비가 있음
TCP/IP 통신은 반드시 IP주소를 사용함
IP주소는 호스트를 특정하기 위함. 유선LAN, 무선LAN 등의 네트워크 인터페이스마다 설정됨.

서브넷 마스크??가머지..

프라이빗 IP 어드레스

  • 가정, 사내에서 자유롭게 사용가능
  • 근데 인터넷에 연결해도 외부에서 접근 불가능
  • 같은 네트워크 안에서 중복되면 안됨

공인IP와 사설IP

  • 공인 IP
    : 인터넷상에서 중복되지 않는 IP주소들

  • 사설IP
    : 공인IP주소고갈에 대한 대책으로 생겨남.
    (+ 사설 네트워크를 나누어 놓고 싶을 때 서브넷마스크를 쓴다..?)

인트라넷 : 기관 안에서만 접속, 군대나 정부기관 같은거.

IPv4
- 10.0.0.0 ~ 10.255.255.255(10.0.0.0/8)
- 172.16.0.0 ~ 172.31.255.255(172.16.0.0/12) 12 프리픽스 자리
- 192.168.0.0 ~ 192.168.255.255(192.168.0.0/16)
IPv6
- fc00::/7[1]

mac주소와 ip주소

컴퓨터가 처음 출하 될 때 MAC주소를 부여 받음. IP주소가 아니라
컴을 라우터에 연결해야 라우터에서 IP주소를 받아옴


서브넷마스크 등장 배경?

IP 주소는 네트워크부와 호스트부로 구성된다.
XXX.XXX.X.0
맨마지막 부분이 호스트부 이고, '1번은 컴, 2번은 노트북.. ' 이런 식으로 IP가 할당됨. 라우터 등 네트워크 기기에도 IP주소가 필요해서 컴이나 프린터에 할당할 수 있는 IP주소는 모자랄 수가 있음(EX사내랜)
그래서 서브넷마스크가 나온거임.

예제
네트워크 192.168.0.0의 서브넷 마스크를 255.255.255.0에서 255.255.254.0으로 변경.
호스트부가 넓어져서 그만큼 할당할 수 있는 IP주소가 약 두 배 정도로 증가함

  • 서브넷마스크를 사용하면 네트워크를 더 세분화해서 서브 네트워크 = 서브넷을 만들 수 있다.

DNS (Domain Name System)

  • 호스트명과 IP주소 매핑을 수행하는 시스템

  • TCP/IP 네트워크에서 통신하기 위해서는 반드시 IP 주소가 필요함. BUT IP주소는 기억하기 힘드니 '이름해석' 이 필요한 것이다.


기본 게이트웨이

  • 라우터를 가리킨다.

MAC 주소

  • LAN 포트의 주소를 말한다.
  • MAC 주소는 원칙상 변경할 수 없음
  • 하드웨어 주소, 물리적 주소라고도 불림.

클라우드와 네트워크의 관계

  • 클라우드는 네트워크 너머에 있다.
    : 네트워크가 없으면 클라우드 서비스 이용 불가능.

  • 클라우드 안에도 네트워크가 있음


    클라우드의 종류

  • lass(Infrastructure as a Service) : 컴퓨터나 네트워크를 가상으로 만들어서 이용하는 형태 (공유오피스같은거)

  • Pass(Platform as a Service) : 데이터 베이스나 애플리케이션을 실행할 수 있는 환경 등을 서비스로 제공하는 형태(도구,재료 알아서 준비하셈)

  • Sass(Software as a Service) : 완제품 소프트웨어를 네트워크 서비스하는 형태(쓰기만하셈), 인터넷 브라우저만 있어도 사용가능(ex.Gmail)

    패키지 소프트 웨어와 SaaS의 차이점

    구분요금체계제공범위이용방법버전 업
    패지키소프트웨어제품 구매소프트웨어 사용권컴퓨터에 소프트웨어 설치새 버전 구매
    Sass월or연간요금소프트웨어 및 서비스인터넷을 경유해서이용자동으로 업데이트

클라우드의 편리성

  • 등장 배경

    • 새로운 인터넷 서비스를 시작하려면 우선 서버로 사용할 컴퓨터를 빌려야만했음. ( 초기투자必, 사용하기까지 시간이 많이 걸림)
  • 클라우드 장점

    • 곧바로 사용함
    • 초기비용X, 시간 단위로 과금
    • 소유하지 않아도 사용가능

호스트와 도메인명

  • 서로 다른 컴퓨터를 구분하는 식별자로는 IP 어드레스와 호스트명이 있다. 이들을 관리하기 위해 DNS(Domain Name System)도메인명이라는 것이 만들어짐.
<url>
http://www.sample.co.kr/

www : 호스트명
sample.co.kr : 도메인명

호스트명 + 도메인명 = 118.103.124.63


로드밸런서

  • 필요한 배경 : 하나의 서버에 트래픽이 몰릴 수 있음
  • 로드밸런서란 서버에 가해지는 부하(=로드)를 분산(=밸런싱)해주는 장치 또는 기술을 말한다.
로드밸런싱은 여러대의 서버를 두고 서비스를 제공하는 분산 처리 시스템에서 필요한 기술이다.

스케일업(Scale-up) - 서버 자체의 성능을 확장하는 것을 의미함
(ex. cpu가 i3인 컴퓨터를 i7으로 업글)

스케일아웃(Scale-out) - 기존 서버와 동일하거나, 낮은 성능의 서버를 두 대 이상 증설하여 운영하는것
(ex. cpu가 i3인 컴을 여러대 구매)
스케일 아웃 방식으로 서버 증설을 결정했다면, 로드밸렁싱이 필요함.

출처 : https://m.post.naver.com/viewer/postView.naver?volumeNo=27046347&memberNo=2521903

L4 로드밸런싱과 L7 로드밸런싱

  • L4 로드밸런서는 네트워크 계층or트랜스포트 계층

온프레미스

ex. 인터리어디자이너가 집을 지을 때 자재구매, 도면, 시공, 건축 전반을 혼자 다 하는 것.

클라우드 컴퓨팅(구독기반)을 사용하면 좋은 점 : 운영 비용 절감, 탄력적인 운영 및 확장

비용

  • 온프레미스 : 하드웨어에 대한 자본 지출이 지배적임
  • 클라우드 : 운영비용이 지배적임

성능

  • 온프레미스 : 최신상태로 유지되는 한 대기 시간이 짧음?
  • 클라우드 : 모든 리소스에 대한 무제한 적인 액세스

보안

  • 온프레미스 : 기업의 전적인 책임. 보안 관행 및 도구를 완전히 통제 가능
  • 클라우드 : 서비스 공급자와 고객 간의 공동책임

클라우드 단점

  • 일부 워크로드에 과도할 수 있는 대기시간
  • 예측할 수 없는 가격 책정
출처 : https://kr.teradata.com/Trends/Cloud/On-Premises-vs-Cloud

0개의 댓글