[지식창고]/네트워크 21

[컴퓨터 네트워크] Chapter4. Network Layer (2)

virtual circuit and datagram networks connection, connection-less service 데이터그램 네트워크 → connectionless service virtual-circuit network → connection service Network layer vs Transport layer (ex: Internet) Network layer vs Transport layer Host-to-host Service Process-to process Only one Choice(인터넷 프로토콜) Connection(TCP) and Connectionless(UDP) End-system and NW Core Implementation End-system Only Ab..

[컴퓨터 네트워크] Chapter4. Network Layer (1)

Intro Application Layer, Transport Layer을 배우고나서 Network Layer까지 왔다 ! 이 챕터에서는 네트워크 서비스에 있는 원리들을 배울 것이다. 바로 data plane과 control plane: - 네트워크 레이어와 서비스모델 - 포워딩 (forwardong) vs 라우팅(routing) - router가 작동하는 방법 - Generalized forwarding - SDN controllers - Internet Control Message Protocol(ICMP) - 네트워크 관리 Instantitaion, implementation in the Internet : 인터넷에서의 구현, 실체화 Network Layer : 네트워크 계층 -sending hos..

[컴퓨터 네트워크] 3.4 (1) principles of reliable data transfer

Transport layer에서 가장 중요한 역할은 end-to-end 통신의 신뢰성을 확보하는 것이다. 그럼 데이터를 어떻게 reliable하게 보낼까 ?에 관한 고민이 담긴 것이 바로 이 챕터이다. 3.4는 아주아주 .. 방대하고 ... 어렵고 양이 많은 챕터이다 (학생인 나는 죽어난다 ㅜㅜ ~ ) 조금 더 자세하지만 이해하기 쉽게 천천히 다루어보겠다 ! 1. principles of reliable data transfer application layer입장에서는 보내기만 하면 reliable이 보장 된다고 생각한다. → transport layer에서는 reliable을 보장해주어야한다. (3장 포스팅마다 쓰는 것 같다 .. ) 신뢰성있는 데이터 전송 프로토콜을 구현할 때, 통신 채널의 신뢰성 여..

[컴퓨터 네트워크] 3.3 connectionless transport : UDP

현재 우리는 Trasnport layer에 대해 알아보고 있다. 3장에서 주구장창 말하겠지만 Transpor tlayer은 ent-to-end 에서 데이터 전송의 신뢰성을 제공한다는 것이다. 소켓을 통하여 신뢰성을 보장하는 계층이다. UDP, TCP 프로토콜을 주로 사용하여 UDP, TCP에 대한 설명을 자세히 해보려한다. 이번 포스팅에서는 연결비지향성 UDP에 대해 배워볼 것이다. 여러번 반복해서 나온 내용이니 빨리 짚고 넘어가보겠다. UDP : User Datagram Protocol [RFC 768] no frills, bare bones Internet transport protocol : 아무런 장식없고 필수적인 것만을 갖춘 프로토콜 best effort 서비스 : ** 네트워크에서 데이터를 전..

[컴퓨터 네트워크] 3.2 multiplexing and demultiplexing

우리는 현재 3장, Transport layer에 대해 배우고 있다. Transport layer의 주 기능은 end-to-end 통신을 제공한다는 것이다. 이 계층은 송신 호스트와 수신 호스트 간의 데이터 전송에 필요한 신뢰성, 효율성 및 보완성을 제공한다. Transport 라는 이름때문에 Network layer와 헷갈리기 쉬운데 데이터를 보낼 곳에 대한 주소를 이용하여 전송에 도움을 주는 것은 Network layer에서 담당하고 Transport layer에서는 데이터 전송에 있어서 사용자의 요청(Message)를 담아 원하는 Socket으로 전송해주고 신뢰성을 부여한다고 생각해보면 좋을 것 같다. 3.1부터 3.4까지는 빠르고 짧게 진도가 나갈 것이다.. 하지만 만약에 이 글을 보고 있는 미래..

[컴퓨터 네트워크] 3.1 Transport-Layer services

1장에선 인터넷을 배우며 5계층에 대해 알아보았고 2장부터는 이 5계층에 대해 한 챕터씩 자세하게 배운다. 2장에서는 application layer에 대해 배웠고 3장에서는 Transport layer에 대해 배운다 ~~ 서로 다른 호스트들은 locgical한 communication을 주고 받는다. 물론 이 communication 과정은 그냥 일어나는 것이 아니다! Transport layer를 통해 소통을 할 수 있다. 이 계층에서는 송신자와 수신자 사이에 연결을 설정하고 데이터 전송을 관리하는 프로토콜을 구현하기 때문이다. 조금 더 쉽게 다가가보자면 사용자의 요청(Message)를 담아 원하는 소켓으로 전송해주는 계층이다. 2장 마지막에서 배웠던 socket programming에 대해서 생각해..

[ 컴퓨터 네트워크 ] 3장에 들어가기 앞서

1장에서는 인터넷, 네트워크에 대해서 알아보았다. 2장에서는 애플리케이션 계층에 대해 알아보았다. 열심히 적었지만 내 머리에는 남아있는 지식이 얼마 없다. 또한 이전 포스팅들은 필자의 온전한 이해를 기반으로 작성하였다기보다 필자가 들은 정보를 나열한 식이었기에 다소 부족한 면이 있다고 생각하였다. 그래서 3장에 들어가기에 앞서 네트워크 학습과 관련한 포스팅을 하나 더 작성해보려고 한다. 우리가 지금까지 배워왔던 과정을 조금 더 세분화하여 살펴보고 흐름을 이해해보자 ! 1장부터 어떤 내용을 배웠는지 복기해보자 우선 인터넷에 대한 정의를 했다. 기술적인 부분과 서비스적인 부분으로 크게 정의한 뒤 인터넷에서 필수적으로 사용되는 프로토콜에 대한 설명을 해주었다. 이어서 인터넷/네트워크의 구성요소인 네트워크 ed..

[ 컴퓨터 네트워크 ] 2.8 socket programming with UDP and TCP

1. Socket Programming goal : 소켓을 이용하여 통신하는 클라이언트- 서버 애플리케이션을 구축하는 방법을 배울 것이다 ! 소켓 : 데이터를 주고 받기 위한 인터페이스를 제공하는 소프트웨어 모듈이며 클라이언트와 서버 간의 데이터 전송을 안정적으로 처리할 수 있도록 도와준다 ! '문'과 같은 역할을 한다고 생각하면 된다 ~ 애플리케이션 프로세스와 end-end간 전송 프로토콜 사이의 문! ex. 소켓은 클라이언트와 서버 간의 통신을 가능하게 해주는 문과 같은 역할을 한다. 이 문을 통해 애플리케이션 프로세스와 종단 (end-end) 간 전송 프로토콜 간에 데이터를 주고받을 수 있다. 소켓은 통신을 위한 인터페이스를 제공하며, 클라이언트와 서버 간의 데이터 전송을 안정적으로 처리할 수 있도..

[ 컴퓨터 네트워크 ] 2.7 vedio streaming and content distribution networks

이번 장에서는 비디오 스트리밍과 CDN (Content Distribution Networks)에 대해 알아본다 ! 유튜브, 넷플릭스 등 우리가 자주 사용하는 플랫폼에서 어떻게 수많은 영상들을 수많은 사용자에게 제공하는지에 대해 알아보자 ~ ! 1. Video Streaming and CDNs - context 우선 기술적으로 배우기에 앞서 비디오 스트리밍과 CDN의 배경, 문맥에 대해 알아보자! 비디오 트래픽 : 인터넷 대역폭의 주 사용자인 video traffic → 넷플릭스, 유튜브는 각각 ISP트래픽의 37%, 16%를 사용한다 ! 하지만 문제점이 있는데 .. 문제점1. ~1Billion에 달하는 수많은 사용자들에게 도달하는 방법 하나의 대형 비디오 서버는 이러한 트래픽을 감당할 수 없음 문제점 ..

[ 컴퓨터 네트워크 ] 2.6 P2P applications

제목에서 나오는 P2P : Peer to Peer 통신방식 .. 어딘가 익숙한데 .. ? 엇 ? 어디서 봤던 기억이 난다 ! 바로 2.1 network of application에서 ! client-server 방식과 P2P방식을 함께 봤었다 ~ 간략히 짚고 넘어가보자면 client-server , P2P 방식은 application의 아키텍쳐, 즉 애플리케이션의 설계도 혹은 청사진을 의미한다 ! *필자의 뇌가 아직 영어패치가 많이 적용되지 않아 아키텍쳐보단 설계도가 이해하기 쉬워 설계도라고 작성해보겠다. 클라이언트- 서버 설계도에서 클라이언트는 서비스를 요청하는 측, 서버는 이 요청을 받아 처리하고 결과를 클라이언트에게 반환하는 환경이다. 서버는 항상 켜져있고 여러 클라이언트들의 요청을 처리하고 응답을..