본문 바로가기
Computer Science/CS

[전산 공부] 데이터 통신

by HelloJudy 2024. 2. 2.

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: 최초의 라디오 패킷 통신방식을 적용한 컴퓨터 네트워크 시스템
  • 샘플링: 선형적인 데이털르 비선형적 데이터로 취급할 수 있도록 디지털화하는 것이다.

[ 폴링 ]

  • 폴링: 리얼타임 웹을 위한 기법으로 일정한 주기(특정한 시간)를 가지고 서버와 응답을 주고받는 방식이 폴링 방식이다.

하드웨어 폴링과 소프트웨어 폴링은 컴퓨터 시스템에서 외부 이벤트를 감지하고 처리하는 두 가지 기술

  1. 하드웨어 폴링: 하드웨어 폴링은 하드웨어 장치가 외부 이벤트를 감지하기 위해 주기적으로 상태를 확인하는 방법. 일반적으로 하드웨어 장치는 레지스터나 특정 메모리 위치에 상태를 기록하고, 프로세서는 이를 주기적으로 확인하여 상태 변경을 감지합니다.
    1. 장점: 속도가 빠르다.
    2. 단점: 하드웨어 자원을 지속적으로 사용하게 되므로 전력 소모가 높고 효율성이 낮을 수 있다. 이벤트가 발생할 때까지 대기해야 하므로 실시간성이 떨어질 수 있다.
  2. 소프트웨어 폴링: 소프트웨어 폴링은 소프트웨어가 주기적으로 하드웨어 상태를 확인하여 외부 이벤트를 감지하는 방법. 일반적으로 운영 체제나 응용 프로그램에서 사용됩니다.
    1. 장점: 하드웨어 폴링에 비해 시스템 자원을 덜 사용하고 효율적이다. 소프트웨어 폴링을 통해 이벤트 발생 여부를 즉시 감지할 수 있어 실시간 응용에 적합하다.
    2. 단점: 상대적으로 느리다.

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

댓글