일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 코딩테스트
- nestJS
- 카카오
- nestjs typeorm
- C++
- thymeleaf
- OpenCV
- 프로그래머스
- 코테
- git
- 카카오 코테
- 해시
- AWS
- 시스템호출
- @Component
- C언어
- @Autowired
- 스프링
- TypeORM
- spring boot
- Nodejs
- 카카오 알고리즘
- 파이썬
- python
- Spring
- 가상면접사례로배우는대규모시스템설계기초
- nestjs auth
- 알고리즘
- 컴포넌트스캔
- 구조체배열
Archives
- Today
- Total
공부 기록장 💻
[네트워크] 컴퓨터 네트워크 개요 본문
1. 정의
컴퓨터 네트워크 통신(데이터 통신의 정의)
- 멀리 떨어져 있는 입출력 장치와 컴퓨터를 통신 회선을 이용하여 넓은 범위의 데이터 처리와 데이터 전송을 종합적으로 가능하게 하는 방식
- Data, Computer, Network
- 컴퓨터
- 통신(Communication)
- 한 점에서 다른 점으로 어떤 정보를 전달하는 것
- 목적: 보다 빠르게, 싸게, 정확하게, 안전하게
- 망(Network)
- LAN, MAN, WAN
컴퓨터 통신 혁명
- 특징
- Data Processing과 Data Communication 간의 근본적인 차이가 없음
- 데이터/음성/비디오 통신 간의 차이가 없음
- LAN, MAN, WAN들 간의 회선의 구분이 없음
- 결과
- 컴퓨터와 통신 산업간의 중복이 증가(보완 발전)
- 모든 형태의 데이터와 정보를 전송하고 프로세싱하는 통합 시스템 구축 → ISDN(Integrated Service Digital Network)
데이터 통신의 정의
- 데이터(data) - 0과 1로 이루어진 디지털 이진 형태의 정보 단위
- 정보(information) - 데이터를 처리, 가공한 결과로서 사용자에게 의사 결정을 도와주는 의미 있는 데이터
- 통신(communication) - 정보 공여자(source)와 정보 수여자(sink)간의 정보 이동 현상(원격 통신-telecommunication)
데이터 통신의 분류
분류의 관점 통신의 종류
전송 채널 | 유선/무선 |
송수신자의 이동 여부 | 고정/이동 |
신호 형태 | 아날로그/디지털 |
신호 종류 | 전기/광 |
이용 대상 | 공중통신(public), 전용 통신 |
정보의 표현 형태 | 음성, 데이터, 화상, 영상, 멀티미디어 통신 |
데이터 통신의 목표
1. 정확성
- 데이터 전송 중 신호 감쇄, 잡음 등에 의한 형태의 변경 → 잘못된 정보 전송
- 채널 코딩: 전송 데이터에 잉여 정보를 추가함으로써 비트 오류율 성능을 개선시키기 위한 과정
- 정확성을 위한 기술: 채널 코딩(channel coding), 에러 제어 코딩(error control coding), 동기 기술, 스위칭 기술, 어드레싱/네이밍 기술, 흐름 제어 기술, Hamming Code, CRC, Convolutional Code
2. 효율성
- 획득 정보의 가치가 데이터 전송 장비의 가치보다 작으면 비효율적
- 소스 코딩: 디지털 형식으로 변환, 압축하는 과정, 소스의 효율성을 높이기 위해 평균 코드 길이가 최소화하도록 하는 과정
- 효율성을 위한 기술: 소스 코딩(허프만 코드), 다중화(multiplexing) 기술
3. 안정성
- 데이터의 내용이 제 3자에게 누출되거나 변형되면 안됨
- 보안 코딩(Secrecy Coding): 전송 데이터 내용에 안전성을 제공하기 위한 과정
- 안전성을 위한 기술: 보안/비화 코딩(secrecy coding) - 대칭키 및 비대칭키 암호 알고리즘
2. 구성요소
데이터 통신 시스템
- 컴퓨터와 원거리에 있는 터미널 또는 다른 컴퓨터를 통신 회선으로 결합하여 정보를 처리하는 시스템
데이터 통신 시스템의 요소
- 메시지: 통신의 목적이 되는 정보
- 송신자: 메시지의 생성 및 송신을 담당하는 장치
- 수신자: 전송매체를 통해 전송된 메시지를 수신하는 장치
- 전송매체: 메시지가 송신자로부터 수신자에게 전달되는 물리 경로(Channel, 통신 회선0
- 프로토콜: 데이터통신을 제어하는 약속 또는 규칙들의 집합\
데이터 통신 시스템의 구성
- 데이터 전송계와 데이터 처리계로 구성
1. 데이터 단말장비(DTE: Data Terminal Equipment)
- 데이터 수신/송신 장치 혹은 송수신 장치
- 데이터 통신 제어 기능을 갖고 있는 단말장치나 주 컴퓨터
2. 데이터 통신장비(DCE, Data Communication (Circuit termination) Equipment)
- DTE와 데이터 전송로 사이에서 접속을 설정, 유지, 해제하며 부호 변환과 신호 변환을 위한 기능 제공
- 사용자 DTE와 상호접속을 위한 물리적 인터페이스 제공
- 변복조기(MODEM, MOdulation DEModulation)
- 컴퓨터나 단말 등을 전화회선과 같은 아날로그 통신 회선과 접속하기 위한 장치
- 디지털 서비스 유니트(DSU: Digital Service Unit)
- 디지털 회선용의 회선 종단 장치로서, 주 컴퓨터나 각종 DTE를 고속 디지털 전송로에 접속하여 데이터 통신을 하는데 필요한 장치
- 디지털 데이터를 디지털 신호로 변환해주는 역할
- 채널 서비스 유니트(CSU, Channel Service Unit)
- 회선의 물리적 특성을 관리하는 장치
- 회선 조절 기능, 회선 유지 보수 기능 등
3. 프로토콜
프로토콜의 정의
- 정보의 송수신측 또는 네트워크에서 정보를 신뢰성 있고 효율적이며 안전하게 주고받기 위해 사전에 약속된 규약, 규범
- 전달되는 정보의 형태, 오류 제어, 동기 방식 등의 약속
프로토콜의 주요 요소
- 구문(Syntax)
- 데이터의 형식(Format), 부호화(Coding), 신호 레벨(Signal Levels) 정의
- 데이터 구조와 순서에 대한 표현
- 의미(Semantics)
- 해당 패턴에 대한 해석과, 그 해석에 대한 전송제어, 오류 수정 등에 관한 제어정보를 규정
- 타이밍(Timing)
- 두 객체간의 통신 속도 조정
- 메시지의 전송 시간 및 순서 등에 대한 특성
주요 요소 예시
구문 | 어떤 프로토콜에서 데이터의 처음 8비트는 송신지의 주소를 지의 주소를 나타내고, 다음 8비트는 수신지의 주소를 나타냄 |
의미 | 주소부분 데이터는 메시지가 전달될 경로 혹은 최종 목적지를 나타냄 |
타이밍 | 송신자가 데이터를 10Mbps의 속도로 전송하고 수신자가 1Mbps의 속도로 처리를 하는 경우 타이밍이 맞지 않아 데이터 유실이 발생 할 수 있음 |
프로토콜의 전송 방식
- 문자 전송 방식
- 전송 데이터의 처음과 끝을 알기 위해 특정 문자를 사용하는 방식
- 비트 전송 방식
- 정보의 처음, 끝을 임의의 정의된 비트열을 사용하여 전송
프로토콜의 기능
- 단편화와 재결합(Fragmentation and Reassembly)
- 단편화: 응용 계층의 연속적인 비트스트림 메시지를 하위 계층에서는 작은 블록으로 나눔
- 메시지 → 패킷 → 프레임 → 비트 단위로 전송
- 재결합: 단편화된 데이터를 받아 다시 하나로 합치는 기능
- 단편화: 응용 계층의 연속적인 비트스트림 메시지를 하위 계층에서는 작은 블록으로 나눔
- 연결 제어(Connection Control)
- 비연결형 데이터로 전송(Connectionless Data Transfer) - 데이터를 송수신하는 개체 간에 논리적 연결 없이 데이터를 전송
- 속도는 빠르나 신뢰성이 떨어짐
- 연결형 데이터로 전송(Connection-oriented data transfer) - 데이터를 송수신하는 개체 간에 논리적 연결을 맺은 후 데이터를 전송
- 신뢰성은 높으나 오버헤드가 큼
- 비연결형 데이터로 전송(Connectionless Data Transfer) - 데이터를 송수신하는 개체 간에 논리적 연결 없이 데이터를 전송
- 흐름 제어(Flow Control)
- 송신측 개체간의 데이터 양이나 속도를 조절하는 기능
- 송신측, 수신측의 속도차이나 네트워크 내부 문제 등으로 인한 정보 유실 방지
- 정지-대기(stop-and-wait) 흐름 제어
- 수신측의 확인 신호를 받기 전에 데이터를 전송하지 않음
- 슬라이딩 윈도우(sliding window) 기법
- 확인 신호를 수신하기 전에 데이터의 양을 미리 정해주는 기법
- 에러 제어(Error Control)
- 정보 전송 시 채널이나 네트워크 요소의 불완전성으로 데이터나 제어 정보가 파손되는 경우에 대비하는 기법
- 프레임의 순서를 검사하여 오류를 찾고, 프로토콜 데이터 단위를 재전송
- 패리티 검사 코드 방식(Parity Bit Check)
- 동기화(Synchronization)
- 두 개체 사이에 정보를 송수신 할 때 초기화/종료 상태 등의 동기를 맞춤
- 순서화(Sequencing)
- 데이터를 단편화하여 전송할 때 데이터들이 올바른 순서로 전송되기 위해 필요한 기능
- 비연결 중심의 데이터 전송에만 사용
프로토콜의 구성
- 프로토콜의 계층화
- 상위 계층과 하위 계층으로 분리된 계층 상에서 인접 계층 간의 서비스의 이동
- 계층적 독립성
- 한 계층의 내부적인 변화가 다른 계층의 변화에 영향을 주지 않음
네트워크 프로토콜의 종류
- SNA(System Network Architecture)
- IBM사가 개발, 발표한 컴퓨터 통신망 구조와 체계
- 7개 계층으로 구성
- OSI 기본 참조 모델과 호환성 없음
- OSI(Open Systems Interconnection)
- 국제 표준화 기구(ISO)에서 제정한 국제적 표준화 망 구조
- 7계층의 기본 참조 모델을 제정
- TCP/IP(Transmission Control Protocol/Internet Protocol)
- 미국 국방부에서 개발한 프로토콜
- TCP와 IP를 조합, 4계층으로 구성한 것으로 현재 인터넷에서 사용됨
4. 네트워크 기본 개념
네트워크의 정의
- 통신선로에 의해 서로 연결되어 있는 일련의 노드(Node)와 **링크(Link)**의 집합
- 두 대 이상의 컴퓨터를 연결, 근거리나 원거리 통신을 제공하고 연결된 요소들 간의 데이터 등을 전송하는 통신망 (여러 컴퓨터 ↔ 프린터)
네트워크의 장점
- 데이터 교환 수단 - 광범위한 지역에 있는 여러 컴퓨터들의 데이터 교환
- 자원의 공유
- 주변 장치, 파일, DB 등의 자원 공유
- 한 컴퓨터의 작업 일부를 네트워크 내의 다른 컴퓨터에 할당 처리하여 부하를 분산
- 유연성 있는 작업 환경 - 네트워크를 통한 가정 내 근무 (스마트워크)
- 위험 예방 가능
- 치명적인 고장 등에 대한 위험성 분산
- 동일한 기능을 하는 컴퓨터를 두 대 이상 네트워크에 연결하여 한 컴퓨터가 고장인 경우 다른 컴퓨터가 기능을 대신
네트워크의 분류
접속 형태에 따른 분류
- 버스형, 성형, 원형, 계층형, 그물형(Mesh)
공간적 거리에 따른 분류
- 근거리 통신망 (LAN, Local Area Network)
- 도시권 통신망 (MAN, Metropolitan Area Network)
- 광역 통신망 (WAN, Wide Area Network)
5. 표준기구/표준안
- 표준(Standard) : 최적의 사회이익의 증진을 목적으로 하여, 과학 기술 및 경험의 종합적 결론이나 이해 관계자의 협력과 모든 의견, 대다수의 승인에 의해서 작성된 기술 사양서(technical specification) 또는 그 외의 문서이고 국가, 지역 또는 국제 레벨에서 인정된 단체에 의해 승인된 것
- 표준은 정확하교 효율적 통신을 위해 필요
- 표준을 제정하는 여러 표준기구 및 그 표준안이 존재
- De facto (by fact 라는 의미) 표준화: 권위를 인정받는 단체 혹은 조직에 의해 승인되지는 않았지만, 일반에 널리 사용되는 표준 (ex) UNIX)
- De jure (by law) 표준화: 공식적인 권위를 인정받은 단체 혹은 기관에서 제정된 표준
- 국제표준기구(ISO, International Standardization Organization)
- 분야별로 TC(Technical Committee, 기술 위원회), SC(Sub-Committee, 분과 위원회), WG(Working Group, 작업 그룹)로 나눔
- ex) ISO/IEC JTC1 SC27 WG1
- 분야별로 TC(Technical Committee, 기술 위원회), SC(Sub-Committee, 분과 위원회), WG(Working Group, 작업 그룹)로 나눔
- OSI(Open Systems Interconnection)
- 다른 기종간의 상호접속을 가능케 하는 표준 개방형 통신망에 대한 제반 사항을 규정
- 네트워크를 위한 7계층의 참조 모델을 정의
- 미국 국립표준기구(ANSI, American National Standards Institute)
- 미국의 규격공업 표준을 제정
- 국제 표준화 기구(ISO)의 미국 대표 단체
- ex) ANSI-C 표준
- 1972 벨 연구소에서 개발된 C언어에 대한 표준안
- C언어로 작성된 프로그램에 대한 호환성 제공
- 전기전자공학자협회(IEEE, Institute of Electrical and Electronics Engineers)
- 세계 최대의 전기, 전자, 전기 통신, 컴퓨터 분야의 전문가 단체
- IEEE 802 표준안 - 현재 널리 사용되고 있는 LAN관련 권고 표준안
- 전자산업협회(EIA, Electronic Industries Association)
- 정보통신 분야로 일반적 전기 특성, 데이터통신, 수치 제어 등에 관한 표준 제정
- 한국 산업 표준(KS, Korean Standards)
- 한국 정보통신 표준(KICS, Korean Information and Communication Standards)
Key Tasks in Computer Network Communication
- Transmission System Utilization
- 전송 설비를 다수의 이용자의 효율적인 이용
- multiplex technique
- congestion control technique
- 전송 설비를 다수의 이용자의 효율적인 이용
- Interface: device와 transmission system간의 interface
- Signal Generation
- 전송 시스템을 통한 전파 가능
- 수신기에서 데이터로서 해석 가능
- Synchronization: 송수신 사이의 동기 (Bit, Frame Synch.)
- Management
- 데이터 전달 모드: half duplex, full duplex, simple duplex
- the mount of data to be sent at one time
- format of data
- error 및 돌발 사건 발생 시 처리 방법
- Error Detection and Correction
- data processing system에서 요구됨
- forward/backward control
- data processing system에서 요구됨
- Flow Control
- 송신단이 destination에서 처리할 수 없는 속도로도 데이터를 전송할 수 없도록 제어
- Addressing: destination의 identity 지정
- Routing: 통신 망에서 특정 route를 선택
- Recovery: 데이터베이스 transaction이나 file transfer시
- Message Formatting: the form of data to be exchanged or transmitted
- Protection
- sender가 지정한 receiver만이 data수신 가능
- 전송 도중 데이터 변조 방지 및 검출
- cryptography technique 이용
- System Management
- system status 감시
- 장애나 과부하시 조치 사항
- 미래의 확장성에 대한 계획
728x90
반응형
'# CS Study > Network' 카테고리의 다른 글
[네트워크] OSI 모델 (0) | 2022.08.22 |
---|
Comments