본문 바로가기
학교/네트워크

전송 계층과 3-way-handshake

by 킹차니 2022. 12. 8.

전송 계층 프로토콜은 오류 제어, 흐름 제어, 데이터 순서화 등의 기능 면에서 데이터 링크 계층과 특지이 유사하다. 그러나 데이터 링크 계층이 물리적인 전송 선로를 통해 직접 연결된 두 물리적 호스트 사이의 데이터 전송을 담당하는 반면, 전송 계층은 네트워크 끝단에 위치하는 통신 주체가 중간의 논리적인 선로(라우터로 연결된 컴퓨터 네트워크)를 통해 데이터를 주고받는다.

 

아래 그림은 보면 네크워크 계층은 단순히 물리적인 선로를 통해 데이터를 직접 전달히 때문에 네트워크 계층의 중개 기능이 필요없지만, 전송 계층은 중간에 위치한 논리적 네트워크의 중개 기능을 사용하여 전송 기능을 수행한다. 

 

 

전송 계층의 주요 기능:

 

1. 흐름 제어

데이터 링크 계층 역시 라우터 사이의 프레임 전송 과정에서 흐름제어 기능을 수행한다. 하지만 전송 계층에 관여하는 라우터가 데이터 링크 계층에서 보다 훨씬 복잡하기 때문에. 전송 계층과 데이터 링크 계층에서의 흐름 제어는 서로 다른 버퍼 관리 방법이 필요하다.

 

2. 오류 제어

데이터 분실, 데이터 변형을 해결하는 기능으로 재전송에 의한 오류 제어를 기본으로 한다.

 

3. 분할과 병합

상위 계층에서 전송한 데이터의 크기가 전송 계층에서 처리할 수 있는 데이터의 크기보다 크다면 데이터를 쪼개야하는데 이 과정을 분할이라 하고, 반대로 수신한 데이터를 원래의 크기로 모으는 과정을 병합이라한다.

 

4. 서비스 프리미티브

전송 계층 사용자가 저송 계층 서비스를 사용하기 위한 인터페이스이다. 

 

 

 

TCP 프로토콜

TCP(Transmission Control Protocol)의 약자로 IP 프로토콜 위에서 연결형 서비스를 지원하는 전송 계층 프로토콜로, 인터넷 환경에서 기본으로 사용한다. TCP에서 제공하는 주요 기능은 아래와 같다.

• 연결형 서비스 제공

전이중(Full Duplex) 방식의 양방향 가상 회선을 제공

신뢰성있는 데이터 전송을 보장

 

3-Way-Handshake

TCP를 사용하는 프로세스가 가장 먼저 실행하는 연결 설정은 3-Way-Handshake 방식이다. 아래 그림은 A프로세스가 연결 설정을 요구하고, B프로세스가 이를 수락하는 형식이다.

1. A프로세스가 TCP 헤더의 SYN 플래그를 지정한 세그먼트를 전송함으로써 연결 설정을 요구 (SYN 보냄)

2. B프로세스가 A가 보낸 일련 번호에 + 1을 하여 ACK필드에 지정해 회신한다. ACK값을 유요하게 하기 위해 ACK 플래그를 지정한다. (SYN, ACK 회신)

3. B 프로세스가 전송한 연결 수락 세그먼트가 제대로 동작했음을 알린다. (ACK 보냄)

 

 

 

 


참고 :

쉽게 배우는 데이터 통신과 컴퓨터 네트워크 -박기현 저

'학교 > 네트워크' 카테고리의 다른 글

네트워크 계층  (0) 2022.12.06
데이터 링크 계층 프로토콜  (0) 2022.12.05
MAC 계층(CSMA/CD, 토큰버스, 토큰 링)  (0) 2022.12.04
ARP, ICMP  (0) 2022.12.03
OSI 7 Layer  (0) 2022.12.03