본문 바로가기
Learning-log -CS/Network

(컴퓨터와 네트워크) 네트워크 구조

by why제곱 2024. 1. 3.

본 게시물은 이석복 교수님의 네트워크 강의를 수강하며 작성한 강의노트와 추가로 공부한 내용을 바탕으로 작성하였습니다.

  • 참고 강의 및 사이트

KOCW

 

KOCW

한양대학교 이석복 강의 내용 및 목표 인터넷을 동작시키는 컴퓨터네트워크 프로토폴을 학습한다. 주제분야 공학 >컴퓨터ㆍ통신 >컴퓨터공학 강의학기 2015년 2학기 수강 확인증 발급 안내 수강

www.kocw.net

[네트워크] TCP/IP 흐름 제어 & 혼잡 제어

 

[네트워크] TCP/IP 흐름 제어 & 혼잡 제어

cs-study에서 스터디를 진행하고 있습니다. 흐름 제어 수신 측이 송신 측보다 데이터 처리 속도가 빠르면 문제가 없지만, 송신 측의 속도가 빠를 경우 문제가 생긴다. 수신 측에서 제한된 저장 용

steady-coding.tistory.com


 

 

네트워크 구조

네트워크 개념적 구조도에서 가운데에 있는 것은 라우터이며 우리는 가장자리에 해당된다.

  • network edge
    • applications and hosts 우리의 애플리케이션들
      • end systems( hosts)
      • client/server model
        • client : 원할 때 링크에 연결을 해서 웹 서버로부터 정보를 가져오는 요소
        • server : 항시 24시간 연결되어 있어 클라이언트로부터 언제 들어올 지 모르는 요청을 기다리는 요소
      • peer-peer model
  • network core
    • routers
    • network of networks
  • access networks, physical media
    • commincation links (링크들)

 

네트워크 통신방식

서버와 데이터를 주고 받고자 할 때, 인터넷에서 제공하는 통신 서비스

  • connection-origentied service : TCP
    • 사용자에게 reliable(신뢰성), in-order byte-stream data transfer(순서보장) 을 제공
    • flow control : sender가 보내는 속도를 receiver의 속도에 맞춰서 보내기
    • congestion control : 연결된 네트워크 상황에 맞춰서 데이터 보내기
  • connectionless service : UDP
    • connectionless : 연결되어 있지 않음
    • unreliable data transfer : 유실이 있을 수도, 순차적이지 않을 수도 있음
    • no flow control : 받을 수 있는지 여부와 상관없이 모두 보냄
    • no congestion control : 네트워크의 현재 상태를 모름

** 프로토콜이란?

데이터 통신을 원활하게 하기 위해 필요한 통신 규약

 


Network Core

네트워크 코어에는 라우터들이 존재한다.

데이터를 출발지에서 목적지까지 전달할 때 어떤 방식으로 전달할까?

 

데이터 전송방식

circuit switching

출발지에서부터 목적지까지 가는 길을 미리 예약 후, 특정 사용자만 사용할 수 있도록 하는 것 ex) 예전 유선전화

 

packet-switching

유저가 보내는 패킷을 패킷 단위로 받아서 그때 그때 올바른 방향으로 보내주는 방식으로 인터넷에서 사용하는 방식이다.

많은 유저를 허용한다는 장점이 있지만 패킷 딜레이가 발생하는 문제가 발생한다.

 

 

어떤 패킷 딜레이가 있는지 살펴보자.

 

패킷 딜레이

Processing delay

라우터에서 패킷을 받아서 다음 라우터로 도착할 때까지 걸리는 시간은 목적지 확인하고 보내기를 해야한다. 이 때 지연되는 것을 processing delay라고 한다.

 

Queueing delay

라우터가 패킷을 내보내는 속도보다 유저가 몰려서 들어오려는 속도가 많을 때 딜레이 발생한다. 따라서 queue나 buffer가 존재해서 업무를 저장하는데 이 queue에서 기다리는 시간이 queueing delay이다.

 

Transmission delay

queue에서 대기하다가 자신의 차례가 되었을 때, 자신이 100bit일 때 1bit부터 마지막 bit까지 나가는 데 걸리는 시간을 의미한다. 패킷 크기를 link bandwidth로 나눈 것으로 간단히 정의 가능하다.

 

Propagation delay

마지막 bit가 link까지 올라와서 다음 라우터까지 도달하는 데에 걸리는 시간이다. 전자기파가 움직이는 속도이므로 빛의 속도이므로 링크 길이/빛의 속도이다.

 

 

 

 

이러한 delay들이 작으면 작을 수록 좋다. 어떻게 줄일 수 있을까?

 

processing delay : 성능 좋은 라우터 사용

 

Transmission delay : 케이블 공사로 회선 늘리기

 

Queueing delay : 사람들의 사용패턴에 따라 결정되므로 어쩔 수가 없음. Queue의 크기도 한계가 있는데, 그 한계에 다다르면 넘치는 경우 받지 못하고 버리게 되는 것. 따라서 사용자가 몰리면 패킷 유실이 발생하는 것.

 

propagation delay : 광속이므로 제어는 불가