본문 바로가기
컴퓨터/데이터 통신

데이터 통신 2

by 주황딱지 2024. 9. 27.

2. ISO-OSI 7계층

OSI 모델

  • OSI: Open Systems Interconnection model은 ISO가 만든 모델로 각각의 특성과 기준을 시스템의 기능으로 만듦
  • 프로토콜 스택: 모델 그룹 커뮤니케이션 기능은 7계층으로 나뉜다.
  • 서비스 모델: 계층마다 그 위나 아래이 층에게 제공한다.

7. 응용 계층: 데이터 / HTTP, DNS, SSH

6. 표준 계층: 데이터 / SMB

5. 세션 계층: 데이터 / SSL 

4. 전송 계층: 세그먼트 / TCP, UDP

3. 네트워크 계층: 패킷 / IP, ICMP, ARP

2. 데이터링크 계층: 프레임 / Ethernet

1. 물리 계층: 비트 / RS-232, USB, Bluetooth

 

계층을 나누는 이유:

  • 계층 구조는 우리에게 크고 복잡한 시스템을 쉽고 잘 구별되게 만들어준다.
  •  모듈화로 시스템의 업데이트와 유지를 쉽게 해준다.

1. 물리 계층: 

  • 가장 낮은 계층
  • 두 기계의 커뮤니케이팅을 물리적으로 전송(wire, wireless 등등)
  • 하드웨어 특정화: 물리적 케이블, 네트워크 인터페이스 카드, 무선 가드, 등등
  • 인코딩과 시그널링: 매개체에서 부호화되는 비트는 이 계층에 의해 결정된다. 예를 들어, 구리선에서는 '1'을 나타내는데  +5mV을 쓰고, '0'을 나타내는 데 -5mV을 사용한다. 즉 0과 1을 사용하기 위해 특정 신호를 보냄
  • 데이터 전송 및 접속: 네트워크 디자인은 물리 계층의 적분부분이다. 네트워크의 어떤 부분이 라우터에 배치될지, 스위치가 어디에 사용될지, 허브가 어디에 배치될지, 각 스위치가 처리할 컴퓨터 수는 몇 대인지, 어떤 서버가 어디에 배치될지, 그리고 이러한 많은 문제는 물리 계층에서 처리해야 한다. 

2. 데이터 링크 계층:

  • 이 계층은 불안정한 방식으로 매체를 통해 비트를 전송하는 물리 계층의 서비스를 사용하여 패킷을 안정적으로 전송한다.
  • = 상위 계층에서 보낸 데이터를 나누어서 전송에 필요한 정보를 하위 계층인 물리 계층으로 전달하고, 물리 계층이 정상적으로 동작하는지 확인한다.
  • 데이터 링크 계층은 2개의 보조계층으로 나뉜다.
  • MAC(Media Access Control) 계층: 네트워크의 컴퓨터가 데이터에 액세스하고 데이터를 전송할 수 있는 권한을 얻는 방법을 제어하는 역할을 한다. / 하위 계층과 통신하는 Hardware 기능
  • LLC(Logical Link Control) 계층: 제어 오류 확인 및 패킷 동기화. / 상위 계층과 통신하는 Software 기능

 

이 계층은 아래와 같은 특징을 갖고 있다:

  • 프레임 : 입력 데이터를 프레임(일반적으로 수백 바이트)으로 나누고 프레임 경계와 각 프레임의 크기를 고려힌다.
  • 확인 : 수신단에서 전송하여 오류 없이 프레임을 수신했음을 소스에 알린다.
  • 시퀀스 번호 : 어떤 프레임을 받았는지 확인한다.
  • 오류 감지 : 프레임이 손상, 분실 또는 중복되어 오류가 발생할 수 있습니다. 오류 제어는 링크 기반으로 이루어집니다
  • 재전송 : 소스가 확인 응답을 받지 못하면 패킷이 재전송된다.
  • 흐름 제어 : 빠른 송신기가 느린 수신기와 보조를 맞추기 위해 필요하다.

3. 네트워크 계층: 

  • 주소 체계의 목적까지 데이터가 전달될 수 있도록 최적 경로를 선택한다.
  • 기본적인 기능으로는 라우팅과 혼잡 제어(Routing, Congestion control)를 한다.
  • 라우팅: 이 방법은 패킷이 소스에서 대상으로 라우팅(전송)되는 방식을 결정하는 방법을 다룬다.
  • 혼잡 제어: 모든 네트워크가 가능한 최대 속도로 동시에 패킷을 전송하면 라우터가 모든 패킷을 처리하지 못하고 일부/모든 패킷을 드롭할 수 있다. 이러한 맥락에서 패킷의 드롭을 최소화하고 패킷이 드롭된 소스에 알려야 한다.
  • 신뢰성 보장 안함: 네트워크 계층이 패킷이 의도한 목적지에 도달하도록 보장하지는 않는다.  

*혼잡(congestion): 네트워크 내에 패킷의 수가 과도하게 증가하는 현상

*혼잡 제어: 송수신자 사이의 경로상의 혼잡이 발생했음을 감지하고 송시자 전송률을 조정함

 

4. 전송 계층:

  • (Multiplexing/Demultiplexing)다중화 / 역다중화 : 일반적으로 전송 계층은 세션 계층에서 요구하는 각 전송 연결에 대해 고유한 네트워크 연결을 생성한다. 전송 계층은 (처리량을 개선하기 위해) 여러 개의 네트워크 연결을 생성하거나/ 여러 개의 전송 연결을 동일한 네트워크 연결에 다중화할 수 있다(네트워크를 생성하고 유지하는 데 비용이 많이 들 수 있기 때문이다.). 후자의 경우 수신 측에서 역다중화가 필요하다. 여기서 주목해야 할 점은 통신은 항상 두 개의 시스템 간이 아니라 두 개의 프로세스 간에 수행된다는 것이다. 이를 프로세스 간 통신이라고도 한다(IPC).
  • (Fagementation, Re-assembly)조각화 및 재조립 : 전송 계층이 세션 계층에서 수락하는 데이터는 필요한 경우 더 작은 단위(조각화)로 분할된 다음 네트워크 계층으로 전달된다. 이에 따라 네트워크 계층이 수신 측의 전송 계층에 제공한 데이터는 재조립된다.
  • 서비스 유형 : 전송 계층은 세션 계층에 제공해야 할 서비스 유형도 결정한다. 서비스는 완벽하게 신뢰할 수 있거나 전혀 신뢰할 수 없을 수도 있다. 메시지는 전송된 순서대로 수신될 수도 있고 수신되지 않을 수도 있다. 제공할 서비스 유형에 관한 결정은 연결이 설정된 시점에 내려진다.
  • 오류 제어 : 신뢰할 수 있는 서비스가 제공되면 오류 감지 및 오류 복구 작업도 수행된다. 엔드투엔드 방식으로 오류 제어 메커니즘을 제공한다.
  • 흐름 제어 : 빠른 호스트는 느린 호스트와 보조를 맞출 수 없다. 따라서 이것은 정보의 흐름을 조절하는 메커니즘이다.
  • 연결 설정/해제 : 전송 계층은 네트워크를 통해 연결을 설정하고 해제한다. 이를 위해서는 한 컴퓨터의 프로세스가 통신할 상대를 나타낼 수 있도록 일종의 명명 메커니즘이 필요하다.

*흐름제어, 오류 수정 등을 제공하며, 엔드투엔드 방식의 데이터 전송, (포트번호를 이용하여) 송신자와 수신자 컴퓨터 사이의 논리적 연결 수행

= 송신자는 수신자의 버퍼를 너무 많이, 빠르게 전송하지 않음으로 오버플로우를 발생시키지 않는다:

  1.  수신 장치는 데이터 패킷을 CPU가 처리할 때까지 버퍼에 저장하고, CPU가 처리하는 즉시다음 패킷에 대한 ACK 응답을 송신 장치에 보낸다.
  2.  수신 장치의 수신 버퍼가 가득 차면, 송신 장치에게 다시 수신할 수 있을 때까지 제로 윈도우(RcvWindow=0) 값을 보내 전송을 멈추도록 요청한다.

 

5. 세션 계층:

  • 세션 계층은 컴퓨터 간의 대화(연결)를 제어한다. 로컬 애플리케이션과 원격 애플리케이션 간의 연결을 설정, 관리 및 제거한다. 전이중, 반이중 또는 심플렉스(차원 단편화) 작동을 제공하고 동기화, 체크포인트, 연기, 종료 및 재시작 절차를 설정한다.
  • 사용자가 원격 서버에 로그인하면 파일 및 응용 프로그램에 액세스하기 전에 인증을 받아야 한다.
  • NetBIOS, RTP, TLS/SSL 등이 있다.

= 응용 계층에서 보낸 데이터가 서로 섞이지 않도록 한다.

= FTP 연결은 컴퓨터와 서버 간에 제어 채널과 데이터 채널이라는 두 개의 채널을 연다. 제어 채널은 로그인 자격 증명을 전송하고, 인증, 포트 할당을 수행하며, 디렉토리를 표시하고 탐색할 수 있도록 한다.

 

6. 표현 계층:

  • 이 계층은 전송되는 정보의 syntax와  의미론과 관련이 있다.
  • 이를 통해 애플리케이션은 암호화, 압축, 기계별 규약 등 데이터의 의미를 해석할 수 있다.
  • 두 대의 컴퓨터 A와 B가 있다고 가정해 보자. 하나는 '빅 엔디안'을 다른 하나는 '리틀 엔디안을' 데이터로 표현할 때 쓴다.
  • 원래 표현 구조는 추상 구문 표기법 1(ASN.1)의 기본 인코딩 규칙을 사용했으며, EBCDIC로 코딩된 텍스트 파일을 ASCII로 변환하거나 오브젝트 및 기타 데이터 구조를 XML로 또는 XML로 직렬화하는 등의 기능을 갖추고 있다.
  • MIME, XDR, 암호화 기술

*빅엔디안: 상위 비트부터 바이트 단위로 저장하는 방식, RISC 계열 CPU (웍스테이션, 서버급) => 네트워크를 통해 데이터를 전송할 때 빅엔디안 방식으로 통일해서 사용함으로써 서로 다른 시스템 간에 혼란 발생을 방지함

  • 16진수 값 0x1234을 큰 단위의 값부터 0x12, 0x34식으로 저장

*리틀 엔디안: 하위 비트부터 바이트 단위로 저장하는 방식, CISC 계열 CPU (인텔)

  •  16진수 값 0x1234을 작은 단위의 값부터 0x34, 0x12 순서로 저장

 

7. 응용 계층:

  • 일곱 번째 계층에는 사용자가 네트워크에 액세스할 수 있는 애플리케이션 프로토콜이 포함되어 있다. 애플리케이션 수준에서 사용할 특정 프로토콜과 관련 기능의 선택은 개별 사용자의 몫이다.
  • 따라서 응용 계층과  표현 계층 사이의 경계는 네트워크 설계자가 부과하는 프로토콜과 네트워크 사용자가 선택하고 구현하는 프로토콜의 분리를 나타낸다.

 

반응형

'컴퓨터 > 데이터 통신' 카테고리의 다른 글

데이터 통신 6  (2) 2024.10.18
데이터 통신 5  (3) 2024.10.18
데이터 통신 4  (1) 2024.10.10
데이터 통신 3  (3) 2024.10.10
데이터 통신 1  (0) 2024.09.02