전송 계층에 대한 이해
- Computer Science/Network
- 2020. 11. 6.
전송계층 역할
네트워크 계층에서 다른 네트워크로 데이터를 전송하려면 라우터가 필요하고 라우터의 라우팅 기능을 사용하여 전송할 수 있다. 라우팅 정보가 잘못될 수도 있고, 많은 라우터를 경유하는 도중에 라우터에 문제가 생기거나 패킷이 손상된다면 데이터를 전송하더라도 목적지에 도착하지 못할 수 있다.
전송계층은 목적지에 신뢰할 수 있는 데이터를 전달하기 위해 필요하다. 전송계층에는 오류를 점검하는 기능이 있다. 오류가 발생하면 데이터를 재전송하도록 요청한다. 데이터가 어떤 애플리케이션에서 사용하는 데이터인지 판단한다. 전송계층에서는 전송된 데이터의 목적지가 어떤 애플리케이션인지 식별하는 기능이 있다.
연결형 통신과 비연결형 통신
(1) 연결형 통신 [TCP : Transmission Control Protocol] : 신뢰할 수 있고 정확한 데이터를 전달하는 통신 (상대편과 확인해가면서 통신하는 방식)
(2) 비연결형 통신 [UDP : User Datagram Protocol] : 효율적으로 데이터를 전달하는 통신 (상대편을 확인하지 않고 일방적으로 데이터를 전송하는 방식)
TCP의 구조
데이터를 전송하려면 먼저 연결(connection)이라는 가상의 독점 통신로를 확보해야한다. 이 연결을 확립한 후에 데이터를 전송할 수 있다. 연결을 확립하려면 SYN, ACK가 필요하다. SYN은 ‘연결요청’, ACK는 ‘확인 응답’을 뜻한다.
3-way 핸드셰이크
- (1) 연결 확립 요청 [SYN]
- (2) 연결 확립 응답 + 연결 확립 요청 [SYN + ACK]
- (3) 연결 확립 응답 [ACK]
연결 확립을 위해 코드 비트의 SYN과 ACK가 1로 활성화된다. 연결을 끊을때에는 FIN, ACK를 사용하는데, FIN은 연결종료를 뜻한다.
- (1) 연결 종료 요청 FIN
- (2) 연결 종료 응답 ACK
- (3) 연결 종료 요청 FIN
- (4) 연결 종료 응답 ACK
'Computer Science > Network' 카테고리의 다른 글
CORS 개념 (0) | 2021.11.30 |
---|---|
네트워크 스위치의 로드밸런서 (Load Balancer) (0) | 2021.11.28 |
데이터 링크 계층의 역할과 이더넷 (0) | 2020.01.28 |
물리 계층의 역할과 랜 카드의 구조에 대한 이해 (0) | 2020.01.22 |
OSI 7계층과 TCP/IP 모델과 캡슐화/역캡슐화 개념에 대한 이해 (0) | 2020.01.22 |