네트워크

네트워크

세션, 표현, 응용 계층 요약

세션, 표현, 응용 계층 전송 계층을 통해 데이터를 받게되면 세션, 표현, 응용계층에서 올바른 데이터를 프로세스와 연결지어 사용합니다. 세션 계층은 인증과 허가 등 보안에 관련된 영역을 담당하고, 표현 계층은 인코딩 등 확장자에 관한 개념을 담당하며, 응용 계층은 프로세스가 데이터를 사용하는 영역으로써 사용자 인터페이스에 보여지는 공간이라고도 볼 수 있습니다. 하지만 위 세 계층은 프로그래밍에 따라 역할이 다소 달라질 수 있으며, 상당히 추상적인 개념입니다. 따라서 요즘에는 OSI 계층을 일부 통합한 TCP/IP 계층으로 많이 표시합니다. 그림 요약 응용 계층에 속하는 HTTP 프로토콜은 위 그림과 같은 과정을 통해 다른 컴퓨터와 통신한다. 물리 계층에서는 정보가 담긴 전기 신호를 디지털 신호로 전환한다..

네트워크

전송 계층 요약

전송 계층 전송 계층 이전에 네트워크 계층의 IP의 활약으로 전송될 데이터의 네트워크가 어디인지 알게 됩니다. 전송 계층에서는 그 다음 일이 일어납니다. 받아온 데이터를 활용할 프로세스를 구분하는 역할이 전송 계층에서 일어납니다. 프로세스 구분은 포트(PORT)를 통해 이뤄지며, 이미 사용중인 포트는 중복해서 사용할 수 없습니다. 포트번호는 0번부터 65535번까지 사용할 수 있습니다. 이 중 0번부터 1023번까지는 Well Known 포트로 주요 통신 규약에 따라 이미 정해진 것들입니다. 가장 잘 알려진 포트번호로는 80번(HTTP), 443번(HTTPS), 22번(SSH)가 있습니다. 세그먼트(TCP)와 데이터그램(UDP) 세그먼트(TCP 헤더 + 데이터) TCP는 Transmission Contr..

네트워크

네트워크 계층 요약

네트워크 계층 네트워크 계층은 물리적으로 연결되어 있는 (MAC 주소로 연결되어 있는) 공간을 떠나 네트워크를 통해 다른 네트워크를 찾아가는 단계라고 정의할 수 있습니다. IP(Internet Protocol)라는 키워드가 등장합니다. IP는 네트워크 계층에서 정보를 송수신하는 통신 규약입니다. MAC 주소가 랜카드의 물리적인 주소였다면, IP는 어느 한 네트워크 집단의 주소라고 생각할 수 있습니다. 데이터 링크의 데이터에 숨어있는 네트워크 데이터 데이터 링크 계층의 데이터 속에 네트워크 데이터가 있습니다. 네트워크 데이터는 목적지 IP 주소, 출발지 IP 주소, 다음 계층에 넘겨줄 데이터 등으로 구성되어 있습니다. 대략적인 이해를 위해 아래 그림을 참고하면 좋을 것 같습니다. 네트워크의 구성 일반적인 ..

네트워크

데이터 링크 계층 요약

데이터 링크 계층 0과 1로 구성된 데이터가 의미를 갖게되는 계층입니다. 데이터의 목적지가 어디인지, 출발지는 어디인지, 네트워크 유형은 어떤걸 사용할 것인지, 전달하고자 하는 데이터는 무엇인지 등을 하나로 묶어 프레임(Frame)이라는 단위로 만듭니다. 프로토콜(통신규약)은 이더넷을 사용합니다. 주요 장비 스위치 / 허브 동작원리 물리 계층에서 변환된 비트가 그대로 비트로만 남아있다면 쓸모있는 데이터가 아니게 됩니다. 비트로 변환된 데이터를 이더넷이라는 프로토콜(통신규약)으로 묶어 의미있는 단위로 재조립하는 과정이 데이터 링크 계층에서 벌어집니다. 이 계층에서 데이터의 목적지 MAC 주소와 데이터를 보낸 MAC 주소가 규명됩니다. MAC 주소는 랜 카드의 고유한 주소로써 각자의 컴퓨터를 대변하는 주소입..

네트워크

물리 계층 요약

물리 계층 물리적인 장치의 전기적, 전자적 연결에 대한 명세입니다. 컴퓨터는 기본적으로 0과 1만 읽을 수 있습니다. 이를 디지털 데이터인 비트라고 합니다. 디지털 데이터(비트)를 아날로그 신호(전기 신호)로 변환하거나, 그 반대로 변환하는 기능을 합니다. 주요 장비 랜카드, 랜선 동작원리 컴퓨터는 0과 1로 이루어진 데이터만 다룰 수 있습니다. 하지만 현실 세계에서는 0과 1로만 세상을 표현할 수 없습니다. 따라서 이를 전기 신호로 컴퓨터에게 전달하고자 합니다. 하지만 전기 신호는 0과 1처럼 딱 떨어지는 값이 아닙니다. 전기신호는 sin 그래프처럼 파동 형태로 나타납니다. 랜카드는 전기의 파동에서 신호가 강하고 약하고의 차이를 잡아 0과 1로 변환해줍니다. 파동은 손실되거나, 데이터 변환간 오류가 있..

네트워크

meta-charset의 필요성, request header, response header

헤더를 까보기위해 http 모듈로 간단한 서버를 만들어 header에 무슨 정보가 오가는지 확인해보았다. 1. meta-charset의 필요성 const http = require('http') const server = http.createServer((req, res) => { res.setHeader('Content-Type', 'text/html') res.write('') res.write('') res.write('ㅎㅇ') res.write('') res.end() }) server.listen(8080) 서버를 위와 같이 개설하고, 페이지를 열면 아래의 스크린샷과 같이 한글이 다 깨져서 나오게 된다. 이유는 헤더에 캐릭터셋을 어떻게 인코딩해야할지 정보를 담아주지 않아서 그렇다. 따라서 인코딩..

네트워크

컴퓨터네트워크 기본2 (App계층 및 클라이언트 서버 설계구조)

이전 시간에 네트워크는 네트워크 엣지(클라이언트, 서버 등)와 네트워크 코어(엣지를 이어주는 중간다리)로 나뉘어 있음을 알게 되었다. 결국 사람이 네트워크를 이용하는 위치는 네트워크 엣지가 될텐데 이 네트워크의 구조는 간단히 5개의 계층(또는 7개의 계층)으로 나눠볼 수 있다. 5개 계층 Application (최상단) Transport Network Data link physical (최하단) 이 모든 계층은 모든 것들이 잘 버무려져서 동작하기 때문에 하나만 콕 찝어서 공부할 수는 없지만 일단 Application 계층이 이해하는 것이 더 쉬울 수 있기 때문에 App 계층부터 배워보도록 하겠다. 먼저 우리가 네트워크를 사용하는 App을 만들 때는 서로 다른 네트워크 엣지가 App을 가동할 것이다. (클..

네트워크

컴퓨터네트워크 기본1

http://www.kocw.or.kr/home/cview.do?mty=p&kemId=1169634 컴퓨터네트워크 인터넷을 동작시키는 컴퓨터네트워크 프로토폴을 학습한다. www.kocw.net 네트워크는 놀랍도록 발전해왔고, 지금은 전 세계에 뻗쳐나가있다. 그 것들을 모두 연결하면 뇌의 뉴런처럼 보일 것이다. 사실상 현대인들은 네트워크가 없이 살 수 없다. 나는 사용자의 입장에서 개발자로써의 전직을 꿈꾸므로 네트워크는 반드시 배워야 한다. 네트워크 구조(Network Structure) 네트워크 구조는 크게 network edge와 network core로 나눌 수 있다. 네트워크 엣지는 인터넷의 말단 부분에 위치한 네트워크이고, 일반적으로 사용자가 쓰고 있는 클라이언트 또는 데이터를 보내주는 서버가 될..

2DC
'네트워크' 카테고리의 글 목록