IP 주소에도 체계가 있다. IPv4 -> 32bit 주소 사용 = 2^32 = 약 40억

주소는 prefix + suffix  = 32bits로 이루어져있다.

prefix는 Network Address
suffix는 Host Address

Classful Address
A = 8bits 0 to 127
B = 16bits 128 to 191
C = 24bits 192 to 223
D = Multicast Address 224 to 239
E = Reserved for future use 240 to 255

A,B,C는 Unicast (1:1 송수신) 사용
D는 Multicast(1:다 통신 ex)단톡방), Broadcast 사용

Classful Address를 사용하면 주소 낭비가 심하고 적절하게 분배하기 어렵다.

subnetting : 네트워크를 쪼개는 것 
supernetting : 예를 들어 클래스 C를 받았는데 부족해서 2개를 합침

Classless Address
Slash Notation(/ 표현방법)
CIDR(Classless Inter-Domain Routing) : byte.byte.byte.byte/n (n = prefix length)
주소 할당시 2^n으로 할당해야 하는 한계점이 있음
suffix가 모두 0이면 Network Address

Address Mask - 덧씌움 ( prefix 길이만큼 전부 1, suffix 길이만큼 전부 0)
주소의 총 개수 : NOT(MASK)+1 (논리 연산은 기계에게 편한 방법)
첫 주소 : IP Address AND(MASK)
마지막 주소 : IP Address OR[NOT(MASK)]

첫 주소 = 네트워크 주소 -> 라우터에 네트워크 주소가 들어있다
prefix 길이는 라우터에 있고 라우터는 네트워크 주소를 비교하며 찾음
Block Allocation : ICANN에서 블록단위로 나누고 2의 power 승만큼 주소를 준다.
ISP가 1000개 주소 요구시 -> 최소 1024개를 준다. -> 2의 power승
2^32-n : 서브넷 개수 n= prefix 개수

'이론 > 컴퓨터 네트워크' 카테고리의 다른 글

네트워크 층(5)  (0) 2023.03.27
네트워크 층(3)  (0) 2023.03.20
네트워크 층(2)  (0) 2023.03.13
네트워크 층(1)  (0) 2023.03.08

Processing Delay : 패킷을 보고 목적지로 보내주는 시간, 장치별로 처리해주는 속도가 다르다. -> 측정할 수 없음

Queuing Delay : 대기열 시간(라우터 안에서 발생), 사용자가 많으면 발생, 확률적으로 계산 가능, 먼저 도착한 애가 먼저 처리됨(FIFO)

Total Delay = (n+1)(Delay(tr)+Delay(pg)+Delay(pr)) + (n)(Delay(qu)) // n은 노드수

Throughput(처리율) : 경로상 한군데를 조사했을 때 초당 지나가는 bit 수(실제적)

Delay as a function of load : 혼잡 발생시 버림
Throughput as a function of load : 혼잡 발생 시, 도달하지 못하면 재전송을 하며 ICMP 등 부가적인 데이터가 생김 즉, 실질적으로 전송되는 데이터가 낮아짐

Open Loop Congestion Control (혼잡을 사전에 예방)
loop - 정보가 되돌아옴을 의미 open loop - 가기만 하고 안온다.
혼잡이 안생기게 하는 정책
Retransmission policy : 재전송
Window policy : 관심 갖는 영역이 처리되었는지 selective repeat 선택적으로 잘못간 애만 다시 전송 but 이렇게 할 경우 컴퓨터가 하는 일이 많아짐
Acknowledgment policy(수신확인) : 굳이 매번 보낼 필요는 없음, ~까지는 잘 받았음
Discarding policy(버리는 정책) : 네트워크가 혼잡시 덜 중요한 패킷부터 버림(priority가 낮은 순서부터)
Admission policy : 네트워크가 혼잡하면 진입 자체를 차단

Closed-Loop Congestion Control(피드백이 있음)
Backpressure : 어느 한 부분에서 혼잡이 발생하면 Source로 한노드 한노드 거쳐서 Backpressure를 보낸다. 받은 Source는 보내지 않고 기다리게 된다.

Choke Packet  : 혼잡으로 버려진 패킷을 원래 패킷에게 바로 알려줌 ex)ICMP

Implicit signaling(암묵적) : 대표적 ACK, TCP에서 사용
- 2가지 상황 1. 아예 안오는 상황(더 심각) no Ack, 2. 보냈는데 똑같은 메시지가 오는 상황 -> 혼잡을 발생

Explicit signaling(명확한) : choke packet 같은 것, 지금 혼잡하니 보내지 말라고 함

'이론 > 컴퓨터 네트워크' 카테고리의 다른 글

네트워크 층(5)  (0) 2023.03.27
네트워크 층(4)  (2) 2023.03.20
네트워크 층(2)  (0) 2023.03.13
네트워크 층(1)  (0) 2023.03.08

클라이언트는 서버에게 port번호를 먼저 알려줌


FTP 존재 이유 : 초기에는 언어 체계가 달라 소통이 힘들었음, 서로 소통을 돕기 위해 나온 것
FTP는 정확하게 전송하기 위해 TCP를 사용하고 서버 - 클라이언트 모델을 사용
FTP 클라이언트 프로그램을 이용하여 FTP 서버에 접속 후 파일을 송수신
초기 FTP 세션은 암호화X - 인증 정보가 평문으로 전달 -> 스니핑으로 정보 유출 위험

FTP는 포트를 2개 사용(명령 포트, 데이터 포트)

명령 포트(상시 동작)
21번 고정
USER, PASS, GET 등 FTP 명령을 FTP 서버에 전송하기 위한 포트

데이터 포트(전송할 때만 켜짐)
데이터포트는 전송모드에 따라 변경
Active Mode(서버 -> 클라이언트)는 포트 20번 사용
Passive Mode(클라이언트 -> 서버)는 FTP 서버가 자신의 데이터 포트를 결정하여 FTP 클라이언트에 포트번호를 보내줌

FTP 클라이언트의 데이터 포트는 클라이언트가 결정

명령 채널과 데이터 전송 채널이 독립적으로 동작
클라이언트가 명령 채널을 통해 서버에게 파일을 요구하면 서버는 데이터 전송 채널을 통해 데이터를 전송
서버의 명령 채널은 21번, 데이터 전송은 20번 포트

PI(Protocol Interpreter) : 제어 명령 송/수신하는 역할 (port : 21)
DTP(Data Transmission Process) : 데이터를 송/수신하는 역할 (port : 20)

'이론 > 해킹 및 바이러스' 카테고리의 다른 글

Email(1)  (0) 2023.04.03
FTP(3)  (0) 2023.04.03
FTP(1)  (0) 2023.03.14
인터넷과 웹의 개요(2)  (0) 2023.03.13
인터넷과 웹의 개요(1)  (0) 2023.03.07
HTML - 마크업 언어 : 텍스트에 의미를 부여하기 위해 문서에 주석을 다는 표현 시스템
태그는 <> 를 사용하여 나타내고 종료 태그 앞에는 /를 붙여야 함
단, 모든 태그가 종료 태그를 가지는 것은 아님
태그이름은 대소문자를 구분핮 ㅣ않음
태그에 추가적인 정보 부여는 속성을 사용
 
속성
태그에 추가 정보를 제공하기 위해 사용
ex) <img src="photo.jpg" alt="사진"> // 이미지 파일을 찾을 수 없을 때 출력할 대체 텍스트가 alt
태그보디 : 시작 태그와 종료 태그 사이에 위치하는 내용
 
시맨틱 태그
HTML5에서 도입된 개념으로 특별한 의미를 가지는 태그
문서의 구조를 정의하는데 주로 사용
시맨틱 태그 그 자체로는 별다른 역할을 수행하지 않고 화면 디자인에도 영향을 미치지 않지만 코드의 가독성을 높이는 데 도움을 줌
<header> <footer> <article> <section> <aside> <nav>
 
HTML 문서의 구조
<!DOCTYPE html> : html5 문서를 선언하는 구문
 
제목 태그 <h1>~<h6> 중요한 이유는 SEO(Search Engine Optimization) 때문, 이것은 구글과 같은 검색 엔진에서 우리가 만든 HTML 문서의 내용이 잘 검새고딜 수 있도록 최적화 작업
 
문단 태그 <p> 줄바꿈은 <br>
 
목록 태그가 <div>로 묶여 많이 사용되고 중요
 
목록 태그 사용법
<ul> 순서가 없는 목록
<ol> 순서가 있는 목록
<li> 리스트의 아이템
 
블록 태그 : 라인 전체를 사용하는 태그 즉, 다른 태그 요소와 같은 라인에 배치할 수 없음
<p> <div> <h> <ul> <ol> <form>
 
인라인 태그
다른 태그 요소와 같은 라인에서 나란히 배치될 수 있는 태그
<span> <img> <a>
 
CSS : 디자인 요소 담당
CSS 구문은 선택자와 선언부로 구성됨
선택자는 디자인을 적용하고자 하는 HTML 요소이므로 선택자 정의가 중요 ex) h1
선언부는 {} 블록을 사용, 다수의 속성을 포함
각 속성 정의는 속성:값; 형식이며 세미콜론으로 끝남
 
CSS를 HTML에 적용하기 위한 방법
1. 인라인 스타일 시트 : HTML 태그에 CSS 속성을 정의
2. 내장 스타일 시트 : HTML 문서의 <head> 부분에 CSS 정의 부분 포함 단, 현재 작성한 문서에만 적용
3. 외장 스타일 시트 : 별도의 CSS파일을 생성한 후 HTML 문서에 링크로 포함, 하나의 파일로 여러 문서에 적용 가능
 
CSS 중첩(Cascading) 적용 방식
CSS는 위에서 아래로 중첩되는 방식
- 외장 CSS에서 적용한 디자인 속성은 내장 스타일 시트에서 수정하거나 속성을 추가할 수 있음
- 셀렉터의 중첩에 의해 발생하는 경우에도 동일하게 적용
 
셀렉터 : 선택자의 다른 명칭, HTML 문서에서 특정 부분을 선택하기 위한 구문을 의미, 기본적인 선택자는 태그, 아이디, 클래스가 있다.
 
태그 셀렉터
p{color: red};
h1,h2,h3,h4 {color:blue}; 이런식을 일괄 적용도 가능
 
아이디 셀렉터
아이디(id) 속성을 사용
문서에 존재하는 유일한 값으로 아이디를 지정하여 특정 요소를 가장 확실하게 선택할 수 있는 방법
#id_name {color: blue};
 
클래스 셀렉터
가장 대표적인 CSS 셀렉터
클래스 이름으로 구분해 스타일을 만들어두고 HTML에서 클래스 속성을 적용해 원하는 디자인을 적용하는 방법 ( CSS 선언이 먼저, HTML에서 이를 사용)
재활용이 용이하고 누구나 사용할 수 있도록 라이브러리 등을 만드는 데도 기본이 되는 방법임
HTML 요소의 클래스가 선택자로 올 때는 클래스 앞에 온점(.) 을 붙여 정의
.title{color:blue;}
p.title(color:red;}
 
부트스트랩 : 가장 대표적인 오픈소스 CSS 라이브러리

+ Recent posts