IEIP_Note

OSI 7 계층 OSI 7 Layer

계층 설명 프로토콜
Application Layer
응용 계층
응용 프로세스와 직접 관계 하여
일반적인 응용 서비스를 수행하는 역할 담당하는 계층
전송 단위: data
HTTP
FTP
Presentation Layer
표현 계층
데이터 형식의 설정과 부호 교환
암호화 및 복호화
전송 단위: data
JPEG
MPEG
Session Layer
세션 계층
송/수신 간 연결 접속 및 동기 제어 (Sync)
전송 단위: data
RPC
NetBIOS
Transport Layer
전송 계층
송/수신 간 신뢰성 있는 통신 보장
전송 단위: Segment
TCP
UDP
Network Layer
네트워크 계층
단말 간 데이터 전송을 위한 최적화된 경로 제공
전송 단위: Packet
IP
ICMP
Data Link Layer
데이터 링크 계층
오류, 흐름을 제어하여 신뢰성 있는 데이터 전송
전송 단위: Frame
HDLC
PPP
Physical Layer
물리 계층
실제 장비들을 연결하기 위한 연결 장치
0, 1의 비트 정보를 회선에 보내기 위한 전기적 신호 변환
전송 단위: Bit
RS-232C

TCP/IP 프로토콜


1 계층 / Physical Layer 물리 계층

장비 설명
Hub 여러 대의 컴퓨터를 연결하여 네트워크로 보내거나
하나의 네트워크로 수신된 정보를 여러 대의 컴퓨터로 송신하기 위한 장비
Repeater 디지털 신호를 증폭시키는 역할을 하며
신호가 약해지지 않고 컴퓨터로 수신되도록 하는 장비


데이터 링크 계층 오류 제어

오류 제어 방식 설명
전진 (순방향) 오류 수정
Forward Error Correction, FEC
데이터 전송 과정에서 발생한 오류를 검출하여
검출된 오류를 재전송 요구 없이 스스로 수정하는 방식

오류 검출과 수정을 위한 방식으로는
해밍 코드 방식, 상승 코드 방식이 존재한다.
후진 (역방향) 오류 수정
Backward Error Correction, BEC
데이터 전송 과정에서 오류가 발생하면
송신 측에 재전송을 요구하는 방식

패리티 검사, CRC, 블록합 검사 사용하여 오류 검출,
오류 제어는 자동 반복 요청 (ARQ) 에 의해 이루어진다.
1. 해밍 코드 방식
- 수신 측에서 오류가 발생한 비트를 찾아 재전송 요구하지 않고
- 자신이 직접 오류를 수정하는 방식
- 1 bit의 오류 수정이 가능하다.

2. 상승 코드 방식
- 1개의 오류 비트 수정 가능한 해밍과는 달리
- 여러 개의 비트의 오류가 있다고 해도, 한곗값, 순차적 Decoding 이용하여
  모두 수정할 수 있는 방식

3. 패리티 검사 Parity Check
- 7 ~ 8개의 bit로 구성된 전송 문자에 패리티 비트 추가하여
- 오류를 검출하는 방식

4. CRC, Cycle Red undancy Check, 순환잉여검사
- 다항식을 통해 산출된 CRC 값을 토대로 오류를 검사하는 방식
- 집단 오류를 해결하기 위한 방식

5. 블록합 검사 Block Sum Check
- Frame의 모든 문자로부터 계산되는 잉여 Parity bit들을 사용하는
- 이차원(가로/세로) 패리티 검사 방식이다.
ARQ 방식 설명
Stop-and-Wait ARQ
정지 - 대기 ARQ
1개의 프레임 전송, 수신 측으로부터 ACK, NAK 신호를 수신할 때까지
정보 전송을 중지하고 기다리는 방식

송신 측이 수신 측으로부터 ACk 받으면 다음 프레임 전송/ NAK면 재전송 한다.

데이터 프레임의 정확한 수신 여부를 매번 확인하면서
다음 프레임 전송해나가는 간단한 오류 제어 방식

구현 간단하고 송신 측에서 최대 프레임 크기의 버퍼가 1개만 있어도 된다.

전송 시간이 긴 경우 전송 효율이 저하된다.
Go-Back-N ARQ
연속적 ARQ
데이터 프레임을 연속적으로 전송하는 과정에서 NAK 수신하면
오류가 발생한 프레임 이후에 전송된 모든 데이터 프레임을 재전송하는 방식
Selective Repeat ARQ
선택적 ARQ
연속적으로 데이터 프레임 전송, 에러가 발생한 프레임만 재전송하는 방식
Adaptive ARQ
적응적 ARQ
전송 효율을 최대한 높이려고
데이터 블록의 깊이를 동적으로 변경, 전송하는 방식

3 계층 / Network Layer 네트워크 계층

프로토콜 설명
IP
Internet Protocol
송/수신 간의 Packet 단위로 데이터를 교환하는
네트워크에서 정보를 주고 받는데 사용하는 통신 규약
ARP
Address Resolution Protocol
IP 네트워크 상에서 IP 주소를 MAC 주소로 변환하는 프로토콜
(MAC 주소 == 물리 주소)
RARP
Reverse ARP
IP Host가 자신의 MAC은 알지만 IP 주소를 모를 때
서버로부터 IP 주소를 요청하기 위해서 사용하는 프로토콜
ICMP
Internet Control Message Protocol
IP Packet 처리 시 발생되는 문제를 알려주는 프로토콜
메시지 형식: 8 byte header, 가변 길이 데이터 영역 분리

수신자 도달 불가 메시지는 수신자 or 서비스에
도달할 수 없는 host 통지하는데 사용

ICMP 사용해서 ping Utility 구현
(ping : IP 네트워크 통해 특정 Host가 도달할 수 있는 지
여부를 테스트하는데 쓰이는 컴퓨터 네트워크 도구)
IGMP
Internet Group Management Protocol
Host 컴퓨터와 인접 Router가
멀티캐스트 그룹 맴버쉽 구성하는데 사용하는 통신 프로토콜

화상회의, IPTV에서 사용되는 프로토콜
기능으로는 그룹 가입, 맴버쉽 감시, 응답, 탈퇴 등이 있다.
Routing Protocol Router 간 통신 방식을 규정하는 통신 규약
경로 설정 통해 원하는 목적지까지 지정된 데이터를 안전하게 전달

내부 Routing Protocol : RIP, OSPF
외부 Routing Protocol: EGP, BGP

4 계층 / Transport Layer 전송 계층

프로토콜 설명
TCP
Transmission Control Protocol
전송 계층에 위치하면서, 근거리 통신망이나 Intranet
인터넷에 연결된 컴퓨터에서 실행되는 프로그램 간에
일련의 옥텟을 안정적으로, 순서대로, 에러 없이 교환할 수 있게 해주는 프로토콜
UDP
User Datagram Protocol
비 연결성, 신뢰성 없으며 순서화되지 않은
데이터 그램 서비스를 제공하는 전송 계층의 프로토콜

5 계층 / Session Layer 세션 계층

프로토콜 설명
RPC
Remote Procedure Call
원격 프로시저 호출이라고 불린다.
별도의 원격 제어 위한 코딩 없이 다른 주소 공간에서
함수나 프로시저를 실행할 수 있는 프로세스 간 통신에 사용되는 프로토콜
NetBIOS
Network Basic I/O System
응용 계층의 애플리케이션 프로그램에게 API 제공하여
상호 통신할 수 있도록 해주는 프로토콜

6 계층 / Presentation Layer 표현 계층

프로토콜 설명
JPEG 이미지를 위해 만들어진 표준 규격
MPEG 비디오, 오디오와 같은 멀티미디어를 위해 만들어진 표준 규격

7 계층 / Application Layer 응용 계층

프로토콜 설명
HTTP
HyperText Transfer Protocol
텍스트 기반의 통신 규약
인터넷에서 데이터를 주고 받을 수 있는 프로토콜
HyperText 빠르게 교환하기 위한 Protocol
FTP
File Transfer Protocol
TCP/IP Protocol 가지고 서버, 클라이언트 사이에
파일을 전송하기 위한 프로토콜