개발하는 프로 국밥러
article thumbnail
[IT 엔지니어를 위한 네트워크 입문] Chapter3. 네트워크 통신하기
CS/네트워크 2023. 1. 10. 13:49

고재성, 이상훈님의 책을 보며 정리한 내용입니다. 문제가 될 시 해당글 삭제하겠습니다. 유니캐스트, 멀티캐스트, 브로드캐스트, 애니캐스트 네트워크에서 출발지에서 목적지로 데이터를 전송할 때 사용하는 통신 방식에는 다음 4가지가 있다. ⇒ 출발지가 아닌 목적지 주소를 기반으로 구분한다. 유니캐스트 (실제로 사용하는 대부분의 통신 방식) 1:1 통신 출발지와 목적지가 1:1로 통신 브로트캐스트 1:모든 통신 동일 네트워크에 존재하는 모든 호스트가 목적지 유니캐스트로 통신하기 이전 주로 상대방의 정확한 위치를 알기 위해 통신(ARP.. 이후 등장) 멀티캐스트 1:그룹 통신 하나의 출발지에서 다수의 특정 목적지로 네트워크 전송 아프리카TV 와 같이 실시간 방송을 보기위해서 사용(단방향) 애니캐스트 → 같은 목적..

article thumbnail
[IT 엔지니어를 위한 네트워크 입문] Chapter2. 네트워크 연결과 구성요소
CS/네트워크 2023. 1. 10. 13:15

고재성, 이상훈님의 책을 보며 정리한 내용입니다. 문제가 될 시 해당글 삭제하겠습니다. 네트워크 연결 구분 네트워크는 규모와 관리 범위에 따라 LAN, MAN, WAN 으로 구분된다. LAN : 사용자 내부 네트워크(Local) MAN : 한 도시 정도를 연결하고 관리하는 네트워크 WAN : 멀리 떨어진 LAN 을 연결해주는 네트워크(원격) LAN 소규모 네트워크를 뜻하며, 먼 거리를 통신할 필요가 없어 스위치 같이 비교적 간단한 장비로 연결된 네트워크를 LAN 이라 불러왔다. 현재는 대부분 이더넷 기반 전송 기술을 사용한다. WAN 먼 거리에 있는 네트워크와 연결하기 위해서 사용한다. 멀리 떨어진 LAN 을 서로 연결하거나 인터넷에 접속하기 위한 네트워크가 WAN 에 해당한다. 특별한 경우가 아니면 직..

article thumbnail
[IT 엔지니어를 위한 네트워크 입문] Chapter1 네트워크 시작하기
CS/네트워크 2023. 1. 10. 11:07

고재성, 이상훈님의 책을 보며 정리한 내용입니다. 문제가 될 시 해당글 삭제하겠습니다. 네트워크 구성도 살펴보기 홈 네트워크 홈 네트워크를 구성하기 위해서는 모뎀, 공유기, 단말기 간에 물리적 연결이 필요하다. 무선 연결이라고 부르는 것도 실제적으로는 공기라는 매체를 통해서 물리적으로 연결이 되는 것. 크게 공기를 통한 무선 연결 / 유선 랜카드 or 랜케이블을 통한 유선 연결로 나뉜다. 데이터센터 네트워크 안정적이고 빠른 대용량 서비스 제공을 목표로 한다. 10 ,25 ,40 ,100 ,400 기가와 같은 고속 이더넷 기술이 사용된다. *대역폭? : 통신에서 이용 가능한 최대 전송 속도, 인터넷이 느리면 대역폭을 늘리라는 소리가 조금 더 높은 용량의 네트워크 속도를 사용하라고 이해하면 된다. 최근 늘어..

article thumbnail
JWT(Json Web Token)
CS/네트워크 2022. 6. 27. 20:12

지난 시간에 이어 JWT 에 대해서 이야기 해보겠습니다. Json 포맷을 사용하여, 토큰 자체를 정보로 사용하는 방식으로 주로 회원 인증이나, 정보 전달에 사용된다. JWT 구조 Header, Payload, Signature 의 3 부분으로 이루어지며, JSON 형태인 Base64Url 로 인코딩 되어 표현된다. 각각의 부분을 이어 주기 위해서 . 구분자를 사용하여 구분한다. Header 토큰의 헤더는 typ, alg 두 가지 정보로 구성된다. alg 는 헤더를 암호화 하는 것이 아니라, signature 를 해싱하기 위한 알고리즘을 지정하는 것이다. typ : 토큰의 타입을 지정 ex)JWT alg : 알고리즘 방식을 지정하며, signature 및 토큰 검증에 사용 payload 토큰의 페이로드에는..

article thumbnail
세션과 토큰
CS/네트워크 2022. 6. 27. 20:07

로그인 처리를 하던 도중 세션과 토큰의 차이점에 대해서 정리해 보고자 한다. 서버(세션) 기존 인증 시스템은 서버 기반의 인증 방식으로 서버 측에서 사용자의 정보를 기억해야 한다. 서버가 사용자들의 정보를 기억하기 위해서 세션을 유지해야 하는데, 메모리 또는 디비를 통해 관리한다. 이러한 서버를 Sateful 서버라고 한다. 이러한 세션 인증 방식은 다음과 같은 문제점을 가지고 있다. 세션 사용자가 인증을 할 때 서버는, 이 정보를 저장해야 하고, 이를 세션이라고 부른다. 대부분의 경우에는 메모리에 저장하는데, 로그인 중인 사용자가 늘어날 때, 서버의 RAM 에 부하가 걸리게 된다. 이를 위해 디비에 저장하고 하는데, 디비에 무리를 줄 수 있다. 확장성 더 많은 트래픽을 처리해야 할 때, 세션을 사용한다..

article thumbnail
리다이렉션?
CS/네트워크 2022. 6. 1. 22:49

최근에 서블릿 JSP 를 사용한 MVC 패턴을 사용하면서, redirection 과 forword 의 개념이 헷갈려 애를 먹었던 기억이 있다.. 때문에 오늘 리다이렉션을 한번 정리하고자 한다. 리다이렉션 먼저 리다이렉션은 HTTP 300번대 상태코드로 요청을 완료하기 위해서 유저에게 추가적인 조치가 필요한 상태를 말한다. 말로 하면 이해가 어렵기 때문에 그림과 함께 설명해 보도록 하겠다! 첫번째, 클라이언트가 서버에 요청을 보내게 되면, 서버는 300번대 리다이렉션 상태코드를 반환하게 된다. 두번째, 이때 서버는 Location을 통해서 새로 이동해야 할 위치를 알려주게 되고, 세번째, 클라이언트는 서버에게 받은 위치 정보를 참고해, 새로운 URL 로 접근하게 되는 것이다! (후,, 최대한 쉽게 설명해보..

article thumbnail
컴퓨터는 인터넷에서 어떻게 통신할까?
CS/네트워크 2022. 5. 30. 18:30

컴퓨터가 가까이에 유선으로 연결되어 있다면 어렵지 않게 통신할 수 있겠지만, 우리는 인터넷을 통해서 통신하는 세상에 살고있다. 그렇다면 컴퓨터는 인터넷 상에서 어떻게 통신하는 것일까? 인터넷에 검색해보면 아래와 같이 이해하기 힘든 그림들이 너무 많은데 김영한님의 강의를 통해 쉽게 정리 할 수 있었다. 먼저 컴퓨터가 인터넷 상에서 통신을 하기 위해서 가장 기본적인 것은 다들 한번쯤은 들어봤을 법한, IP(인터넷 프로토콜) 이다. 우리의 컴퓨터는 인터넷을 통해 목적하는 IP 주소로 이동하며, 그 사이사이에 노드 단위로 이동한다. 데이터를 전달할때는 데이터를 패킷이라는 단위로 전달하는데, 패킷에는 기본적으로 출발지IP, 도착지IP, 전송 데이터로 이루어져 있다고 생각하면 된다. 이 IP에는 한계가 존재하는데 ..

article thumbnail
포트 포워딩
CS/네트워크 2022. 4. 16. 13:33

오늘은 포트포워딩에 대한 이야기를 다뤄보고자 합니다. 들어가며 과거에는 대부분 집에서 인터넷을 사용하는 기기가 컴퓨터 하나였기 때문에, 인터넷을 설치한다고 하면 모뎀 한개로 인터넷이 연결될 수 있었습니다. 하지만 최근에는 인터넷을 사용하는 기기가 컴퓨터 뿐 아니라, 스마트폰, 테블릿, 등등.. 다양해 졌기 때문에 다양한 기기들이 인터넷을 사용하기 위해서 유무선 공유기를 설치하는 것을 볼 수 있습니다. 하지만 어떤 서버를 구축하게 된다면 공유기는 큰 문제가 됩니다. 왜 이런일이 생기며, 포트포워딩을 통해서 어떻게 이 문제를 해결할 수 있는지 알아보겠습니다. 공유기 - 공인IP, 사설IP 전세계적으로 인터넷을 사용하기 위해서는 목적지에 해당하는 IP주소를 가지고 있어야 합니다. 우리가 흔히 알고있는 127...