VLSM
- 서로 다른 네트워크 크기의 네트워크를 나눌 때 서로 다른 크기로 분할하는 것. (네트워크 규모에 맞게 분할하는 것.)
보통 규모가 큰 네트워크부터 ip를 할당해 줍니다. ip를 남겨둔다고 하더라도 쓸 수가 없기 때문에 컴퓨터 수가 적어도 그냥 전부 ip를 나눠 줍니다.(ip를 적게 줄 수는 없지만 크게는 줄 수 있다.)
예시
네트워크를 2개로 나누기.
A :
네트워크 범위 :1.1.1.0 ~ 1.1.1.127
네트워크 주소:1.1.1.0
gateway주소: 1.1.1.1
B :
네트워크 범위 :1.1.1.128 ~ 1.1.1.255
네트워크 주소:1.1.1.128
gateway주소: 1.1.1.129
네트워크를 4개로 나누기.
A :
네트워크 범위 :1.1.1.0 ~ 1.1.1.63
네트워크 주소:1.1.1.0
gateway주소: 1.1.1.1
B :
네트워크 범위 :1.1.1.64 ~ 1.1.1.127
네트워크 주소:1.1.1.64
gateway주소: 1.1.1.65
C :
네트워크 범위 :1.1.1.128 ~ 1.1.1.191
네트워크 주소:1.1.1.128
gateway주소: 1.1.1.129
D :
네트워크 범위 :1.1.1.192 ~ 1.1.1.255
네트워크 주소:1.1.1.192
gateway주소: 1.1.1.193
이제 네트워크를 3개로 나눠보겠습니다.
네트워크를 3개로 나누기.
A :
네트워크 범위 :1.1.1.0 ~ 1.1.1.127
네트워크 주소:1.1.1.0
gateway주소: 1.1.1.1
서브넷 마스크 : 255.255.255.128
C :
네트워크 범위 :1.1.1.128 ~ 1.1.1.191
네트워크 주소:1.1.1.128
gateway주소: 1.1.1.129
서브넷 마스크 : 255.255.255.192
D :
네트워크 범위 :1.1.1.192 ~ 1.1.1.255
네트워크 주소:1.1.1.192
gateway주소: 1.1.1.193
어떤 특정구간을 묶는건 불가능합니다.
예시
1.1.1.0 ~ 1.1.1.127 (가능)
1.1.1.130 ~ 1.1.1.163(불가능)
ICMP
- 인터넷 제어 메시지. 네트워크 관리 및 오류 보고를 위해 사용되고, 특정 프로그램에 의해 호출되었을 때만 동작, Message 형식으로 정보를 알립니다. 주로 시스템 및 경로확인을 위해 사용됩니다. 세션이랑 개념은 없습니다.
하지만 요즘 대부분은 방화벽 수준에서 DROP 됩니다.
ping과 traceroute를 주로 사용합니다.
drop : 패킷을 버리고, 응답 없습니다.
deny : 거절응답을 보냅니다.
arp
- 자신의 IP, Mac주소, 그리고 수신 측IP주소를 알고 있지만 수신 측 Mac주소를 모를 때 사용하는 프로토콜입니다.
arp요청을 하면 수신 측이 응답할 때 자신의 Mac주소를 알려줍니다.
arp는 상위계층이 ip로 통신을 시도하는데 Mac주소를 모르면 ip에 의해 자동으로 호출이 됩니다.
arp 요청 : 브로드캐스트
arp 응답 : 유니캐스트
하지만 저렇게 응답을 하는 것이 규정으로 정해져 있는 것은 아닙니다.
rarp
- 자신의 Mac주소는 알고 있지만 ip주소를 모를 때 사용하는 프로토콜입니다.(지금은 거의 사용하지 않습니다.)
윈도우 네트워크드라이브 연결
수업시간에 사용하는 dal서버를 이용할 때 window에 있는 C나 D를 이용하는 것처럼 (실제 물리적인 디스크처럼) 사용하기 위해 설정하려고 합니다.
smbpasswd
┖ 윈도우 로컬계정이 사용하는 비밀번호라고 인식을 합니다. 사용하려면 해당 리눅스 계정이 있어야 합니다.
passwd
┖ 리눅스 사용자의 비밀번호를 바꿈.
비밀번호를 바꿔주고 window에 와서 네트워크를 눌러서 주소창에 \\192.168.10.11을 입력합니다. 그렇게 되면 제 계정인 ast12가 뜨게 되고 그 폴더를 우클릭 → 네트워크드라이브에 연결을 눌러주면 이제 컴퓨터 전원을 켜서 접속을 할 때마다 사용 가능합니다.
html 연습
html - 문서 안에 이미지나 텍스트를 클릭하면 지정한 파일이나 주소로 이동합니다.
- 페이지 이동시에는 반드시 디렉토리명을 기술한다.
- 하이퍼링크는 상대경로로 주로 사용함.
<a href="파일 or 주소"> 텍스트 or <img src="이미지 파일"></a>
② 링크 색상 <body link="색상" vlink="색상" alink="색상">
link : 기본 색상
vlink : 방문 기록이 있는 사이트
alink : 마우스 클릭했을 때 색상
예시(링크)
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>ex01.html</title>
</head>
<a href="hlink1.html">링크 페이지이동</a><br>
<a href="../hlink2.html">상위 디렉토리 페이지이동</a><br>
<a href="./link/hlink3.html">하위 디렉토리 페이지이동</a><br>
<a href="https://boangod.tistory.com/">사이트 이동</a><br>
</body>
</html>
예시(이미지)
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>ex01.html</title>
</head>
<a href="https://boangod.tistory.com/"><img src="msh.jpg"></a><br>
<a href="https://kh-academy.co.kr/main/main.kh"><img src="switch.png"></a><br>
</body>
</html>
php
<??>
- 프로그램의 시작과 끝을 나타냅니다.. PHP가 프로그램 코드 부분을 나타내는 방법입니다.
echo = (””)
- 사이의 내용을 출력하는 출력 함수. 변수를 출력할 때는 = 출력{}
$a = 1;
- 변수는 항상 $ 사용합니다.
- 변수명은 문자, 숫자, _(밑줄)로 구성됩니다.
ㄴ 첫 글자는 반드시 문자로 시작합니다.
ㄴ 변수명에 한글을 쓸 수 있으나 사용하지 않습니다.(절대) - 변수명은 대소문자를 구별합니다.
데이터 타입
스칼라(scalar) 타입 | 정수(integer) 실수(float, double) 문자열(string) 불린(boolean) |
123, -231, Ox123, 1.23, 1.2E15 "ABC", 'abc', '무궁화' TRUE(1), FALSE(NULL,0) |
다중(mixed) 타입 | 배열(array) 객체(object) |
여러 개의 값을 하나의 변수에 저장 속성과 메소드로 구성되는 사용자 정의 데이터 타입 |
원래 값이 있는데 다른 값을 집어넣으면 이전 값은 없어짐.
캐스팅연산자 = 형 변환연산자(개념만 일단 알고 있자.)
정수형 | (int), (integer) |
실수형 | (real), (float), (double) |
문자열형 | (string) |
불린형 | (bool), (boolean) |
이진 문자열형 | (binary) |
배열형 | (array) |
개체형 | (object) |
인용부호
\n | 개행 문자 (newline) |
\r | 개행 문자(carriage) |
\t | 탭 문자(horizontal tab) |
\\ | \ 문자 |
\$ | $ 문자 |
\" | " 문자 |
산술연산자
가장 기본적인 수학 연산자(+, -, *, %,/)
연산자 | 설명 |
+ | 덧셈 |
- | 뺄셈 |
* | 곱셈 |
% | 나눗셈 |
/ | 나머지 |
대입 연산자
우변의 값을 좌변에 대입하는 연산자 (프로그램을 읽기 쉽게 하기 위해 사용)
연산자 | 설명 | 산술 연산자와의 관계 |
= | 우변의 값을 좌변에 대입한다. | $a = $b |
+= | 우, 좌변의 더한 값을 좌변에 대입한다. | $a += $b → $a = $a + $b |
-= | 우변에서 좌변을 뺀 값을 좌변에 대입한다. | $a -= $b → $a = $a - $b |
*= | 우, 좌변의 곱한 값을 좌변에 대입한다. | $a *= $b → $a = $a * $b |
/= | 우변을 좌변으로 나눈 값을 좌변에 대입한다. | $a /= $b → $a = $a / $b |
%= | 우변을 좌변으로 나누어 나머지 값을 좌변에 대입한다. | $a %= $b → $a = $a % $b |
증감 연산자
읽기 쉽게 하기 위해 사용, 헷갈리면 그냥 그대로 써도 무방하지만 나중에 익숙해지면 증감연산자가 더 읽기 쉬워질 수 있다.
증감 연산자 | 산술 연산자 | 증감 연산자 | 산술 연산자 |
$b = ++$a | $a = $a + 1 $b = $a |
$b = --$a | $a = $a - 1 $b = $a |
$b = $a++ | $b = $a $a = $a +1 |
$b = $a-- | $b = $a $a = $a - 1 |
관계연산자
관계 연산자는 두 개의 값을 비교하는 연산자, 실무에서는 두 개짜리 연산자를 주로 사용
연산자 | 설명 |
== | 좌변과 우변의 값이 같으면 TRUE |
=== | 좌변과 우변의 값과 데이터 타입이 모두 같으면 TRUE |
!= | 좌변와 우변의 값이 다르면 TRUE |
!== | 좌변와 우변의 값과 데이터 타입이 모두 다르면 TRUE |
> | 좌변의 값이 우변 값 보다 크면 TRUE |
< | 좌변의 값이 우변 값 보다 작으면 TRUE |
>= | 좌변의 값이 우변 값 보다 크거나 같으면 TRUE |
<= | 좌변의 값이 우변 값 보다 작거나 같으면 TRUE |
논리 연산자
'!'(논리 부정)을 제외하고 모두 좌변과 우변의 논리 값을 연산하고, 비교연산자와 보통 같이 쓰입니다.
연산자 | 사용 예 | 설명 |
&& | $a && $b | $a와 $b가 모두 TRUE이면 TRUE |
|| | $a || $b | $a와 $b중 하나이상이 TRUE이면 TRUE |
xor | $a xor $b | $a,$b 논리 값이 서로 다르면 TRUE |
! | !$a | $a가 TRUE이면 FALSE, $a가 FALSE이면 TRUE |
and | $a AND $b | &&와 결과는 같으나 연산자 우선순위가 낮다. |
or | $a or $b | ||와 결과는 같으나 연산자 우선순위가 낮다. |
xor(중요) - 암호 알고리즘에서 씀.
! - 리버스 연산자
and연산자, or연산자는 연산자 우선순위가 낮다.(우선순위 몰라도 프로그램 보면 알 수 있게 코드 짜기)
문자열 연산자
연산자 | 사용 예 | 설명 |
. | $c = $a.$b | 두 개의 문자열을 연결한다.(연결 연산자) |
.= | $c .= 'ing' | 문자열을 추가한다. |
$b = 1. 2;
(스페이스바).(스페이스바) 면 문자열로 해석한다. 그래서 위에 코드는 잘못된 코드.
$b = "1". "2";
해주는 것이 좋음.
문자열을 사용할 때는 반드시 따옴표 하기.
연산자 우선순위
연산자를 두 개 이상 사용하는 경우 연산자 우선순위에 따라 연산 순서가 결정됩니다.
(예시)
2 + 2 * 2 가 6일 수도 있고 8일 수도 있습니다. 코드 작성자의 의도와 내가 생각하는 의도가 다를 수 있기 때문에
(2+2)*2 인지 2+(2*2)인지 확실하게 코드를 작성해야 합니다.
연산자 우선순위 | 연산자 |
1 | ++, -- |
2 | ! |
3 | *, /, % |
4 | +, -, . |
5 | <, <=, >, >= |
6 | ==, ===, !=, !== |
7 | && |
8 | || |
9 | =, +=, -=, *=, /=, %=, .= |
10 | and |
11 | xor |
12 | or |
form
post방식 = 입력한 값을 전달
get방식 = url방식으로 값 전달
1-5.html
<html>
<head>
<title>1-5.html 입력 폼파일</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<form method="post" action="1-5.php">
피제수 : <input type="text" name="a"><br>
제수 : <input type="text" name="b"><br>
<input type="submit" name="확인" value="확인">
<input type="reset" name="취소" value="취소"><br>
</form>
</html>
1-5.php
<?
$a = $_POST["a"]; // a 내가 위에서 저장한 이름
$b = $_POST["b"]; // b 내가 위에서 저장한 이름
$mod = $a % $b; // 나머지 구하기
$div = ($a - $mod) / $b; // 몫 구하기
echo("{$a}를 {$b}로 나눈 몫은 {$div}이고<br> 나머지는 {$mod}이다.");
?>
우리가 만들 페이지는 보통 이런 식으로 form을 사용해, 나누어서 사용이 됩니다.
'kh교육' 카테고리의 다른 글
(20250708010) VI 에디터 & udp, pt (1) | 2025.07.09 |
---|---|
(2025070709)리눅스 기초 명령어 & TCP/UDP, 패킷트레이서 (0) | 2025.07.07 |
(2025070307)리눅스로 NAT,BRIDGE 네트워크 만들기&복습 (0) | 2025.07.03 |
(2025070206) 라우터 & 네트워크 분할, NAT (0) | 2025.07.02 |
(2025070105) 복습 & network ip (1) | 2025.07.01 |