[ 네트워크의 기초 ]
- 정의
● 컴퓨터 - 케이블 - 데이터를 연결
- 전송방식
● Unicast : 일 대 일 -> 점
● Multicast : 일 대 다 -> 그룹
● Broadcast : 일 대 전체 -> 모두
○ 명시적인 통신
- LAN (Local Area Network)
● 근거리 통신망
● 조직 내부 혹은 비교적 좁은 지역을 연결
● 속도가 빠름
● Broadcast를 동작하는 내부 -> Broadcast 도메인
● Ethernet(protocol) Switch
● Switch는 LAN을 구성하는 장비 -> Broadcast 도메인 확장
- WAN (Wide Area Network)
● 원거리 통신망
● 물리적으로 넓은 범위를 연결
● 속도가 느림
● LAN의 외부가 모두 포함 됨 -> Router를 기준으로 시작됨
● ISP, SP
● Router 장비로 구성 됨 -> 경로를 이용하여 정확한 통신
[ 통신 규약(Protocol) ]
- Protocol : 규칙과 약속
- Network Model
● 통신이 일어나는 절차를 각 기능별로 모듈화시켜 만들어놓은 구조
● OSI 7 Layer -> 문제 확인용 모델
● TCP/IP Model -> 실제 사용중인 모델
- OSI 7 Layer
● 1계층 - 물리계층
○ 물리적인 계층
○ 전기 신호 전달
● 2계층 - 데이터 링크 계층
○ MAC 주소 구분
○ LAN 구성
○ Switch
● 3계층 - 인터넷 계층
○ IP 주소 구분
○ WAN 구성
○ Router
● 4계층 - 전송 계층
○ Port 주소 구분
○ 데이터 전송 방식 구분
○ 서비스 구분
○ TCP, UDP
● 5계층 - 세션 계층
○ 특정 종류(연결이 필요한 종류)의 서비스를 받을 때만 사용
● 6계층 - 표현 계층
○ 상위계층에서 만들어진 데이터의 형태 표현
○ 인코딩, 압축, 암호화에 대한 정보
● 7계층 - 응용 계층
○ 사용자 인터페이스 계층으로 사용자의 명령을 받아주는 계층
- 전송 방법
● Encapsulation : 7 -> 1계층 순서로 데이터를 포장
● Decapsulation : 1 -> 7계층 순서로 데이터를 해석
● 택배 송/수신 과정과 비슷 함
○ En : 상품 포장 과정
○ De : 상품 확인 과정
● 계층별로 각 장비들은 전 계층의 데이터를 확인 할 필요는 없음
[ 계층별 장비 및 역할 ]
- 케이블
● Straight Cable
○ 핀 배열이 다른 장비들은 양쪽의 핀 배열이 같기 때문에 Straight Cable이 마땅하다.
● Cross Cable
○ 핀 배열이 같은 장비들은 정보를 보낼 시 양 쪽의 핀이 다른 곳으로 전송 되 반송파가 발생하기 때문에 핀을 맞춰주기 위해서 Cross Cable을 사용
- 1계층 - Physical Layer
● 비트 형태의 신호를 전기적 신호로 변환
● 전기 신호 전달
● 장비
○ Hub
■ 들어온 포트를 제외한 나머지 포트에 복사 후 전달
■ 물리적 개념의 전달 방식
■ Half-duplex (반이중) -> 한 쪽이 말하면 다른 한 쪽은 못함
■ 신호 충돌이 발생할 수 있음
■ LAN을 구성하는 장비
- 2계층 - Data Link Layer
● 데이터 단위 : Frame
[ Frame ]
○ Preamble(64bit) : 받을 준비를 시킴
■ 데이터를 받을 때 준비
■ 보내는 장비의 초당 bit의 속도(bps)를 알릴 수 있음
○ Destination Address(48bit) : 받는 장비 MAC 주소
○ Source Address(48bit) : 보내는 장비 MAC 주소
○ Type(16bit) : 상위 계층의 Protocol값
○ FCS - Frame Check Sum(24bit) : 데이터 손상 여부 확인
● 역할
○ 인접 장비 접근을 위한 MAC주소 지정
○ Network 환경 정보 지정
○ Broadcast Domain 논리적 분할
● 주소 : MAC Address
○ 물리 주소
○ LAN 카드 내에 붙어있음
○ 목적지가 Broadcast 주소(FF:FF:FF:FF:FF:FF)라면 모든 데이터를 처리
○ Broadcast주소를 받을 경우 Flooding을 할 수 있음
● 기술 : Ethernet (Protocol)
○ 특정 목적 주소의 장비에 전달
○ 목적지가 아닌 장비가 데이터를 받으면 데이터를 버림
● 장비
○ MAC주소를 학습하는 장비
○ Switch(L2 Switch), Bridge
■ Full-duplex
■ 기존의 Hub는 연결된 모든 장비로 보내지만 2계층 장비들은 Ethernet Protocol을 확인할 수 있기 때문에 선별하여 데이터를 보내줄 수 있음
■ 연결된 장치들의 MAC주소를 학습할 수 있으며 정보를 저장할 수 있음
■ Broadcast Domain 확장
■ Collision Domain 감소
■ Hub와 같이 Flooding을 하기는 하지만 모르는 주소가 올 경우에만 수행
■ 처음 단말이 데이터를 전송하면 수신 단말의 주소를 모를 경우 데이터를 Flooding
■ 그렇게 하면서 단말들의 MAC주소와 포트를 학습
■ Learning, Flooding 및 Forward, Filtering, Aging 을 할수 있음
■ [참고] 관리자가 Switch와 통신을 하기 위해서는 IP주소가 필요 하긴 함
○ Multi Layer Switch
- 3계층 - Internet Layer
● 데이터 단위 : Packet
● 역할
○ 최종 목적지 구분을 위한 IP주소 지정
○ 종단 목적지 논리 주소 지정
○ 최종 목적지로 데이터가 전달되는 경로 설정
● 주소
○ IP Address
○ End Point Device에 주소를 부여하기 위해 사용되는 주소
○ IP의 주소는 겹치지 않도록 클래스로 분할하여 사용
■ Classful
➢ IP를 효율적으로 할당하고 관리하기 위해 도입된 체계
➢ 전체 IP를 지정된 크기로 Class라는 그룹으로 분리
➢ IP낭비가 심하다는 단점이 있음
■ Classless
➢ Subnet이라는 방식을 이용해 IP주소의 낭비를 막음
○ 공인 IP, 사설 IP
■ 공인 IP : 인터넷이 가능한 주소
■ 사설 IP : LAN에서 마음대로 사용할 수 있는 주소
➢ 인터넷은 안됨
➢ 라우터에 등록되어 있지 않음
○ IP 주소의 특징
■ 네트워크의 가장 처음 IP주소는 네트워크 ID
■ 네트워크의 가장 마지막 IP주소는 Broadcast IP
○ IP 주소 설정
■ LAN 구성 -> 같은 네트워크 도메인 주소를 사용해야 함
■ 인터넷이 가능한 위치에서는 할당 받은 네트워크 주소를 사용해야 함
■ IP 주소, Subnetmask
➢ 2개만 있으면 LAN만 가능
■ Gateway, DNS
➢ 다른 네트워크를 가기 위한 곳 즉, WAN으로 나가기 위한 주소
● Subnet(Sub network)
○ IP를 효율적으로 나누기 위한 방법
○ 사용하는 목적
■ IP주소 부족현상 보충
■ Broadcast Domain 논리적 분할
■ 보안
● 기술(Protocol) : IP, ICMP, ARP …
○ IP (Internet Protocol)
[ IP Header ]
○ 3계층 Protocol
■ Packet을 지정된 ‘목적지’로 전달하는 역할
➢ 목적지 : End Point Device
➢ 비 연결 및 비 신뢰성
■ ICMP (Internet Control Message Protocol)
➢ IP에서 발생한 문제를 알려주기 위한 목적
➢ IP를 사용했을 때 발생할 비 연결 및 비 신뢰성의 문제를 커버할 수 있음
➢ 하지만 단말 측에서는 받아도 해결은 안함
➢ 네트워크를 진단하는 기능이 있음
➢ 기능
✓ Ping, 목적지를 찾을 수 없을 때 반환, TTL
■ ARP (Address Resolution Protocol)
[ ARP Packet ]
➢ 목적지의 MAC 주소를 확인할 때 사용
➢ 논리 주소를 이용하여 MAC주소를 알아 올 수 있음
➢ Request -> Broadcast, Response -> Unicast
➢ [참고]
✓ 해킹에서 가장 많이 사용되는 프로토콜
○ 장비
■ 경로를 학습하는 장비
■ Router
➢ Broadcast Domain을 분할하기 위한 것
➢ 최적의 경로를 결정해 주는 기능
➢ Routing Table 정보를 이용하여 데이터를 원하는 경로로 전달
➢ 설정이 없으면 학습을 할 수 없음
■ L3 Switch
- 4계층 - Transport Layer
● 역할
○ 서비스 구분
■ 상위 계층에서 사용되는 서비스의 Port를 지정
○ 데이터 전송 방식 구분
■ 연결 및 비연결
○ 필요에 따라 단편화 작업 수행
● 주소
○ Port Address
○ Program, Application으로 데이터를 전달하기 위한 주소
○ 2Byte(16bit) : 65536
○ Well Known Port : 0~1023(잘 알려진 약속된 서비스에 사용)
○ Registed Port : 1024~49151(온라인에서 따로 등록을 한 프로그램의 주소를 할당)
○ Dynamic Port : 나머지 주소(임의로 사용 가능)
● Protocol
○ TCP (Transmission Control Protocol)
■ 연결 지향
➢ 연결 설정 -> 데이터 전송 -> 연결 종료
■ 신뢰성 보장
➢ 순차적인 데이터 전송
➢ 확인 응답및 재전송
■ 흐름제어
➢ 데이터 전달에 지연 현상이 발생했을 때 데이터의 양을 조절 -> Sliding Window
■ 혼잡제어
○ UDP (User Datagram Protocol)
[ UDP Datagram ]
■ 주소 지정 기능이 끝
■ 단순함, 비연결 지향, 신뢰성이 없음
■ 빠른 데이터 전송에 용이함
■ 데이터를 순차적으로 정리 할 필요가 없음
■ 대표 프로그램
➢ DNS, TFTP, SNMP, ...
● Three Way Handshake
○ Flag
○ SYN, ACK, RST, PSH, FIN, URG
○ [자세한 내용 참조]
[ Cisco Packet Tracer ]
- Cisco IOS
● Mode
○ User Mode
■ Interface표시
➢ Switch>
➢ Router>
■ 사용자 모드
■ 명령어 확인만 가능
■ ‘enable’명령어로 Privilege Mode로 전환 가능
○ Privilege Mode
■ Interface표시
➢ Switch#
➢ Router#
■ 관리자 모드
➢ ‘disable’명령어로 User Mode로 전환 가능
■ 전체적인 설정 확인
➢ show run
■ 설정 저장
■ ‘configure’혹은 ‘config’로 Global Configuration Mode로 전환 가능
○ Global Configuration Mode
■ Interface표시
➢ Switch(config)#
➢ Router(config)#
■ 전역 설정
■ 장비의 전체의 공통적인 설정을 할 수 있음
■ 장비별 명칭을 변경할 수 있음
■ ‘exit’명령어로 이전 단계로 돌아갈 수 있음
➢ ‘end’, ‘Ctrl + z’는 Privilege Mode로 돌아감
■ Router에서는 ‘interface [fa 0/0]’으로 Global에서 개별설정으로 특정 포트 설정으로 들어갈 수 있음
○ Regional Setting Mode
■ 개별 설정
➢ Router(config-if)#
■ 전역 설정에서 장치에 있는 여러 포트별로 설정을 할 수 있음
- 사용을 위한 초기 설정
● 장비 이름 변경
○ Router(config) # hostname [name]
● 인증 기능 설정
○ 관리자 모드 진입 PW설정
■ Router(config) # enable secret [password]
○ 사용자 모드 인증 설정
■ Router(config) # line console 0
■ Router(config-line) # password [password]
➢ User Mode진입 password 생성
■ Router(config-line) # login
➢ User Mode진입 password 적용
● 유휴시간 설정
○ Router(config-line) # exec-timeout [0~35791]
○ 0으로 입력할 경우 유휴시간 제거
● 네트워크를 통한 연결
● IP 설정
○ Router(config) # interface [fa|se] [번호]
○ Router(config-if) # ip address [IP] [Subnet]
○ Router(config-if) # no shutdown
● 기타 사용 편의 설정
○ 실시간 원격 접속 설정
■ Router(config) # line vty 0 4 # 실시간 5개 접속 가능
■ Router(config-line) # password [password]
■ Router(config-line) # login
● IP Domain Lookup해제
○ 장비를 사용할 때 오타를 내면 장비는 해당 문자를 명령으로 받아들여 IP로 재해석 하게 됨
○ 때문에 이 옵션을 해제
■ Router(config) # no ip domain-lookup
● 최종 설정 저장
○ Router# copy running-config startup-config
[ Router ]
- Router 네트워크 설정
● 인터페이스 설정
○ 1계층
■ 선 연결 후 포트 개방
○ 2계층
■ 프로토콜, 대역폭 설정
■ 클락 신호 발생(동기화 설정)
■ 이더넷은 프로토콜 자체적으로 위에 있는게 정해져 있음
○ 3계층
■ 논리적 주소(IP 주소) 설정
■ 라우팅 설정
- DCE (Data Communication Equipment)
● AP, 신호 변환 장치, CSU/DSU, 모뎀
● 신호 전달 장치
● DCE방향의 인터페이스에서는 Clock Rate 신호를 발생 시켜야 함
- DTE (Data Terminal Equipment)
● 종단 단말 장치
● 디지털 데이터를 입/출력하는데 사용하는 장치
- Routing Table
● Router는 LAN상에서 MAC주소를 학습 하는 것 처럼 Broadcast를 할 수는 없음
● 따라서 사용자의 설정에 의해 학습 된 Router의 연결 정보를 저장하고 해당 정보를 이용하여 목적지 단말까지 전달
● Routing Table 정보 확인
○ sh ip route
● 학습 방법
○ Connected (인터페이스)
■ 처음 연결이 되는 Interface 정보로 자동 학습
○ Static (정적)
■ 관리자가 직접 학습 시키는 방법
■ 설정을 빠르게 할 수 있음
■ 네트워크 환경 변경에 유연할 수 없음
■ 소규모 네트워크에 적합
○ Dynamic (동적)
■ Router들 끼리 통신을 통해서 학습하는 방법