본문 바로가기
Old/Network

컴퓨터 네트워크

by onenewkong 2023. 7. 24.

클라이언트: 사람이 만지는 컴퓨터

서버: 많은 사람들이 만지는 단말기에 서비스를 제공하는 무인 컴퓨터

-> 클라이언트에서 오는 데이터를 받아서 처리한 결과를 클라이언트에 회신

 

OSI 모델: 컴퓨터 네트워크 통신에 대한 국제 표준

-> 표준만 지키면 어떤 기기든, 어떤 형태의 통신 선로를 사용하든 컴퓨터 통신을 있음

  • 계층 1: 물리계층
  • 계층 2: 데이터 링크 계층
  • 계층 3: 네트워크 계층
  • 계층 4: 전송 계층
  • 계층 5: 세션 계층
  • 계층 6: 표현 계층
  • 계층 7: 응용 계층

 

OSI 모델의 계층 2

  • 단말기는 고유한 주소를 가짐
  • 단말기는 데이터를 프레임이라는 단위로 주고 받음

 

보다 많은 컴퓨터를 연결할 때의 문제점

  • 스위치 하나가 연결할 있는 단말기 수가 제한되어 있음
  • 단말기들 각각의 주소를 모두 고유하게 만들기 어려움
  • 서로 다른 네트워크 기기간을 연결하여 해결 가능
  • 이렇게 서로 다른 LAN 맞물려 연결된 것을 광역 통신망 혹은 WAN이라고

 

OSI 모델의 계층 3

  • WAN 모든 단말기는 OSI 모델의 계층3에서 요구하는 형식의 주소를 가짐
  • WAN에서 직접 데이터를 건네는 것이 아니라, 계층적으로 데이터를 건네주는 방식으로 작동, 이러한 일을 담당하는 네트워크 기기를 라우터라고

 

스트림 형식

  • 스트림: 데이터의 흐름
  • 헤더를 붙이는 방식: 2바이트에는 보낼 데이터의 크기를 담음, 이어서 보낼 데이터를 담음
  • 구분자를 쓰는 방식: 보낼 데이터를 담음, 이어서 구분자를 담음

 

단편화

  • 프로그램이 매우 스트림을 송신할 운영체제는 이를 IP패킷의 크기 제한에 맞추어 여러 조각을
  • 조각은 IP 패킷 하나하나가 되어 받는 쪽에 송신
  • 받는 쪽에서는 조각들을 받아 조립한 스트림 형태로 복원하며, 과정도 운영체제 안에서 진행
  • 조립된 스트림은 프로그램으로 넘어가 처리

 

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

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

  1. 자기가 처리할 있는 이상을 그냥 버림 - 패킷 유실이 일어남
  2. 아직 처리하지 못한 것들을 메모리에 누적

 

데이터는 유선이나 무선 회선으로 나가는 과정에서 일정 진폭이나 주파수의 전기(유선) 신호나 전자기파(무선) 신호로 변경되어 방출됨

-> 디지털 정보를 아날로그 신호로 바꾼 것으로, 일은 OSI 모델의 계층 1에서 일어남

 

수신자는 아날로그 신호를 받으면 진폭, 주파수 등을 파악하여 디지털 정보로 바꾸고 이를 OSI 모델의 계층 2 처리 모듈로 넘기면 이후 계층 3 모듈로 넘어감

과정에서 아날로그 신호에 변화가 생길 있음(오류 발생)

-> 네트워크 기기에 데이터가 가는 동안 잡음이 섞이면 프레임이나 패킷은 그냥 버려짐

 

#체크섬

: 중복 검사의 형태, 송신된 자료의 무결성을 보호하는 단순한 방법

통신에서 CRC, 순환 중복 검사를 체크섬이라고도 말하는데 엄밀히 따지면 체크섬은 나열된 데이터를 더하여 체크섬 숫자를 알고, 정해진 비트 수의 모듈러로 정해진 비트 수로 재구성

 

전송 속도와 전송 지연 시간

  • 전송 속도: 기기 간에 초당 전송될 있는 최대 데이터망 의미, 보통 초당 비트수 혹은 바이트 수로 표현
  • 레이턴시: 기기 간에 데이터를 최소량 전송할 걸리는 시간 의미

 

네트워크 품질 기준 세가지

  • 전송속도(스루풋): 높을수록 좋음
  • 패킷 유실률: 낮을수록 좋음
  • 레이턴시: 낮을수록 좋음

 

무선 네트워크

  • 와이파이에서 데이터를 전송할
  1. 데이터를 전파로 변환하여 보내기 직전에 안테나를 통해 다른 전파가 감지되는지 확인
  2. 전파가 감지되는 것이 없으면 전파를 보냄
  3. 전파가 감지되면 잠시 기다렸다가 1~2 과정 반복
  4. 신호 보낸 상대방에게서 '신호를 받았음' 응답이 오는지 체크
  5. 응답이 일정 시간 동안 없으면 보냈던 신호를 다시 보냄

CSMA(Carrier Sense Multiple Access)

: 지국이 전송하기 이전에 먼저 매체에 귀를 기울일 (또는 매체의 상태 확인) 요구하고 있음, 다시 말해 "전송 이전에 감지" 또는 "말하기 이전에 듣기" 원칙에 기반을

 

패킷 유실

  • UDP: 데이터그램이 유실됨
  • TCP: 중간에 지연 시간 발생

UDP -> 보통 캐릭터 이동, 기관총 난사, 음성이나 화상 데이터 전송에 사용 / 대전 격투 게임이나 실시간 전략 시뮬레이션 게임(RTS), 외는 거의 TCP

 

메타데이터를 이용하면 하위 호환성 측면에서 유리

  • 서버에서 메시지 안에 원하는 내용 일부가 있는지 없는지에 따라 작동을 다르게 만들어 주면 버전1 버전2 클라이언트를 동시에 처리할 있음
  • 모바일 앱에서는 메타데이터 방식이 유리(웹서버 시스템 그대로 사용 가능 - HTML/JSON )
  • MMORPG 바이너리 방식 사용 (대역폭 낭비 적고, 변환 불필요)

 

네트워크 주소 변환

: 다른 단말기로 전송되던 패킷의 송신자 주소나 수신자 주소가 다른 것으로 변환되는 과정, NAT 변환을 하는 기기를 NAT라우터라고

NAT 라우터가 주로 하는 일은 IP주소 1개를 여러 기기가 공용하도록 만들어 주는

'Old > Network' 카테고리의 다른 글

게임 네트워킹  (0) 2023.07.27
게임 서버와 클라이언트  (0) 2023.07.24
Socket Programming  (0) 2023.07.24
Multi Threading  (0) 2023.07.24
REST / REST API  (0) 2023.02.11