728x90
- 트랜스포트 계층 프로토콜은 서로 다른 호스트에서 동작하는 프로세스 간 논리적 통신 제공
- 네트워크 라우터 X, 종단 시스템에서 구축됨
- 데이터가
segment
라는 트랜스포트 계층 패킷으로 캡슐화됨 UDP
,TCP
...
트랜스포트 계층과 네트워크 계층
트랜스포트 계층 --> 프로세스 간 논리적 통신 제공
네트워크 계층 --> 호스트 간 논리적 통신 제공
트랜스포트 계층은 네트워크 프로토콜이 비신뢰적이어도 신뢰적인 통신 제공 + 보안 제공
네트워크 계층의
IP
: 비신뢰적인 서비스- 최선형 전달 서비스 제공
- 세그먼트의 순서 보장 X
- 데이터의 무결성 보장 X
트랜스포트 계층은 호스트 간 전달 --> 프로세스 간 전달로 확장하는
트랜스포트 다중화와 역다중화
제공
다중화와 역다중화
- 애플리케이션은 소켓을 통해서 트랜스포트 계층과 통신함
다중화
: 세그먼트들을 네트워크 계층으로 전달하는 작업역다중화
: 세그먼트들을 올바른 소켓으로 전달하는 작업- 출발지 포트 번호, 목적지 포트 번호를 이용해서 다중화 구현
UDP(User Datagram Protocol)
- 다중화/역다중화, 간단한 오류 검사 기능 제공
- 핸드셰이크 X --> 비연결형
- UDP가 유용한 이유
- 애플리케이션 레벨에서 정교한 데이터 송신 제어 가능
- 연결 설정(핸드셰이크)이 X --> 연결 설정을 위한 지연 X
- 연결 상태 X
- 작은 패킷 헤더 오버헤드
- 구글의 QUIC 프로토콜은 UDP 이용
- 세그먼트
- 헤더 : 2Byte씩 이뤄짐
- 출발지 포트 번호, 목적지 포트 번호, 길이, 체크섬
- 바디 : 애플리케이션 메시지
- 헤더 : 2Byte씩 이뤄짐
- 체크섬은 오류만 검출 --> UDP는 오류 복구 안함
신뢰성있는 데이터 전송 원리
데이터가 전송될 수 있는 신뢰적인 채널의 서비스 추상화는 신뢰적인 데이터 전송 프로토콜의 의무
TCP
:비신뢰적인 종단간 네트워크 계층(IP
) 위에 구현된 신뢰적인 데이터 전송 프로토콜pipelining
: 확인응답을 기다리지 않고 여러 패킷 연이어 전송오류 회복 : N부터 반복(
Go-Back-N
), 선택적 반복(Selective Repeat
)N부터 반복(
Go-Back-N
) : 순서가 잘못된 패킷은 버리고 다시 재전송받음선택적 반복(
Selective Repeat
) :패킷 순서 고려 X, 손상없는 패킷은 확인응답 보냄. 분실된 패킷이 도착할때까지 버퍼에 모아두고 수신하면 전송
TCP(Transmission Control Protocol)
- 3-way handshaking -->
연결지향형
- 서로 동시에 메시지 송신 가능 -->
전이중 서비스
- 단일 수신자, 단일 송신자 -->
점대점 연결
- 3 방향 핸드셰이크
- 연결 설정을 위해 호스트간 3개의 패킷이 송신
- TCP는 초기 세 방향 핸드셰이크 동안 연결의 송신 버퍼로 데이터 전송
- 세그먼트의 크기는 전송될 수 있는 가장 큰 링크 계층 프레임의 길이(최대 전송 단위)에 의해 결정
- TCP는 TCP 헤더와 클라이언트 데이터를 하나의 TCP 세그먼트로 생성함
- 세그먼트
- 헤더 : 출발지 포트 번호, 목적지 포트 번호, 체크섬, 순서번호, 확인응답번호, 헤더길이, 플래그, 수신 윈도우, 긴급 데이터 포인터, 옵션
- 바디 : 데이터
- TCP의 오류 복구는 GBN과 SR 프로토콜의 혼합
- 애플리케이션에 흐름제어 서비스 제공 --> 송신자의 전송 속도와 수신자의 읽기 속도를 일치시킴
- 혼잡제어 : 모두가 이용하는 네트워크 차원의 서비스. 전체 서비스 안정화
- TCP의 혼잡제어 알고리즘
- 슬로우 스타트, 혼잡 회피, 빠른 회복
- 슬로우 스타트, 혼잡 회피는 필수요소임
- TCP의 혼잡제어 알고리즘
'컴퓨터공학 > 네트워크' 카테고리의 다른 글
URL과 리소스 (0) | 2021.05.31 |
---|---|
[컴퓨터 네트워크] 링크 계층 (0) | 2021.01.28 |
[컴퓨터 네트워크] 네트워크 계층 (0) | 2021.01.26 |
[컴퓨터 네트워크] 애플리케이션 계층 (0) | 2021.01.23 |
[컴퓨터 네트워크] 1. 인터넷이란? (0) | 2021.01.18 |