글
신입사원 직무역량 강화 08년10월27일 - ICND
더보기
08년10월27일-ICND
강사소개#
강사 : 민지현
강의 : 트레이닝 파트너스 (http://training-partners.co.kr)
네트워크의 구성요소#
통신매체(링크)를 통해서 연결된 노드의 집합체
특정 주소체계를 부여가능한 시스템(엔티티) > so-called NODE
nslookup www.yahoo.co.kr > 119.161.11.206
네트워크의 구성요소#
- Server : 시스템상에 데이터나 리소스를 제공하는 노드
- Client :
- Message : 서버와 클라이언트 사이에서 오고가는 데이터
- Media :
- Protocol
module : 결과는 같으나 적용하는 방식이 다른 프로토콜들의 모임
layer : 각각의 모듈에 순서를 보여한 것이 레이어라고 이해하자!
예를 들어보자. 수화기를 든다라는 행동의 단계는 모두 동일하지만 핸드폰, 일반 유선전화의 세부적인 행위는 다르다.
architecture : OSI7, TCPIP, SNA
※ SNA란?
IBM에서 만들어둔 프로토콜 아키텍쳐. 과거 메인프레임 시절에 아키텍쳐를 독점해서 문제가 발생했다.
※ OSI란?
ISO에서 하드웨어 소프트웨어간의 오픈된 시스템상에서 상호간 통신이 가능하도록 만들어둔 아키텍쳐
OSI-7#
네트워크 시스템의 이해를 돕고, 인터페이스를 표준적으로 구획하여 개발이 가능하도록 도입된 개념
(계층화, 레이어화를 통해서)
Application
유저 계층에서 만들어진 데이터를 네트워크 서비스와 연결해주는 역할을 해준다.
Presentation
데이터의 형태와 연관이 있는 동작을 해주는 계층
암호화같은 것!!!
Session
실질적으로 상호간 데이터를 송수신하기 전에 서로간 맞는 상대인지를 판단하는 단계를 의미한다.
(FTP client) > ????
???? < (FTP server)
인증 : 실제 서비스를 제공받는 것인 가능한 놈인지 확인
Application 구분 : 요청자가 워하는 서비스와 제공하는 서비스를 연결해주는 역할을 한다.
예시) TCP
Transport
서비스의 요청 단과 서비스를 제공하는 단의 연결을 제공하는 계층을 의미한다. (end-to-end connection)
전 화를 예를 들어보자. 010-0000-0000으로 전화를 걸면 사용자는 어떤 기지국을 통해서 어떻게 연결되는지를 전혀 신경 쓰지 않고도 상대방과 통화를 가능하게 만든다. 사용자는 중간단에서 이루어지는 흐름제어나 데이터 error correction 과 같은 기술은 몰라도 서비스의 이용이 가능해진다. 이런 상황을 네트워크에서는 Virtual Connection이 형성되었다고 말한다.
예시) TCP
Network
서로다른 이종의 네트워크를 연결하여, 한개의 네트워크로 묶어주는 역할.
네트워크와 네트워크를 이어주는 터널은 다수개가 존재할 수 있으며, 3계층의 역할은 이런 다수개의 터널중 best path를 선택(routing)하여 데이터 전송하는 역할.
주소체계 : 위치 및 기타 사항에 따라서 변동이 가능한 논리적인 계층적인 주소를 부여하여, 데이터의 전달을 편리하게 만든다. 주소가 계층적이라는 말은 network, host와 같이 2가지의 구성요소를 가지고 특정 네트워크의 특정 호스트를 의미한다는 것과 같이 주소체계가 계층을 가진다는 것을 의미한다.
예시)IP
일반적인 의미의 네트워크라는 것은 OSI7의 1~2계층을 통해서 구축됨
DataLink
논리적인 연결. 물리적인 매체를 통해서 연결된 다수의 시스템 중 한개의 시스템이 특정한 한개의 시스템을 지칭해서 데이터를 전달할 수 있는 방식이 정의된 계층.
주소체계 : 물리적이며, 평면적인 특징을 가진다. (like 주민번호) 태어날때 부터 해당 시스템의 주소로 지정되어있으나, 정해진 범위에서 벗어나는 경우 서로를 지칭하는게 불가능해진다.
매체접근 : 공유 매체를 각각의 시스템이 어떤식으로 접근하는지를 정의한다.
LAN의 대표적 예인 ETH 의 경우 CSMA/CD (CarrierSenseMultipleAccess/CollisionDetection)를 이용
데이터 전송전에 우선적으로 매체가 현재 사용중인지를 판단.
미디어가 비어있다면, 우선 데이터를 전송하고 본다.
충돌이 발생하면 충돌을 처리한다.
(CSMACD 방식은 경쟁중심의 미디어 접근방식을 의미한다)
예시) ethernet
Physical
비 트의 전송. 물리적인 연결. 독립적인 2개이상의 시스템을 연결하기 위해서 media를 사용하며, 이에 따라서 미디어에 대한 정의가 된 계층. 미디어의 특성에 따른 미디어의 연결 잭과 같은 내용이 정의된 계층. 데이터를 미디어를 통해서 전달하기 위해서 전기적인 신호signal로 변환encoding하는 방식에 대한 정의가 된 계층
예시) lan cable, rj-45 (?맞나? -_-)
PDU (protocol data unit)#
OSI7의 계층은 크게 2개로 구분이 가능하다.
Application > data creation
Transport ~ Physical > data flow layer (data transmission)
application 단에서 만들어진 데이터는 네트워크의 각 계층을 거쳐 내려가면서 해당 계층의 역할을 수행하기 위한 헤더정보를 데이터의 앞 부분에 덧 붙여서 아래단으로 내려보내게 됀다. 우리는 이러한 헤더 정보를 data control information 이라고 부르기도 하며, 이런 정보를 덫붙여 만들어진 결과 데이터를 PDU protocol data unit 라고 부른다.
pdu so-called of
application layer > message
transport layer > segments
network layer > packets
datalink layer > frames
physical layer > bits
데이터의 전달#
application 계층에서 만들어진 데이터는 data stream 으로 구성된 연속성이 있는 데이터 덩어리로 이루어져 잇다.
문 제는 이렇게 큰 데이터를 한번에 전송할 경우 데이터 전송시 에러가 발생했을때 재전송의 처리가 힘들기 때문에 데이터를 구획지어서 다시 재전송하는 상황이 발생할 경우 상당히 큰 오버헤드가 발생하기 때문에 데이터를 잘라서 보내게 됀다.
TCPIP와 OSI의 비교#
TCPIP의 계층 구조
Application
application 에서 제공하는 데이터의 특징이 어떤가에 따라서 transport 계층에 어떤 프로토콜을 이용해야하는지를 결정한다. TCP or UDP냐?
Transport
TCP의 경우 OSI7의 session 의 연할도 담당한다.
protocol identifer (PID) : 현재 계층의 protocol 을 기반으로 동작하는 상위 계층의 protocol을 구분하기 위한 ID
1) Port ID : 4계층에서 그 보다 상위 계층을 구분한다.
- well-known port : 0~1023
서비스 제공을 위해서 잘 알려진 포트를 의미한다.
서비스를 제공하는 서버에 보통 할당된 포트를 의미.
예시) telnet 23, ftp 21, dns 53, smtp 25, rip 520, tftp 69, snmp 161
- dynamic allocation : 1024-65535
서비스가 필요할 때마다 동적으로 포트를 할당하는 부분을 의미한다.
2) Protocol # : 3계층에서 4계층을 구분하는 용도
예시) TCP 6, UDP 17
3) Type : 2계층에서 3계층의 프로토콜을 구분하는 용도
예시) IP, ICMP 1, ARP, RARP
Internet
Network Interface
TCPIP의 경우 명확한 계층 구분이 없기 때문에 datalink, physical 계층을 NI로 구분해서 부르기도 한다.
TCP#
TCP 특징#
connection oriented protocol
데이터를 전송하기 전에 일단 연결을 구성하고, 그 이후에 데이터를 전송한다.
full-duplex
송수신자 상호간 데이터를 전송가능한 프로토콜
flow control
application data > maximum segment size 로 데이터를 잘라서 전송 (보통 536byte로 지정) >
IP헤더를 붙여서 전송 > 이더넷 헤더를 붙여서 전송
MTU : tcp/ip 네트웍에서 전송가능한 최대 크기의 패킷 또는 프레임을 지칭. 보통 46~1500으로 지정한다.
(이 더넷 환경에서 전송가능한 크기가 64~1518 이며, 이더넷 헤더의 크기인 18바이트를 제외하면 46~1500바이트의 크기를 제한으로 데이터 송수신이 일어난다. 이 크기는 MTU에 영향을 주고, MSS에도 마찬가지고 영향을 준다.)
참조)
runt frame, collision frame : 64바이트 미만의 프레임을 지칭한다. 데이터간의 충돌때문에 발생하는 잘못된 프레임이 발생하는 경우 64바이트 미만의 프레임이 보통 생기기 때문에...
giant frame : 1518바이트 초과 프레임을 지칭한다.
※ 상기의 두가지의 프레임 모두 에러프레임이다.
헤더#
※ 윈도우 : 시스템이 받아서 한번에 처리가 가능한 데이터의 양
1 to 1 window 방식 : 한개의 데이터를 송신하고 ACK를 반드시 받아야만 다음 패킷을 보내는 방식이다.
sliding window 방식 : 시스템 혹은 네트워크의 상태에 따라서 윈도우의 크기를 변경하면서 전송하는 방식. SEQ ACK
SEQ, ACK 번호는 흐름제어를 위해서 존재하는 부분.
Control Flag : 흐름제어 정보를 전달하는 비트 플래그
3-way handshake#
※ 연결 단계는 교재 23페이지의 SEQ, ACK 변화를 보면서 공부하자!
SYN 전송>>>>
SYN 수신
<<<< SYN, ACK 송신 : 원래는 ACK를 먼저보내고, SYN을 보내야하는데 단계를 줄이기 위해서 함께 전송
SYN 수신
Establish>>>
TCP Windowing#
송신신중에 시스템의 상황에 따라서 윈도우 크기가 변한 경우 ACK 번호를 통해서 데이터 흐름을 제어한다. (24페이지)
TCP헤더속의 윈도우 크기는 송신 시스템의 윈도우 크기를 전달할 뿐이다.
4-way disconnection#
※ FIN 송신측에서는 데이터를 모두 전송이 끝난 상황에서 종료 메시지를 보내지만, 수신하는 측에서는 아직 데이터를 송신 중일 수 있기 때문에 반드시 시스템의 송신이 모두 끝난 뒤에 FIN 메시지를 보내야한다.
RST#
연결을 이루려고하지만 해당 시스템에 매칭돼는 정확한 서비스가 없는 경우에 발생하는 메시지
UDP#
에러복구와 같은 고급기능은 제외됀다. 단순 데이터 송신을 목적으로 고안한 프로토콜로 헤더가 단순하다.
(TCP헤더는 20~60바이트, UDP의 헤더는 8바이트)
장점은 연결을 하지 않아도 데이터의 송신이 가능하고, 헤더가 작기때문에 좀더 빠른 송신이 가능하다는 특징을 가진다
IP#
ICMP, IGMP
[IP]
ARP, RARP
- 데이터 전송을 목적으로 하는 프로토콜이다.
- 주소체계 : 상이한 네트워크 상의 호스트에 데이터 전송을 하기위해서 해당 호스트를 지정할 수 잇는 논리적인 주소체계도 제공
- best-effort protocol : 최선을 다해서 데이터를 제공하지만, 거기에서 발생하는 데이터 에러 정정이라든가 하는 기타 기능은 제공하지 않는다.
ICMP : IP 데이터 전송에서 문제가 발생했을 경우 이에대한 내용을 SRC에 전달해주는 역할을 한다.
질의응답形 : ping, 에러메시지形 : destination unreachable, ....
3계층의 PDU를 Packet이라고 부름
- Data Packet (RoutedProtocol, IP or IPX)
시스템과 시스템간의 실질적으로 주고 받고 싶어하는 데이터를 데이터 패킷이라고 부른다.
- Routing Information Update Packet(Routing Protocol, RIP EIGRP OSPF)
서로 상이한 네트워크 상의 데이터 전송을 하기 위해서는 서로 다른 네트워크 상의 경로에 대한 정보를 가지고 있을 필요가 있는데 이때 이 정보를 주고 받는데 사용하는 정보를 RIUP라고 부른다. (라우터 간에 주고 받는 정보를 전달하기 위한 프로토콜)
헤더정보
HLEN : IP도 헤더의 정보가 20~60바이트로 유동적
Service type : 데이터 혼잡 상황에서 어떤 패킷을 먼저 보낼 것인가?
Identification, Flag, Flag Offset : 라우터간 데이터의 전송시 MTU의 변화로 인해서 데이터를 다시 분할해야하는 상황이 발생했을때, 차후 데이터의 원복에서 사용하는 부분이다. (네트워크의 상황에 따라서)
TTL : 몇개의 라이터를 거쳐서 까지 유지돼는 패킷은지를 파악한다.
ARP (Address Resolution Protocol)#
IP 의 주소는 논리적인 주소체계이기 때문에 네트워크 환경하에서는 시스템의 위치의 변경에 따라서 IP주소느 같아도 서로 다른 시스템을 지칭하는 경우가 생긴다. 이때 서로 다른 시스템을 구분해주는 물리적인 주소체계를 알아가는 과정이 필요하다.
RemoteIP > RemoteMAC (by ARP)
IPv4 주소체계#
논리적인 주소체계, 계층적인 주소체계
32비트 주소체계 (4개의 octet으로 구분하여 사용, 각 octet은 point로 구분하며, 십진수로 표현)
dotted-decimal notation : 172.16.128.17
KRNIC(구), 현재 NIDA NIC에서 현재 국내 IP를 관리한다.
과거 IP의 최초 개발자는 네트워크의 규모를 구분으로 하여서 프로토콜을 개발했다고 전해진다.
따라서 주소에 계층(class)를 도입하여서 주소 체계를 구분하였다.
- A class : 초대형 망에 할당가능한 IP 대역 (1-126)
0NNNNNNN.Host.Host.Host
- B class : (128~191)
10NNNNNN.Network.Host.Host
- C class : (192~223)
110NNNNN.Network.Network.Host
- D class : (224-239)
1110MMMM.Multicast Group.Multicast Group.Multicast Group
- E class : 특정 목적을 위해서 사용되지는않으면 연구목적용으로 Reserved
1111~~~
※ 3계층의 주소체계를 제공하는 프로토콜은 분명히 여러개가 존재.
Appletalk, IPX... etc
IPX의 경우 80bit address 를 사용 : 32bit (network), 48bit (node) 고정 주소 체계를 가진다.
주소를 계층으로 구분하는 프로토콜은 동일 계층에서 IP가 유일하며, 네트워크 부분을 구분하기 위해서는 IP 주소체계에서는 Subnet Mask를 반드시 필요로 한다.
※ Subnet Mask ?
Network 부분과 Host 부분을 구분 > 연속적인 IP 주소 범위를 표시
1bit part : network, 0bit part : host part
예) 255.255.255.0 > octet 의 3번째 파트까지가 모두 네트워크 파트를 의미한다는 이야기
RFC1918에서 지정하는 각 클래스의 특정 대역은 공인망에서는 사용이 불가능한 대역이 존재한다.
이런 주소는 특정 회사내에서 사내 네트워크의 구성에 이용하기도 한다.
이런 망에서 외부망으로의 접근은 NAT network address translation 기술을 이용해서 외부망에 접근한다.
subnet : 원래 호스트를 위해서 남겨진 부분에서 네트워크에서 사용하기 위해 나누어진 네트워크의 연장 부분이다.
Subnetting 기법#
1) FLSM (Fixed Length Subnet Mask)
각조의 구성원의 수를 동일하게 맞추어서 나는 것을 의미.
네트워크를 구성하는 모든 라우터의 서브넷 마스크가 모두 동일함을 말한다.
- 전통적인 방식의 서브네팅
첫번째 네트워크와 마지막 네트워크를 사용하지 않는방식이다. 이유는 0으로 시작하는 네트워크와 255로 시작하는 네트워크는 IP 규약상 서브넷 이전의 원래 네트워크에서 사용하던 주소이기 때문에 사용하지 말자!!!는 방식
- Zero-Subnet
첫번째 네트워크와 마지막을 사용하지 않으면 낭비돼는 주소의 수가 많으니 최초의 네트워크 0을 사용하자는 방식. (오늘날에는 마지막 네트워크도 서브넷으로 분류하여 사용가능하게 한다.)
2) VLSM (Variable Length Subnet Mask)
각조의 구성원의 수를 서로 다르게 나누어 가는 것을 의미.
네트워크 주소 표현방식) 192.168.1.0/24 : bit-count 방식 (윈도우의 표기방식은 dotted-decimal notation)
Subnetting 방법#
1) Subnet 수 이용
서브넷의 수가 몇개인지를 따지고,
호스트 주소 대역에서 빌릴 bit 수를 따져야한다. (그런담에 서브넷 마스크를 바꾸겠지? )
2) Host 수 이용
이와 반대의 순서로 따라가는 방식이다.
보통 서브넷은 octet 단위로 하는 것이 편한데 문제는, Cclass의 경우에는 호스트 영역의 octet이 한개이기 때문에 이렇게 사용하기 힘들기때문에 호스트 영역을 비트 단위로 네트워크 표현 대역을 빌리게 됀다.
스킬) 서브넷의 네트워크 주소 구분법 (47페이지 문제로 익혀봅시당~)
최초 서브넷의 시작 번호는 무조건 0
+ (네트워크에서 표현가능한 호스트의 개수)
+ (네트워크에서 표현가능한 호스트의 개수)
....
broadcast number 는 해당 주소에서 -1을 하면 됀다.
ADDR/27인 경우
서브넷 주소는 0, 32, 64, 96 .... 이며, broadcast 주소는
31, 63, 95....식으로 나간다는 사실을 알자
LAN 과 WAN#
WAN (so-called Remote Access Network) : 네트워크와 네트워크를 상호 연결해주는 네트워크를 의미한다. ISP에서 제공하는 장비를 통해서 연결된다.
WAN 구성의 경우 주소 체계는 송수신 대상이 1:1로 매칭돼기 때문에 해당 구간에서의 주소 낭비를 막기위해서 subnet mask를 /30으로 주고서 구성한다.
LAN : 근거리에서 망을 구성함.
시스코 장비에서는 eth, serial 로 부분된 인터페이스가 존재하는데, 여기서 eth는 Lan serial 구간은 Wan으로 구성
Supernetting#
route aggregation, summarization, information hiding
라우터에 남는 라우터 테이블의 전체 크기를 줄여서 라우터에서 comparion 과정의 오버헤드를 줄여줄 수 있다.
만약 주소체계를 그룹화 하기 힘들게 만들어 버리면 비슷한 사이트의 주소를 합치기가 힘들기 때문에 그다지 큰 효과를 보기 힘들다.
데이터의 전송 방식#
Unicast :
Broadcast :
Multicast :
Internetworking device#
Physical : Repeater, HUB
Datalink : Bridge, L2 스위치
Network : Router, L3 스위치
Transport : L4 스위치
Ethernet Frame 구조#
pre-amble : 프레임 동기화를 위해서 헤더와는 별도로 동기화 정보를 붙여서 전달한다.
데이터 전송시에는 signal 을 통해서 데이터의 0, 1을 구분해서 전달하게 돼는데 어느 시점에서 이 0, 1을 구분할지를 서로다른 두개의 시스템에서 맞추기 위해서 이런 정보를 주어야 한다.
10101010.....11 < 10101부분을 통해서 clocking 간격을 맞추는 구간이며, 11을 만나면 이후부터는 실 데이터가 전송돼는 부분이다.
dest, src addr : 6 byte
type : 2 byte, Ethernet II의 경우 type, IEEE802 .3의 경우에는 length
DEC+Intel+Xerox > Ethernet II 제정
IEEE802.3 > 세계 표준
※ 두가지 표준의 차이점은 네트워크 구성상 IEEE 표준의 경우 상위 계층으로의 demux 를 위해서는 서로다른 NIC를 구성해야지만 정상적인 동작이 가능해진다. 이런 문제점 때문에 ETHERNET II 가 실질적인 defacto 표준으로 사용된다. (arpa 라는 계층을 사용하면 무조건 eth ii 타입이다)
※ 이런 문제점의 해결을 위해서 IEEE에서 SAP, SNAP라는 프로토콜을 지정하고 데이터 영역에 디먹싱 정보를 넣을 수 있게 만들기는 했지만 실질적으로는 잘 쓰이지 않는다. SNAP이 간혹 사용되기는 하는데, 이유는 OUI ID라는 벤더 정보를 이용해서 특정회사의 프로토콜을 구분지어서 사용하기 위해서 사용돼기도 한다.
FCS : 4 byte
Repeater (L1 device)#
socalled "Hub, Multiport Repeater", 하나의 네트워크 상에서 서로다른 시스템으 연결
flooding 방식에 따라서 데이터 전달. 특성이 1계층의 기능을 가지고 있는 1계층 장비이다.
리피터를 이용해서 네트워크를 연결하면, 리피터에 연결된 모든 네트워크는 한개의 collision domain 으로 연결되는 것으로 생각하면된다. 마찬가지로 연결된 모든 네트워크는 한개의 broadcast domain 으로 구성된다는 특징을 갖는다.
※LAN의 특성
1. 매체 공유 > CSMA/CD > Collision Domain
> 데이터간 충돌이 일어나는 영역
2. Broadcasting System > Broadcast Domain
> 브로드 캐스트 형태의 데이터가 전송되는 영역
Bridge, L2 Switch (L2 device)#
스위칭 기능이 들어간다는 특징을 갖는다.
Switch 기능 : 입력과 출력이 1:1로 매칭되어 동작한다.
브리지 : 스위치 기능을 SW로 처리한다. CPU를 가진 장비를 통해서 변환을 거친다. 처리속도가 제한적이며, CPU퍼포먼스의 한계 때문에 포트의 수에 제한이 생긴다. 시스코 같은 경우에는 16개의 포트를 max로 생각.
L2 Switch : HW ASIC으로 구현한다. 처리속도가 굉장히 빠르다. (so-called wire speed 장비를 통하지 않고 처리되는 것 만큼 빠르다라는 의미)
※스위치를 사용하는 것의 이점
단 순히 허브를 사용하는 경우에는 하드웨어적으로 CS를 행하기 때문에 충돌이라는 과정이 필연적으로 생기기 마련이지만, 스위치를 사용하게 돼면 CS 단계에 스위치가 관여하면서 버퍼링을 통해서 데이터를 순차적으로 처리하는 것이 가능해진다. 이 경우 collision domain이 각 포트별로 형성되며, 장비전체에서 하나의 broadcast domain 을 형성해서 동작하는게 가능해진다.
스 위치의 매핑 테이블의 정보를 이용해서 라우팅을 하지만, multicast broadcast 주소의 경우는 매핑 테이블을 형성해서 라우팅하는 것이 아니며 이런 주소를 dest로 하여 만들어진 데이터의 경우 스위치의 모든 포트로 데이터를 전송하게 됀다. (flooding)
L3 Routing (BestPath Decision)#
Router : SW적으로 CPU를 이용해서 처리 (저속, 물리적으로 멀리 떨어진 Network간 연결)
L3 Switch : H/W ASIC 칩을 이용해서 처리 (고속, 가까운 거리상의 Network간 연결)
참고)
최근의 네트워크 장비는 서로 퓨전이다!!! @.@ L3스위치+WAN module 형태의 장비도 존재하며, Router(incl. ASIC)형태의 장비도 존재하기 때문에 명확한 구분이 힘들다.
라 우터의 경우에는 라우터가 가진 NIC interface에 따라서 서로 다른 주소를 할당해서 서로다른 네트워크를 연결해주는 역할을 하게 됀다. 이렇게 구성된 주소를 아래와 같은 테이블에 만들어서 해당 주소에 맞는 인터페이스에 데이터를 흘려보낸다.
----------------
| 172.16.2.0 | E0 |
| 172.16.3.0 | E1 |
----------------
L3 장비역시 L2 장비와 같은 이유로 포트별로 collision domain 을 형성하게 됀다.
하지만, L3장비의 경우 L2 장비와는 다르게 포트별로 broadcast domain 을 형성한다.
※ 기본적으로 라우터는 브로드 캐스팅을 인터페이스 수준에서 차단한다. (왜 이렇게 동작하는지는 차후에 설명)
※ 라우터와 L3 스위치의 차이
하단의 스위치 장비가 존재하는 네트워크상에서 Router 를 이용하는 경우에는 라우터가 전체 네트워크의 bottleneck 으로 작용할수있다. 하지만 L3 장비를 이용해서 이를 처리할 경우 처리 속도의 향상이 이루어진다. 또한 포트당 유지비용이 router에 비해서 L3 switch 가 훨씬더 저렴하기 때문에 유지비용 절감을 이룰 수 있다.
L4 Switching#
- server load balancing
단일 도메인을 이용해서 서비스를 제공하는데 로드 밸런싱을 목적으로 다수개의 서버를 이용한 서비스를 제공하려고 할 경우에 L4 스위츠를 이용해서 virtual ip 기능을 사용하면 다수개의 서버로 REQ를 자동으로 분배하는 것이 가능함.
(이런 서비스를 제공하기 위해서는 망의 내부와 외부의 노드의 연결 정보에 대한 세션을 스위치 수준에서 가지고 있어야 가능하다) - firewall load balancing (66페이지를 보고 이해해봅시당)
방화벽을 이용한 데이터 경로 조정을 하는 경우 지정된 방화벽을 통해서 데이터 패킷이 지나가도록 유도를 해주는 역할을 L4 스위치가 할 수 있다.
이 기능을 이용하면 특정한 외부 망의 데이터가 내부망으로 들어오는 과정에서 직접적으로 내부망으로 접속하려고 하는 경우의 모든 패킷을 막는 기능으로 동작할 수 있다.
(210.110.59.10 2000) > req > (203.239.185.80 80) : 이에 대한 개별 엔티티의 정보를 L4스위치에서 저장하고 있다.
(210.110.59.10 2000) <<<< response is allowed by l4 switch (that store the information of request entity)
(210.110.59.10 3000) <<<< response is blocked by l4 switch (that store the information of request entity)
※ 왜 firewall 을 이중화 하는가?
만약 방화벽이 한개만 존재하는 경우에는 이곳의 문제가 발생하는 경우 single point of failure 로 인해서 전체 네트워크를 사용하지 못하는 경우가 발생한다.
L7 Switch#
so-called contents switching, application switching
IPS (intrusion prevention systems)
여러가지 LAN 기술#
Fast Ethernet (이더넷 기술은 1계층과 2계층을 통합한다)#
다른 유사 기술들과 다르게 매체를 그대로 둔 상태에서 네트워크의 속도를 빠르게 하는 것이 가능하게 만들었다는 것이 특징이다.
2계층의 기술(CSMA/CD)은 그대로 둔 상태에서 1계층의 기술을 변경해 가면서 보수비용을 최소로 낮추면서 고속의 통신을 이용가능 하게 만들었다는 특징이 존재한다.
(gigabit ethernet 의 경우 csma/cd를 제공하지만 10G의 경우 CSMA/CD를 제공하지 않는다. 10G의 개발 목표 자체가 초고속 통신을 염두에 두고서 만들어진 기술이기 때문이다.)
※ auto negotiation 기능
fast ethernet, gigabit ethernet 기능이 제공되는 환경과 기존의 저속 이더넷과의 통신을 보장하기 위해서 등장한 기능이다.
표 준화는 됐으나 불안정하기 때문에 이 기능을 쓸 경우 반드시 양쪽이 모두 이 기능을 사용하기를 권장. (상대에 대한 탐색을 위해서는 상호간 정보를 주고 받아야 하기 때문에 만약에 이 기능을 제공하지 않는 이더넷의 경우라면 정상적인 동작을 보장할 수 없다.)
1) speed negotiation
10/100 메가를 동시에 지원하기 위해서 속도를 네트워크에 적절한 속도로 동작
2) duplex negotiation
half, full 방식을 결정
wireless LAN#
무선을 위해서 구축된 네트워크를 의미하는 것이 아니다. 단지, 유선으로 구성된 LAN환경의 서비스 영역을 확대하기 위해서 사용되어진 기술을 의미한다. (단지 미디어만 케이블에서 AIR로 바꾼것임을 의미한다)
AP(access point) : 유선랜의 허브와 같은 역할을 한다. 반드시 기존의 유선 네트워크상에 연결되있어야지만 사용이 가능하다.
실습) IOS의 CLI #
EXEC mode#
USER mode :
장비 접속후 모든 사용자가 접근 가능한 모드
간단한 모니터링 모드를 의미함
"Hostname >"
Privileged mode (enabled mode)
관리자 모드
운영체제 업그레드, 삭제, 장비 릴리즈가 가능한 모드
Configuration mode 진입 가능 ( # conf t 엔터)
"Hostname #"
Configuration mode#
Global
장비 전체에 유일한 설정이 가능한 모드
부분설정으로 진입 가능한 모드 ( # int e0 엔터)
"Hostname(config)#"
Sub(Other)
장비 부분 설정이 가능한 모드
"Hostname(config-if)#"
※각각의 단계를 되돌아갈때는 exit 명령어를 사용한다.
초기설정하기#
RemoteURL : http://remotelab.training-partners.com:9001 에 접속해서 아래의 과정을 실행
(ICND4 사용자로 실습 시작)
Router> en (엔터) : priviledged mode 로 연결
Router#sh ip int brief (엔터) : 인터페이스 현황을 보여준다.
Interface IP-Address OK? Method Status Prot
Ethernet0/0 unassigned YES unset administratively down down
Serial0/0 unassigned YES unset administratively down down
BRI0/0 unassigned YES unset administratively down down
BRI0/0:1 unassigned YES unset administratively down down
BRI0/0:2 unassigned YES unset administratively down down
Serial0/1 unassigned YES unset administratively down down
Router# conf t (엔터) : config 모드로 전환
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# hostname RouterB (엔터)
RouterB(config)#enable password cisco (엔터) : 관리자 모드로 진입시 암호 설정
RouterB(config)#int e0/0 (엔터) : 서브 설정 모드로 진입 (라우터의 경우 이더넷 스위치의 경우 int vlan 1)
RouterB(config-if)#ip addr 10.1.4.3 255.255.255.0 (엔터) : 해당 인터페이스에 IP할당
RouterB(config-if)#no shut (엔터) : 기본적으로 3계층 정보가 들어가는 인터페이스는 기본 상태가 닫힌 상태이다. (의도하지 않은 데이터의 송수신을 막기 위함)
RouterB(config-if)#
포트는 크게 2개로 구분되는데, 데이터 전송용 interface 포트, management 포트를 line 포트라고 부른다.
RouterB(config-if)#line con 0 (엔터): 관리 포트로 접속
RouterB(config-line)#line vty 0 4 (엔터): 텔넷 포트로 접속
RouterB(config-line)#login (엔터): 텔넷으로 디바이스에 접속할때 패스워드를 묻겠다. 텔넷 포트는 기본적으로 패스워드를 묻는다.
% Login disabled on line 66, until 'password' is set
% Login disabled on line 67, until 'password' is set
% Login disabled on line 68, until 'password' is set
% Login disabled on line 69, until 'password' is set
% Login disabled on line 70, until 'password' is set
RouterB(config-line)#password cisco (엔터): 텔넷 패스워드 설정
RouterB(config-line)#no login (엔터) : 접속시 패스워드를 묻지 않겠다.
RouterB(config-line)#end (엔터)
RouterB#sh run (탭)
RouterB#sh running-config (엔터)
Building configuration...
Current configuration : 624 bytes
!
version 12.3
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname RouterB
!
boot-start-marker
boot-end-marker
!
enable password cisco
!
no aaa new-model
ip subnet-zero
!
!
!
ip cef
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
interface Ethernet0/0
ip address 10.1.4.3 255.255.255.0
half-duplex
!
interface Serial0/0
no ip address
shutdown
!
interface BRI0/0
no ip address
encapsulation hdlc
shutdown
!
interface Serial0/1
no ip address
shutdown
!
ip http server
ip classless
!
!
!
!
!
!
!
!
line con 0
line aux 0
line vty 0 4
password cisco
no login
!
!
end
RouterB# copy run start (엔터) : 현재 저장된 설정을 시작 파일에서 자동으로 설정하고자 하는 경우. 이 과정이 없을 경우 설정은 램상태에서만 적용된 경우이기 때문에 부팅후 적용되지 앟는다.
Destination filename [startup-config]?
Building configuration...
[OK]
RouterB#
기타 명령어#
RouterD(config)# no ip domain-lookup (엔터) : 관리자 모드에서는 잘못된 커맨드를 입력할 경우 라우터가 해당 명령어가 특정 도메인인것으로 판단하고 DNS서버를 찾으면서 해당 주소를 찾으려는 시도를 계속한다.
RouterD(config)# line con 0 (엔터) : 특정 인터페이스를 shut 시키고 명령어를 입력하는 상태가 돼면 시스템 메시지에 의해서 관리자가 입력하던 내용이 사라지는 경우가 발생한다. 이런경우 ctrl+r을 치면 돼긴하지만 이런 과정을 자동으로 하고 싶은 경우
RouterD(config-line)# logging sync (엔터)
RouterD(config-line)# exec-timeout 0 0 (엔터)
RouterD#sh terminal (엔터)
Line 0, Location: "", Type: ""
Length: 24 lines, Width: 80 columns
Baud rate (TX/RX) is 9600/9600, no parity, 2 stopbits, 8 databits
Status: PSI Enabled, Ready, Active, Automore On
Capabilities: none
Modem state: Ready
Modem hardware state: CTS* noDSR DTR RTS
Special Chars: Escape Hold Stop Start Disconnect Activation
^^x none - - none
Timeouts: Idle EXEC Idle Session Modem Answer Session Dispatch
00:10:00 never none not set
Idle Session Disconnect Warning
never
Login-sequence User Response
00:00:30
Autoselect Initial Wait
not set
Modem type is unknown.
Session limit is not set.
Time since activation: 00:09:33
Editing is enabled.
History is enabled, history size is 20.
DNS resolution in show commands is enabled
Full user help is disabled
Allowed input transports are none.
Allowed output transports are pad v120 mop telnet rlogin.
Preferred transport is telnet.
No output characters are padded
No special data dispatching characters
RouterD#sh history (엔터)
en
conf t
sh ip int brief
conf t
sh running-config
copy run startup-config
show idle timeout
sh terminal
sh history
RouterD#conf t (엔터)
Enter configuration commands, one per line. End with CNTL/Z.
RouterD(config)#no logging console (엔터) : 아예 콘솔에 상태 메시지를 띄우지 않겠다.
RouterD(config)#
여러가지 WAN 기술#
DTE : 데이터 송수신 주체#
LAN을 기준으로 생각하면 하나의 네트워크 상에서 데이터를 송수신하는 주체는 호스트
WAN을 기준으로 생각해보면 Router가 이런 역할을 한다.
DCE : 데이터 전송 장치#
LAN을 기준으로 생각하면 두개의 호스트를 연결하는 장치는 DCE가 됄것이다.
WAN을 기준으로 생각해보면 WAN Switch 를 의미한다. (DSU, CSU라는 WAN에서 모뎀 역할을 하는 장치)
(DTE, DCE를 연결하는 케이블을 WAN케이블을 의미한다.)
시스코 라우터#
WAN구성시 DTE가 Cisco 라우터라면 DCE와 연결하는 케이블은 반드시 DTE Cisco 벤더측에서 제공하는 케이블을 사용해서 구성해야한다.
모양은 비슷하지만, 각 회사마다 독특한 규약을 가지고 만들어지기 때문에 주의가 필요하다.
WAN 구간의 연결#
WAN serial 인터페이스 : V.35, EIA/TIA-232, EIA/TIA-449, X.21, EIA-530
문제는 서로 거리가 상당히 먼 site의 라우터 사이의 네트워크를 연결한다는 가정하에서 생각해보면, 만약 이 구간의 케이블을 직접 설치해야한다면 이 과정에서 발생하는 비용이 상당할 것이다. 따라서 망 사업자가 미리 매설해놓은 케이블(전용선, leased line이라고도 표현함)을 임대해서 사용하는 과정이 보통이다. (보통은 이런 망 사업자가 KT겠징??)
각 망의 CSU/DSU사이의 망을 연결하는 미디어를 제공하는 기관이 망 사업자이다.
전용회선 구간에서 사용하는 프로토콜은 PPP, HDLC 같은 프로토콜을 사용하게 됀다.
Hardware is PowerQUICC Serial
MTU 1500 bytes, BW 128 Kbit, DLY 20000 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation HDLC, loopback not set
Keepalive set (10 sec)
Last input never, output never, output hang never
Last clearing of "show interface" counters never
Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0
Queueing strategy: weighted fair
Output queue: 0/1000/64/0 (size/max total/threshold/drops)
Conversations 0/1/32 (active/max active/max total)
Reserved Conversations 0/0 (allocated/max allocated)
Available Bandwidth 96 kilobits/sec
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
0 packets input, 0 bytes, 0 no buffer
Received 0 broadcasts, 0 runts, 0 giants, 0 throttles
0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
4 packets output, 96 bytes, 0 underruns
0 output errors, 0 collisions, 2 interface resets
0 output buffer failures, 0 output buffers swapped out
1 carrier transitions
DCD=down DSR=down DTR=down RTS=down CTS=down
RouterD>
모든 벤더의 WAN구간의 인터페이스는 HDLC를 사용하도록 디폴트 설정이 돼있당.~
시스코의 경우 HDLC를 변형해서 cisco HDLC를 사용한다.
cisco HDLC
|flag|address|control|proprietary(like ethernet type field)|data|FCS|Flag
standard HDLC
|flag|address|control|data|FCS|Flag
이기종 연결에서는 PPP를 주로 이용한다.
PPP : 동기식, 비동기식 전송 지원(L1)
인증 링크제어와 같은 다양한 옵션 기능을 제공함 (L2)
상위 계층의 다양한 프로토콜을 지원 (L3>=)
SLIP : 비동기식만 지원
HDLC : 동기식만 지원
(config-if)#encapsulation hdlc (엔터)
(config-if)#encapsulation ppp (엔터)
RouterD#conf t
Enter configuration commands, one per line. End with CNTL/Z.
RouterD(config)#int s0/0
RouterD(config-if)#encapsulation ppp
RouterD#sh int s0/0
Serial0/0 is administratively down, line protocol is down
Hardware is PowerQUICC Serial
MTU 1500 bytes, BW 128 Kbit, DLY 20000 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation PPP, LCP Closed, loopback not set
Keepalive set (10 sec)
Last input never, output never, output hang never
Last clearing of "show interface" counters 00:00:34
Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0
Queueing strategy: weighted fair
Output queue: 0/1000/64/0 (size/max total/threshold/drops)
Conversations 0/1/32 (active/max active/max total)
Reserved Conversations 0/0 (allocated/max allocated)
Available Bandwidth 96 kilobits/sec
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
0 packets input, 0 bytes, 0 no buffer
Received 0 broadcasts, 0 runts, 0 giants, 0 throttles
0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
0 packets output, 0 bytes, 0 underruns
0 output errors, 0 collisions, 0 interface resets
0 output buffer failures, 0 output buffers swapped out
0 carrier transitions
DCD=down DSR=down DTR=down RTS=down CTS=down
RouterD#