◾ Switch는 segment 연결 장치인 Bridge가 확장된 장비이다. • Switch와 Bridge의 작동 방식, 알고리즘은 동일하다 - Multiport bridge = switch HUB. • 실제 사용된 bridge는 switch와 H/W 구성이 많이 다르다. • Switch의 기본 기능
- Learning : Bridge가 소스주소(송신주소)를 보고 Bridge table에 MAC address를 채우는 과정
- Flooding : 브리지에서 다른 브리지로 패킷을 보내는 과정 - Filtering : 어느 목적지로 가야할지 패킷을 필터링하는 과정 - Forwarding : 목적지를 확인해 현재 포트에서 해당 포트로 패킷을 보내는 과정 - Aging : 사용하지 않는 MAC address를 table에서 없애는 것
◾ Switch 설정 • STP : Spanning Tree Protocol • VLAN
◾ Switch - show명령
• Swhitch# show [옵션] (프리빌리지 모드) - ip interface brief : 인터페이스별 설정 정보 - interface [if명] : 인터페이스의 통계 정보 - spanning‐tree : STP 관련 정보 - cdp neighbor : 주변 장비 확인 - cdp neighbor detail : 인접 장비 정보 확인 - running‐config : 설정 정보 확인
◾ 스위치 상태 확인 • 관리자 모드에서 실행한다. • show interface [status | if_명 | vlan #] - show interface status
Switch>
Switch>enable
Switch#show interface status
Port Name Status Vlan Duplex Speed Type
Fa0/1 connected 1 auto auto 10/100BaseTX
Fa0/2 connected 1 auto auto 10/100BaseTX
Fa0/3 notconnect 1 auto auto 10/100BaseTX
Fa0/4 notconnect 1 auto auto 10/100BaseTX
Fa0/5 notconnect 1 auto auto 10/100BaseTX
...
- show interface vlan 1
Switch#show interface vlan1
Vlan1 is up, line protocol is up
Hardware is CPU Interface, address is 00e0.b056.6dae (bia 00e0.b056.6dae)
Internet address is 192.168.10.201/24
MTU 1500 bytes, BW 100000 Kbit, DLY 1000000 usec,
reliability 255/255, txload 1/255, rxload 1/255
...
- show running-config : 현재 사용되는 config 보여줌
Switch#show running-config
Building configuration...
Current configuration : 1135 bytes
!
version 15.0
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption
...
이렇게 네트워크가 구성되면 네트워크 전체가 죽어버릴 수 있다.
네트워크에 흐르는 패킷 양이 늘어난다.
(PC0에서 PC1로 패킷을 보내려고하면 Switch0에서 패킷을 Switch1, Switch2로 패킷을 보내 네트워크에 흐르는 패킷 양이 늘어난다.)
if (조건) {
문장1;
문장2;
....
}
else if (조건2) {
문장1;
문장2;
....
}
else if (조건3) {
문장1;
문장2;
....
}
else {
문장1;
문장2;
....
}
$a = "";
if (!isset($a)) echo(" \$a의 값이 없습니다.2<br>"); // FALSE
if (is_null($a)) echo(" \$a의 값이 없습니다.1<br>"); // FALSE
if (empty($a)) echo(" \$a의 값이 없습니다.3<br>"); // TRUE
빈 값("")
empty() : TRUE
is_null() , !isset() : FALSE
(PHP가 빈 값과 널 값을 서로 다르게 봄)
switch문
switch (변수 또는 수식) {
case 값1 :
문장1;
문장2;
...
break;
case 값2 :
문장1;
문장2;
...
break;
...
default :
문장1;
문장2;
...
}
<?
$a = $_POST["a"];
$b = $_POST["b"];
if ($a>$b) {
echo(" 입력 값중 큰 값은 \$a($a)입니다. ");
}
if ($b>$a) {
echo(" 입력 값중 큰 값은 \$b($b)입니다. ");
}
if ($a==$b) {
echo(" 두 입력 값이 동일합니다.. ");
}
?>
실행결과
예제 2-2. 다음 표를 보고 입력된 급여에 따라 각 사원의 내년도 지급 받을 급여를 출력한다. * 입력은 만원 단위로 입력한다. ex) 1,230,000원 → 123만원
예제 2-4. 다음에 제시하는 문제점과 해결책을 이용, 이전 [프로그램]를 수정한 프로그램을 완성하세요
- 문제점 인상폭이 각 등급별로 정의되면 급여가 역전되는 현상이 나타난다. 예를 들어 급여가 99만원이었던 5등급 사 원은 15% 인상으로 114만원이 되지만 101만원인 4등급 사원은 10% 인상으로 111만원이 되어 인상 후, 자 신의 급여 등급보다 낮은 사원보다 적은 급여를 받게 된다. - 해결책 역전 현상이 나타나는 경우 한 단계 낮은 등급의 최대 급여와 동일하게 급여를 조정해주기로 결정했다. 예를 들어 5등급의 최대 급여는 100만원으로 인상된 급여는 115만원인데 만일 4등급 사원 중에 인상 급여가 115 만원에 미치지 못하는 사원이 있다면 해당 사원의 인상된 급여는 115만원으로 조정해 주는 것이다.