251107

lililllilillll·2025년 11월 7일

개발 일지

목록 보기
348/350

✅ 한 것들


  • 게임 서버 프로그래밍 교과서


📖 게임 서버 프로그래밍 교과서


2.5 컴퓨터 네트워크의 품질과 특성

네트워크의 품질을 저해하는 것들

스위치나 라우터에 처리 가능 한계 넘는 데이터 수신되면

  • 1 패킷 드롭 : 한계 넘는 건 버린다
  • 2 처리 못한 건 메모리에 누적

패킷 드롭 하면 패킷 유실(packet loss) 일어남
인터넷 서비스 공급자는 초과분 버리는 편
가정용 라우터는 메모리 누적시키는 편
누적이 지속되면 멈추거나 재부팅

OSI 계층 1에서 데이터가 아날로그 신호로 변환
수신자가 다시 디지털로 바꿀 때 잡음 섞이거나 신호 약해질 수 있음
계층 2, 3의 체크섬 검사로 확인 가능. 수정 시도 후 안되면 버림.

정리

  • 네트워크 기기 처리 한계 넘어가면 패킷 유실 발생 가능
  • 회선 신호가 약하거나 잡음 섞이면 패킷 유실 발생 가능

전송 속도와 전송 지연 시간

전송 속도(스루풋) : 두 기기 간에 초당 전송될 수 있는 최대 데이터양
레이턴시 : 두 기기 간에 데이터를 최소량 전송할 때 걸리는 시간

레이턴시 영향 주는 것

  • 매체 종류 : 구리 전선(랜선), 광섬유(해저 케이블), 무선
  • 매체 품질 : 선 훼손, 신호 간섭 등 일어나면 패킷 드롭 일어나 재전송
  • 송수신자 사이의 라우터 처리 속도
  • 데이터의 매체 통과 시간보다 네트워크 기기 처리 시간이 훨씬 길다

두 단말기 사이의 레이턴시 = 두 단말기 사이에 있는 네트워크 기기의 레이턴시 총합
두 단말기 사이의 스루풋 = 두 단말기 사이의 네트워크 기기 중 최소 스루풋

무선 네트워크의 품질

와이파이 데이터 전송 (CSMA, Carrier Sense Multiple Access)

  • 1 데이터를 전파로 변환하여 보내기 직전 다른 전파 감지되는지 확인
  • 2 전파 감지 안되면 전파 전송
  • 3 전파 감지되면 기다렸다가 1,2 반복
  • 4 신호 보낸 후 '신호 받았음' 응답 오는지 체크
  • 5 응답 일정 시간 없으면 다시 보냄

이게 없으면 서로의 신호가 뒤섞여 통신 불가

2.6 컴퓨터 네트워크에서 데이터 보내기와 받기

UDP와 TCP는 OSI 계층 4

UDP (User Datagram Protocol) 네트워킹

  • datagram : 64킬로 바이트 이하의 이진 데이터
  • 패킷 유실, 중복, 순서 뒤섞임 발생 가능 (훼손은 매우 드묾)
  • UDP 소켓 하나로 데이터 송수신 모두 가능
  • 다대다 통신 가능

TCP (Transmission Control Protocol) 네트워킹

  • TCP에서 보낼 스트림 데이터는 segment(IP 패킷에 넣을 수 있는 크기의 단위)로 쪼개진 후 IP 패킷에 넣어진다
  • ack(확인 응답) 올 때까지 세그먼트 보낸다

2.7 패킷 유실 시 UDP와 TCP에서 현상

UDP에서 패킷 하나 유실되면 그 패킷이 포함된 datagram 전부 유실
TCP에서 패킷 하나 유실되면 (ack 안 오면) 그 패킷만 재전송

UDP 평균 레이턴시 = 네트워크 기기 레이턴시
TCP 평균 레이턴시 = 네트워크 기기 레이턴시 + 패킷 유실률 x 재전송 대기 시간

하지만 네트워크 게임에선 TCP가 더 불쾌
패킷 유실률은 20% 이하지만, 재전송 대기 시간은 수백 밀리초 수준

2.9 네트워크 주소 변환

네트워크 주소 변환(Network Address Translation, NAT)

  • 다른 단말기로 전송되던 패킷의 송신자 주소나 수신자 주소가 다른 걸로 변환
  • NAT 라우터 : NAT 변환하는 기기. 인터넷 공유기 같은 것들.
    • IP 주소 1개를 여러 기기가 공용하게 만들어준다
    • 홀펀칭 : 임의의 포트 번호 할당해서 내부 주소에 대응하는 외부 주소를 만들어 포트 매핑 엔트리에 저장


profile
너 정말 **핵심**을 찔렀어

0개의 댓글