일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 |
- html5
- branch
- ccw 알고리즘
- pm2
- map
- Express.js
- trie
- localstorage
- 게임 서버 아키텍처
- HTTP
- insomnia
- PROJECT
- string
- MongoDB
- ERD
- 이분 탐색
- Github
- Next
- DP
- router
- 그리디
- MySQL
- 트라이
- Keys
- Prisma
- 그래프 탐색
- 백준 9527번
- JavaScript
- vector insert
- 자바스크립트
- Today
- Total
목록Network Programming/Transport Layer (5)
dh_0e

Congestion ControlCongetsion Window (cwnd)송신자의 윈도우 크기를 결정하는 요소로 두 가지 요인에 의해 결정됨수신자가 광고한 윈도우 크기(rwnd)수신자의 버퍼 공간에 따라 결정됨네트워크 혼잡 상태(cwnd)작은 값을 쓰다가 점점 키워감, segment가 loss가 나면 cwnd를 줄여서 설정 네트워크가 데이터를 처리할 수 있는 속도보다 송신 속도가 빠를 경우, 네트워크가 송신자에게 속도를 줄이라고 알림실제 송신 윈도우 크기 = min(rwnd, cwnd) / 대부분 rwnd > cwndCongestion PolicySlow Start (느린 시작)전송 속도를 느리게 시작하지만, treshold에 도달할 때까지 점점 빠르게 증가시킴Exponential Increase (지..

State Transition Diagram (상태 전이 다이어그램)일종의 설계 도면으로 TCP 상태 전이 다이어그램은 두 문자열을 슬래시(/)로 구분해 표기함첫 번째 문자열 = 입력(input): TCP가 받는 이벤트두 번째 문자열 = 출력(output): TCP가 보내는 반응Part I.에서 한 부분은 검은색 실선만 따라가면 됨ESTABLISHED 상태는 두 종류가 있음클라이언트용 ESTABLISHED: 일정한 순서로 요청 전송 중심서버용 ESTABLISHED: 수신 버퍼를 준비, 응답 중심흐름 제어와 오류 제어 측면에서 서로 역할이 다르므로 구분됨 A Common ScenarioClient StatesActive open: 클라이언트 프로세스가 TCP에게 특정 서버 주소와 포트로 연결 요청함 (co..

Process-to-Process Communication Stream Delivery Service메시지 단위가 아닌 byte 흐름 단위로 데이터를 전송나눠서 혹은 합쳐서 받을 수 있음Segment: TCP의 data unit으로, Application에서 받은 바이트 스트림을 TCP가 적절히 나눠서 만든 패킷 Numbering System (번호 체계)TCP는 두 가지 번호 필드를 사용함Sequence NumberAcknowledgment Number이 번호들은 세그먼트 번호가 아니라 바이트 번호를 기준으로 함 Byte NumberTCP는 보통 0부터 시작하지 않음임의의 시작 번호(ISN)를 선택함 (0 ~ $2^{32}-1$ 사이에서 임의로 고름)ex) ISN(Initial Sequence Numb..

User Datagram FormatUDP 패킷의 헤더 구조는 총 8바이트로 고정이며 4개의 필드로 구성됨Source Port Number(16bit): 송신 측 포트 번호, 범위 0~65,535Destination Port Number(16bit): 수신 측 포트 번호, 범위 0~65,535Length(16bit): 헤더(항상 8바이트) + 데이터의 전체 길이, 단위: 바이트Checksum(16bit): 오류 검출용 필드 (선택적 사용 가능) Process-to-Process CommunicationUDP도 TCP처럼 포트 번호를 이용해서 응용 프로그램 단위로 통신을 연결해줌여러 프로세스가 UDP를 사용할 수 있도록 UDP는 여러 포트 번호를 지원같은 컴퓨터 내부에서 UDP 통신을 하면 루프백 인터페이..

Transport Layer (전송 계층)Network Layer(네트워크 계층)와 Application Layer(응용 계층) 사이에 위치함응용 계층에 서비스를 제공하고, 네트워크 계층으로부터 서비스를 받음IP datagram이 Host에 도달하면 다음 프로세스를 처리하는 layer로 양쪽 Host에 위치하여 IP datagram을 상위 계층에 전달Process응용 계층의 개체, 즉 실행 중인 프로그램전송 계층의 서비스를 사용하여 통신함Host-to-host communication vs Process-to-process communication네트워크 계층은 컴퓨터 단위의 통신(host-to-host)을 담당 (NIC(Network Interface Card) 까지)이 메시지는 특정 프로세스에 전달되..