1) 개념
[ 통신 방법 ]
- Bluetooth: 휴대폰과 그 주변장치를 연결하는 무선 솔루션, IEEE 802.15.1 표준으로 채택된 통신 방법
- 10m 안팎의 근거리 무선 통신 기술
- ISM 주파수 대역인 2,400 ~ 2,483.5HZ를 사용한다.
- 기기 간 마스터와 슬레이브 구성으로 연결된다.
- RFID: 무선주파수를 이용하여 반도체 칩이 내장된 태그와 리더기로 구성된 인식시스템
- NFC: 13.56MHz의 대역을 가지며, 아주 가까운 거리 무선 통신 기술, 교통, 티켓, 지불 등 여러 곳에서 사용된다.
- ZigBee: IEEE 802.15.4 기반 PAN 기술로 낮은 전력을 소모하면서 저가의 센서 네트워크 구현에 최적의 방안을 제공하는 기술
[ 네트워크 토폴로지 ]
- 스타: 각 장치는 허브라는 중앙 제어기와 point-to-point 링크로 연결한다.
- 트리: 스타형처럼 트리에 연결된 노드는 네트워크상의 통신을 제어하는 중앙 허브에 연결한다.
- 장점: 네트워크 확장이 용이하다, 분산처리 방식 구현 가능
- 단점: 중앙 허브에 병목 현상이 발생하고, 중앙 허브의 고장은 네트워크 전체가 마비된다.
- 버스: 하나의 성형 통신에 여러 개의 노드가 연결되어 있는 형태이다.
- 장점: 설치가 간단하고 비용이 저렴하다.
- 단점: 서로 배치해야 하는 거리가 있어 재구성이 어렵고 결함이 어디서 발생했는지 찾기 어렵다.
- 그물: 중앙 제어 노드의 중계없이 모든 노드가 다른 노드와 직접 연결된다.
[ 통신 ]
- 단방향 통신: 송신자와 수신자가 고정된 형태
ex. 라디오, TV
- 반이중 통신: 송신자와 수신자가 바뀔 수 있지만 한 번에 한쪽만 전송 가능한 형태
ex. 무전기
- 전이중 통신: 송신자와 수신자가 바뀔 수 있고 동시에 전송 가능한 형태
ex. 전화선
- ALOHA: 최초의 라디오 패킷 통신방식을 적용한 컴퓨터 네트워크 시스템
- 샘플링: 선형적인 데이털르 비선형적 데이터로 취급할 수 있도록 디지털화하는 것이다.
[ 폴링 ]
- 폴링: 리얼타임 웹을 위한 기법으로 일정한 주기(특정한 시간)를 가지고 서버와 응답을 주고받는 방식이 폴링 방식이다.
하드웨어 폴링과 소프트웨어 폴링은 컴퓨터 시스템에서 외부 이벤트를 감지하고 처리하는 두 가지 기술
- 하드웨어 폴링: 하드웨어 폴링은 하드웨어 장치가 외부 이벤트를 감지하기 위해 주기적으로 상태를 확인하는 방법. 일반적으로 하드웨어 장치는 레지스터나 특정 메모리 위치에 상태를 기록하고, 프로세서는 이를 주기적으로 확인하여 상태 변경을 감지합니다.
- 장점: 속도가 빠르다.
- 단점: 하드웨어 자원을 지속적으로 사용하게 되므로 전력 소모가 높고 효율성이 낮을 수 있다. 이벤트가 발생할 때까지 대기해야 하므로 실시간성이 떨어질 수 있다.
- 소프트웨어 폴링: 소프트웨어 폴링은 소프트웨어가 주기적으로 하드웨어 상태를 확인하여 외부 이벤트를 감지하는 방법. 일반적으로 운영 체제나 응용 프로그램에서 사용됩니다.
- 장점: 하드웨어 폴링에 비해 시스템 자원을 덜 사용하고 효율적이다. 소프트웨어 폴링을 통해 이벤트 발생 여부를 즉시 감지할 수 있어 실시간 응용에 적합하다.
- 단점: 상대적으로 느리다.
2) OSI 모델
Layer 7 : 응용 계층(Application layer)
- 사용자와 가장 밀접한 계층으로 인터페이스 역할을 하는 계층
- 프로토콜로 Data가 어떤 용도로 사용될지는 APP이 결정한다.
- Ex) HTTP, SMTP, POP3, FTP, IRC, SSH, DNS, TELNET
* HTTP 중요
Layer 6 : 표현 계층(Presentation layer)
- 데이터 표현에 대한 독립성을 제공하고 암호화하는 역할을 하는 계층
- 변환, 암호화/복호화, 압축, 보안을 수행한다.
- Ex) MPEG, SSL, FTP, IMAP SSH 등
Layer 5 : 세션 계층(Session layer)
- 통신 장치 간의 상호작용 및 동기화를 제공하는 계층
- 세션 관리, 동기화, 원활한 종료 등을 수행한다.
- Ex) API, Socket, VARIOUS APIS 등
Layer 4 : 전송 계층(Transport layer)
- 종단 간 신뢰성 있고 정확한 데이터 전송을 담당하는 계층
- 단말기 사이(메시지 종단 간, End-To-End)에 오류 수정, 흐름 제어
- 전송단에서 식별자: (Port 번호)
- Ex) TCP (느리지만 신뢰성 있다.), UDP (빠르지만 신뢰성이 낮다. 실시간. 스마트팩토리, IOT에서 사용)
- Ex) ECN, SCTP, DCCP
* TCP (4계층) / IP (3계층)
* Socket
: 소켓은 두 호스트를 연결해 주는 도구라고 정의할 수 있다.
: TCP라는 요소를 User mode application process가 접근할 수 있도록 추상화한 인터페이스.
Layer 3 : 네트워크 계층(Network layer)
- 라우터(Route)를 통해 이동할 경로를 선택하여 IP Address를 지정하고, 해당 경로에 따라 패킷(Packet)을 전달하는 계층
- 패킷 종단(End To End)간 경로설정 기능, IP 주소 지정, 경로 지정, 주소 변환 등 수행
- 네트워크에서 식별자: Host (IP Address)
- Host : 인터넷에 연결된 컴퓨터
- IP 주소는 NIC 하나에 n개 바인딩 가능하다.
- Ex) 라우터, IP, IPSec, ICMP(IP 상태 및 에러 메시지 전달), IGMP(멀티캐스트 실시간 전송)
- ICMP: 오류보고, 상황보고, 경로 제어정보 전달 기능
Layer 2 : 데이터링크 계층(Data link layer)
- 물리적인 연결을 통해 인접한 두 장치 간의 신뢰성 있는 정보 전송을 담당하는 계층
- 물리적 전송 오류를 감지하는 기능을 제공하여 송수신 호스트가 오류를 인지할 수 있게 해 주며, 컴퓨터 네트워크에서의 오류 제어는 송신자가 송신한 데이터를 재전송 방법으로 처리
- 물리적 연결을 이용해 오류 제어, 흐름 제어 / P2P 링크 간의 오류제어, 흐름제어 기능
- 동기화 수행
- 데이터가 머무르는 메모리 (저장장치), 이더넷(유선)
- Ex) 브릿지, 스위치, Ethernet, SLIP(TCP/IP가 직렬 연결을 통해 작동할 때 사용), PPP, FDDI, HDLC 등
1) 브릿지: 네트워크에 흐르는 프레임을 물리주소로 필터링한다.
2) 스위치: 보안 및 트래픽 관리 기능도 제공할 수 있다.
Layer 1 : 물리 계층(Physical layer)
- 전기, 기계적인 신호를 주고받는 역할을 하는 계층
- H/W에서 식별자: NIC, LAN카드, 통신 카드 (Mac Address)로 signal을 Data로 뽑는다.
- Mac Address는 변경 가능하다.
- Ex) 리피터, 케이블, 허브, Coax, Fiber, Wireless 등
[ 물리 계층 장비 ]
1) 트랜시버
- 전송기와 수신기를 하나로 합친 장비
- 특별히 이더넷 네트워크에서는 트랜시버를 MAU라고 부른다.
2) DSU와 CSU
주로 전화 회선을 디지털 장비에 연결하는 데 사용되는 장비
- DSU(Digital Service Unit)
- 사용자-네트워크 인터페이스의 네트워크 측으로 구성하는 통신 네트워크 장비의 물리적인 연결 수단
- DTE에서 출력되는 디지털 신호를 디지털 회선망에 적합한 신호 형식으로 변환한다.
- 전송 선로의 양쪽 끝에 설치되어 디지털 신호를 전송로에 전송할 수 있다.
- 직렬 단극형 신호를 변형된 양극형 신호로 바꿔준다.
- 빠르고 안정적인 데이터 전송을 가능하게 한다.
- CSU(Channel Service Unit), 군 대역 모뎀
- 광역통신망에서 신호를 받거나 전송하며, 전송 양측으로부터의 전기적인 간섭을 막는 장벽 제공
- 디지털 통신 회선에서 전송되는 신호를 모니터링하고, 회선에 장애가 발생할 경우 해당 문제를 식별하고 처리한다.
- 회선의 신호 강도, 오류율 등을 모니터링하여 네트워크의 안정성과 성능을 유지한다.
- 음성 대역이 다중화된 넓은 대역폭을 사용한다.
3) 리피터
- 물리적인 신호를 증폭하는 역할
4) 허브
- MAC 주소나 IP 주소와 같은 것과 관계없으며 비트 단위의 전송만을 담당
5) 모뎀
- 디지털 신호와 아날로그 신호 사이의 변환을 담당하는 장치
콜리전 도메인
: 복수의 네트워크 장비나 호스트가 동일한 케이블에 연결되어 있어 호스트 두 대가 동시에 데이터를 전송하는 경우 콜리전이 일어나는 범위
[ 통신계층 캡슐화 시 데이터 단위 ]
- application layer(응용 계층): messages / data (메시지/데이터)
- transport layer(전송 계층): segment(세그먼트)
- network layer(네트워크 계층): datagram / packet (데이터그램/패킷)
- data link layer(데이터링크 계층): frame(프레임)
- physical layer(물리 계층): bits(비트)
3) OSI 모델과 TCP/IP
✔️ TCP, UDP
브로드캐스팅 지원: IP, UDP 프로토콜
공통점
오류검사: 헤더 부분에 체크섬(checksum) 필드가 있어서 전송 중에 데이터가 변경되었는지 확인한다.
[ TCP ]
- 패킷을 재순서화
- 오류 제어
- 혼잡 제어: 네트워크 내 패킷 수가 과도하게 증가하는 현상 방지
- 데이터 흐름 제어: 수신자 버퍼 오버플로우 방지
- 흐름제어 패킷 다중화
- 검사합(checksum, 체크섬)의 포함은 필수 사항이다.
- 전이중, 점대점 서비스
TCP 헤더
- flags(플래그): TCP 동작 제어를 위해 사용하는 1비트 크기 SYN, ACK
- 윈도우 크기: 수신 측에서 수신할 수 있는 최대 데이터 크기
- Sequence Number: 송신자가 보내는 데이터의 시작 바이트 숫자
- Acknowledgment Number: 송신자에게서 받은 데이터 바이트의 + 1
- Data Offset (Header length)
- 4byte 단위로 표시. 일반적으로 option 없는 경우 20byte
[ UDP ]
- 오류검사는 체크섬을 사용하여 흐름제어 기능 없다.
- 다수수의 기기에 대한 브로드캐스트 기능 제공
✔️ 프로토콜
- IP: 송수신간 패킷 단위
- ARP: IP 주소 -> MAC 주소
- RARP: MAC 주소 -> IP 주소
- ICMP(Internet Control Message Protocol): ping 유틸리티 구현해 오류 발생 알림
- TCP/IP 계층 구조에서 IP의 동작 과정에서의 전송 오류가 발생하는 경우를 대비해 오류 정보를 전송하는 목적으로 사용하는 프로토콜
- traceroute, tracert 등 해당 프로토콜 기반으로 동작
- 라우팅 프로토콜: 데이터 전송을 위해 최적의 경로 설정
[ 경로 배정 프로토콜 ]
- 내부 라우팅 프로토콜: RIP, OSPF
- 외부 라우팅 프로토콜: BGP
[ 응용 프로토콜 ]
- TCP 기반 응용 프로토콜: Telnet(23), FTP(20,21), SMTP(25)
- 혼잡제어: 라우터의 혼잡제어
- UDP 기반 응용 프로토콜: SNMP, TFTP
- 헤더: 전체 길이 필드 있음.
[ 계층적 분류 ]
- DHCP(Dynamic Host Configuration Protocol): 공유기에 접속하는 컴퓨터는 사설 IP 할당, IP주소의 자동 할당을 위해 사용, 동적으로 할당하는 방법 제공
- Telnet: 가상 터미널 연결, 텍스트 기반 양방향 통신
- 원격지 컴퓨터 접속하여 자신의 컴퓨터처럼
- NAT: 사설 IP 주소를 공인 IP 주소로 바꿔주는 데 사용하는 통신망
- 응용: HTTP, SMTP(25), SNMP, FTP, Telnet, IMAP, DNS
- SMTP(TCP): MIME과 함께 전자우편 송신을 담당
- SNMP(UDP): 인터넷으로 연결된 장치들을 관리하는 네트워크 관리 프로토콜
- 표현: ASCII, MPEG, JPEG, MIDI, SSL
- 세션: NetBIOS, SAP, SDP NWLink
- 전송: TCP, UDP, SPX
- 네트워크: IP, IPX, ICMP, IGMP, ARP, RARP
- RARP: IP 호스트가 자신의 물리 네트워크 주소는 알지만 IP 주소는 모르는 경우, 서버에게 IP주소를 요청하기 위해 사용하는 프로토콜
- ARP: 네트워크 상 IP 주소를 물리적 네트워크 주소(MAC)를 대응시키기 위해 사용
- ICMP(Internet Control Message Protocol): 호스트 서버와 인터넷 게이트웨이 사이에서 메시지를 제어하고 오류 처리와 전송 경로의 변경 및 파악을 위한 프로토콜
- 데이터 링크: Ethernet(이더넷), Token Ring(토큰링), FDDI, HDLC
- 물리: RS-232, V.35
✔️ IP
IP 특징
- 숫자로 8비트씩 4부분, 총 32비트로 구성
- A ~ E 클래스
- 비연결형, 비신뢰성 프로토콜
- 패킷을 분할, 병합하는 기능을 수행하기도 한다.
- 에러제어, 흐름제어 없음
- 전송할 데이터에 주소를 지정하고, 경로를 설정하는 기능을 함
- Best Effort 원칙에 따른 전송 기능을 제공
- IP 패킷에서는 헤더 체크 섬을 제공
- 데이터 체크 섬은 제공하지 않고, 헤더 체크 섬만 제공한다.
[ IPv4 vs IPv6의 구성 ]
구분 | IPv4 | IPv6 |
주소 길이 | 32bit = 4byte | 128bit = 16byte |
표시 방법 | 8비트씩 4부분으로 나뉜 10진수 | 16비트씩 8부분으로 나뉜 16진수 |
주소 개수 | 약 43억 개 | 4.3 x 10^38 |
주소 할당 | A, B, C, D 등 클래스 단위 비순차적 할당(비효율적) | 네트워크 규모 및 단말기 수에 따른 순차적 할당(효율적) |
헤더 크기 | 가변 | 고정 |
QoS | Best Effort 방식 / 보장 곤란 | 등급별, 서비스별 패킷 구분 보장 |
보안 기능 | IPSec 프로토콜 별도 설치 | 확장기능에서 기본 제공 |
Plug & Play | 지원 안 함 | 지원 |
모바일 IP | 곤란 | 용이 |
웹 캐스팅 | 곤란 | 용이 |
전송 방식 | 멀티캐스트, 유니캐스트, 브로드 캐스트 | 멀티캐스트, 유니캐스트, 애니캐스트 |
브로드캐스트는 방송용. 너무 다 보내니깐 효율적으로 애니캐스트 사용하자.(옆으로 전송~소문낸다~)
* IPv4의 패킷 구조
[ IPv4/IPv6의 전환 기술 ]
1) 듀얼 스택(Dual Stack)
- IPv4/IPv6를 동시에 지원
- IPv4/IPv6 패킷을 주고받을 수 있음
2) 터널링(Tunneling)
- 두 IPv6 네트워크 간에 터널을 이용하는 기술
- IPv4/IPv6 호스트와 라우터에서 IPv6 패킷을 IPv4 패킷에 캡슐화하여 전송
3) 주소 변환(Address Transalation)
- IPv4와 IPv6 간에 주소를 변환하여 두 버전을 연동
[ 클래스 구하기, IPv4의 주소 분류 ]
- A Class: 0~ 127 : 국가나 대형통신망
- 서브넷마스크: 255.0.0.0
- B Class: 128 ~ 191 : 중대형
- 서브넷마스크: 255.255.0.0
- C Class: 192 ~ 223 : 소규모
- 서브넷마스크: 255.255.255.0
- D Class: 224 ~ 239 : 멀티캐스트용
- E Class: 240 ~ 255 : 실험용
* 클래스마다 범위 암기하는 방법
각각 시작하는 숫자를 외운다. 그 다음 나머지 중 가장 작은 숫자부터 가장 큰 숫자로 하면 된다.
ex. B클래스는 10으로 시작한다.
그리고 나머지 중 가장큰걸 조합하면 1000 0000 ~ 1011 1111
A: 0000 0000 A 0
B: 1000 0000 B 128 (2^7)
C: 1100 0000 C 192
D: 1110 0000 D 224
E: 1111 0000 E 240
쉽게 2진법으로 하면 이해가 쉬움
IP 관련 용어
- NAT: 사설 IP 주소를 공인 IP 주소로 변환하는 주소 변환기
- DHCP(Dynamic Host Configuration Protocol): 클라이언트 IP 주소를 자동으로 동적 할당
- CIDR: Class 체계보다 유연한 IP 주소할당 방식(클래스 없는 도메인간 라우팅 기법)
4) 데이터 링크 제어
✔️ ARQ(Automatic Repeat reQuest)
* 오류(에러) 수정 방식
데이터 통신 시스템에서 발생하는 에러를 제어하는 방식으로 송신 측이 오류를 검출할 수 있을 정도의 부가적인 정보를 프레임에 첨가하여 전송하고 수신 측이 오류 검출 시 재전송을 요구하는 방식
ARQ 종류
1) 선택적 반복 ARQ
손상되거나 손실된 프레임만 재전송하므로 프레임 전송 효율이 높다.
2) Go-back-N ARQ
오류가 발생한 프레임과 그 이후 전송한 모든 프레임을 재전송한다.
3) stop-and-wait ARQ
1개씩 전송 후 오류 발생 시 재전송을 수행한다.
4) Forward Error Correction ARQ(전진 에러 수정)
에러 검출과 수정을 동시에 수행하는 에러 제어기법이다.
해밍 코드와 상승 코드 등의 알고리즘이 해당한다.
5) LAN (근거리 통신망)
LAN 방식 중 "10Base-T"에서 10은 데이터 전송 속도 10Mbps이다.
이때 T는 꼬임선 이용하고, F는 광케이블 사용한다.
[ 통신망 사용 시 공유 매체에 대한 다중 접근 제어 방식 ]
✔️ CSMA/CA(무선랜)(Carrier-sense multiple access with collision avoidance): 충돌 회피
- IEEE 802.11
무선랜 규격 | 최대속도(Mbps) | 채널 대역폭(MHz) | 사용 주파수 대역(GHz) | 주요 특징 |
802.11b | 11 | 20 | 2.4 | 초기 기술, 느린 전송 속도 DSSS |
802.11a | 54 | 20 | 5 | OFDM |
802.11g | 54 | 20 | 2.4 | OFDM, DSSS 2.4GHz 대역 간섭 |
802.11n | 600 | 20 / 40 | 2.4/5 | OFDM MIMO |
802.11ac | 6900 | 20 / 40 80 / 160 | 5 | OFDM MU-MIMO |
✔️ CSMA/CD(유선랜) (Carrier-sense multiple access with collision detection): 충돌 탐지
- IEEE 802.3
- 버스형 토폴로지에 사용
- 충돌에 의한 데이터 지연 시간 예측 X
- 이더넷: CSMA/CD방식을 사용하는 LAN
✔️ 토큰 패싱 방식
- 전송매체에 접근하기 위해 토큰이라는 특정 패킷을 사용한다.
- 토큰링:모든 노드사이에 물리적인 링이 연결되어 토큰이 링을 따라 순차적으로 전송
- 토큰버스: 모든 노드 사이에 버스형 토폴로지 이용, 토큰링과 구조는 같고 케이블의 양 끝에 신호의 바인딩 막기 위한 터미네이터 장치 사용
[ LAN 표준 ]
- IEEE 802.2 LLC
- IEEE 802.3 CSMA/CD방식(유선랜)
- IEEE 802.4 토큰 버스 방식
- IEEE 802.5 토큰링 방식
- IEEE 802.11 CSMA/CA(무선랜)
- TDM: 하나의 통신회선을 여러 사람이 동시에 사용할 수 있게 하기 위해 사용하는 방식
- FDM: 누화 및 상호 변조 잡음은 하나의 주파수 대역폭을 나누어 사용하는 채널들이 겹치면서 생기는 오류와 관계있는 멀티플렉싱
- ALOHA: 최초의 라디오 패킷 통신방식을 적용한 컴퓨터 네트워크 시스템
📌 Reference
'Computer Science > CS' 카테고리의 다른 글
[전산공부] 데이터베이스 (4) | 2024.02.25 |
---|---|
[전산공부] 운영체제 (0) | 2024.02.18 |
[전산 공부] 자료구조 (0) | 2024.01.27 |
[전산 공부] 컴퓨터 구조 (0) | 2024.01.14 |
댓글