Jun's Development Journey

[Part2_TCP/IP] OSI 7 Layer_1 본문

자격증 공부/네트워크 관리사 2급 필기

[Part2_TCP/IP] OSI 7 Layer_1

J_Jayce 2020. 9. 28. 12:11

1. 프로토콜

1-1) 개요

통신망에서 통신을 원하는 양측 시스템에서 데이터를 주고 받기 위해 미리 약속된 통신 규약이다.

 

1-2) 구성 요소

- 구문 : 데이터 형식, 신호 레벨, 부호화

- 의미 : 개체의 조정, 에러 제어 정보

- 순서 : 순서 제어, 통신 속도 제어

 

 

2. OSI 7 Layer 계층

2-1) 특징

- 각 계층의 독립성을 향상

- 프로토콜의 표준화를 제시하여 효율성 및 생산성 향상

※ 캡슐화

- 상위 계층인 응용 계층부터 하위 계층 물리 계층까지 각 계층에서 계층에 대한 헤더를 추가해서 메시지에 헤더를 붙이는 과정을 말함

 

 

2-2) 계층별 내용

OSI 7 Layer 주요 내용 주요 프로토콜 장비
7. Application - 데이터 송신을 위해 메시지를 만든다.
- 사용자에게 최종 서비스를 제공
FTP, SNMP, HTTP, Mail, Telnet 등 Gateway
6. Presentation - 데이터 표현 방식을 변경
- 포맷 기능, 압축, 암호화
- 컴퓨터가 이해할 수 있는 16진수 데이터로 변환
압축, 암호, 코드 변환
GIF, ASCII, EBCDIC
 
5. Session - 송신자와 수신자 간에 통신을 위해 동기화 신호를 주고 받음
- 세션을 연결하고 가상 연결을 제공한다.
   
4. Transport  - 가상 연결, 에러 제어, 흐름 제어, Segement 단위
- 두 개의 종단 간 데이터 흐름이 가능하도록 논리적 연결
- 신뢰도, 품질 보증, 오류 탐지 및 교정 기능 제공
TCP, UDP  
3. Network - 경로 선택, 라우팅 수행, 논리적 주소 연결(IP)
- 노드에 전송되는 패킷 흐름을 통제하고, 상태 메시지가 네트워크 상에서 어떻게 노드로 전송되는지를 정의
- Datagram 단위
- IP, ICMP(에러 확인)
- 라우팅 프로토콜
  (RIP, OSPF 등)
Router
2. Data Link - 물리 주소 결정, 에러제어, 흐름제어, 데이터 전송
- Frame 단위
- 전송 오류를 처리하는 최초의 계층
- 흐름제어, 오류제어(ARQ)
- 브리지, HDLC

Switch Bridge
1. Physical - 전기적, 기계적 연결 정의, 실제 데이터 bit 전송
- Bit 단위, 전기적 신호, 전압 구성, 케이블, 인터페이스 등을 구성
  Cable
Repeater
Hub

 

 

3. 에러 제어

3-1) FEC(Forward Error Control) & BEC(Backward Error Control)

 

기법 내용
FEC - 송신측이 특정한 정보 비트를 함꼐 전송하여 수신 측에서 이 정보 비트로 에러 발생 시 수정하는 방식
(수신 측이 에러 수정)
- 재전송 요구가 필요없어 역 채널 필요없고, 연속적인 데이터 전송이 가능
- 오류 검출 및 수정을 위한 잉여 비트들이 추가 전송되므로 전송 효율이 감소
- 해밍 코드와 상승 코드 방식이 있다.
BEC  - 수신측이 에러 검출 후 송신 측에게 에러가 발생한 데이터 블록을 다시 전송 요청하는 방식
(송신 측이 에러 처리, ARQ(Auto Repeat reQuest)
- 패리티 검사, CRC 검사 등 Checksum을 이용하여 오류 검출 후 오류 제어는 ARQ가 처리
- Stop-and-Wait, Go-back-N, Selective-repeat ARQ, Adaptive ARQ가 있다.

3-2) FEC

오류 검출 코드 상세 기능
해밍코드 - 오류 발견 및 교정이 가능한 코드
- 1비트의 에러 검출 및 교정
CRC 코드(Cyclic Redundancy Check) 전송 중에 오류가 발생했는지를 확인하는 코드
패리티 비트 - 데이터 내의 Set(1) 비트 수를 체크하여 짝수와 홀수에 따라
   코드를 그래도 두거나 1비트를 추가하여 에러를 검출
- 홀수 패리티 : 비트 수가 홀수 개인 경우
- 짝수 패리티 : 비트 수가 짝수 개인 경우

 

3-3) BEC

기법 Stop-and-Wait Go-Back-N Selective Repeat
재전송
요청 방법
에러 발생 즉시 재전송 오류 발생 또는 잃어버린 프레임 이후의 모든 프레임을 재 요청 하거나 타임 아웃으로 자동 재송신 됨 오류 발생 또는 잃어버린 프레임에 대해서만 재 요청 또는 타임아웃으로 인한 자동 재송신
수신 방법 순차적으로 수신 프레임의 송신 순서와 수신 순서가 동일해야 수신 순서와 상관없이 윈도우 크기 만큼의 범위 내에서 자유롭게 수신
장단점 - 가장 단순한 구현
- 신뢰성 있는 전송
- 대기 시간 존재로 전송 효율 저하
- 간단한 구현
- 적은 수신 측 버퍼 사용량
- 구현이 복잡
- 버퍼 사용량이 큼
- 보다 적은 재전송 대역폭

 

 

4. 응용 계층 관련 서비스

역할 내용
FTP - File Transfer Protocol
- 파일 전송을 위한 인터넷 표준으로, 제어 접속과 데이터 접속을 위한 분리된 포트를 사용
DNS - Domain Name Service
- DNS Query를 사용해서 DNS 서버에 URL을 전송하고 해당 URL에 매핑되는 IP 주소를 제공하는 서비스
HTTP - Hyper Text Transfer Protocol
- 웹 브라우저와 웹 서버 사이에서 웹 페이지의 Request 및 Response를 수행하는 프로토콜
Telnet 다른 곳에 위치한 컴퓨터를 온라인으로 연결하여 사용하는 서비스
SMTP - Simple Mail Transfer Protocol
- 인터넷 전자 우편을 위한 프로토콜로, 메시지 전달을 위해서 Store and Forward 방식을 사용
SNMP - Simple Network Management Protocol
- 네트워크에 대한 트래픽, 세션 등의 네트워크 상태를 모니터링하고 정보를 전달할 때 사용한다.

 

 

5. TCP

5-1) 주요 기능

신뢰성있는 전송, 순서 제어, 완전 이중, 흐름 제어, 혼잡 제어

 

5-2) Header 구조

항목 내용
근원지 포트 송신측 포트
목적지 포트 수신측 포트
일련 번호(Sequence Number)  송신자가 전달하는 데이터의 일련 번호
TCP 헤더 길이 TCP 헤더에 몇 개의 32bit 워드가 포함되어 있는가를 나타내는 필드
ACK(Acknowledgement) 전송 확인이 필요로 할 때 설정
SYN(동기화) 연결 설정 요구
윈도우 크기 수신 측에서 수신할 수 있는 최대 Byte 수
체크섬 데이터에 대한 완벽한 신뢰성을 위한 것으로, 모든 데이터의 합에 대한 1의 보수로 계산
FIN 연결 해제에 사용

 

5-3) 흐름제어

5-3-1) 슬라이딩 윈도우

- 수신자가 수신 받을 만큼 데이터를 전송하는 방법

Stop-and-Wait 를 보완한 방식으로, 수신 측의 확인 신호 없더라도 미리 정해진 프레임의 수만큼 연속 전송 가능하다.

- TCP가 사용하는 방법

- 장점

-> 전송 효율 극대화

-> 수신자의 ACK의 경우 매번 ACK를 받을 수도 있지만, ACK 신호도 묶어서 처리해서 불필요한 네트워크 부하를 최소화한다.

 

 

5-4) 혼잡제어

- 송신 단말의 전송률을 직접 제어하여 혼잡으로 인해 손실된 데이터를 최소화한다.

 

5-4-1) TCP Slow Start

- TCP가 시작될 때, 전송 속도를 초기 값부터 지속적으로 올리는 방법이다.

- 1Mbps 속도로 데이터 전송을 시작하고 조금씩 임계값까지 속도를 올린다. 그러다 수신자에게 Duplication ACK 값이 오면 송신 속도를 초기 값으로 낮추는 방법이다.

- 또한 Duplication ACK 값이 송신자에게 오지 않아도 전송 속도가 임계값에 도착하면 전송 속도를 임계값의 50%로 낮추고 다시 전송 속도를 올린다.

 

 

5-4-2) Congestion Avoidance(혼잡 회피)

일정 시간 동안 ACK가 수신되지 않거나 일정 수의 Duplicate ACK가 수신되면, 송신자는 packet 손실을 알게 되고,

Congestion Avoidance 상태가 된다.

 

 

5-4-3) TCP 혼잡제어 알고리즘

 

Fast Retransmit Fast Recovery
Retransmit Threshold 이상 연속된 Duplicate ACK를 수신하는 경우 TCP는 해당 Segment를 즉시 다시 전송함 Fast Transmit 한 이후 새로 Slow Start를 통해서 설정된 연결의 안정 상태에 도달할 필요없이 Congestion Avoidance 상태에서 전송할 수 있도록 하는 것

 

 

6. UDP(User Datagram Protocol)

- UDP는 데이터를 빠르게 전송할 용도로 사용

- 재전송 기능이 없어서 패킷이 손실될 수 있어 데이터가 전송되는 것을 보장하지 않는 단점이 있다.

 

6-1) 특징

비신뢰성, 비연결성, 간단한 Header 구조, 빠른 전성

 

6-2) Header 구조

송, 수신자 포트 번호, 길이, 무결성 검사를 위한 Checksum 필드

 

 

7. 인터넷 계층 

7-1) 개요

송신자의 IP 주소와 수신자의 IP 주소를 읽어서 경로를 결정하거나 전송하는 역할을 수행하는 계층

 

7-2) 기능

- 경로 설정, Point to Point, 논리 주소 지정, 주소 변환, 데이터그램 사용

- 인터넷 계층의 논리적 주소 지정이란 것은 www.naver.com의 URL을 IP 주소로 변한하여 사용한다는 의미

- 데이터그램 : 기존 패킷에 IP Header를 붙이는 것을 의미

 

7-3) IP Header 구조

- version : IPv4 버전, 4bits

- Type Of Service : 8bits

- Header Length : 헤더의 전체 길이, 4bits

- Total Length : IP Datagram의 바이트 수, 16bits

- Identification : host에서 보낸 Datagram 식별, 16bits

- Flags & Offset : IP Datagram 단편화 정보, 16bits

- Time to Live : Datagram이 통과할 수 있는 라우터 수, 8bits

- Header Checksum : 16bits

- Protocol : ICMP, TCP, UDP

- src, des IP Address : 32bits

 

 

7-4) IP 단편화

- MTU(Maximum Transmission Unit)은 한 번에 통과할 수 있는 패킷의 최대 크기를 의미한다.

- MTU 값보다 패킷의 크기가 크면 패킷은 분할되고 그 정보를 Flag과 Offset에서 가지고 있다.

- MTU 값을 확인하고 싶으면 이더넷 정보를 조회하면 된다. (ifconfig)