일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- VerticalMultiDragGestureRecognizer
- 입력 커서
- 에러
- gestureRecognizers
- 플러터
- 앱
- Could not create service of type FileAccessTimeJournal using
- Flutter
- Set ID
- 웹뷰
- project flow
- Flutter SDK
- 안보내짐
- StringUtils.isEmpty
- 플루터
- StringUtils.isBlank
- Chrome Developer Tools
- TCP/IP모델
- freezed
- TextFormField
- foreground
- fullBackupContent
- runSpacing
- carousel slider
- 크롬개발자도구
- 프로그래머스
- not working
- allowBackup
- 두 수의 나눗셈
- 안드로이드
- Today
- Total
흰오목눈이야 개발하자
네트워크 공부 (6/9) Lesson 6 전송 계층 본문
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) : 랜에 있는 컴퓨터나 네트워크 장비에 데이터를 일괄적으로 보내는 것.
'네트워크' 카테고리의 다른 글
네트워크 공부 (8/9) Lesson 8 네트워크 전체 흐름 (1) | 2022.10.10 |
---|---|
네트워크 공부 (7/9) Lesson 7 응용 계층 (0) | 2022.10.02 |
네트워크 공부 (5/9) Lesson 5 네트워크 계층 (0) | 2022.08.04 |
네트워크 공부 (4/9) Lesson 4 데이터 링크 계층 (0) | 2022.08.01 |
네트워크 공부 (3/9) Lesson 3 물리 계층 (0) | 2022.07.15 |