Jun's Development Journey
[Part2_TCP/IP] OSI 7 Layer_1 본문
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)
'자격증 공부 > 네트워크 관리사 2급 필기' 카테고리의 다른 글
[Part3_NOS] 윈도우 시스템 (0) | 2020.10.08 |
---|---|
[Part2_TCP/IP] OSI 7 Layer_2 (0) | 2020.10.05 |
[Part1_네트워크 일반] 데이터 통신 (0) | 2020.09.22 |
[Part1_네트워크 일반] 근거리 통신 기술(LAN) (0) | 2020.09.22 |
[Part1_네트워크 일반] 네트워크 개요 (0) | 2020.09.22 |