일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Java
- 프로젝트 클린
- 비밀번호 변경 명령어
- select
- #{..}
- linux
- it
- Test 룸북 사용하기
- 개발시작전 자세
- 추천 프로그램
- 함수 인자값 id
- js
- 하모니카 OS 5
- 시퀀스 조회
- 리눅스
- BindingResult
- 룸북
- 자바스크립트 인라인
- 타임리프
- cmd
- JSON
- 명령어
- 다른사람 프로젝트 수정전 가져야할 자세
- Intellij
- 추천 사이트
- 설정
- 타임리프와 스프링
- 순서 보장
- StringUtils.hasText
- 스프링부트
- Today
- Total
웹개발 블로그
[7일차 - 네트워크] 0422 본문
네트워크
ㄴ네트워크는 리소스(데이터, 자료, 사용자, 프린터, ....)를 공유하기 위해서 생겨남
ㄴ네트워크의 규모는 Segment ->LAN ->MAN ->WAN의 규모이다. 정확히 정의하기는 힘들 수 있다.
ex) 학원 전체가 LAN, 2층 전체가 LAN으로 할 수 있지만 정확히는 X
MAN은 거의 개념이 없다.
==>LAN은 라우터 이하의 영역을 말한다. 라우터 이상은 WAN이라고 한다.
네트워크의 모든 노드들은 NIC(Network Interface Card)에 연결되어져 있다.
ㄴ NIC는 고유한 48bits의 숫자(MAC 주소)를 가지고 있다.
일반적으로 조직 내에서의 리소스는 시작>'\\192.168.100.111\공유된_폴더' 식으로 찾지만
ㄴ Windows에서는 경로를 \로 표시하고, Linux에서는 /로 표시한다.
ㄴ Windows에서의 경로를 Linux에서 표시한다면 //로 표시한다. (윈도우즈에 경로를 리눅스에서 들어갈 때 //로 표시)
인트라넷(Intranet) : 로컬 LAN(도메인 내)에서의 리소스 탐색을 웹 브라우저로 하는 경우
=>웹브라우저에서 file:///IP_주소/공유폴더
익스트라넷(Extranet) : 도메인을 넘어서 연관된 조직에서 리소스 탐색을 웹 브라우저로 하는 경우, 원격체에서 떨어져 있는것.
노드(Node) : 네트워크상의 NIC로 연결된 모든 장치들(printer, computer,....)
워크스테이션 : 도메인에 가입된 노드들
⭐호스트 : 일반적인 컴퓨터를 이르는 말
ㄴ호스트외로 pc, box, can, machine 식으로 부를 때도 있다.
도메인은 영역이라는 의미로 가상적으로 리소스들이 묶여 있는 영역이다.
ㄴ naver.com이라는 도메인은 www.naver.com, ftp.naver.com,. .식으로 naver.com이라는 도메인에 www라는 웹서버와 ftp라는 파일 전송 서버가 들어있다.
ㄴ kim@naver.com식으로 메일 서버의 클라이언트도 있을 수 있다.
'프로토콜(Protocol)'이란 용어도 자주 나오는데 프로토콜은 시스템 혹은 노드끼리 통신을 하기 위한 규약으로써 두 노드는 프로토콜이 같아야 통신이 가능해 진다. 현재 사용되는 프로토콜은 만 여 개가 넘는데 TCP, IP, FTP, DHCP, RIP, OSPF, ... 등이다.
=>라우팅 프로토콜인 RIP과 OSPF가 섞여있는 네트워크에서는 서로 통신이 되지 못한다.
서로에게 static이나 redistribute 기법으로 상대 프로토콜을 서로에게 인식시켜 주어야 된다!!!
특정 브랜드에 종속적인 경우(스위치 장비도 Cisco, 라우터도 Cisco, 통신 연결을 KT, ...)를 Proprietary하다고 한다. (종속적인건 좋지 않다)
ㄴ 웹 브라우저도 Chrome, 탐색기도 Google만 사용하는 경우도 해당된다.
(구글에서 나쁜짓하면 큰일나겠지? ㅎㅎㅎ)
ㄴㄴ 만약에 구글이 독점이 일어나면 우리는 따라갈 수 밖에 없겠지!! 무슨일이 있어도 말이지.
=> 💥인터넷에서 사용하는 프로토콜 TCP/IP는 Non-propertary(프로퍼리에터리)하다. (엄청 감사한 일이다.)
ㄴㄴ EX) 우리 조직에서는 Non-propertary하게 시스템을 구축한다. KT만 사용하다가 문제터질 수 있잖아? LG도 같이 쓰고 그래야지 종속적이지 않게~
ㄴ MS, IBM, Novell, Apple 안에는 통신하는 프로토콜이 다 있다.
MS NetBEUI, IBM NetBIOS, Novell IPX/SPX, Apple AppleTalk 등도 네트워크가 가능하다.
하지만 인터넷은 물가하다.
Windows만 사용하는 조직에서 내부에서는 MS의 WINS라는 네트워크로 구성하고🔽 , 인터넷 사용 시만 TCP/IP를 사용할 수도 있다.
제어판\네트워크 및 인터넷\네트워크 연결 - 이더넷 /속성 클릭
IOS(International Organization for Standardization)라는 단체
ㄴ 회사마다 만들자고 하는 단자가 다르기에!! 문제 해결해준 국제조직!
proprietary에 대한 문제를 해결하기 위해서 1984년에 IOS(International Organization for Standardization)라는 단체가 이런 문제를 해결하기 위해서 OSI(Open System Interconnect) model을 만들었는데 각 제조사 장치 간 상호 호환성을 위한 지침으로써 많은 제조사들이 이 지침에 따라서 제품을 출시하게 되었다. 이제 조직들은 네트워크를 구축할 때 여러 다양한 제조사의 장치와 프로토콜을 혼용해서 사용해도 리소스 공유에 문제가 없게 되었고, 제조사 간 경쟁으로 인해서 기술개발 향상과 장비의 가격 저하 효과도 이뤄냈다.(소비자 입장에서 GOOD) OSI 모델은 단지 네트워크 시스템의 구성 등을 위한 표준적 모델을 정의한 것이다. 물론 다른 정의의 모델들도 몇 개가 더 있지만 이 OSI 모델을 이해하면 다른 모델들도 이해하기 쉽고, 이 모델이 업계 표준이므로 네트워크 입문의 가장 기본지식으로 여겨지고 있다. OSI 모델은 하지만 사용자를 위한 것이 아니라 네트워크 벤더(Vendor)들을 위한 지침인 것을 기억해야 한다.
OSI 모델의 작동원리
OSI 모델은 각 계층에서 ‘무엇을 해야 하는지’만 정의하고 ‘어떻게 (그것을) 구현해야 하는지’에 대해서는 정의하지 않고 있는데 이는 개발자나 제조사가 자신의 판단에 따라 가장 좋은 방법으로 그것을 수행하게 자유를 준 것으로 볼 수 있다.
OSI 모델은 7계층으로 나누고 맨 아래층부터 차례로 위로 올라간다 제1 계층, 제2 계층, ..제7 계층으로 부른다. 이 계층을 알아야 네트워크상의 데이터 흐름을 이해할 수 있다.
각 계층은 다른 계층과 분리되어져서 자신만의 기능을 캡슐화(encapsulate) 해서 데이터의 헤더부분에 추가한 다음, 이웃한 층으로 보낸다. 이렇게 순수한 데이터 이외에 추가되는 부가 정보를 오버헤드(overhead)라고 부른다.
ㄴ 각층은 바로 위/아래 이웃한 층하고만 통신이 된다.
[2번째 시간] - 이어서
(모든 위치에서 스위치를 사용함)
application(응용) : data ex) http, ftp, dns, smtp, 한글,... 역할) 서비스 제공, 상대방 찾기, 통신 동기화
=> L7 Switch(응용스위치)
🔽
Presentation(표현) :data ex) EBCDIC(엑시딕, 데이터베이스 연결), mpeg, jpg, smb, tls, ... 역할) 멀티미디어, 압축, 암호화, ...
=> L6 Switch(멀티미디어 스위치, 콘텐츠 스위치)
🔽
Session(세션, 연결을 이루어짐) : data ex) netbios, sap, X, SSH, telnet, rlogin,... 역할) 통신 수립(연결), 통신 제어
=> L5 Switch
=> 전이중/반이중/... (이 방식은 세션층에서 이루어진다)
🔽
Transport(전송) : segment ex) tcp, udp, rip, bgp, ssl 역할) 가상회로 설정, 데이터 무결성(tcp가 있기에 무결성 보장), ...
=> L4 Switch , 그리고 Muliplexer(다중화기), Conentrator(집중화기), Distributor(분배기) 등의 WAN 장비 사용
=> WAN은 CO(Central Office : 전화국=> Telco ), Telcom, ISP(Internet Service Provider => LG U+, SK, KT)
🔽
Network(네트워크) : packet(tcp)/datagram(udp) ex) ip, ipx, appletalk, icmp, .. 역할) 경로 찾아서 전송, 흐름/오류 제어 ...
=> Router, L3 Switch(가장많이 사용, 라우터와 스위치 겸용)
🔽
DataLink(데이터링크) : frame ex) ethernet, mac, fddi, atm, hdlcc, arp, ... 역할)오류 체크, LLC/MAC으로 구성
=>Bridge, L2 Switch(라우터와 스위치 겸용)
🔽
Physical(물리) : bit ex) fiber-optic, rs-232, x.21,.... 역할)실제적 전송
=>Hub, Repeater,..
** 네트워크를 이해하지 못하면 패킷분석 등을 이해할 수 없다.
리눅스 및 Windows 서버(DNS, DHCP, Proxy,...)를 이해하지 못하면 보안 설정, 해킹을 이해할 수 없다.(방어를 못함)
🔽(이어져)
(리눅스/네트워크가 기반)클라우드를 이해하지 못하면 미래의 네트워크를 이해하지 못한다.
full-duplex, half-duplex, simplex는 Session 층에서 정의 되는데
full-duplex는 동시에 데이터 송수신 가능,
half-duplex는 송수신은 가능하지만 한 순간에는 한 방향으로만 전송,
simplex는 한 방향으로만 통신 가능(키보드, 마우스, 프린터,...)
흐름제어 : Window size로 조절한다.
buffering : 버퍼 메모리 확중
source quenching : 전송자에게 전송 금지 요청
windowing : 전송 사이즈 업데이트로 수시로 조절 => Buffer Update
에러 체크/수정 : checksum이 에러에 대한 기법이다.
parity bit : 보통 8비트(1바이트)로 데이터를 전송하는데 even/odd parity bit를 9번째 넣어서 전송한다.
디폴트가 odd parity인데 1의 갯수가 홀수 이어야 정상 데이터
[3번째 시간]
ip_주소는 간단히 말하면 네트워크_부분과 호스트_부분으로 나뉜다.
192.168.100.10/24라면 <- IP주소
192.168.100.0 이 네트워크 부분이고 <- 네트워크 주소
0.0.0.10 <- 호스트 부분이다. 이는 192.168.100.0 네트워크 상의 10이라는 호스트 주소이다.
/24를 CIDR 표기법이라고 하는데 IP주소 32비트에서 네트워크_비트 부분(24비트)을 말한다.
따라서 호스트 비트는 32-24=8비트가 된다.
=> 2^0+2^1+2^2 ...+2^7 = 1+2+4+...+128 = 255(256 아님!)
192.168.100.255이 192.168.100.0 이 네트워크의 브로드캐스트(DirectiveBoradcast / Multicast:케이블 방송)이다.
=> 아무한테나 막 뿌리는데 그중에 ex) LG U+에 가입한 사람한테만 뿌리는거야!
=> 0.0.0.0 255.255.255.255를 브로드 캐스트(공중파)라고 한다.
'◆정보보안 > 네트워크' 카테고리의 다른 글
[12일차-0507] 네트워크 (0) | 2023.05.07 |
---|---|
[11일차-0506] 네트워크 (0) | 2023.05.07 |
[10일차-네트워크] 0430 (0) | 2023.04.30 |
[9일차-네트워크]0429 (0) | 2023.04.29 |
[8일차- 네트워크] 0423 (0) | 2023.04.23 |