일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 벡터
- working set
- Private Bytes
- 메모리 누수
- URP로 변경
- VR
- 가상 바이트
- Windows Build
- 작업 집합
- Rim Light
- ColorGradingLutPass
- 프로그래밍 기초
- AppSW
- Virtual Byte
- Cell Look
- Toon Shader
- 게임 수학
- 개인 바이트
- Cell Shader
- URP
- 3d
- Three(Two) Tone Shading
- Cartoon Rendering
- Specular
- OculusMotionVectorPass
- C언어
- ASW(Application SpaceWarp)
- Today
- Total
WinCNT
TCP/IP 계층 구조 본문
4계층: 응용 계층
TCP/UDP 기반의 응용 프로그램
3계층: 전송 계층
프로세스 간의 신뢰성 있는 데이터 전송을 담당
TCP, UDP
2계층: 인터넷 계층
호스트 간의 라우팅 담당
인터텟 프로토콜 > IP 패킷을 만듬 { IP 헤더 + 데이터}
주소 변환 프로토콜 > ARP(IP --> MAC), RARP(MAC --> IP)
상태진단프로토콜 > ICMP
1계층: 네트워크 인터페이스 계층
Node-To-Node간의 신뢰성 있는 데이터 전송을 담당
물리적인 주소로 MAC 사용
에러 검출 기능, 패킷의 프레임화
https://www.itworld.co.kr/tags/6436/%ED%94%84%EB%A0%88%EC%9E%84/106484
이더넷 프레임은 상당히 큰 패킷까지 보낼 수 있어서
스위치나 라우터의 장비 스펙에 따라서는 한 번에 보낼 수 없는 경우가 있다
그러한 경우는 스위치나 라우터가 알아서 분리해서 보낸다
신뢰성
문제가 있는 패킷을 버리는 것 - 체크썸으로 검출한다
UDP는 문제 있는 패킷을 바로 버리고
TCP는 문제 있는 패킷을 버리고 송신 측에 통지한다
장비 설명
OSI 7 기준
허브: 전기적인 신호를 증폭시켜 LAN의 전송 거리를 연장 시키고 여러 대의 디바이스를 연결해 네트워크를 만들어 주는 장비. MAC(주소)를 기억하지 않기 때문에 통신 효율이 떨어짐 [1계층]
스위치: 허브와 달리 MAC(주소)를 기억해 효율적인 통신 가능[2계층]
공유기: 여러 컴퓨터가 인터넷 접속할 수 있도록 하는 기기[3계층]
라우터: 네트워크가 인터넷에 접속할 수 있도록 해주며 통신 신호들의 경로를 지정[3계층]
프로토콜 스택(혹은 커널)
TCP는 패킷을 어느 정도 모아서 보내는 특성이 있음
(옵션으로 조정 가능)
그래서 TCP의 패킷을 스트림 데이터라고도 함
UDP의 경우는 SendTo는 보낸 횟수만큼 RecvFrom를 해야 함
헤더 정보
3-Way Handshaking
연결 과정
참고) 디도스 공격
클라이언트가 서버에 SYN만 계속 보내는 공격 방식
4-Way Handshaking
종료 과정
끊는 것은 클라이언트도 서버도 할 수 있다
FIN을 보냈을 때, 바로 종료되는 것이 아니라 FIN-WAIT라는 페이즈가 존재한다
SSS
'게임 프로그래밍(학습 내용 정리) > 네트워크 프로그래밍' 카테고리의 다른 글
데이터 드리븐과 메시지 큐 (0) | 2022.05.09 |
---|---|
소켓과 포트, Stateless와 Stateful (0) | 2022.05.09 |
네트워크로 데이터를 송신하는 과정 (0) | 2022.04.26 |
UDP vs TCP and Socket (0) | 2022.04.25 |
Socket Programming in C/C++ (0) | 2022.04.18 |