[포스코X코딩온 스마트팩토리 개발자과정 1기] 네트워크

맨 땅에 개발자 되기·2023년 3월 27일
0
post-thumbnail

💥용어 중요

네트워크 ( Network ) :

하드웨어적인 전송 매체( Transmissin Media )를 매개로
서로 연결되어 데이터를 교환하는 시스템의 모음

시스템 ( Sysytem ) :

일반PC 뿐만 아니라 컴퓨터 기능을 보유한 네트워크 장비들을 의미

자동차, 커피머신, 컴퓨터, 마이크로 프로세서, 하드 디스크 같은 물리적인 대상 + 운영 시스템, MS 윈도우즈 등 운영체제 등도 포함

노드 ( Nord ) : 특정 시스템을 가리키는 용어
라우터 ( Router ) : 데이터를 목적지까지 보내는 역할
호스트 ( Host ) : 네트워크에 연결되어있는, 양방향 통신이 가능한 컴퓨터
클라이언트 ( Client ) : 서비스를 이용하는 응용 프로그램
서버 ( Server ) : 서비스를 제공하는 응용 프로그램

인터페이스 ( Interface ) :

시스템과 전송 매체의 연결 지점에 대한 규격
시스템 간의 물리적인 연동을 위한 논리적인 규격, 이 정해진
논리적인 규격은 전송매체를 통해 물리적으로 구현

모니터와 키보드를 연결할 때 쓰는 잭, 데이터 교환을 위한 RS-232C, USB 등

전송매체 ( Transmission Media ) :

물리적인 전송 수단
사람의 눈으로 볼 수 있는 동축 케이블을 포함하여, 소리를 전파하는 공기, 무선 신호 등 다양하게 존재

프로토콜 ( Protocol ) :

시스템이 데이터를 교환 할때 임의의 통신 규칙을 따르는데 사용하는 통신 규칙
계층끼리 통신할 수 있는 프로토콜 존재

표준화 ( Standardization ) :

서로 다른 시스템이 상호 연동해 동작하려면 연동 형식의 통일이 필요

전송매체로 연결된 여러 시스템들이 여러 프로토콜을 사용하여 데이터를 주고 받을 때,
이 하나의 단위를 “네트워크” 라고 하고 하나의 네트워크가 라우터를 통해 더 큰 네트워크를 구성한다. ( 사진 : NAVER )

OSI 7계층 ( OSI 7 Layer Model )

국제 표준화 단체 ISO ( International Standar Oraganization )에서 특징이 다른 여러 호스트를 서로 연결해 통신하려면 연결 방식을 표준화 해야한다고 주장하면서 OSI ( Open System Interconnection ) 7계층 모델을 제안

  • 네트워크에 연결된 호스트는 7계층의 모듈화된 통신 기능을 갖추어야 함

모듈화 ? 큰 단위를 작은 단위로 나누는 것
송신 ? 정보를 주는 것
수신 ? 정보를 받는 것

  • 일반 사용자( 송신 호스트 )는 응용계층에서 데이터의 송수신을 요청
  • 이 요청은 하위 단계를 거쳐 물리계층에서 상대 호스트에게 전송
  • 요청이 각 계층에 전달되면 계층별 담당 기능을 수행
  • 데이터를 수신한 호스트에서는 송신 호스트와 반대 과정으로 처리 ( 즉, 물리계층 → 응용계층 → 송신 호스트에게 전송 )


( 사진 : NAVER )

1) 물리 계층 ( Physical Layer )

: 호스트를 전송 매체와 연결하기 위한 인터페이스 규칙과 전송 매체의 특성을 다루며 데이터를 비트(Bits)라 부름.

전송 매체의 특징으로 데이터의 전송 속도, 송수신 호스트 사이의 클록 동기화 방법, 물리적 연결 형태 등을 다룸

ex) 케이블, 리피터, 허브 …

2) 데이터 링크 계층 ( Data Link Layer )

물리적 주소를 기반으로 데이터의 전송형태를 결정, 물리적인 링크를 통해 데이터를 신뢰할 수 있게 전송하는 역할 → 데이터 링크 계층에서 데이터를 프레임(Frame)이라 부름

상호 통신을 위해 MAC주소를 할당 받는다.

MAC주소 : 네트워크 인터페이스에 할당된 고유 식별자, 통신하는데 필요한 주소 (LAN에 내장), (통신) 대상 장치의 MAC주소를 프레임 헤더에 추가하는 역할

오류 제어
: 물리 계층에서 데이터 전송 중 발생하는 데이터분실, 데이터변형, 노이즈 등의 오류 검사 실시 → 오류가 발견시 재전송 요청

데이터 분실 ? 데이터가 목적지까지 도착하지 않음
데이터 변형 ? 전송 중 데이터가 훼손됨

흐름 제어
: 송신 호스트와 수신 호스트 사이의 전송 속도 차이를 고려 → 데이터가 과다하게 전송되는 것을 방지

두 호스트가 1:1로 직접 연결된 환경에서 데이터 전송 기능을 지원한다.

LCC ( Logical Link Control, 논리 연결 제어 )
: 오류, 흐름 제어 등의 기본 기능 수행

MAC ( Media Access Control, 미디어 엑세스 제어 )
: 데이터 캡슐화(데이터의 분할/합병), 미디어 접근 제어

ex) 브리지, 스위치 …

3) 네트워크 계층 ( Network Layer )

: 데이터가 올바른 경로를 선택할 수 있도록 지원하는 계층 → 전송데이터를 패킷(Packet)이라고 부름

중개 과정에서 경로 선택의 기준이 되느 호스트 주소 IP 프로토콜이 필요

라우터 ( Router ) : 라우터가 라우팅 (Routing)하여 경로를 탐색

정적인 방식 ( static ) : 전달 경로 선택이 미리 정해짐

동적인 방식 ( Dynamic ) : 네트워크 현재 부하 상태에 따라 전달 경로가 결정

혼잡 제어 ( Congestion Control ) : 패킷이 과도하게 많으면 네트워크 전송 속도가 떨어짐

ex) 라우터, L3 스위치 …

4) 전송 계층 ( Transport Layer )

: 송신 프로세스와 수신 프로세스를 직접 연결하는 단대단(End-to-End) 통신 기능을 제공, 데이터를 Segments 또는 Datagram이라 부름

하위계층 ( Physical, Data Link, Network )은 전송 계층의 연결을 설정하고 지원하는 역할

상위계층 ( Session, Presentation, Application )에서 시스템 콜(System Call)형식으로 안전한 데이터 전송을 지원하는 역할 (데이터 정확성 보장)

TCP : 연결성 서비스

UDP : 비 연결성 서비스

5) 세션 계층 ( Session Layer )

: 전송 계층과 유사한 역할 But 원격 파일전송이나 원격 로그인 같은 상위적 연결 개념인 세션 기능 제공

동기화 기능 ( Synchronization ) : 전송 계층의 일시적인 전송 장애를 복구

6) 표현 계층 ( Presentation Layer )

: 호스트들 사이의 데이터 표현 방법이 다르면 상대방 데이터를 이해할 수 있도록 적절하게 변환하는 과정이 필요한데, 데이터의 의미 (Semantic)과 표현방법(Syntax)를 다룸

압축 ( Compression ) : 대용량 데이터 압축해 데이터를 줄임

암호화 ( encryption ) : 침입자로부터 데이터 보호

7) 응용 계층 ( Application Layer )

: 최종 사용자와 응용프로그램에 네트워크 서비스를 제공하는 최상위 계층

profile
완전초보 PLC / HMI / Intouch / C++ / SQL

0개의 댓글