
이 포스트에서는 OSI모델의 제 3계층인 네트워크 계층에 대해 설명해보겠다. 전 세계는 수많은 네트워크가 있고 그 네트워크들은 서로 연결되어 거대한 인터넷을 이루고있다. 우리가 원하는 목적지에 데이터를 전달하기 위해서는 다른 네트워크로 데이터를 넘겨야하는데 해당 작업이 이뤄지는 곳이 네트워크 계층이다. 이전에 설명했던 이더넷 규칙을 기반으로 데이터를 전송하면 같은 네크워크로는 전달이 가능하지만 다른 네트워크로는 전달이 불가능하다. 그렇기에 다른 네트워크와 통신하기 위해 우리는 라우터를 사용한다. 라우터란? 집에 인터넷을 사용하려고할 떄 설치했던 것이 라우터인데 기억하는가? 라우터는 데이터의 목적지가 정해지면 해당 목적지 까지 어떤 경로로 가는 것이 좋은지 알려주는 기능을한다.그러나 상대가 어디 있는지 모..

이번에는 OSI 모델의 2계층인 데이터 링크 계층에 대해 알아보고자한다. 이더넷이란? 이전에 OSI 모델에 대해 설명했는데 랜에서 데이터를 주고받으려면 두 번째 계층인 데이터 링크 계층의 기술이 필요하다했다. 데이터 링크 계층은 네트워크 장비간에 신호를 주고받는 규칙을 정하는 계층으로, 랜에서 정상적인 데이터를 주고받기위해 가장 많이 사용되는 규칙은 이더넷이 있다. 바로 전 포스트에서 우리는 허브를 통해 데이터를 전달하면 모든 포트에 데이터가 전달되는 불상사가 일어난다고 했는데 이걸 효율적으로 해결하는 것이 스위치라고 이 포스트에 설명하겠다고 했다. 사실 허브로도 원하는 곳에만 데이터를 보낼 수 있다. 그러나 동시에 데이터를 보내게되면 서로 충돌이 일어날텐데? 라고 할 수있는데 바로 이더넷이 데이터를 보..

이전에 0과 1로 이루어진 비트열을 전기 신호로 변환하려면 물리 계층의 기술이 필요하다. OSI 모델의 1계층인 물리 계층에 대해 알아보자 전기신호? 아날로그 디지털 비트열(011019)을 전기신호로 바꾸기 전에, 전기 신호의 종류에 대해 가볍게 알아보자면 아날로그 신호와 디지털 신호가 있다. 물결 모양의 전기신호를 아날로그 신호라 하며 전화 회선이나 라디오 방송에 사용되는 신호다. 막대 모양으로 그려진 모양이 디지털 신호다. 우리는 아래 디지털 신호를 통해 데이터를 전달한다. 그럼 다음으로 어떻게 데이터가 전기 신호로 변환되는지 살펴보겠다. 송신 측에서 원하는 데이터 0과 1의 집합을 전기신호로 변환하여 전송하면, 수신 측에서 해당 전기신호를 0과 1의 집합으로 복원한다. 해당 전기신호를 데이터로 만들..

네트워크 통신의 기본 규칙인 프로토콜에 대해 알아보자. 일단 프로토콜이란? 일종의 규칙,규약으로 알 수 있다. 내가 일본어를 하지만 상대방이 영어를 한다면? (둘다 1개국어) 둘다 이해하지 못한다. 그렇기에 우리는 데이터를 소통하기 위해 규칙을 만들었는데 이것이 프로토콜이다. 네트워크에서는 데이터를 주고받기 위한 통신 규격(프로토콜)이 정해져있다는 것은 알겠다. 그럼 이제 통신 규격(기술적 표준)에 대해 알아보자. OSI 모델이란? 우리는 표준 규격을 정하는 ISO 국제 표준화기구에서 제정한 OSI모델에 대해 알아볼 것이다. OSI는 네트워크 기술의 기본이 되는 모델로 데이터 송수신은 다음 계층으로 나눠져 작동한다. 계층 이름 설명 7 웅용 계층 이메일,파일전송, 웹 사이트 조회 등 어플리케이션 서비스 ..

네트워크 CS에 대해 설명하기에 앞서 네트워크란 무엇인가? 일상에서 생각하면 네트워크는 컴퓨터나 프린터와 같은 여러기기가 연결되어 있는 상태로 생각할 수 있다. 우리가 배우고자하는 것은 바로 이 컴퓨터간의 네트워크다. 이 컴퓨터 네트워크를 통해 우리 컴퓨터에서 원하는 데이터를 다른 컴퓨터에서 받아올 수 있다. 방금 말한 데이터의 전송은 그저 컴퓨터와 컴퓨터를 선으로 연결해서 받아오는것 뿐만아니라 인터넷을 통한 데이터 전송에 대해 다루고자 한다. (인터넷은 전 세계의 큰 네트워크부터 작은 네트워크까지 연결하는 거대한 네트워크다) 일단 우리가 데이터를 다른 곳으로 전달할 때 오로지 데이터만으로 보내게 되면 어떻게 될까? 1 2 3 의 순서를 가진 데이터를 보냈지만 상대방 컴퓨터에서는 3 2 1 로 해석을 하..

set-cookie : 서버에서 클라이언트로 쿠키 전달(응답) cookie : 클라이언트가 서버에서 받은 쿠키를 저장하고, HTTP 요청시 서버로 전달 쿠키 미사용시 홍길동이라는 user로 넘겼지만 다시 해당 사이트로 돌아가면 다음과 같이 다시 손님으로 받아드려진다. 서버 입장에서는 클라이언트가 홍길동인지 손님인지 구분할 수 있는 증명서가 없다... HTTP는 무상태 프로토콜이기 때문에 새로 요청시 이전 요청을 기억하지 않는다. 그렇기에 다시금 손님으로 받아드려지는 것이다! 그럼? 모든 요청에 사용자 정보를 포함해서 보낼까? 모오든 링크에다가 사용자 정보를 넣어줘야한다... 이건 너무 보안에 취약하고,, 브라우저를 완전히 종료하고 다시 열면 또 로그인을 해줘야한다..! 그렇기에 우린 쿠키를 사용한다. 클..
우리가 웹 사이트를 만들 때 해당 사이트를 시연하더라도 오류가 뜰 때가 정말정말 많다. 그렇다면 해당 오류코드를 보여주는 숫자를 우린 알고있어야하기에 해당 코드를 대략적으로 정리했다. 1xx (informational) : 요청이 수신되어 처리중 / 거의 사용 x 2xx (successful) : 요청 정상 처리 3xx(Redirection) : 요청을 완료하면 추가 행동이 필요 / 4xx(client Error): 클라이언트오류, 잘못된 문법으로 서버가 요청을 수행할 수 없음 5xx(sever Error) : 서버오류, 서버가 정상 요청을 처리하지 못함 2xx - 성공 200 = OK 201 = created , 요청 성공해서 새로운 리소스가 생성됨 202 = Accepted , 요청이 접수되었으나 처..
GET - 쿼리 파라미터를 통한 데이터 전송(주로 정렬 필터, 검색어) POST,PUT,PATCH - 메시지 바디를 통한 데이터 전송 ( 회원가입, 상품 주문, 리소스 등록, 리소스변경) 4가지 상황 1. 정적 데이터 조회 (이미지, 정적 텍스트 문서) 2. 동적 데이터 조회( 주로 검색, 정렬필터) 3. HTML Form을 통한 데이터 전송 (회원가입, 상품 주문, 데이터 변경) 4. HTML API를 통한 데이터 전송 ( 회원가입, 상품 주문, 데이터변경 ++ 서버 에서 서버로 전송, 앱 클라이언트, 웹 클라이언트(ajax)- 이 녀석을 주로 사용할 것이다. ) 정적 데이터 조회 - GET 사용 , 클라이언트에서 서버로 URI 경로만 보내 해당 결과를 보낼 뿐이다. 추가 데이터 필요 x 동적 데이터 ..