728x90
반응형
728x90
반응형
3.6 principle of congestion control congestion contol은 수신단도 받을 능력이 있고, 송신단도 보낼 충분한 능력이 있는데 보내는 관에 문제가 발생한 것이다. congestion이란 너무나 많은 소스가 너무나 많은 데이터를 너무 빨리 보내기 때문에 네트워크가 다운이 되버리는 것이다. congestion이 일어났다는 것은 패킷 로스가 일어나거나(라우터에서 발생) 너무 딜레이가 길어지면(timeout 발생, 패킷 로스가 일어나면 버퍼가 꽉 찬것이므로 큐잉 딜레이가 맥시멈으로 발생)하면 알 수 있다. 다음으로 congestion이 일어나는 시나리오들을 봐보자. 먼저 2개의 sender와 receiver가 있고 하나의 라우터를 통하는데 이 라우터는 무제한 사이즈..
3.5 Connection-Oriented Transport: TCP (1) TCP Overview · TCP는 point to point 프로토콜이다. (point-to-point란 1대 1로 컴퓨터를 연결하는 프로토콜을 의미한다.) · reliable하고 데이터들이 순서대로 들어온다. · 파이프라인으로 전송하고, window size를 조절해서 혼잡 제어와 흐름 제어를 가능하게 한다. · 양방향 통신이다. · connection-oriented 방식이다. · 흐름 제어가 가능하다. sender가 receiver의 상황을 보고 window 사이즈를 조절한다. TCP의 sequence number는 2개가 들어간다. · 전형적인 sequence number 해당 패킷의 first b..
3.1 Transport Layer Service · Transport Layer의 역할은 서로 다른 호스트들에서 동작하는 어플리케이션 프로세스 간의 논리적 통신(Logical Communication)을 제공한다. 논리적 통신 : 어플리케이션 관점에서 봤을 때 프로세스들이 동작하는 호스트들이 직접 연결된 것처럼 보인다는 것을 의미 Transport 프로토콜은 end system에서 동작하는데 송신단과 수신단에서 다르게 동작한다. 송신단(Send Side) : application layer에서 생성된 message를 segment로 쪼개서 network layer로 보낸다. 수신단(Receive Side) : network layer에서 받은 segment들을 합쳐서(Reassemble) mes..
5. P2P applications 1장에 설명했듯이 P2P는 서버 클라이언트 방식이 아닌 클라이언트들끼리 직접 통신하는 방식이다. 대표적으로 비트토렌트나 스카이프 등이 있다. 클라이언트-서버 방식이 있는데 왜 P2P 방식을 사용해야 할까? 바로 다수의 사용자가 어떤 파일을 다운로드 받을 때, P2P 방식이 더 유리하기 때문이다.(시간이 적게 걸린다.) 클라이언트-서버 방식은 사용자가 증가할수록 파일의 업로드/다운로드 시간이 선형적으로 증가하는데 반해, P2P 방식은 로그 함수로 증가한다. 즉, 다수의 사용자가 파일을 공유하는데 있어서, P2P 방식이 훨씬 더 적은 시간을 소모한다. P2P의 대표적인 프로토콜인 비트토렌트 프로토콜에 대해서 알아보자. 비트 토렌트 프로토콜은 파일을 256Kb의 ..
3. Electronic mail (SMTP, POP3, IMAP) 전자 메일에는 3가지 요소(component)가 있다. · user agents · mail server · 프로토콜 (그 중 대표적인 프로토콜인 SMTP, 메일 프로토콜의 standard임) User Agent 쉽게 말해서 우리와 우리가 쓰는 어플리케이션이다. 우리가 작성한 메일이 SMTP를 통해서 서버들을 이동하고, 최종적으로 내가 보내는 사용자에게 메일이 도착하게 된다. 메일 서버는 크게 2가지로 구분된다. · 메일 박스(mailbox) : 웹 서버 입장에서 여러 사용자들에게 오는 메일들을 보관하는 것 · 메시지 큐(message queue) : 이 때는 서버가 클라이언트가 되는데, 받은 메일을 큐에 넣은 뒤, 수신받아야..
Principles of network application 이 챕터에서는 Application Protocol이 구성이 되는지, 어떤 패러다임에 의해서 만들어졌는지, 다양한 Application Protocol에 무엇이 있는지를 배우는 것을 목표로 한다. TCP/IP 네트워크 프로토콜 스택에서 가장 상위 레이어를 담당하고 있는 놈이 Application Layer이다. Application layer는 그 이름에 걸맞게 end system 들에게 여러가지 서비스를 제공하거나 제공 받는 부분을 책임진다. 즉, 이메일, 웹서핑같은 서비스를 제공하고 제공받기 위해서 어떤 형식으로 메시지를 주고 받아야 하는지의 프로토콜들이 모여있는 레이어이다. 우리가 만든 App 프로그램은 모두 end system에서 동..