http://www.kocw.net/home/search/kemView.do?kemId=1169634
https://media.pearsoncmg.com/intl/ge/2021/cws/ge_kurose_compnetwork_8/cw/index.php
네트워크의 구조
- 네트워크 가장자리 (network edge)
- application and host
- 네트워크 코어 (network core)
- routers
- network of network
- 접속 네트워크 (access networks)
- 네트워크를 구성하는 선들
- communication link
네트워크의 가장자리 (network edge)
- end system(네트워크 엣지에 있는 client 혹은 server) 간 데이터 전송 서비스를 제공해준다.
network edge : connection-oriented service (연결 지향 서비스)
- TCP (Transmission Control Protocol)
- reliable, in-order byte stream transfer (신뢰성 있는 순서를 지키는 데이터 전송)
- flow control
- sender won't overwhelm receiver
- 전송받는 이의 처리 속도에 맞게 데이터를 전송해준다.
- 만약 받는 이가 1초에 10건을 처리할 수 있는 능력을 갖고 있는데, 보내는 이가 1초에 10,000개씩 데이터를 보내면 문제가 생기므로 이를 방지하기 위한 것
- sender won't overwhelm receiver
- congestion control (혼잡 제어)
- senders "slow down sending rate" when network congested
- 통신하고 있는 둘 사이의 네트워크 상황(혼잡도)에 따라 보내는 양을 적절히 조절하는 것
- senders "slow down sending rate" when network congested
- TCP를 사용하는 서비스
- 웹 브라우저
network edge : connectionless service (비연결 서비스)
- UDP (User Datagram Protocol)
- connectionless
- unreliable data
- 신뢰성 없음
- 보내긴 하는데 상대방이 꼭 받는다는 보장 없음
- no flow control
- 상대방의 처리 속도 고려 안 함
- no congestion control
- 망 혼잡도 고려 안 함
- UDP를 사용하는 서비스
- 음성 전화
- 패킷 몇 개가 도착 못 해도 인간은 인식하지 못하므로 reliable할 필요가 없어서 UDP 사용
- 음성 전화
The network core (네트워크 코어)
- mesh of interconnected routers (상호 연결된 라우터로 구성된 망)
- the fundamental question:
- gow is data transferred through net?
- circuit-switching (회선 교환)
- 전용 회선 사용
- e.g. 유선 전화망
- packet-switching (패킷 교환)
- 회선 공유
- circuit-switching (회선 교환)
- gow is data transferred through net?
network core : circuit-switching
- 출발지부터 목적지까지 가는 길을 예약해 놓고 해당되는 특정 사용자만 사용할 수 있도록 함
- guaranteed performance
- 성능이 보장됨
- 회선을 예약해 놓고 쓰니까 당연
- dedicated resources : No Sharing
- call setup required
- guaranteed performance
network core : packet-switching
- 사용자가 보내는 데이터를 패킷 단위로 받아서 그때그때 올바른 방향으로 전송 포워딩해주는 것
- 회선을 모든 사용자가 공유하며 데이터를 보내고 싶을 때 보내면 됨
circuit-switching vs packet-switching
- 1 Mb/s link
- each user:
- 100 kb/s when 'active'
- active 10% of time
- compare
- circuit-switching
- 10 users
- packet-switching
- with 35 users, probability > 10 active less than .00004
- 회선 교환 방식의 경우 고정적으로 10명만 해당 회선을 사용할 수 있지만 패킷 교환 방식은 회선을 점유하는 방식이 아니므로 그보다 더 많은 유저가 사용할 수 있다.
- 단, 패킷 교환 방식의 경우 사람이 늘어날수록 동시에 10명 이상의 사람이 회선을 사용할 확률이 높아진다는 점을 유의해야 한다.
- 회선 교환 방식의 경우 회선을 할당받아서 사용하므로 안정적이지만 active 10% of time이므로 1시간을 사용한다 가정했을 때 실제 사용 시간은 6분 정도밖에 안 되므로 나머지 54분을 낭비한 것과 같다.
- 반대로 패킷 교환 방식의 경우 모두가 같이 사용하므로 회선이 낭비되는 시간은 없으나 방금 언급한 것처럼 사람이 많이 몰릴 경우 문제가 생길 수 있다.
- 우리가 사용하는 인터넷은 패킷 교환 방식으로 디자인되어있다.
- circuit-switching
four sources of packet delay (packet-switching) (패킷 교환 방식을 사용할 때 발생하는 네 가지 딜레이)
- nodal processing
- check bit (패킷에 오류가 없는지 확인)
- determine output link (어디로 보내야 하는지 결정)
- queueing delay
- router 안에 있는 queue에서 기다리는 시간
- router 안에 왜 queue가 있나요?
- 라우터가 외부로 데이터를 보내는 양보다 들어오는 양이 더 많을 때를 대비하여 데이터(packet)를 잠시 저장해 놓는 buffer(Queue)가 존재한다.
- router 안에 왜 queue가 있나요?
- time waiting at output link for transmission (보내기 전 기다리는 시간)
- depends on congestion level of router (라우터의 혼잡도에 따라 달라짐)
- R: bandwidth(회선의 너비), L: packet length, a: average packet arrival
- traffic intensity = R / La
- 1에 가까워질수록 queueing delay가 길어진다.
- 1을 초과하면 평균 도착 딜레이가 무한이 됨
- traffic intensity = R / La
- router 안에 있는 queue에서 기다리는 시간
- transmission delay
- 전송되는 패킷의 머리가 나갈 때부터 해당 패킷의 마지막 비트가 나갈 때까지 걸리는 시간
- bandwidth가 크면 클수록 한 번에 보낼 수 있는 bit의 양이 많아지므로 Transmission delay가 줄어든다.
- Transmission delay = packet length / bandwidth
- propagation delay
- packet의 마지막 bit가 링크에 올라간 시점부터 다음 router에 도달할 때까지 걸린 시간
- 전송 속도는 빛의 속도이므로 link의 길이가 길어질수록 propagation delay가 길어진다.
- propagation delay = 링크 길이 / 빛의 속도
** packet이 전송 도중 loss 되었을 때 누가 다시 보내줄까?
- TCP의 경우 reliable한 서비스를 제공하므로 packet이 중간 어딘가에서 유실되면 분명 누군가 다시 해당 packet을 보내야 한다. 해당 작업은 누가 하는 것일까?
- network edge에 있는 client 혹은 server가 한다.
- 중간에 있는 라우터들은 단순히 패킷을 전달하는 역할만 수행한다. 그래야 라우터가 할 일이 더 적어지고 더 싸지기 때문이다. 안 그래도 많은 패킷을 전달하는 라우터들이 재전송 역할까지 하면 전송 속도가 더 느려지고 라우터의 값이 더 비싸질 것이기 때문이다.
- 더 단순하고, 더 직관적이게 라우터들은 전달만 한다.
'네트워크' 카테고리의 다른 글
컴퓨터 네트워크 기본 5 (0) | 2023.01.09 |
---|---|
컴퓨터 네트워크 기본 4 (0) | 2023.01.09 |
컴퓨터 네트워크 기본 3 (0) | 2023.01.07 |
컴퓨터 네트워크 기본 2 (0) | 2023.01.07 |
로드 밸런싱 (0) | 2021.07.28 |