본문 바로가기

Archived(CSE)/컴퓨터망

Chap 3. 트랜스포트 계층

3-1. 트랜스포트 계층 서비스 

- process 간 논리적 통신

- message(app) -> segment로 분할

- TCP(연결형, 신뢰성, 흐름제어, 혼잡제어) , UDP(비연결형, 비신뢰성)

 

3-2. 다중화(MUX)와 역다중화(DEMUX)

- 다중화(MUX) : 소켓으로부터 네트워크 계층으로 캡슐화해서 보내기(집 안의 우편물 합쳐서 우편부에게)

- 역다중화(DEMUX) : 네트워크 계층으로부터 해당 소켓으로 디캡슐화해서 맵핑하기(집 안의 담당자가 수신자들에게 우편물 나눠주기)

- 다중화와 역다중화는 Port 번호가 필요(IP address + Port #)

- 연결지향 DEMUX는 TCP, 비연결 DEMUX는 UDP

 

3-3. 비연결형 UDP

- UDP는 최소의 기능을 수행(출발~도착 port 번호에 배치시킨다) 비연결형

- UDP는 사용자 대기x, 연결 설정x, 연결 상태x, 패킷 오버헤드 또한 작다(small boundary)

- UDP는 혼잡제어x, 다른 계층에서 신뢰성을 보장한다면 신뢰적 전송 서비스 구현가능

- Segment 구조(Source port, Destination port, checksum, ...)

 

3-4. 신뢰성 있는 데이터 전송의 원리

- rdt(reliable data transmission) 1.0 기본전송

- rdt 2.0 ACK/NAK 수신

- rdt 2.1 ACK/NAK 오류 고려 seq 추가

- rdt 2.2 필요한 것만 재전송 ACK로 처리

- rdt 3.0 packet 분실 고려 (countdown timer)

- rdt 3.0 Timeout 선정 : (L/R) / RTT +(L/R)

- 응답 대기의 과정이 비효율적 -> 파이프라이닝(Pipelining)

- GBN(버퍼에 윈도우 크기 만큼 관리되면 슬라이딩 윈도우 프로토콜 이라고도 불림)

- 윈도우 크기, 버퍼 문제 -> Selective Repeat(특정한 것만 재전송, ACK 받으면 버퍼에서 제함)

 

3-5. 연결지향형 TCP

- TCP 연결 지향형, point to point, Full-duplex(전이중)

- 3 Way handshake 연결, 버퍼~버퍼(segment)

- 구조 header/data field (Source Destination , SEQ, ACK, ...)

- 왕복시간 예측 Estimated RTT = (1-a) * ERTT + a * Sample RTT

- DEVRTT= (1-B)DevRTT + B(SampleRTT- EstimatedRTT)

- 신뢰적인 데이터 전달(세그먼트/ timeout/ ACK 수신)

TCP 빠른 재전송 : 세 번이상 ACK 재전송 되면 문제 있음

- TCP 흐름제어 (수신 버퍼의 크기 고려) 읽는속도 < 송신속도(버퍼 오버플로우 발생)

- TCP 흐름 제어에서 send 함수는 데이터 전송이 아닌 Transport 의 버퍼에 데이터 저장하는 것

- TCP 연결관리, 3 Way handshake(SYN, ACK SYN, ACK), 4 Way handshake (FIN, ACK, FIN, ACK)

 

3-6. 혼잡제어의 원리

- 혼잡이란 네트워크 통신이 원활치 않은 상황(큐잉지연, 버퍼 문제 재전송, 상위 라우터 비용)

- 혼잡 제어 방법 1) 종단 간 제어 (송신 측에서 혼잡 감지, 왕복 지연값 고려)

- 혼잡 제어 방법 2) 네트워크 제어(라우터에서 종단에 feedback)

 

3-7. TCP 혼잡제어

- 혼잡 윈도우(cwnd), 송신율 = cwnd/rtt 

- 혼잡 제어 알고리즘 1) slow start : 처음엔 느리게 전송하다 점차 증가 (속도증가)

- 혼잡 제어 알고리즘 2) 혼잡회피

- 혼잡 제어 알고리즘 3) 빠른회복 : TCP Tahoe, 

'Archived(CSE) > 컴퓨터망' 카테고리의 다른 글