흰오목눈이야 개발하자

네트워크 공부 (6/9) Lesson 6 전송 계층 본문

네트워크

네트워크 공부 (6/9) Lesson 6 전송 계층

흰오목눈이 2022. 8. 21. 21:05

2022.08.21.일

 

전송 계층 -> 목적지에 신뢰할 수 있는 데이터를 전달하기 위해 필요함

 

- 전송 계층은 오류를 점검하는 기능전송된 데이터의 목적지가 어떤 애플리케이션인지 식별하는 기능이 있다.

 

# 전송 계층의 특징

- 신뢰성/정확성: 데이터를 목적지에 문제없이 전달하는 것

- 효율성: 데이터를 빠르고 효율적으로 전달하는 것

 

- 연결형 통신: 신뢰할 수 있고 정확한 데이터를 전달하는 통신. 상대편과 확인해 가면서 통신하는 방식.

  • TCP(Transmission Control Protocol, 전송 제어 프로토콜)이 사용됨

- 비연결형 통신: 효율적으로 데이터를 전달하는 통신. 상대편을 확인하지 않고 일방적으로 데이터를 전송하는 방식. 

  • 예) 동영상
  • UDP(User Datagram Protocol, 사용자 데이터그램 프로토콜)이 사용됨

2022.08.23.화

 

- 전송 계층에는 TCP 헤더가 붙는다.

- TCP 헤더가 붙은 데이터를 세그먼트(segment)라고 한다.

세그먼트 = TCP 헤더 + 데이터

- 연결형 통신은 꼼꼼하게 상대방을 확인하면서 데이터를 전송하는데 이를 하기 전에 해야하는 작업이 있다.

=> 데이터를 전송하려면 먼저 연결이라는 가상의 독점 통신로를 확보해야 한다.

- 연결(connection)을 확립하기 위해 TCP 헤더에 있는 코드 비트를 사용한다.

+) 연결(connection, 커넥션): TCP 통신에서 정보를 전달하기 위해 사용되는 가상의 통신로로 연결을 확립하고 데이터를 전송한다.

- 코드 비트 중 'SYN(씬)'은 연결 요청, 'ACK(애크)'는 연결 응답, 'FIN(핀)'은 연결 종료를 뜻한다.

- 연결 확립을 위해 패킷 교환을 세 번 하는데 이를 3-way 핸드셰이크(three-way handshake)라고 한다.

- 연결을 확립할 때는 'SYN'과 'ACK'를 사용하고, 연결을 종료할 때는 'FIN'과 'ACK'를 사용한다.


2022.8.27.토

 

-   3-way 핸드셰이크 이후 데이터를 전송할 때는 TCP 헤더의 일련번호(sequence number)확인 응답 번호(acknowledgement number)가 사용된다. 

  • 일련 번호는 데이터를 보낼 때 송신 측에서 수신 측에 '이 데이터가 몇 번째 데이터인지' 알려 주는 역할
  • 확인 응답 번호는 수신 측이 몇 번째 데이터를 수신했는지 송신 측에 알려주는 역할

- 재전송 제어: 데이터를 재전송하는 것

- 버퍼(buffer): 수신한 세크먼트(데이터)를 일시적으로 저장하는 장소

- 오버플로(overflow): 데이터 크기가 버퍼 크기를 넘어서는 것

- 윈도우 크기(window size): 버퍼 용량의 크기

 


2022.9.27.화

 

- 출발지 포트 번호(source port number)

- 목적지 포트 번호(destination port number)

→ TCP 헤더에 포트 번호가 있기 때문에 애플리케이션을 구분할 수 있다.

 

- 0~1023번 포트는 주요 프로토콜이 사용하도록 예약되어 있다. = 잘 알려진 포트(well-known ports)

→ 일반적으로 사용하는 서버 측 애플리케이션에 사용된다.

- 1024번은 예약되어 있지만 사용되지는 않는 포트

- 1025번 이상은 랜덤 포트 : 클라이언트 측의 송신 포트로 사용된다.

 

- 웹 브라우저로 접속할 때 웹 브라우저에는 임의의 포트가 자동으로 할당됀다.

→ 서버 측에서는 포트 번호를 정해 둬야 하지만 클라이언트 측은 정하지 않아도 괜찮다.

 


2022.10.1.토

- UDP는 데이터를 효율적이고 빠르게 보낼 때 사용하는 프로토콜이다.

- UDP는 UDP 헤더가 있지만 TCP 헤더에 비해 간단하다.

- UDP 헤더가 있는 데이터를 UDP 데이터그램이라고 한다.

 

UPD 데이터그램 = UDP 헤더 + 데이터

 

- UDP는 랜에서 불특정 다수에게 브로드 캐스트로 데이터를 일괄 전송한다.

+) 브로드 캐스트(broadcast) : 랜에 있는 컴퓨터나 네트워크 장비에 데이터를 일괄적으로 보내는 것.