통신 주요개념 정리

Updated:

통신

통신 언어 정리

  • 라우터란?
    -라우터는 데이터 패킷이 목적지까지 가는 길을 검사하고 어떤 경로로 가는 것이 적절한지 판단하는 장치
    -이 방향을 결정할 때 사용되는 것이 라우팅 프로토콜임
    -routing(각 패킷의 헤더에 들어있는 목적지 정보를 통해 경로 설정)과 forwarding(경로 설정 후에 link를 통해 패킷을 목적지로 보내줌)의 기능을 수행함

  • 프로토콜이란?
    -기기 간의 데이터 통신을 원활하게 하기 위한 규약
    -프로토콜의 규약 위에서 돌아가는 구조를 애플리케이션 이라고 함
    -이러한 애플리케이션에는 데이터 운반 과정을 신뢰성 있게 구축해놓음(best effort: 최선을 다하지만 가끔 문제가 생길 수는 있음)

  • 소켓
    -네트워크를 통한 입출력을 하기 위해 사용자에게 필요한 수단을 제공하는 인터페이스
    -필요한 요소: 프로토콜(TCP, UDP 등등), 소스 ip 주소, 소스 포트 번호, 목적지 ip 주소, 목적지 포트 번호(들어온 데이터가 해당 어떤 애플리케이션으로 들어가야하는지 지정해주는 것, 호스트 내에 실행되고 있는 여러가지 프로세스 중에 데이터를 어디에 할당할지 지정함)
    -운영체제(1-4계층)와 프로세스(5-7계층) 중간에서 소켓이 만들어지고 운영됨
    -well known포트: 국가나 세계적으로 이미 할당된 0번부터 1023번까지의 포트 → 이 숫자를 제외한 나머지를 포트로 쓰자(전체 포트는 0~65535번까지인데 최소한 10000번대 이상의 포트를 사용하자)
    -데이터 전송 순서: 빅 엔디안(상위 바이트의 값을 작은 번지수에 저장), 리틀 엔디안(상위 바이트의 값을 큰 번지수에 저장) → 데이터가 거꾸로 온다거나 하면 이걸 의심해봐야됨

  1. 프로토콜

<TCP(SOCK_TCP)>
-스트림(연결형) 방식의 소켓 생성 → 상대방과 먼저 연결(IP 등등)을 설정하고 전달(높은 신뢰성-SYN(요청), ACK(확인), FIN(종료) 사용)
-UNIX의 파이프(|) 개념과 동일
-전달된 순서대로 수신됨
-메시지 경계가 유지되지 않음(보내는 데이터량이 제각각임) ← 전송 중간중간에 상대방이 받을 수 있는 데이터량을 검사하고 속도를 조절하기 때문
-전송된 데이터 중에 문제가 발생하면 재전송 요청

<UDP(SOCK_DGRAM)>
-데이터그램 방식의 소켓 생성
-개별적으로 주소가 쓰여진 패킷 전송시 사용(보내는 쪽에서 보낼량을 정해서 ip를 다 적어서 보냄 → 신뢰성이 없기 때문) → 패킷이 전달된 순서대로 수신되지 않음
-비연결형 서비스
-에러복구를 하지 않음(신뢰성이 없음)
-데이터그램 패킷의 크기 제한)
-최근에는 라우터 같은 네트워크 장비들이 좋아서 신뢰성도 어느 정도 보장되긴 함

네트워크의 구성

  1. Network Edge
    -네트쿼크의 가장자리
    -다양한 호스트가 포함됨(mobile network, home network, institutional network)
    -데이터 전송시에 데이터를 패킷이라는 단위로 쪼개서 보내고 수신시에는 다시 합침
    -데이터 통신을 원활하게 하기 위한 프로토콜을 사용함

  2. Access Network
    -하나의 호스트부터 첫번째 라우터에 연결하는 네트워크
    -Edge Router를 Core쪽으로 어떻게 연결할지를 다루고 있음
    -Access Network가 사용되는 환경에 따라 각각의 환경이 End System을 인터넷에 연결시키는 방식이 나뉘는데 가정에서는 DSL과 케이블, FTTH방식을, 기업에서는 이더넷과 와이파이 방식을 사용함

  3. Physical Media
    -하나의 End System에서 다른 End System으로 비트 전송시에 물리매체 상의 전기 신호를 전파하여 전송
    -twisted pair(tp), coaxial cable(동축 케이블), fiber cable(광섬유) 등의 Guided Media(유선 매체)와 radio 등의 Unguided Media(무선 매체)로 나뉨

  4. Network Core
    -서로서로 연결되어 있는 라우터들의 집합체
    -Network Edge들을 연결하는 역할을 하는 중간 부분
    -link와 router에서 데이터 이동 방식에는 Packet Switching(패킷교환방식)과 Circuit Switching(회선교환방식)이 있음

1. 패킷교환방식(Packet Switching) → 현재 인터넷에서 사용하는 방식
-데이터를 패킷이라는 단위로 쪼개서 전송하는 방식
-다음 링크로 전송하기 전에 해당 패킷의 모든 것을 저장한 뒤(에러 확인 등 절차도 포함)에 전달하는 방식을 사용(store and forward)
-라우팅 알고리즘을 통해서 목적지까지 경로를 설정하고 중간의 라우터들을 거쳐 최종 목적지에 도착함 → 패킷이 현재 라우터에서 다음 라우터로 가기위해 큐에서 대기(store and forward속성 때문)하는데 이때 큐의 범위를 초과하면 손실(loss)가 발생할 수 있음

2. 회선교환방식(Circuit Switching)
-하나의 회선을 할당하여 데이터를 주고받는 방식
-먼저 통신을 위해 회선의 연결이 필요하고 한 번 연결되면 다른 사용자가 끼어들 수 없게 독점함
-속도와 성능이 일정함
-실시간 통신에 사용 eg)전화

종류
-FDM(Frequency Division Multiplexing): 주파수 대역별로 분할
-TDM(Time Division Multiplexing): 시분할

How do loss and delay occur?(between two router)

  1. four sources of packet delay
    -nodal processing(처리하는 시간(우선순위 등에 의한 지연))
    -queueing(큐에 들어오는 순간부터 나갈 때까지의 시간) ← 가장 큰 원인
    -transmission(전송하는데 걸리는 시간)
    -propagation(전송 거리에 따른 지연시간)

  • OSI 7계층이란?
    -네트워크에서 통신이 일어나는 과정
    -최근에는 osi7계층에서 5,6계층을 제거한 5계층 구조로 설명함
    -7단계중 특정한 곳에 이상이 생기면 다른 단계를 건들지 않고 이상이 생긴 계층만 건들면 고칠수 있도록 하기 위해 계층별로 나누었음

1.physical(물리 계층): 전기신호로 통신

  1. link(데이터 링크 계층): 컴퓨터부터 스위치까지의 통신 구간(데이터를 통해 통신)
  2. network(네트워크 계층): ip를 이용하여 통신(라우터를 이용→목적지까지 가는 경로를 설정해줌)
  3. transport(전송 계층): 어떤 규약을 통해 전송을 할 것이냐를 정함
  4. application(응용 계층): 실질적으로 애플리케이션이 돌아가는 구간(패킷이 어떤 패킷인지 판정해줌)

Leave a comment