728x90
반응형
728x90
반응형
(3) IP : Internet Protocol 네트워크 계층의 구조 네트워크 계층의 구조는 위 그림과 같다. 위로는 Transport Layer, 밑으로는 Link Layer가 있다. Network Layer의 역할은 2가지가 있다. Routing과 Forwarding 라우터들이 링크로 연결이 되어있는데, 이 링크의 규격이 똑같지가 않다. 어떤 때에는 규격이 크고, 어쩔 때는 작다. 그래서 MTU(Maximum Transmission Unit)이 있다. · MTU : 네트워크에 연결된 장치가 최대로 받아들일수 있는 최대 데이터 패킷 크기 큰 MTU를 가진 링크를 들어갈 때는 문제가 없지만, MTU가 작아서 Bottle neck이 일어나는 구간이 존재한다고 해보자. 그러면 할 수 없이 이 ..
(1) Network Layer 개요 이번 챕터에서 가장 중요한 것은 Data Plane이 어떻게 작동하는지를 아는 것이다. 네트워크는 기본적으로 엣지 파트에서 복잡한 것을 하고 코어 파트에서는 간단하게 동작하게 만든다. 엣지 파트에서는 5개의 layer로 동작하지만 코어에서는 network layer까지만 동작한다. forwarding은 라우터의 한 홉에서 input 포트로 패킷을 받으면 이 패킷을 몇 번째 output 링크로 보내줄까를 결정하는 것이다. 즉, 한 홉만 생각하는 것. forwarding은 fuction으로 하고, hardware로 한다. routing은 출발지(source)에서 목적지(destination)까지 어떤 경로로 패킷들을 보낼지를 결정하는 것이다. routing..
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의 ..