11월14일 Day22

여우·2022년 11월 14일
0

공부중

목록 보기
15/38

응용 SW 기초 활용

< OSI 7 계층 구조>
OSI(Open System Interconnection 7 Layer)

  1. Application Layer: 사용자에 서비스 제공, 사용자 입출력정의,
  2. Presentation Layer: 송수신지의 다른 데이터 표현 방식을 상호 인식 가능하도록 변환
  3. Session Layer : 송수신지의 프로세스 간 연결 관리 ,
  4. Trasnport Layer: 세그먼트구성, 송수신지의 포트 지정, 메시지 분할 및 재조립, 프로세스간 혼잡 제어
  5. Network Layer: 패킷구성, 송수신지의 논리 주소 지정,
  6. DataLink Layer : 프레임구성, 오류제어, 흐름제어, 접근제어, 물리주소 (MAC)주소 지정
  7. Physical Layer : 비트 스트림의 전기 신호 전송, 비트의 부호화 및 복호화, 물리적 연결 설정 및 해제

TCP/IP 프로토콜 스택 구성
OSI 7 Layer를 실무 기능중심의 4계층으로 구조화

  1. Application : HTTP(Hypertext Transfer Protocol),FTP(File Transfer protocol),IMAP(Internet Messaging Access Protocol)

  2. Transport : TCP(Transmission Control Protocol),UDP(User Datagram Protocol)

  3. Internet : ARP(Address Resolution Protocol), ICMP(Internet Control Message-Protocol)

  4. Network Access: RS-232(Recommended Standard-232), FDD(Fiber Distributed Data Interface)

<캡슐레이션>
인캡슐레이션(Incapsulation): 송신지의 Application Layer 에서 발생한 데이터를 하위의계층으로 이동 시키면서 각 계층에서 처리한 결과를 캡슐화(헤더 추가) 하는 과정)

디캡슐레이션(Decapsulation): 수신자의 하위 계층에서 인식한 데이터를 상위 계층으로 이동시키면서 각 네트워크 계층에서 처리 가능한 형태로 디캡슐화 하는 과정.

IP: 인터넷에서 사용하기 위해 지켜야할 규칙이나 약속(규약)
IP Address: 인터넷에서 컴퓨터끼리 서로 식별하는 논리적인 주소
네트워크에서 데이터를 보내려면 패킷(Packet ~= package)에 저장하고, 패킷의 보내는 주소 받는주소를 IP로 작성하여 인터넷에 보내면 원하는 곳으로 전송된다.

IPv4 = 31 비트의 주소 세계(예전에 등장한 방식이고, 주소 개수가 부족하다(
IPv6=128 비트의 체계(비교적 최근에 등장했고, 주소가 부족하지 않다)
IPv4 는 보통 .을 기준으로 구분하여 4개의 정수로 구분되는데
각각의 정수는 8비트 이다. 이를 Octet라고 부르기도 한다.

Ex)
192.168.1.100
  • IP의 각 옥텟은 0 ~ 255의 범위를 가진다. 2^8개 만큼 범위를 가진다. 1옥텟은 8비트 이다.
    IP주소는 4개의 옥텟이 결합하여 하나의 주소를 구성한다. IPv4는 32비트의 주소 이다.

  • IP 주소를 확인하는 방법
    윈도우 CMD창에서 nslookup 명령활용

  • nslookup을 이용하여 5가지의 도메인 주소의 IP확인

    	네이버: 223.130.200.104
    	유튜브: 2404:6800:4005:80b::200e
    	다음: 203.248.252.2
    	쿠팡: 23.196.173.171
    	구글: 2404:6800:4005:820::200e
    
    	실제 하나의 주소가 아닌 여러 주소를 가진 도메인이 많으나 한가지만 참조함
  • 데이터의 캡슐화
    네트워크는 다수의 기기가 연결되어 통신하기때문에, 하나의 기기가 네트워크를 단독으로 점유하지 않고, 다수의 기기가 공유하여 동시에 사용할 수 있어야 한다.

    데이터를 네트워크로 보내기 위해 규칙에 대한 헤더를 추가하는 과정(캡슐화, capsulation) 전송받은 패킷을 원래 형태로 만들기 위해 헤더를 검사하고, 패킷의 캡술화를 해제하는 과정(decapsulation)이라 한다.

< IP주소 확인 >

C:> ipcinfig
C:> ipconfig/all

IP: (내컴퓨터를 식별하는 주소)
Subnetmask: 내 IP에서 어디까지 대역을 나타내는지 알려주는 기준
Gateway: 내 컴퓨터가 외부로 데이터를 전송할때 통과하는 관문
DNS Server: 글자 도메인 주소를 숫자 IP주소로 변환하는 전화번호부

< TCP >

4층 Transport 에는
Sort Porst, Destination Port,
Sequence Number, Acknowledgement Number등이 있고

여기에 사용된 Port Number중 가장 많이 사용되는 TCP들은 잘 알려진 포트로 사용된다.

TCP 와 UDP가 합쳐져 총 13만개의 포트가 존재한다.

TCP 0~65535번 포트
UDP 0~65535번 포트

포트 하나당 하나의 프로그램이 상주 할수 있다.
0 ~ 1023 사이의 포트는 잘 알려진 포트(Well-known port), 공용으로 사용하는 포트 이다.
TCP 20 ftp-data
TCP 21 ftp
TCP 22 ssh
TCP 23 telnet
TCP 80 http
TCP/UDP 53 domain name system

위키백과 잘 알려진 포트 검색
https://ko.wikipedia.org/wiki/TCP/UDP%EC%9D%98_%ED%8F%AC%ED%8A%B8_%EB%AA%A9%EB%A1%9D

<라우팅 프로토콜의 종류>

RIP : Routing information protocol v2
EIGRP : Enhanced interior Gateway Routing Protocol
OSPF : Open Shortest Path First
BGP : Border Gareway Protocol

<네트워크 확인 기초 명령어>

  • ping [대상의 IP/DomainName]:
    대상과 통신이 가능한 상태인지 확인한다. 기본 ping 명령어는 포트를 지정하여 확인 할 수는 없다.
    ping이 안된다고 해서, 대상 컴퓨터가 off 되어 있다고 할 수는 없다.

  • tracert : 리눅스에서는 traceroute, 대상을 지정하여 대상과 통신하는 경로를 추적하여 출력한다. 방화벽에 의해서 통신이 되지 않는 구간은 * * * 로 표시된다.

  • netstat : 현재 컴퓨터에서 관리중인 네트워크 포트의 상태를 확인한다. 포트번호, 프로세스번호, 프로세스 상태 등을 확인할 수 있다.

  • ipconfig : 리눅스에서는 ifconfig,현재 컴퓨터의 기본 네트워크 설정을 출력한다.

  • nslookup : 도메인주소 <-> IP 주소 변환을 처리하는 DNS 서버에게 물어보고 결과를 알려준다.

미들 웨어

하나의 시스템에서 다양한 목적의 응용소프트웨어가 동시에 수행되거나 복수 시스템의 응용소프트웨어가 서로 연계되어 수행되는경우에도 안정적으로 실행될수있도록 운영체제와 응용소프트웨어 사이에서 다양한 기능을 지원하는 소프트웨어이다.

<미드웨어 분류>

1) 분산 시스템 SW

  • 웹 어플리케이션 서버 : 웹 시스템에서 전달된 Request를 처리하기위해 트랙젝션 관리, 세션 유지, 부하 분산등의 역할을하는 서버의 소프트웨어
  • 연계통합솔루션: 시스템간 표준화된 데이터 송수신 처리를 통해 통합 환경 구성 지원

3) 서비스 플랫폼

  • CDN : Content Delivery Network 다수의 노드에 콘텐츠를 복제 저장하여 사용자가 인접 노드에 빠르게 콘텐츠를 받을수 있도록 지원하는 시스템

4) 네트워크 보안

  • 네트워크 접근 제어 : 인가된 사용자만 네트워크에 접근할 수 있도록 검사 및 차단 관리 기술
  • 보안통신 : 네트워크의 모든 통신 데이터를 암호화하여 데이터의 유출 및 변조를 방지 하는 기술

<미들웨어 처리 흐름>
클라이언트 -> 미들 웨어 -> 서버 -> 미들웨어 -> 클라이언트

<웹서버와 웹어플리케이션 서버의 차이>
웹 서버는 웹 애플리케이션 서버에 포험하여 구성 가능하나 일반적으로는 웹 애플리케이션 서버앞에 별도로 분히라여 구성하낟. 보안을 고려하여 웹 애플리케이션 서버의 중요한 설정 정보가 외부에 노출되는 위험을 최소화 하기 위해 DMZ(DeMiliterized Zone) 내외부 네트워크 경계지역 구간 에 웹서버만 분리하여 설치하기도 하고, 서비스 안정성을 고려하여 웹 애플리케이션 서버가 다운되어도 웹 서버가 사용자에게 안내메지를 보여 줄 수 있도록 분리하기도 한다. 또한, 서비스 성능을 고려하여 웹서버가 처리 가능한 요청은 웹 애플리케이션 서버까지 전달하지 않고 바로 응답함으로써 웹 애플리케이션 서버의 부하를 경감시키기 위한 목적으로 분리하기도 한다.

<전자 정부 프레임 워크>
정부 부처, 지자체, 공동기관 등의 공공정보화 사업에서 JAVA 기반 웹/모바일 시스템 구축시 활용되는 개발프레임워크 로 한국지능정보사회 진흥원의 표준 프레임 워크 센터에서 Apache 2.0 라이선스로 공개하고 있어 일반 기업 및 학습용으로도 활용 가능하다.

데이터 베이스

데이터 :데이터는 관찰이나 측정으로 수집한 사실을 수치 또는 문자 형태로 표현한 최소단위의 값이다.
데이터베이스 : 데이터베이스는 공용으로 활용하기 위해 통합하여 저장한 운영데이터의 집합이다.

<트랜젝션>
데이터베이스의 상태 변화시키기 위한 최소 작업 단위로 한번에 처리되어야 하는 질의어(SQL)의 묶음

트렌젝션의 특징

  • Atomicity : 데이터베이스에 트랙젝션은 모두 반영되거나 전혀 반영되지 않아야함
  • Consistency : 트렌젝션 시작 시점에 참조한 데이터는 종료까지 일관성을 유지해야함
  • Isolation : 동시에 다수 트랜젝션이 처리 되는 경우 서로의 연산에 개입하면 안됨
  • Durability : 트랜젝션이 성공적으로 완료되면 처리 결과는 영속적으로 반영되어야 함

트랜젝션 고립화 수준

  • Read Uncommitted : Commit 되지 않은 데이터의 Read 허용
  • Read Committed : 질의 시작 전 Commit 된 데이터의 Read만 허용
  • Repeatable Read: 트랜젝션 시작 전 Commit 된 데이터의 Read만 허용
  • Serializable : 병행 처리 되지 않고 순차적으로 처리 되는것과 동일한 수준

<SQL 구문>

1) DDL(Data Definition Language) 데이터 정의어

  • CREATE : Database, Table, View, Index 생성
  • ALTER : Table의 속성(Attribute), 도메인, 제약조건(Contraint)등 변경
  • DROP : Database, Table, View, INDEX 삭제
  • TRUNCATE : Table의 모든 행 삭제

2) DML(Data Manipulation Language) 데이터 조작어

  • Select : Table, View의 특정 조겅 데이터 조회
  • Insert : Table에 특정 조건 입력
  • Update : Table의 특정 조건 수정
  • Merge: 특정조건에 따라 데이터를 입력 하거나 수정
  • DELETE : 특정 조건의 데이터 삭제

3) DCL(Data Control Language) 데이터 제어어

  • Grant : 특정 사용자에게 특정 객체에 대한 특정 작업 수행권한 부여
  • REVOKE : 특정 사용자에게 부여된 권한 회수
profile
우당탕탕 지금은 개발중

0개의 댓글