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 개수
이론
- 네트워크 층(4) 2023.03.20 2
- 네트워크 층(3) 2023.03.20
- FTP(2) 2023.03.20
- 웹 프로그래밍의 기초(1) 2023.03.16
네트워크 층(4)
네트워크 층(3)
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 같은 것, 지금 혼잡하니 보내지 말라고 함
FTP(2)
클라이언트는 서버에게 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 |