- 네트워크는 edge와 core로 구분 가능
- client & server 모델의 각 주체는 edge
- 이들을 연결해주는 link 계층의 router는 core
TCP
- edge의 통신 방식
- connection oriented service
- reliable, in-order byte stream data transfer: 순서대로 패킷을 보내고 유실 시 재전송, 재전송은 단계 단계의 라우터들이 하는 것이 아니라 sender가 수행함. router는 패킷 전송이라는 단순 작업을 하는 역할에 집중하도록 설계했음.
- flow control: receiver가 소화 가능한 data 전송 속도를 보장
- congestion control
UDP
- connectionless
- 순서 보장 X, flow control x
- TCP가 지원하는 기능 아무것도 지원 X
- 그럼 UDP를 왜 쓸까?
- 해당 기능들이 필요 없을 때
- 리소스를 적게 사용하고 싶을 때
- 예를 들어 VOIP 통화는 중간에 음성 패킷이 조금 유실되도 통화 기능에 문제 없음. 따라서 네트워크, 메모리 리소스를 덜 사용하는 UDP 통신 방식 사용
Protocol
- commuication 약속
- 일상 대화에서 인사하고 안부 묻고 본론으로 들어가는 것처럼 어떤 순서로 어떤 내용의 패킷을 보내겠다 등의 약속
- 약속이 없으면 어떻게 수신한 데이터를 처리해야 할지 알지 못하거나 일일이 검토해봐야 하는 등의 수고로움이 발생
인터넷에서 data가 어떻게 전달돼?
- Core의 데이터 전송방식
- circuit switching: 미리 데이터 전달 경로 및 용량 등을 정해 놓고 이에 맞게 네트워크를 사용
- packet switching: 그때 그때 들어온 데이터를 보내야 하는 방향으로 전송
- circuit 방식을 사용하면 아래 예에서 10명의 user만 네트워크를 정해놓고 사용하지만, packet 방식은 10명이 함께 네트워크를 이용할 확률인 0.0004 percent의 확률에 기대어 35명까지 네트워크 사용이 가능
- 인터넷을 이용할 때 모든 유저의 행동 패턴이 같지 않고, 계속해서 쉬지 않고 요청을 보내지 않으므로 packet switching이 적합
Four sources of packet delay
1.nodal processing: 비트의 에러가 있는지, 전송될 link는 어디인지 검사
2.queueing: output link로 나가기 전에 다른 packet이 있으면 대기하는 구간
3.Transmission: queue에서 대기하다가 link로 한 단위의 packet이 진입하기 시작해서 완전히 뿜어져 나가는 시간(첫 bit가 들어간 시점부터 마지막 bit가 들어가는 시점까지), packet의 길이와 link bandwidth에 의해 계산됨. packet은 bit의 집합인데, 한 번에 많은 bit가 link 계층으로 빠져나갈 수 있으면 전송 속도가 빨라짐
4.propagation: link에 들어와서 다음 router까지 이동하는 시간, 빛의 속도이며 사람이 조작 불가
how to decrease delay time?
- processing delay: 좋은 router를 쓴다. 라우터에 내장된 OS의 성능이 좋으면 각각의 검사를 빨리 처리할 수 있다.
- queueing delay: link로 뿜어져 나가기 전에 대기하는 시간은, 해당 link에 얼마나 많은 packet이 들어왔는지에 따라 다르기 때문에 성능보다는 요청 수에 따라 결정된다. 따라서 delay를 궁극적으로 해결할 방법은 없다. 요청 수를 제어하는 것 말고는. queue가 요청량을 소화하지 못 하면 패킷을 버리게 되고 packet loss의 대부분이 여기서 발생함.
- 순수하게 어떤 router로 갈지 결정이 되고 대기하는 시간을 말하기 때문에 조작 불가인듯
- transmission delay: 다음 router로 가는 bandwidth를 키우면 delay가 줄어든다.
- propagation delay: 조작 불가.
Q. bandwidth가 뭐지?
출처: 한양대학교 이석복 컴퓨터네트워크
http://www.kocw.net/home/cview.do?mty=p&kemId=1169634