<1> 네트워크 기본
1. 네트워크 개요
1.1. 네트워크란
: 통신 매체를 통해 연결된 *노드들의 집합
* 노드 : 주소를 가지고 있는 시스템, 엔터티
~데이터/리소스 제공하고 받기 위한 시스템
1.2. Network 구성요소
1) 전송 단말기
- 정보를 생성, 저장, 검색, 가공 작업을 하면서 동시에 Network에 Access 할 수 있는 장치
Ex. PC, PDA, Cellular Phone, PMP, Digital Camera, etc.
2) 전송 매체
- 전기적인 신호를 전달할 수 있는 Cable들을 말한다.
Ex. 동축케이블, TP, 광케이블, 무선(RF), 인공위성 등
3) 전송 Protocol (주소 포함)
- Protocol이란 표준화된 통신 규약
- Protocol들은 각 전송 장비마다 주소를 부여하고 부여된 주소를 기반으로 사용자 Data를 전송
※ 네트워크 장비의 필요성! “네트워크 확장”(;연결되는 노드의 개수)을 위해서 사용
4) 전송 장비
- PAN, LAN, MAN, WAN 구간에서 사용되는 장비
- 신호의 증폭과 사용자 주소 기반으로 정보를 전달하는 기능을 가지고 있다.
1.3. 네트워크 분류
1.3.(1). 네트워크 범위
- Local Area Network
- Wide Area Network ~ ‘SP(Service Provider)’s 망’ 의미
1.3.(2). 네트워크 기술별 분류
- Ethernet
- TokenRing (; 금융 혹은 군 같은 보안이 중요한 곳에서 아직도 사용)
- FDDI (; TokenRing의 장애에 따른 고가용성을 위해 이중 Ring 구조)
- ATM
1.3.(3). 데이터 전송 방식에 따른 분류 (; 주소)
+ Unicast
- 정확한 목적지를 가지고 통신 (Source, Destination Address)
- 1:1 통신
- 랜카드에서 자신의 주소를 판별하고 처리
; 네트워크 내 트래픽은 증가하지만, System(;내부 resource) 영향 X
- 자신의 주소로 발송된 정보가 아닐 경우 CPU 처리 안함
+ Broadcast
- 목적지를 가지지 않고 통신 (Source Address, Broadcast Address)
- Destination Address는 모두 1
- 네트워크상에 있는 모든 장비가 Broadcast를 처리
- 모든 장비가 CPU 처리 - 네트워크에 연결되어 있는 장비의 성능저하
; 네트워크 내 트래픽은 감소 되지만 System 부하는 Up
+ Multicast
- 1:M 통신
- 그룹을 지정하고 그 그룹에게만 정보를 전달
- 멀티미디어 정보를 많이 활용
- IP의 D Class 주소를 사용
1.4. NIC의 기능
1.4.(1). 랜카드의 기능
- 전기 신호로 부터 데이터를 수신하고 변환
- 데이터를 전기 신호로 변환하여 송신
- MAC Address를 이용한 데이터의 수신여부 판별
- 케이블의 흐름 제어 (Flow Control)
1.5. Network Topology
: 정보 전송을 목적으로 하는 단말기와 전송 장비들이 전송 선로를 통하여 연결된 모양
- BUS Topology
- Star Topology (; Hub & Spoke Topology)
- Ring Topology
- Tiered Star Topology
- Full Mesh Topology
2. OSI 7 Layer와 Data 전송
1.6. ISO OSI 7 Layer
1.6.(1). OSI (Open System Interconnection)
- 국제 표준화 기구인 ISO(International Standard Organization)에서 Open 시스템간 원활한 정보교환을 위하여 7개의 계층을 가지는 Protocol 표준을 제안 -> OSI 7 Layer(OSI 7계층 모델)
1.6.(2). OSI 모델의 목적
- 기본적인 하드웨어 또는 소프트웨어의 변경 없이 서로 다른 시스템 간에 개방 통신을 위한 것
1.6.(3). 계층 분류 이유?
- 복잡함의 감소
- 인터페이스의 표준화
- 상호 호환성의 확보
- 기술 개발의 가속화
- 설명과 이해(습득)의 간소화
1.6.(4). OSI 7 모델의 물리 계층 ( Layer 1 )
+ 물리적인 연결
- 물리적 연결 구간의 전기적, 기계적 특징과 순서의 정의, 활성, 관리, 비활성을 위한 기능적 특징
※ Serial Port vs Parallel Port(; 동시 많은 양 전송가능하지만, 거리오염도에 취약)
Ref) https://www.pusr.com/news/what-is-the-difference-between-serial-port-and-parallel-port.html
1.6.(5). OSI 7 모델의 데이터링크 계층 ( Layer 2 )
+ 논리적인 연결
- 전송을 위한 데이터의 형식 결정, 매체 접근 방식(MAC)의 제어
1.6.(6). OSI 7 모델의 네트워크 계층 ( Layer 3 )
+ 네트워크간 연결
- 호스트간의 경로선택과 연결성 제공
- 논리적 주소를 이용한 패킷(Packet)의 라우팅
- 데이터 전달을 위한 최적경로 선택
1.6.(7). OSI 7 모델의 전송 계층 ( Layer 4 )
+ 양단간 연결(End-to-End Connections)
- 양 호스트간의 전송 제어
- 데이터 전송의 신뢰성 확보
- 가상 회선(Virtual Circuits)의 연결 확립, 관리, 해체
- 정보 흐름의 오류 확인과 복구를 통한 신뢰성 제공
1.6.(8). OSI 7 모델의 세션 계층 ( Layer 5 )
+ 양단간 서비스
- 상호 응용 프로그램 사이의 연결 상황(Session) 확립(Establishment), 관리, 해제(Termination)
1.6.(9). OSI 7 모델의 표현 계층 ( Layer 6 )
+ 데이터 형태 결정
- Application 계층을 위한 데이터 전송 방법 협의
- 데이터의 형식 결정(formatted)
- 코드변환 구문변환, 압축, 암호화 등
1.6.(10). OSI 7 모델의 응용 계층 ( Layer 7 )
+ 사용자 인터페이스
- 응용 프로그램을 위한 네트워크 서비스의 제공, 즉 사용자가 이용할 네트워크 서비스들을 정의
Ex. E-mail(Electronic Mail), FTP(File Transfer), Telnet(Terminal Emulation)
1.6.(11). Encapsulation
⇩ | OSI 7 Layer | PDU (Layer 별 PDU 명칭) |
|
(7L) Application Layer | |||
(6L) Presentation Layer | |||
(5L) Session Layer | |||
Upper Layer Data | (4L) Transport Layer | Segment/Data stream | |
TCP Header(Control Information) | Upper Layer Data | (3L) Network Layer | Packet/Datagram |
L2 Header | Data | (2L) Data Link Layer | Frame |
0101110101001000010 | (1L) Physical Layer | Bits |
1.6.(12). De-Encapsulation
OSI 7 Layer | ⇧ | |
(7L) Application Layer | ||
(6L) Presentation Layer | ||
(5L) Session Layer | Upper Layer Data | |
(4L) Transport Layer | TCP Header | Upper Layer Data |
(3L) Network Layer | IP Header | TCP + Upper Layer Data |
(2L) Data Link Layer | L2 Header | IP + TCP + Upper Layer Data |
(1L) Physical Layer | 0101110101001000010 |
7L | Application | Application |
6L | Presentation | |
5L | Session | |
4L | Transport | Transport |
3L | Network | Internet |
2L | Data Link | Network Interface |
1L | Physical |
3. 계층별 장비
3.(1). Data 전송
송신 장비 | ⇨ | 수신 장비 |
Application | Data Stream | Application |
Presentation | Presentation | |
Session | Session | |
Transport | Data1 | Data2 | Data3 | Transport |
Network | L3 HDR | Data1 | Network |
Data Link | L2 HDR | L3 HDR | Data1 | L2 railer | Data Link |
Physical | 11001010101100000010 | Physical |
3.(2). Ethernet LAN의 특성
-1. 매체를 공유
-2. Broadcast System
3.(3). Collision/Broadcast Domains
+ CSMA/CD 사용
# Ref. Ethernet의 매체 접근 방식 : CSMA/CD(Carrier Sense Multiple Access / Detect)
# Collision 발생 시,
# (1) 전송 중단
# (2) 재전송 시도(우선순위), 임의의 대기시간, 15번 시도
# (3) 전송취소
- Collision Domain
+ 전체 전달
- Broadcast Domain
+ Hub 환경
- 전체가 하나의 CD/BD 형성
- 매체의 Bandwidth가 공유
3.1. Data Link Layer(L2)
3.1.(1). Data Link Layer Function
+ 프레임 구성
- network 계층에서 받은 데이터를 프레임을 구성한다.
- 프레임의 송신자와 수신자를 나타내는 정보를 프레임의 헤더에 추가한다.
+ MAC address를 사용하여 매체(Cable)에 Access한다. (; 매체 접근 방식 규정)
+ 전기신호를 받아 bit를 Byte로 프레임을 결합한다.
+ 브리지(스위치)는 Layer 2의 장비로서 하드웨어 어드레스(물리적인 평면적인 주소)를 기준으로 하여 Data 전송을 결정한다.
Physical | Data Link |
Ethernet | |
802.3 | 802.2 |
EIA/TIA-232 v.35 | HDLC |
Frame Relay |
3.1.(2). Switch at Data Link Layer
- Layer 2 function
- Flooding, Learning, Filtering(Blocking), Forwarding
A | Bridge | B | |
App. | App. | ||
TCP/UDP | TCP/UDP | ||
IP | IP | ||
Data Link | Data Link | Data Link | Data Link |
Physical | Physical | Physical | Physical |
3.1.(3). Data Link Layer Devices
- Switches와 Bridges는 Data-Link Layer에서 동작한다.
- Segment당 하나의 Collision Domain을 형성한다.
- 모든 Segments가 하나의 Broadcast Domain에 속한다.
3.2. Network Layer(L3)
3.2.(1). Network Layer Functions
+ 다른 네트워크에 있는 device간의 traffic을 어떻게 전송하는가?
- 논리적인 계층적인 주소 지정
- 경로 설정
Physical Layer | Data Link Layer | Network Layer |
Ethernet | IP, IPX | |
802.3 | 802.2 | |
EIA/TIA-232 v.35 | HDLC | |
Frame Relay |
3.2.(2). Router operate at the Network Layer
- Broadcast control
- Multicast control
- Optimal path determination
- Traffic management
- Logical addressing
- Connects to WAN services
- 네트워크를 형성하는 부분 L2(+ L1)
※ MAC 주소는 같은 네트워크 범위 안에서만 사용하게 되고 L3부분인 네트워크끼리에서는 사용X(; ARP Portocol로 IP주소와 MAC주소가 매칭되기에?)
- 네트워크와 네트워크를 연결 하는 부분 L3
<2> TCP/IP
1. TCP/IP의 이해
1.(1). TCP/IP 프로토콜 스택
Application | FTP | TELNET | SMTP | DNS | TFTP | RIP | SNMP | |
Port Num | 21 | 23 | 25 | 53 | 69 | 520 | 161 | |
Transport | TCP | UDP | ||||||
Internet | IP & ICMP & ARP & RARP | |||||||
Network Interface | Network Interface |
Protocol Name | Protocol Number |
ICMP | 1 |
TCP | 6 |
UDP | 17 |
OSPF | 89 |
EIGRP | 88 |
1.(2). TCP의 특징
- 연결 지향 프로토콜
- 에러 검출
- 순서검사(Sequencing)
- 응답(Acknowledgment)
- 흐름제어(Flow Control)
- 패킷복구(Packet Recovery)
- Full Duplex 가상회선
1.(3). UDP의 특징 및 헤더
- 최소 서비스
- 비 신뢰성
- 비 전달 보장성
- Datagram을 직접 접근함
UDP Source Port | UDP Destination Port |
UDP Total Length | 16bit UDP Checksum |
IP Header ( 20 Byte ) | UDP Header ( 8 Byte ) | Application Data |
1.1.(1). Internet 계층
- Internet Protocol (IP)
- Internet Control Message Protocol (ICMP)
- Address Resolution Protocol (ARP)
- Reverse Address Resolution Protocol (RARP)
1.1.(2). IP 특징
- 논리적 주소인 IP Address 사용
- IP Address를 이용 경로 관리
- 최적의 경로 선택
- Packet 전송
- Best-Effort Delivery
+ 신뢰성 보장 못함
Internet Layer | ⇨ : Reassemble | Network Interface Layer |
⇦ : Fragmentation |
1.1.(3). ICMP
+ ICMP
- ICMP : Internet Control Message Protocol
- 오류 보고 (Error 발생 시 처리에 관한 IP의 단점 보완)
+ ICMP Service
- Echo Request and Reply (Ping Command)
- Destination Unreachable
- ICMP Redirect
- Time Exceed
ICMP Packet (L3) | IP Packet’s Data include parts ⇒ | Type | Code | Checksum | Data | |
IP Packet (L3) | 10.1.1.1 | 10.1.1.2 | Data |
1.1.(4). ARP
1) ARP Request(; Broadcast)
Ex. A : “IP 주소 172.16.1.1인 장비는 MAC주소를 대답하라”
2) ARP Reply
Ex. B(172.16.1.1)(; Unicast to A) : “ARP Request의 IP 정보가 나네. 나의 MAC주소는 0x##-##-##-##-##-##이야”
- IP Packet 전송을 위해서는 Destination의 MAC Address를 알아내어 Frame의 Header에 DA로 설정해야 Frame 형태로 전송할 수 있다.
- ARP Protocol을 이용하여 IP Address-MAC Address의 형태로 보관하여 사용을 한다.
Ethernet 목적지 주소 | Ethernet 출발지 주소 | 프레임 유형(0806) | ARP 패킷 |