Part5 - chapter03 : 통신 프로토콜
[ 통신 프로토콜 ]
□ 통신 프로토콜
○ 통신 프로토콜 정의
- 서로 다른 시스템에 존재하는 개체 간의 원활한 통신을 위한 소프트웨어적 하드웨어적 약속이나 규칙
○ 통신 프로토콜의 기본 구성 요소
- 구문 : Syntax, 데이터 형식, 부호화, 신호 레벨
- 의미 : Semantics, 조정, 오류 관리를 위한 제어 정보
- 시간 : 순서, 속도 조절
○ 통신 프로토콜 구조
- OSI 7계층 : 이질적인 시스템 간 상호 접속을 위한 개념을 규정하기 위함
○ 통신 소프트웨어 구성요소
- 데이터 송수신, 통신 하드웨어 제어, 이용자 인터페이스 제어
○ 통신 프로토콜의 기능
- 에러 제어 : ARQ
- 순서화 : 가상 회선, 데이터 그램
- 흐름 제어 : Sliding Window
- 동기화 방식 : 비동기식/동기식 전송
□ OSI : Open System Interconnection
○ OSI 참조 모델
- ISO에 의해 개발된 통신 표준 모델
- 통신 기능을 계층적인 층으로 나누고, 각 층은 다른 시스템과 통신하는데 필요한 기능을 수행함
- 각 층은 다른 층에 영향을 주지 않고 기능이나 프로토콜을 변경시킬 수 있음
- 상위층이 하위층에 데이터 전송을 요청하면 하위층의 프로토콜에 전송되고, 하위층이 수신하면 데이터 지시를 상위 층에 요청하는 형식
○ 물리 계층(Physical Layer)
- 전송 매체와 전송 신호를 액세스하기 위한 기계적, 전기적, 절차적 특성을 규정짓는 최하위 계층
- 실제 장비를 연결하기 위한 연결 장치
- 통신 회선이나 데이터를 나타내는 0과 1로 비트 정보를 내보니기 위한 변환 작업
- 통신 케이블, 물리적 장비, 허브, 리피터 등
○ 데이터 링크 계층(Data Link Layer)
- 물리적 연결 간의 신뢰성 있는 정보를 전송할 수 있는 기술과 연관
- 오류와 흐름을 제거하여 신뢰성 있는 데이터 전송 => 전송 계층과 차이는 종단 간이 아님
- 프레임 동기, CSMA/CD, Token-Bus, Token-Ring, 스위치 등
○ 네트워크 계층(Network Layer)
- 통신 시스템 간의 경로 선택 및 통신 트래픽의 흐름을 제어하는 기능
- 다수의 중개 시스템 중 올바른 경로를 선택하도록 지원
- 송수신자의 IP 주소를 헤더에 포함해 전송하는 논리 주소 지정 기능과 최단 전송 경로 선택 기능 수행
- 패킷 정보 전송, 정보 교환 및 중계 기능, 경로 선택 기능 등 => 라우팅, 중계, 트래픽
○ 전송 계층(Transport Layer)
- 네트워크 종단 시스템 간의 일관성 있고 투명한 데이터 전송이 제공될 수 있도록 지원
- 두 종단 간에 신뢰성 있고 효율적 데이터 전송을 위해 오류 검출과 복구, 흐름 제어, 연결 제어를 수행
- 송신, 수신 프로세스 간을 연결함
- 투명한 데이터 전송, TCP, UDP 등 => 다중화, 투명한 데이터 전송, End-to-End
○ 세션 계층(Session Layer)
- 응용 프로그램 간의 대화를 구성하고 동기를 취하며 데이터 교환을 관리하기 위한 수단 제공
- 송신, 수신 간을 논리적으로 연결 => 대화 관리, 대동기, 소동기점
○ 표현 계층(Presentation Layer)
- 데이터 표현에 존재하는 차이점을 극복하게 해줌
- 코드 문자 등을 번역하여 일관되게 전송하고 압축, 해제, 보안 기능을 담당
○ 응용 계층(Application Layer)
- 사용자가 OSI 환경에 접근할 수 있도록 함
- 사용자와 네트워크 간의 응용 서비스를 연결
- 사용자 데이터를 생성함
※ 캡슐화 : OSI 참조 모델의 물리 계층을 제외한 각 계층에서 데이터 이외에 제어 정보를 부과하는 것
[ 인터넷 프로토콜((TCP/IP) ]
□ TCP/IP 프로토콜
○ TCP/IP 프로토콜 개념
- TCP와 UDP로 구분되는 프로토콜은 트랜스포트 계층에서 응용 계층과 인터넷 계층 사이의 통신을 담당
- TCP와 UDP의 큰 차이점은 데이터 전송의 신뢰성에 있음
- TCP : 수신측의 수신 가능 상태, 수신 여부 등을 단계별로 체크해 가며 데이터를 전송함
- UDP : 망으로 데이터를 송신할 뿐 확인 작업을 수행하지 않음
○ TCP/IP 프로토콜 특징
- 인터넷 연결을 위한 통신 프로토콜
- TCP/IP는 링크, TCP, IP, 응용 계층으로 구분됨
- TCP는 데이터 전송 프로토콜로 연결형 프로토콜임
- IP는 여러 패킷 교환망들의 상호 연결을 위한 범용 비연결형 프로토콜
- SMTP, HTPP, FTP, Telnet이 주요 서비스
○ TCP/IP 프로토콜 계층과 관련 요소
- 데이터 링크 : IEEE 802, Ethernet, HDLC => IEEE에 의한 LAN : 물리 계층, 데이터 링크 계층
- 네트워크 : IP, ICMP, IGMP, ARP
- 전송 : TCP, UDP
- 응용 : POP3, DNS, HTTP, Telnet
- DNS : 인터넷에서는 도메인 주소를 IP 주소로 변환시켜 주는 컴퓨터
○ TCP/IP의 전달 구조
- 계층 - 전달되는 정보 및 형태
- 응용
- 표현
- 세션 - Data
- 전송 - Data, TCP 헤더
- 네트워크 - Data, TCP 헤더, IP 헤더
- 데이터 링크 - Data, TCP 헤더, IP 헤더, MAC 주소
- 물리 - 0과 1로 됨
- Data 구조 : 데이터는 단말기에서 구동되는 응용 프로그램과 기기의 종류에 따라 다른 형태로 전달됨
- TCP 헤더 : 송수신자의 포트 번호, 순서 번호, 응답 번호 등 전달되는 정보 파악
- IP 헤더 : IP 버전과 송신측 IP, 수신측 IP, 프로토콜 종류 등의 정보가 기억됨
- MAC 주소 : 네트워크 세그먼트의 데이터링크 계층에서 통신을 위한 네트워크 인터페이스에 할당된 고유 식별자, IEEE 802 네트워크 기술에 네트워크 주소로 사용되며 MAC 주소와 WiFi를 포함한 대부분의 기기가 주소를 가짐
○ IP의 헤더
- Version : IPv4를 사용함
- IHL : IP Header Length, 헤더의 길이
- TOS : Type of Service, 요구되는 서비스 품질 설정
- Total Packet Length : IP 패킷 전체의 길이를 표시
- Identifier : 같은 종류의 패킷들임을 식별하기 위해 사용
- Flags : 패킷 분열의 특성을 나타냄
- Fragment Offset : 패킷의 분할된 정보를 기록
- TTL : Time-To-Live, IP 패킷 수명 기간, 패킷이 소멸되기 이전에 데이터가 이동할 수 있는 단계 수
- Protocol ID : 상위 계층 프토토콜 정보 기록
- Header Checksum : IP 헤더의 오류 검사
- Source IP Address : 발신지 IP 주소 기록
- Destination IP Address : 목적지 IP 주소 기록
- Option and Padding : 제어, 디버깅 등이 가능하나 대부분 사용하지 않음
○ TCP의 헤더
- Source Port Number : 발신지 포트 번호 기록
- Destination Port Number : 수신지 포트 번호 기록
- Sequence Number : 전송되는 데이터의 가상 회선을 통해 전송되는 데이터 모든 바이트에 고유의 일련번호 부여, 어긋난 순서로 도착한 데이터를 올바른 순서로 재배열 할 수 있음
- Acknowledgement Number : 다음 패킷을 수신할 준비가 되었다는 사실을 알림
- HLEN : Head Length, 헤드의 길이를 32비트 단위로 나타냄, IPv4는 20~60byte로 가변, IPv6는 40byte로 고정
- U : URG, Urgent Pointer 필드가 가리키는 패킷 번호까지 긴급 데이터를 포함하고 있다느 것
- A : ACK, 확인 응답 메시지
- P : PSH, 현재 패킷에 포함된 데이터를 상위 계층에 즉시 전달하도록 지시할 때 사용
- R : RST, 유효하지 않은 패킷에 대한 응답용
- S : SYN, 가상 회선 연결을 설정할 때 사용, 정확한 메시지 송수신을 위한 동기화
- F : FIN, 정송할 데이터가 없어 연결을 종료하고 싶다는 의사 표시를 알리는데 사용
- Window Size : 패킷의 흐름을 제어할 때 사용하는 것으로 수신 버퍼의 크기를 통보할 때 사용
- Checksum : TCP 헤더와 TCP 데이털ㄹ 검사함
- Urgent Point : 긴급 데이터를 처리하기 위한 용도, URG 비트가 지정된 경우에 유효함
○ UDP의 헤더
- Source Port Number : 발신지 포트 번호
- Destination Port Number : 수신지 포트 번호
- UDP Length : UDP 헤더와 UDP 데이터 길이 기록
- UDP Checksum : UDP 헤더와 TCP 데이터를 검사함
□ TCP/IP의 응용 계층(인터넷 서비스)
○ 전자우편
- E 메일은 편지를 주고받는 서비스로 편지를 받을떄는 POP 서버를, 편지를 보낼 때는 SMTP 서버를 이용
- SMTP : Simple Mail Transfer Protocol, 다른 사람의 계정으로 전송해주는 역할
- POP3 : Post Office Protocol, 서버에 도착한 메일을 사용자 컴퓨터로 가져올 수 있도록 하는 역할
- MIME : Multipurpose Internet Mail Extensions, 멀티미디어 전자우편을 주고받기 위한 인터넷 메일 표준
- IMAP : Internet Messaging Access Protocol, 메일 서버에 직접 접속해 메일을 관리
○ HTTP
- 웹상에서 파일을 주고받는데 필요한 서비스
○ FTP
- 인터넷에서 파일을 전송하기 위한 프로토콜
- 다른 컴퓨터가 접속하면 파일 업로드와 다운로드 서비스를 제공하는 서버
○ Telnet
- 사용자가 원격지 호스트에 연결하여 이를 자신의 로컬 호스트처럼 사용하는 프로토콜
○ UseNet, Gopher, Archie, WAIS 등
※ 쿠키 : 자신이 사용하는 컴퓨터에 웹 사이트 접속 기록 및 사용자의 기본 설정에 대한 정보를 저장하고 있는 텍스트 파일, 웹 서버가 사용자의 컴퓨터에 저장하는 방문 기록과 같은 작은 임시파일, 쿠키에 저장되는 내용은 쿠키의 사용 목적에 따라 결정됨
※ 웹 캐시 : 홈페이지 방문 시 직접 서버에 접속하지 않고 근처의 프락시 서버에 접속하여 홈페이지 접속을 고속화
※주요 포트 번호 : FTP(21), Gopher(70), Telnet(23), HTTP(80), SMTP(25), NEWS(119)
□ TCP 계층
○ TCP
- 두 종단간 연결을 설정한 후 데이터를 패킷 단위로 교환
- 전송 데이터의 흐름을 제어하고 데이터 에러 유무를 검사함
- 데이터 흐름과 데이터 전송의 신뢰성 관리
- 스트림 전송 기능 제공
- 순서 제어, 오류 제어, 흐름 제어 기능을 제공함
- 데이터 전송 프로토콜로 연결형 프로토콜
- FTP, HTTP, Telnet, SMTP, POP, IMAP 등
- TCP 프로토콜의 링크 설정
· 연결형 프로토콜임
· 데이터 전송 시 상대방과 통신을 수립
· 3단계 핸드셰이킹으로 제어비트 중 SYN, ACK를 사용함
· 통신 수립 후 데이터를 전송하므로 신뢰성 있는 프로토콜임
· 통신 단계로 지연 시간이 생김
· 수신 측에서 ACK 응답을 수신하지 못하면 재전송 기능을 이용하여 재전송을 해야 함
- TCP는 연결형 서비스, 높은 신뢰성, 송신할 데이터를 패킷 단위로 전송, 잘못 전송한 패킷에 대해 재전송 요구
○ UDP
- 신뢰성을 보장하지 않는 비접속형 통신
- 메시지가 분실되거나 송신된 순서와 다르게 수신될 수 있음
- 흐름 제어나 순서 제어가 없어 전송 속도는 빠르지만 신뢰성이 떨어짐
- SNMP, DNS, TFTP, NFS 등
- SNMP : 일반사용자를 위한 응용 프로토콜이 아닌 망을 관리하기 위한 프로토콜
- UDP 프로토콜 링크 설정
· 비연결형 프로토콜
· 통신 수립 단계가 없으며 신뢰적이지 못하지만 빠름
· 송신측은 전송된 데이터 확인 응답인 ACK가 없음
· 저용량 데이터 전송에 적합
○ SNMP
- 네트워크 장비를 관리 감시하고자 하는 목적으로 UDP 상에 정의된 표준 프로토콜
○ RTP
- 실시간 정보를 전송하기 위한 전송 계층 통신 규약
□ IP 계층
○ IP
- IP는 패킷 주소를 해석하고 경로를 결정하여 다음 호스트로 전송함
- 여러 패킷 교환망들의 상호 연결을 위한 범용 비연결형 프로토콜임
- 패킷 주소 부분을 처리하여 패킷이 목적지에 도달할 수 있도록 함 => 성공적인 도달을 보장하지 않음
- 네트워크 계층에 속함
○ ARP(Address Resolution Protocol) <=> RARP
- 호스트의 IP 주소를 호스트와 연결된 네트워크 접속 장치의 물리적 주소로 번역해 주는 프로토콜
- IP 주소를 MAC 주소로 변환하는 프로토콜
□ IPv4
○ IP 주소 개념
- 전 세계 컴퓨터에 부여되는 유일한 식별자
- IPv4는 12자리 이내로 표시함 => 현재는 한계가 있어 IPv6 공표
- 32비트 IP 주소 체계로 대략 43억개 IP주소를 사용
- 32비트로 8비트씩 4부분으로 구성됨
- 섹션간 구분은 .으로 표현하고 각 자리는 0부터 255까지의 숫자를 사용
- A 클래스 (0-127), B 클래스 (128-191), C 클래스(192-223) - 254대의 호스트를 연결할 수 있음
- IP 주소는 논리적 주소로 컴퓨터에 부여된 유일한 주소가 아니며 고정된 IP 주소를 사용하지 않음
- Total Packet Length는 16비트
○ IPv4 주소 부족 문제 해결 방안
- CIDR : 한정된 자원 주소를 쓸데없이 사용을 방지하기 위해 개발, 통신망부와 호스트부를 구분하지 않고 사용
- DHCP : 자동이나 수동으로 가용한 주소를 호스트에 할당, 몇개 IP를 여러 사용자가 공유할 수 있도록 할당
- IPv6 : 기존 32비트 체계에서 128비트 주소를 사용
- NAT : 사설 IP 주소를 공인 IP 주소로 바꾸는 주소 변환기, 공인 주소를 절약할 수 있음
□ IPv6
○ IPv6 주소 개념
- 32비트 주소에서 128비트 주소를 사용
- 16비트씩 8부분으로 구성됨
- 섹션간 구분을 .이 아니라 ;으로 주소 표현
○ IPv6 주소 특징
- 전송 속도가 빠름
- 서비스별로 패킷을 구분할 수 있어 품질 보증이 용이함
- 유니캐스트, 애니캐스트, 멀티캐스트 형태로 3가지로 할당하기 때문에 할당된 주소의 낭비 요인을 줄일 수 있음
- 인증성, 기밀성, 데이터 무결성의 지원으로 보안 문제 해결
- 멀티미디어의 실시간 처리가 가능함
- 자동으로 네트워크 환경 구성이 가능함
- IPv4의 패킷 크기는 64Kbyte로 제한되었지만 IPv6에는 제한이 없어짐
○ IPv6 주소의 3가지 유형
- 유니캐스트 주소 : 1:1 통신을 위한 주소로서 하나의 패킷이 하나의 목적지에 전송, 모든 단말기가 적어도 하나의 유니캐스트 주소를 가져야함
- 애니캐스트 주소 : 애니캐스트 주소로 보내진 패킷은 단일 송신자와 그룹 내 단말기 중 가장 가깝거나 접근이 쉬운 단말기에 정확하게 전달되어야 함
- 멀티캐스트 주소 : 1:N 통신을 위한 주소로 패킷이 단일 발신지로부터 다수의 목적지에 보낼 때 일어남
[ 신기술 동향 ]
□ 신기술 동향
○ 블루투스
- 근거리 무선 접속을 지원하기 위한 통신 기술
- 기기간 서로 연결해 정보를 교환하는 기술로 최대 통신 거리는 10m안
- 동일한 기기뿐만 아니라 서로 다른 기기 간에도 통신이 가능
○ 유비쿼터스
- 시간과 장소에 상관없이 자유롭게 네트워크에 접속할 수 있는 통신환경
- 언제 어디서나 사용 가능하고 가급적 이용자 눈에 보이지 않아야 함
- 컴퓨터는 물론 다양한 기기들이 네트워크에 접속되어야 함
○ Wibro
- 보행 또는 시속 60km로 이동하는 상태에서도 초고속 인터넷을 이용할 수 있는 무선 휴대 인터넷 서비스
○ VoIP
- 컴퓨터 네트워크 상에서 음성 데이터를 IP 데이터 패킷으로 변환하여 은성 통화가 가능한 기술
○ RFID
- 모든 사물에 전자 태그를 부착하고 무선 통신을 이용해 사물 정보 및 주변 상황 정보를 감지하는 센서 기술
- 전파를 이용해 정보를 인식하는 기술로 출입 관리 등에 사용
- 판독 및 해독 기능을 하는 판독기와 정보를 제공하는 태그로 구성되며 비접촉식 식별 기술임
- 충돌 방지 기능이 있어 동시에 여러 개의 제품의 데이터를 읽을 수 있음
○ WIPI
- 무선 인터넷을 통해 다운로드된 응용 프로그램을 이동통신 단말기에 탑재시켜 실행시키기 위한 환경을 제공
○ Wi-Fi
- 무선 접속 장치가 설치된 곳에서 전파나 적외선 방식으로 가까운 거리에서 무선 인터넷을 하는 근거리 무선 통신망임
- 반경 500m안에서 어디든 사용 가능함
○ 미러 사이트
- 접속량이 많은 사이트에 대해 몰림을 방지하고자 다른 사이트에 자신이 가진 정보를 복사하여 저장한 사이트
○ 키오스크
- 터치스크린을 이용한 무인 종합 정보 안내 시스템
○ 데이터웨어하우스
- 기업 정보 자산을 효율적으로 활용하기 위한 패러다임으로 효율적 의사결정을 위해 데이터 축적과 통합을 목표
○ WAP
- 무선 인터넷 전송 규약으로 휴대전화 등과 통신을 위해 실시되는 국제 기준
○ 디지털 트윈
- 물리적인 사물과 컴퓨터에 동일하게 표현되는 가상 모델로 물리적인 자산 대신 소프트웨어로 가상화함으로써 실제 자산의 특성에 대한 정확한 정보를 얻을 수 있음
- 자산 최적화, 돌발 사고 최소화, 등 설계, 제조, 서비스에 이르는 모든 과정의 효율성을 향상시킬 수 있음
○ Mesh Network
- 기존 무선 랜의 한계를 극복하기 위해 등장
- 대규모 디바이스의 네트워크 생성에 최적화되어 차세대 이동 통신 등 특수 목적을 위한 새로운 방식의 네트워크
○ 웨어러블 컴퓨팅
- 컴퓨터를 착용하는 기술
○ 증강 현실
- 사용자 현실 세계에 3차원 가상 물체를 겹쳐 보여주는 기술
○ NFC
- 무선 태그 기술 중 하나롤 12.56MHz 주파수 대역을 사용하는 비접촉식 통신 기술
- 인터넷 연결 없이 두 기기간 정보를 주고받으면 되므로 AP 없이 두 기기간에 통신할 수 있음
- 통신 거리 : NFC < Bluetooth < Wi-Fi < LTE
○ VPN
- 공용 네트워크를 사설 네트워크처럼 사용할 수 있도록 제공하는 인증 및 암호화 기법
- 공중전화망이나 인터넷과 같은 공중망을 사용해 이용자가 마치 자기 전용망을 구축한 것처럼 함
- 비교적 좁은 지역을 위해 구축된 구내 정보 통신망
○ Mashup
- 웹에서 제공하는 정보 및 서비스를 이용하여 새로운 소프트웨어나 서비스, 데이터베이스를 만드는 기술
○ 비콘, 포스퀘어, 멤리스터
□ PICONET
○ PICONET 개념
- 여러 개의 독립된 통신 장치가 UWB 기술 또는 블루투스 기술을 사용하여 통신망을 형성하는 무선 네트워크 구축 기술
- 블루투스를 이용한 네트워크
- 무선 사용자 그룹의 장치를 연결하는 ad-hoc 네트워크(엑세스 없는 자율 통신)
□ 클라우드 컴퓨팅
○ 클라우드 컴퓨팅 개념
- 사용자는 컴퓨터, 휴대폰 등과 같은 기기를 이용해 언제 어디서나 연결하여 서비스를 사용하는 컴퓨팅 스타일
- 컴퓨터에서 사용하는 모든 프로그램이나 데이터를 인터넷으로 연결된 다른 컴퓨터로 처리하는 기술
- 모든 데이터를 인터넷을 통해 다른 곳에 저장하고 이에 접속해 사용하고 실행할 수 있음
○ 클라우드 컴퓨팅 유형 분류
- SaaS : Software as a Service
· 인프라와 운영체제뿐만 아니라 사용할 수 있는 소프트웨어까지 갖추어져 웹상의 로그인 만으로 다양한 소프트웨어를 사용한 만큼 비용을 지불해가며 사용할 수 있는 서비스
· 서비스 제공 업체가 소유하고 운영하는 소프트웨어를 웹 브라우저 등을 통해 사용하는 서비스
· 응용 프로그램을 사용자에게 제공하는 서비스이며 사용자는 인프라에 어떤 관리나 통제가 불가함
- Paas : Platform as a Service
· 운영체제가 이미 구성된 상태에서 사용자는 데이터와 어플리케이션만 직접 관리할 수 있는 서비스
· 서비스 제공 업체가 제공하는 개발 도구를 사용해 사용자, 개발자는 응용 프로그램을 생성
- Iaas : Infrastructure as a Service
· 웹상에서 구글, MS 등에서 제공하는 환경 네트워크, 보안 서비스 등의 인프라를 임대하여 이용하는 서비스
· 사용자에게 가상 서버, 스토리지, 네트워크 및 기타 컴퓨팅 자원 제공
○ 서비스 대상에 따른 분류
- Private Cloud : 서비스 대상이 특정 기업
- Public Cloud : 서비스 대상이 일반 대중
- Hybrid Cloud : Private의 강력한 보안 기능과 통제력 + Public의 비용 효율성
○ 클라우드 기반 개발 인프라
- 컴퓨팅 환경 : 프로그램을 설치하고 하드웨어 장비 세팅
- 스토리지 : 대규모 데이터를 저장, 관리, 이중화하기 위한 저장 장치 세팅
- 데이터 베이스 : 실제 데이터를 저장하고 관리
·
○ SDDC : Software Defined Data Center
- 소프트웨어 정의 데이터 센서는 모든 인프라가 가상화되는 데이터센터
- 가상화가 핵심이며, 데이터 센터 내 모든 자원을 가상화하여 서비스함
- 인력 개입 없이 소프트웨어 조작 만으로 자동 제어 관리
- 특정 하드웨어에 종속되지 않아 프로세서, 메모리, I/O 등을 구성할 수 있음