전송계층 Flashcards
DHCP
[리드] 동적 호스트 구성 프로토콜
[정의] 정적 또는 동적으로 IP주소를 할당하는 기능을 정의하는 프로토콜
[동작과정] (DORA)
- Discover, Offer, Request, Ack (4개모두 Broadcase 통신)
TCP
[정의] 전송 계층에서 3-Way Handshaking 을 통해 연결 지향적 신뢰성 있는 데이터 전송 프로토콜
[특징] 송신/수신 버퍼(흐름제어), 세그먼트 전송, 연결지향, 신뢰성
TCP Timer
[리드] TCP 회선 연결 신뢰성 확보, TCP Timer
[정의] TCP 프로토콜(RFC 793)에서 회선 연결 오류를 복구해 신뢰성 확보를 위한 4가지 Timer 기술
1. 재전송 타이머 : seq, ack(x), RTO
2. 영속 타이머 : ack(rwnd=0), ack(rand!=0)(x) probe, RTO, 2*RTO
3. 시간 대기 타이머 : FIN, ACK, FIN+ACK, ACK(x), Time-Wait
4. 연결 유지 타이머 : No Data, Probe, Keep Alive Time, 75s
TCP 오류제어
[리드] 세그먼트 재전송
[정의] 신뢰성 있는 데이터전송위해 송수신측에서 발생되는 오류 검출, 정정 및 재전송요구 매커니즘(ARQ)
[오류검출] Parity Check, Block Sum Check, CRC, Checksum
[오류정정] FEC(해밍코드, RS Code, Convolutional Code, Turbo Code), BEC (오류 검출, 재전송)
[재전송] Stop&Wait, Selective, Go-Back-N, Adaptive ARQ
TCP 혼잡제어
[리드] 네트워크 유입 트래픽 조절
[정의] 송신 네트워크의 처리속도차로 인한 혼잡 관리위해 느린출발, 혼잡회피기반 송신 프레임 크기 제어 기법
[동작설명] 느혼빠회
1. Slow start(느린출발) : cwnd < ssthresh 일 때, 지수적 증가
2. Congestion Avoidance(혼잡회피) : ACK 수신시 마다 cwnd크기를 혼잡상태 감지시까지 선형증가
3. Fast Retransmit(빠른전송) : 3 Duplicate ACK 수신 시, 즉시 재전송(TCP Tahoe)
4. Fast Recovery(빠른회복) : cwnd크기를 1/2줄이고 선형증가 (TCP Reno)
* Timeout시 Slow Start 재시작
[기법]
- TCP Tahoe : Slow Start + Congestion Avoidance + Fast Retransmit
- TCP Reno : TCP Tahoe + Fast Recovery
* TCP Reno는 다중패킷 손실시, 복구불가로 NewReno, SACK, 재전송변수 사용하여 문제점 개선가능
[문제점] 다중패킷 손실시 복구 불가 문제
[해결방안] NewReno, SACK 통해 모든 패킷 응답, 선별적 재전송 가능
*TCP 제어 기법 통하여 신뢰성 보장 및 연결 지향
TCP 흐름제어
[리드] 정보속도 균형제공
[정의] 회선 송/수신부 처리속도 차이 극복위한 슬라이딩 윈도우 알고리즘기반 송신 프레임 크기 동적제어 기법
[동작설명] 열림(Open, 수신측 Ack도착시) / 닫힘(Close, 수신측 정상수신시) / 축소(Shrink, 데이터 정합성문제시)
[기법]
- Stop & Wait(ACK) : 송신 데이터만 전송 확인 후 다음 데이터 전송
- Sliding Window(Buffer + ACK) : 버퍼 만큼의 데이터를 한 번에 전송
* TCP 계층에서는 흐름제어외에도 네트워크 버퍼의 Overflow방지위한 혼잡제어 병행하여 조절 필요
Silly Window Syndrome
[개념] 슬라이딩 윈도우 동작 시 송신 및 수신 응용프로그램의 낮은 데이터 생성, 소비 속도로 인한 적은 Data 전송, 동작효율 감소 현상
[사례]
TCP 상 1byte Data 전송 시: TCP 헤더 20bytes + IP 헤더 20bytes + Data 1byte = 총 41bytes의 데이터그램 전송 필요. 오버헤드 = 41/1
[유형]
- 송신 측 Syndrome : 송신 응용프로그램이 Data를 1byte(또는 적은 Data)씩 생성
- 수신 측 Syndrome : 수신 응용프로그램이 Data를 1byte(또는 적은 Data)씩 소비
[해결방안]
- 송신측 : Nagle’s Algorithm, 송신 데이터 소량. Ack 시 이외에는 최대로 모아서 전송
- 수신측 : Clark’s Solution, 프로세스 소비 지연, 지연 Ack(윈도우 절반까지), 그 전까지 rwnd=0(송신중지)
TCP 3-Way Handshake
SYN(Seq:1000, ACK:-), SYN+ACK(Seq:2000, ACK:1001), ACK(Seq:1001, ACK:2001)
(송신측) (수신측) [연결] SYN(일련번호=X) 전송 → ← SYN(일련번호=Y) + ACK(X+1) 전송 ACK (Y+1) 전송 → [해제] FIN(일련번호=X) 전송 → ← ACK(X+1) 전송 ← FIN(일련번호=Y)전송 ACK(Y+1) 전송 →
MPTCP
[정의] 트래픽 고가용성 및 확장성을 위해 TCP Stream 을 여러 개 묶어 호스트 간 데이터 송수신하는 기술
[특징] 다중 경로 통신, 트래픽 전송 보장, 이중망 데이터 병합 전송
* TCP subflow 사용 다중전송 프로토콜
[매커니즘] MP_CAPABEL(SYN-SYN,ACK-ACK) , MP_JOIN(SYN-SYN,ACK-ACK)
[구성요소] 서비스(MP_CAPABEL, MP_JOIN), Stack(IP, subflow)