데이터 전송 과정은 기본적으로 비 신뢰성을 가지고 있다.
전송 과정에서 데이터가 손상 되거나 유실되기 때문 이다.
전송계층의 특징
응용 계층의 데이터에서 TCP헤더를 붙여 캡슐화 하면 TCP 세그먼트가 된다.
네트워크 계층의 패킷에서 IP헤더를 떼어내는 역캡슐화를 거쳐도 TCP세그먼트가 된다.
TCP헤더의 구조
TCP의 연결 확립 과정과 젼결 종료 과정에서 TCP플래그가 중요한 역할을 한다.
TCP 플래그
각 초기값은 0이고 활성화 시 1로 변경
3-way handshake
세션 연결 확립
패킷 요청을 3번하여 연결하는 과정을 거친다. (1. SYN → 2. SYN+ACK → 3. ACK)
4-way handshake
세션 연결 종료
패킷 요청을 4번 교환하여 마무리하는 과정을 거친다. (1. FIN → 2. ACK → 3. Fin → 4. ACK)
TCP에러 제어
세그먼트의 손실 및 훼손, 순서가 어긋난 경우, 중복된 경우 이에 대한 처리를 한다.
신뢰성 있는 데이터 전송
Stop and Wait ARQ - 타임 아웃이 되어도 ack를 받지 못하면 패킷을 재전송
식별을 위해 0과1의 패킷(혹은 ack)을 번갈아 전송, 응답이 올때까지 기다리는 비효율적 방식
Go - Back -n ARQ - 패킷이 돌아오지않아 에러가 발생하면 그번호의 패킷부터 다시 전송하는 방식
Selctive Repeat ARQ - 오류가 발생한 패킷을 선택적으로 재전송(미수신 패킷 버퍼에 저장)
6. 응용 계층 (0) | 2023.08.01 |
---|---|
5. 전송 계층 (2) (0) | 2023.07.31 |
4. 네트워크 계층(4) (0) | 2023.07.27 |
4. 네트워크 계층(3) (0) | 2023.07.25 |
4. 네트워크 계층(2) (0) | 2023.07.24 |