Network

Modeling the Internet from the scratch: Link-layer, LAN, Switch

Modeling the Internet Although I took the CS network course when I’m an undergraduate and read the books related to networks, I still cannot see the whole picture of the network and still don’t understand very well how each layer interacts. So I decided to implement each layer one by one to deeply understand each layer and protocol. ‘vnet’ is the name of this hobby project. The main purpose of this project is to implement each layer in software and understand… 더 보기 »Modeling the Internet from the scratch: Link-layer, LAN, Switch

vnet 프로젝트: intro

왜 이런 쓸데없는 것을 시작하였나? 2020년이 시작되었을 때 올해는 몇 가지 이런 것들은 꼭 해보자고 마음을 먹었던 일이 생각난다. 그 중의 하나가 ‘네트워크 레이어에서 동작하는 프로토콜 중 하나를 구현해보자’ 였던 것 같다. 엄청 소소해보이지만 이런 목표를 세운 이유 중 하나는 스스로 네트워크에 대한 기본 지식이 너무 빈약하다고 생각했기 때문이다. 전공 수업을 들으며 네트워크에 대한 지식을 어느 정도 쌓긴했지만 그것은 내 머리속엔 아직 단편적인 지식들의 나열일뿐 그 사실들이 어떻게 유기적으로 이어져서 동작하는지에 대한 감이 없었다. 웹 브라우저에서 주소창에 구글 주소를 입력했을… 더 보기 »vnet 프로젝트: intro

RFC 826 정리: Address Resolution Protocol (ARP)

왜 RFC 826을 정리했나? RFC 826 글을 읽고 정리했다. 그냥 심심해서 읽고 정리한 것은 아니다. 아마 다른 포스팅에 정리하겠지만, 한 두 달 전부터 네트워크 프로토콜을 직접 구현해보며 시뮬레이션 해볼 수 있는 프로젝트를 진행하고 있다. 아직 많이 부족하지만 한 단계씩 천천히 진행하고 있으며, 이제 ARP를 구현할 차례가 되어 좀 더 ARP에 대해 자세하게 정리된 무언가가 필요하였고 그 중 하나가 RFC 문서였다. 사실 이제는 시간이 많이 지났고 많은 유명한 네트워크 책에서 ARP에 대해 자세히 설명해주는 글도 많지만 가장 먼저 특정 프로토콜이 제안된… 더 보기 »RFC 826 정리: Address Resolution Protocol (ARP)

CORS – 웹 브라우저와 웹 어플리케이션의 관계에 대해서

CORS (Cross-Origin Resource Sharing) 관련하여 많은 문제를 겪어보았고 또 해결해보았지만 실제로 그것이 어떤 것이고 왜 이런 것이 생겨났는지 제대로 알고 있지 못한다는 생각이 들어서 한 번 정리를 해보려고 한다. CORS는 정책이라고 볼 수 있다. 브라우저에서 로드하는 Javascript 코드가 서버에게 요청을 보내 데이터를 받아오고자할 때 해당 서버가 만약 다른 곳에 있다면 브라우저는 받아온 데이터를 차단한다. 위 문장이 CORS에 대해서 간단하게 잘 설명해주는 것 같지만 조금 모호한 부분이 있다. 서버가 다른 곳에 있다는 것은 어떤 의미인가? 브라우저가 받아온 데이터를 차단한다는 것은 어떤… 더 보기 »CORS – 웹 브라우저와 웹 어플리케이션의 관계에 대해서