한 걸음 두 걸음

NetWork PDF로 보기 본문

CSE/Network

NetWork PDF로 보기

언제나 변함없이 2019. 2. 10. 16:02
반응형

1. HTML & Internet

HTML이란?

Hyper Text Makup Language의 약자로,
웹페이지를 만들기 위한 언어로 웹브라우저 위에서 동작하는 언어입니다.

HTML 문법을 사용하여 웹페이지만들기위해서는

Tag를 사용합니다.
태그란 정보를 정의 하는 형식으로, strong / u(underline) / br(공백) / p(문단나누기) 등이 있으며 태그 내에 속성 attribute를 추가하여 스타일을 지정해줄 수 있습니다.(img src)

태그에는 함께 다니는 부모자식 태그가 있는데 이는 리스트를 만들 때에 ul li로 로 활용되기도 하고 자동으로 숫자 넘버링 되도록 하기 위해서는 ol를 사용하기도 합니다. ()표의 경우 부모자식관계로 < table>< tr>< td>이 함께 다닙니다. </a href ="">도 링크를 연결하는 태그로 굉장히 중요합니다.)

위의 태그들은 body 즉 본문의 내용을 설명할 때 쓰이는 태그였다면 <//title > </meta charset >는 본문을 설명하는 head 내의 태그입니다.

인터넷이란?

인터넷과 웹은 서로 다른 개념입니다. 인터넷이 다양한 웹을 아우르는 상위개념이라 볼 수 있는데, (인터넷이 도로라면 웹은 건물 하나이다.) 웹은 전자 메일과 같이 인터넷 상에서 동작하는 하나의 서비스이고 인터넷은 컴퓨터로 연결하여 통신 프로토콜을 이용해 정보를 주고받는 컴퓨터 네트워크입니다. 인터넷이 작동하는 방식은 두 대의 컴퓨터 web browser / web server 사이에서 서로 정보를 주고받는 것입니다.

서버 / 클라이언트

여기서 정보를 제공해주는 쪽을 서버라고 하며, 정보를 받아 해석해서 사용하는 쪽을 클라이언트라고 합니다.

2. 컴퓨터 네트워크란?

컴퓨터 네트워크란 Net과 Work가 합성되어 만들어진 말로, 컴퓨터들이 통신 기술 이용하여 그물망 처럼 연결된 통신 이용 형태를 의미합니다.

3. LAN / WAN

LAN은 Local Area Network의 약자로 사용자가 포함된 지역 네트워크를 의미합니다. 주로 이더넷 프로토콜을 사용하며, 스위치를 통해 연결된 좁은 범위의 네트워크를 말합니다.
WAN은 Wide Area Network 의 약자로 LAN과 LAN 사이를 연결하는 광범위한 네트워크를 의미합니다.

4. 회선 교환 방식 / 패킷 교환 방식

회선교환 방식은 송신자와 수신자가 결정되면 그 사이의 여러 통신회선 중에서 적당한 경로를 설정하여 통신하는 방식입니다. 이렇게 설정된 경로를 회선이라 하며, 회선이 설정되면 그 정해진 경로인 회선을 통해서만 데이터를 통신합니다. 이 때 통신중인 이 회선은 독점적으로 사용됩니다.

패킷교환 방식은 회선교환과 달리 송신자와 수신자 사이에 고정된 경로가 미리 설정되지 않습니다. 전송과 수신은 네트워크에서 사용하는 전송의 기본 단위인 패킷 단위로 이루어지며, 패킷 내에는 일정한 크기를 가지며 전송하는 데이터와 목적지의 주소, 패킷의 순서, 제어정보 등이 담겨있습니다.

5. 프로토콜이란?

복수의 컴퓨터 사이나 중앙 컴퓨터와 단말기 사이에서 데이터 통신을 원활하게 하기 위해 필요한 통신 규약으로, 서로 다른 장비간에 통신을 하기 위해서 사용하는 공용 언어라고 보면 됩니다.
대표적인 프로토콜로 HTTP, ARP, ICMP, SNMP, SMTP, POP, FTP, TFTP, DHCP 등이 사용되고 있으며, 세부적으로 세분화와 재합성, 캡슐화, 연결제어, 오류제어, 흐름제어, 주소 설정, 다중화, 전송 서비스 등의 방법이 설정됩니다.

6. OSI 7 계층 & TCP / IP

OSI 7계층

OSI 7계층을 이미지로 보자면 다음과 같습니다.

계층 1 프로토콜인 물리계층부터 시작해서 데이터링크, 네트워크, 전송, 세션, 표현, 응용 계층으로 이루어진 것을 OSI 7계층이라고 하며, 이는 다른 네트워크와 연결하기 위해 오픈된 구조로 통신이 이뤄지는 데 필요한 기능들을 7계층으로 분류한 표준을 의미합니다.

1계층인 물리계층은 물리적 매체를 통해 기계어로 전송하는 기능으로, 케이블과 신호 방식 및 물리적 흐름에 대한 전기적 표준을 정의합니다.

2계층인 데이터 링크계층은 물리적인 네트워크 장비를 1:1 MAC 주소를 통해 프레임을 전달하는 역할을 수행합니다.

3계층인 네트워크 계층은 노드와 노드를 연결해서 네트워크를 구성하기 위한 프로토콜이 정의되어 있어 각 패킷이 발신지에서 목적지까지 효과적으로 전달하는 역할을 합니다.

4계층은 전송 계층으로, 패킷 생성 및 오류 관리를 수행합니다. 4계층에 해당하는 대표적인 프로토콜은 TCP, UDP이 있습니다.

5계층 세션 계층에서는 통신 세션을 관리하는 계층으로 사용자 간 연결 유지를 확인&관리 하는 기능을 수행합니다.

6계층 표현은 운영체계의 한 부분으로 데이터 포맷, 암호화, 인코딩 등을 담당합니다.

7계층은 응용 소프트웨어들이 사용하는 계층으로, 개발자가 이 계층 서비스를 이용해 프로그램을 개발합니다.

TCP/IP

TCP/IP는 컴퓨터 사이의 통신 표준 및 네트워크의 라우팅 및 상호연결에 대한 자세한 규칙을 지정하는 프로토콜 스위트입니다.
이는 TCP를 기반으로 한 많은 수의 애플리케이션 프로토콜들이 IP 위에서 동작하기 때문에, 묶어서 TCP/IP로 부르기도 하며, 패킷 통신 방식의 인터넷 프로토콜인 IP와 전송 조절 프로토콜인 TCP로 이루어져 있습니다. IP는 패킷 전달 여부를 보증하지 않고, 패킷을 보낸 순서와 받는 순서가 다를 수 있습니다/ 하지만 TCP는 IP 위에서 동작하는 프로토콜로, 데이터의 전달을 보증하고 보낸 순서대로 받게 하여 신뢰성을 보장합니다.

7. TCP / UDP

전송계층은 송신자와 수신자를 연결하는 통신서비스를 제공하는 계층으로 데이터의 전달을 담당하는데 이 때 데이터를 보내기 위해 사용하는 프로토콜이 바로 TCP와 UDP입니다.

TCP(Transmission Control Protocol)란

전송을 제어하는 것으로, 일반적으로 인터넷상에서 데이터를 메세지의 형태로 보내기 위해 IP와 함께 사용하는 프로토콜입니다. 연결형 서비스로 가상 회선 방식을 제공하며, 3-way handshaking과정을 통해 연결을 설정하고 흐름 제어 및 혼잡을 제어합니다. 뿐만 아니라 IP가 제공하지 못하는 신뢰성을 보장하나, UDP보다 느린 것이 특징입니다. 그렇기에 TCP는 연속성보다 신뢰성있는 전송이 중요할 때에 주로 사용됩니다.

UDP(User Datagram Protocol)란

데이터를 데이터그램 단위로 처리하는 프로토콜입니다. UDP는 비연결형 서비스이기 때문에, 연결을 설정하고 해제하는 과정이 존재하지 않습니다. 서로 다른 경로로 독립적으로 처리함에도 패킷에 순서를 부여하여 재조립을 하거나 흐름 제어 또는 혼잡 제어와 같은 기능도 처리하지 않기에 TCP보다 속도가 빠르며 네트워크 부하가 적다는 장점이 있습니다. 하지만 신뢰성있는 데이터의 전송을 보장하지 못하기에 연속성이 중요한 서비스에 자주 사용됩니다.

8. HTTP & HTTPS

HTTP는

HyperText Tranfer Protocol로 WWW상에서 정보를 주고 받는 프로토콜입니다. HTTPS 또한 클라이언트인 웹브라우저가 서버에 HTTP를 통해 웹페이지나 이미지 정보를 요청하면 서버는 이 요청에 응답하여 요구하는 정보를 제공하는 HTTP와 같은 통신 규약이지만, 텍스트 기반 통신 방식으로 인한 보안상 문제를 해결한 프로토콜이 HTTPS입니다.

HTTPS는

공개키 암호화 방식을 사용하며 인터넷 상에서 정보를 암호화하는 SSL프로토콜을 이용하여 클라이언트와 서버가 데이터를 주고 받습니다.

Request / Response

HTTP에서 교환되는 메시지 타입은 Request과 Response이 있는데 요청은 클라이언트가 서버로 전달해서 서버의 액션이 일어나게끔 하는 메시지이고, 응답은 요청에 대한 서버의 답변입니다.

Methods

HTTP 메소드란 서버에 임무를 부여하는 것으로, 클라이언트에서 request 전달 시 메소드에따른 지시를 내릴 수 있게 합니다.

http 메소드의 종류는 위와 같으며,

GET메소드는 request URI로 식별된 리소스를 가져올 수 있도록 합니다.
POST메소드는 엔티티를 전송하기 위해서 사용되며,
( GET으로도 엔티티를 전송할 수 있지만 구분을 위하여 POST를 사용합니다.
PUT메소드는 파일 전송을 위하여 사용됩니다.
HEAD메소드는 GET과 같은 기능이지만 메시지 바디는 돌려주지 않습니다.
DELETE메소드는 파일을 삭제하기 위하여 사용됩니다.
OPTIONS메소드는 리퀘스트 URI로 지정한 리소스가 제공하고 있는 메소드를 확인합니다.

9. DNS(Domain Name System)

도메인 네임 시스템(Domain Name System, DNS)은 호스트의 도메인 이름을 호스트의 네트워크 주소로 바꾸거나 그 반대의 변환을 수행합니다.
DNS 서버에서 자동으로 어떤 웹 페이지에 접근했는지 기록이 되기 때문에 신뢰할 수 있는 public DNS 서버를 지정하여 사용할 수 있습니다.
그리고 DNS record란 DNS의 타입을 알려주는 것으로
A의 경우, 도메인의 IP주소가 무엇인지 알려주는 타입입니다.(portal.koreatech.ac.kr A 220.68.64.152)
그 외에도 AAAA, CAA, CNAME(별명 지어주는 역할), NS 등 다양하게 있습니다.

10. Home Server

IPv4에서 만들어놓은 IP주소가 부족해짐에 따라 새롭게 등장한 IPv6을 사용하며 등장한 것이 Home Server입니다.

Router(공유기)

인터넷은 서로 정보를 주고받아야하기 때문에 각자 IP주소를 갖고 있어야 합니다.
공유기는 하나의 WAN 네트워크를 가져와서 일정 범위 내의 인터넷 기기를 LAN으로 연결시켜 인터넷을 사용할 수 있게 해주는 역할을 합니다.
이 때, 공용 아이피는 WAN의 주소이고 라우터의 LAN 아이피(gateway address)와 공유기에 연결된 사설 IP가 각각 다르게 정해집니다.

NAT(Network Adress Translation)

NAT은 공유기에 연결된 장치들이 인터넷을 통해 공유기 밖의 정보에 접속할 수 있도록 하는 기능입니다.
private IP address를 public IP address로 바꿔 요청을 보내고 받은 후, 원래 요청을 보냈던 private IP address로 답을 보내줍니다.

Port & Port forwarding

포트는 클라이언트가 컴퓨터에 접속할 때 어떤 서버와 접속하려고 하는지는 구분하기 위해 사용하는 논리적인 접속장소로 컴퓨터 내에 여러 개 존재합니다. 이로써 하나의 컴퓨터가 여러 인터넷 서비스를 제공할 수 있게 됩니다.

( 이 때 라우터가 WAN의 public IP로 들어오는 요청을 받아 포트번호를 식별한 후, 그에 맞는 private IP로 연결시켜주는 역할을 합니다.)

Port forwading은 공유기 외부에서 공유기 내부의 컴퓨터에 접속하기 위해서 공유기의 몇번 포트에 접속한 정보를 공유기 내의 어떤 아이피의 몇번 포트로 연결해줄 것인지를 공유기에게 알려주는 것을 말합니다.

Dynamic IP & Static IP

IP 주소는 부족한 자원이기 때문에 ISP에서는 필요할 때마다 IP주소를 유동적으로 부여합니다.
IP가 필요할 때마다 다른 IP를 사용하기때문에 서버와의 통신이 이루어질 때마다 서로의 IP를 확인하여
작업해야하는 번거로움이 발생합니다. 만약 이게 싫어서 static IP를 쓰고자 한다면, ISP에 일정 비용을 지불하고 독점적으로 사용할 수 있습니다.

DHCP(Dynamic Host Configuration Protocol)

DHCP는 네트워크에 접속한 장치의 ip, subnet mask, gateway address, DNS와 같은 정보를 자동으로 설정해주는 기술입니다. 라우터에는 DHCP 서버 프로그램이 자동으로 설치되어 있고, 인터넷을 사용하는 개인 기기에도 DHCP 클라이언트가 있어 자동으로 정보가 세팅됩니다. 각 클라이언트에는 고유한 식별자(MAC / physical address 등)을 갖고 있어 필요할 때마다 라우터에 정보를 요청하여 ip주소 등을 받아 그때그때 사용할 수 있습니다.

반응형