< OSI 7 계층 구조>
OSI(Open System Interconnection 7 Layer)
TCP/IP 프로토콜 스택 구성
OSI 7 Layer를 실무 기능중심의 4계층으로 구조화
Application : HTTP(Hypertext Transfer Protocol),FTP(File Transfer protocol),IMAP(Internet Messaging Access Protocol)
Transport : TCP(Transmission Control Protocol),UDP(User Datagram Protocol)
Internet : ARP(Address Resolution Protocol), ICMP(Internet Control Message-Protocol)
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
3) 서비스 플랫폼
4) 네트워크 보안
<미들웨어 처리 흐름>
클라이언트 -> 미들 웨어 -> 서버 -> 미들웨어 -> 클라이언트
<웹서버와 웹어플리케이션 서버의 차이>
웹 서버는 웹 애플리케이션 서버에 포험하여 구성 가능하나 일반적으로는 웹 애플리케이션 서버앞에 별도로 분히라여 구성하낟. 보안을 고려하여 웹 애플리케이션 서버의 중요한 설정 정보가 외부에 노출되는 위험을 최소화 하기 위해 DMZ(DeMiliterized Zone) 내외부 네트워크 경계지역 구간 에 웹서버만 분리하여 설치하기도 하고, 서비스 안정성을 고려하여 웹 애플리케이션 서버가 다운되어도 웹 서버가 사용자에게 안내메지를 보여 줄 수 있도록 분리하기도 한다. 또한, 서비스 성능을 고려하여 웹서버가 처리 가능한 요청은 웹 애플리케이션 서버까지 전달하지 않고 바로 응답함으로써 웹 애플리케이션 서버의 부하를 경감시키기 위한 목적으로 분리하기도 한다.
<전자 정부 프레임 워크>
정부 부처, 지자체, 공동기관 등의 공공정보화 사업에서 JAVA 기반 웹/모바일 시스템 구축시 활용되는 개발프레임워크 로 한국지능정보사회 진흥원의 표준 프레임 워크 센터에서 Apache 2.0 라이선스로 공개하고 있어 일반 기업 및 학습용으로도 활용 가능하다.
데이터 :데이터는 관찰이나 측정으로 수집한 사실을 수치 또는 문자 형태로 표현한 최소단위의 값이다.
데이터베이스 : 데이터베이스는 공용으로 활용하기 위해 통합하여 저장한 운영데이터의 집합이다.
<트랜젝션>
데이터베이스의 상태 변화시키기 위한 최소 작업 단위로 한번에 처리되어야 하는 질의어(SQL)의 묶음
트렌젝션의 특징
트랜젝션 고립화 수준
<SQL 구문>
1) DDL(Data Definition Language) 데이터 정의어
2) DML(Data Manipulation Language) 데이터 조작어
3) DCL(Data Control Language) 데이터 제어어