이론공부/컴퓨터네트워크
[컴퓨터네트워크] 01. 컴퓨터 네트워크 기본
Ssubini
2022. 4. 26. 00:14
- 네트워크 구조
- network edge : 흔히 사용하는 랩탑, 데스크탑 , 웹서버, 웹 브라우저 등
- network core : 라우터, 네트워크들의 네트워크
- 네트워크 링크 연결 ( 무선 연결, 유선연결 , ...다양...)
Network-Edge
- 클라이언트 : 필요할때 켜서 서버에 요청함
- 서버 : 항상 켜져있으면서 클라이언트로부터 요청 받아옴
- Connection- Oriented Service
- ex> TCP Service
- 사용자에게 reliable(의존가능한/신뢰성 있는), in-order(순서를 지키는) byte-stream data 전송을 제공
- flow control : sender가 데이터를 전달하는데 receiver가 받을 수 있는 속도를 맞춰서 전달
- congestion control : sender과 receiver 사이의 네트워크가 전달 가능한 속도에 맞춰서 전달
- =>신뢰성 있음, 비용이 듦
- ex> TCP Service
- Connectionless Service
- ex> UDP
- Connectionless :
- unreliable data transfer :
- no flow control :
- no congresion control :=> 언제 쓸까? -> reliable 하지 않은것에 사용 괜찮 ex) 실시간 음성 전화
- => 아무것도 제공x. 유실되어도 상관없고 그냥 내맘대로 보냄 => UDP 사용
- ex> UDP
- Protocol 이란?
- 대화의 약속
- 중요한 메시지를 주고받기 위해 필요
Network Core
- 라우터들의 얽히고 섥힌 집합
- 라우터들이 메시지를 전달하는 방식
- circuit switching : 출발지~목적지 길을 다 예약해두고 그 사용자 만을 위해 그 길을 사용하는 것
- packet- switching : 사용자가 보내는 메시지(packet)를 packet 단위로 받아서 그때그때 올바른 방향으로 보내주는것따라서 circuit 보다 packet이 더 많은 사람이 사용할 수 있음
- packit 받으면 processing 검사 -> 이 때 delay : processing 딜레이
- => 라우터 성능 개선으로 개선 가능 (하이패스 설치)
- 이후 outgoing edge로 뽑아내야 하는데 이 out going edge의 queue에 나갈 애들이 대기하고 있으면 앞에 애들 나갈 때 까지 기다려야함 : queueing delay
- => 사람들의 인터넷 사용 패턴에 의한 것이기 때문에 해결이 어려움. (명절에 사람 몰리는것)
- 사람들이 너무 많이 몰려서 queue의 크기보다 커지면 데이터의 유실이 발생할 수 있음.
- => 만약에 유실이 발생하면 edge 에서 다시 보내야 함 중간애들은 그런것을 신경쓸 수 없는 단순 작업만 가능(dumb core)
- 첫번째 나가야하는 애부터 마지막 애가 끝까지 나갈 때 까지의 delay : Transission delay
- R = link bandwidth(bps), L = packet length(bits) => bits를 link로 보내는 시간 : L/R
- => 케이블 성능 개선으로 개선 가능 (8차선 도로로 늘리기)
- 마지막 bits가 link에 올라와서 다음 라우터까지 가는데 걸리는 시간 : Progagation delay
- Progagation delay = 링크 길이/빛의 속도
- packit 받으면 processing 검사 -> 이 때 delay : processing 딜레이
- 하지만 운이 좋지 않아서 감당 수준 이상의 user가 몰리면 문제(delay/ loss)가 발생할 수 있음.
- => 인터넷을 사용하는 패턴은 필요할 때 요청을 보내고, 각자의 리듬에 따라 분산되어 이용할 수 있음.