[네트워크] 컴퓨터 네트워크 기본1

may.log·2023년 9월 7일

network

목록 보기
2/2
post-thumbnail

인터넷 구성요소

network edge : hosts

network core : routers, network of networks

access networks, physical media : communication links(무선-wifi,LTE)

📍network edge

end systems(종단 시스템, hosts: 네트워크에 연결된 컴퓨터), client/server, peer-peer

인터넷에서 데이터를 전송하는 방법 2가지

전송계층에서 사용하는 프로토콜
데이터를 보내기 위한 프로토콜

1. TCP

  • connection-oriented service, 연결 지향 방식으로 데이터를 보낼 때 논리적 경로를 지정
  • 신뢰성 있고, 순서 있는 데이터 스트림 전달
  • 흐름 제어: 송신측과 수신측의 데이터 속도 처리를 해결하기 위한 방법으로, 수신측의 데이터 속도를 강제로 줄이는 방법이다.
  • 혼잡 제어: 네트워크가 혼잡할 때, 송신측의 데이터를 보내는 속도를 낮추는 방법이다.

HTTP(Web), SMTP(email), FTP(file transfer)에서 사용

2. UDP

  • connectionless service, 비연결 지향으로 데이터 전송을 위해 할당하는 논리적 경로를 지정하지 X
    - 각각의 패킷은 다른 경로로 이동하여 독립적 관계 가짐, 데이터를 서로 다른 경로로 독립적으로 처리
  • 비연결형
  • 흐름제어, 혼잡제어 X
  • 신뢰성 없는 데이터 전달

스트리밍 미디어, 음성전화(오디오 패킷 몇개 유실되더라도 영향 X)

프로토콜(Protocol)

컴퓨터간 통신을 위해 정의한 규칙

📍network core

네트워크 시스템의 중앙에 위치하여, 데이터를 전송하는 핵심적 역할
네트워크 코어의 구조는 "라우터들이 그물망처럼 얽혀있는 형태"

네트워크 상에서 데이터가 전송되는 방식

1. circuit switching

데이터를 전송하기 위한 경로를 미리 예약하는 방식
통신을 위한 연결을 하고, 전송지-수신지까지 사용되는 경로를 독점적으로 사용해, 다른 사람이 끼어들 수 없음
ex) 전화

2. packet-switching

데이터를 패킷 단위로 쪼개 데이터를 전송하는 방식
패킷의 header에는 출발지, 목적지 ip주소, 패킷번호 등의 식별정보가 있고, payload에는 실제 데이터가 있다.
핵심은 header이다. 헤더의 정보를 이용해 목적지까지 순서대로 패킷이 도달될 수 있다. 그리고 이 패킷의 구조를 윌는 프로토콜이라고 한다.

이 패킷의 정보를 이용해 송신측은 네트워크에 정보를 뿌린다. 그러면 각자 링크를 타고, 스위치를 타고, 라우터를 타서 최종 목적지까지 방향을 잃지 않고 도착한다.
이 과정에서 라우터 또한 중요한 역할을 한다. 패킷이 수신된 링크를 구별하고, 송신할 링크를 찾는, 경로를 탐색하고 패킷을 저장하고 송신하는 역할을 라우터가 한다.
라우팅 알고리즘을 이용해 경로를 지정해, 중간의 라우터들을 거처 최종 목적지가지 도착한다.
이런 과정에서 패킷은 다음 라우터로 이동하기 위해 큐에서 대기를 하는데, 이때 수용할 수 있는 큐의 범위를 넘어가면 손실이 발생한다.

장단점

패킷 스위칭은 더 많은 사용자가 사용할 수 있다.
만약 n명의 사용자가 있고, 라우터가 1개 있을 때, n명의 사용자가 동시에 접속 하지만 않는다면, 사용자가 사용하는 네트워크 시간은 분산되어, 네트워크를 제약없이 사용할 수 있다.

packet-switching 단점

네트워크 상에서 데이터를 packet단위로 쪼개 라우터를 거쳐 수신지로 전될되는 packet-switching은 지연이 발생할 수 있다. 라우터에서 패킷이 도착하는 링크의 속도가 수신하는 링크의 속도보다 빠르면, 패킷은 라우터의 "큐" 공간에 대기한다.
따라서 먼저 온 패킷이 송신되고, 나중에 온 패킷은 대기해야 되는데, 이때 delay가 발생한다. 라우터에서 발생하는 delay를 4가지로 정리할 수 있다.

1. nodal processing

패킷의 헤더를 열어 패킷을 검사하고, 패킷을 보낼 위치를 결정하는데 걸리는 시간이다.
요즘 라우터의 성능이 좋아 nodal processing 시간이 짧아졌다.
개선 -> 라우터 성능이 좋은 것을 사용한다.

2. queueing delay

큐에서 패킷이 대기상태로 쌓여 나가는데 까지 걸리는 시간
개선 -> 사람들이 몰리는 것을 조절할 수 없다. 사람들이 몰려 queue의 허용량을 넘어선다면 패킷 유실이 발생한다.
TCP에서는 신뢰성 있는 연결을 지향하기 때문에, 패킷 유실이 발생하면 client단에서 유실된 패킷을 재전송한다.
라우터가 재전송하는게 아니다.

3. transmission delay

패킷을 송신하기 위해, 모든 bit를 output link로 전송하는데 걸리는 시간
패킷의 비트수와, 링크의 전송률에 의해 결정된다.
개선 -> 링크의 bandwidth 통로를 높여 전송률을 높인다.

4. propagation delay

마지막 비트가 올라온 순간부터 다음 라우터까지 도달하는데 걸리는 시간을 의미한다.
빛의 속도와 같거나 작다.


위 4개의 delay를 합친 시간이, 노드 상에서의 delay가 된다.

0개의 댓글