Digital Forensics

네트워크 기초

ruming 2021. 4. 1. 18:30

1. 네트워크

2. LAN

3. 네트워크 작동 원리

4. IP

5. OSI 7계층

6. 라우팅

7. TCP/UDP

8. 네트워크 연결 과정

9. 프로토콜

10. 이더넷


네트워크

net + work

컴퓨터와 같은 노드들이 서로 연결되어 자원을 공유하는 것.

노드 : 컴퓨터, 프린터, 스마트폰, 전화, 서버, 데이터 송수신 장치 등

 

네트워크의 장단점

장점

파일공유를 통해 다른 네트워크에 있는 컴퓨터의 파일에 접근할 수 있게 되어 디지털 미디어를 재생할 수 있다. 

광대역 인터넷 연결을 공유해 각 PC마다 별도의 인터넷 계정을 구입할 필요가 없다.

 

단점

바이러스나 악성코드, 원치 않는 정보를 받게 되며 해킹으로 인한 개인 정보 유출 등 보안상의 문제점이 생긴다. 

데이터 변조가 가능하다.

 

네트워크의 종류

PAN : 가장 작은 규모의 네트워크

LAN : 근거리 영역 네트워크

MAN : 대도시 영역 네트워크

WAN : 광대역 네트워크

VAN : 부가가치 통신망 정보의 축적과 제공, 통신속도와 형식의 변화, 통신경로의 선택 등 여러 종류의 정보서비스가 부가된 통신망

ISDN :  종합정보 통신망(=BISDN) 전화, 팩스, 데이터 통신, 비디오텍스 등 통신관련 서비스를 종합하여 다루는 통합서비스 디지털 통신망. 디지털 전송방식과 광섬유 케이블 사용. 

그 외 WLAN, SAN, CAN, GAN, VPN, ISDN, Intranet, Extranet 등이 있음

 

 

LAN (Local Area Network)

"단일 기관의 소유일 것으로 수 Km 범위이내에 지역적으로 한정 되어 있으며 스위칭 기술을 사용하며 WAN 보다 높은 통신 속도를 가진다."           

 - Kenneth J Thurber & Harvey A. Freeman -

 

"작은 지역 내에서 다양한 통신 기기의 상호 연결을 가능하게 하는 통신 네트워크"

- Willam Stalling -

 

학교, 회사, 연구소 등 한 건물이나 일정 지역 내에서 컴퓨터나 단말기들을 고속 전송 회선으로 연결하여 프로그램 파일 또는 주변장치를 공유할 수 있도록 한 네트워크 형태

LAN의 토폴로지에 따라 버스형, 링형, 스타형, 계층형, 메쉬형 등으로 구분할 수 있다.

*토폴로지란? 

네트워크를 구성하는 노드와 노드간에 연결 상태에 대한 배치 (통신망 구조)

 

특징

단일 기관의 소유, 제한된 지역 내의 통신

광대역 전송 매체의 사용으로 고속 통신이 가능

공유 매체를 사용하므로 경로 선택 없이 매체에 연결된 모든 장치로 데이터를 전송

오류 발생률이 낮음

네트워크에 포함된 자원을 공유

네트워크의 확장이나 재배치가 쉬움

전송매체로 꼬임선, 동축 케이블, 광섬유 케이블들을 사용

 

효과 및 장점

자원의 효율적인 백업이 가능

다른 기종 간의 통신에서 사무 처리의 능률화가 극대화

파일 공유에 따른 처리의 효율화 및 통일된 관리가 가능

기기 자원의 공유에 따른 이용 효율의 향상과 경비 절감효과

분산 처리로 시스템 전체의 성능이 향상되는 효과

 

 

LAN의 구성 형태

LAN의 구성 형태

1) Bus Topology

버스라 불리는 공유 통신 경로를 통해 연결된 클라이언트의 집합을 가리키는 네트워크 구조

모든 노드들이 버스에 T자형으로 연결되어 상호 Point - to - Point 형태를 갖게 됨.

각 노드들의 연결은 어댑터를 사용하며 양 끝 단에 Terminator를 두게 된다.

모든 신호는 전체 네트워크에서 양방향으로 전파되고, 네트워크상의 모든 장치는 같은 신호를 받게 되며, 클라이언트에 설치된 소프트웨어는 각 클라이언트가 본인에게 지정된 메시지만을 수신할 수 있도록 한다.

가장 보편적인 이더넷 위상구조.

 

*CSMA/CD 방식을 주로 사용

 - 호스트가 채널의 상태를 감지해 충돌을 피하는 매체접근방식

 - 호스트가 전송하기 전에 매체의 전압을 점검해 회선이 사용되지 않는 상태임을 확인하고 전송을 시작함

 

장점

공통 연결선으로 컴퓨터를 연결하기 때문에 케이블 사용량이 적어 투자 비용이 적게 든다.

서로 가까운 거리의 장치들을 연결할 때 적절하다.

단점 

장애발견과 관리가 어렵다.

각 노드의 고장이 전체 네트워크에 영향을 준다.

 

2) Ring Topology

각각의 노드는 양 옆의 두 노드와 연결하여 전체적으로 고리와 같이 하나의 연속된 길을 통해 통신을 하는 망 구성 방식

데이터는 노드에서 노드로 이동, 각각의 노드는 고리모양의 길을 통해 패킷을 처리함. 

통신제어가 간단하고 신뢰성이 높으며 장거리 네트워크에서 사용 가능하다.

노드간 통신은 Point - to - Point 

↓Point to Point 방식

더보기

네트워크의 회선 구성 방식

Point - to - Point

중앙 컴퓨터와 단말기를 일대일 독립저그올 연결해 언제든지 데이터 전송이 가능하게 한 방식

전용 회선 또는 교환 회선에 이용함.

 - 전송할 데이터의 양과 회선 사용 시간이 많을 때 효율적이다.

 - 고장 발생 시 유지 보수하기 쉽다.

 - 통신망을 성형(Star)으로 구성할 때 사용한다.

 

Multi-Drop (Multi-Point)

다수의 단말기들을 한개의 통신 회선에 연결해 사용하는 방식

 

회선 다중 방식 (다중화 방식)

여러대의 단말기들을 다중화 장치를 활용해 중앙 컴퓨터와 연결하여 사용하는 방식

 

네트워크 토폴로지

*FDDI 

데이터를 시계 방향과 반시계 방향의 두 고리로 전달함으로써 모든 노드가 고립되는 취약성을 극복

데이터의 끊김이 발생하는 경우, 데이터가 케이블의 끝까지 도달하기 전에 보조 고리로 다시 감싼다. C-형태의 고리를 따라 모든 노드의 연결이 유지됨. 

이중 링 방식 - Spatial Reuse Protocol, Fiber Distributed Data Interface(FDDI), Resilient Packet Ring

 

장점

각 노드에서 신호 재생이 가능하기 때문에 거리 제약이 적으며 잡음에 강함.

모든 장치들이 토큰에 접근할 수 있으며 전송할 수 있는 기회를 갖게 되는 순차적인 네트워크

네트워크의 부하가 심한 경우에 버스 토폴로지보다 성능이 우수함.

컴퓨터간의 연결을 관리하기 위한 네트워크 서버가 불필요

 

단점

하나의 동작 오류나 포트의 불량은 전체망의 문제를 일으킴

장치들을 옮길 때나 추가, 변경시 네트워크에 영향을 끼침

네트워크 어댑터 카드나 MAU가 이더넷 카드나 허브보다 훨씬 비쌈

일반적인 부하 환경에서는 이더넷 망보다 느림.

 

 

3) Star Topology

중앙 제어 방식, 모든 기기가 Point-to-Point 방식으로 연결. 중앙 제어 장비가 고장이 나면 모든 시스템에 영향을 미침. 

이더넷 LAN에서 가장 널리 사용되는 물리적 토폴로지.

주된 네트워크 장비에 기타 네트워크 장비를 추가로 연결하기 위해 스타 네트워크가 확장될 수 있으며, 이러한 토폴로지를 확장 스타 토폴로지라고 한다. 중앙의 연결지점에 허브, 스위치, 라우터 같은 장비가 배치되며, 모든 케이블링 세그먼트가 이 중앙 지점으로 모인다. 네트워크의 각 장비는 자체 케이블에 의해 중앙 장비로 연결된다.

* 허브(Hub) : 네트워크에서 각 단말기의 집선장치.

 

장점 

장애 발견이 쉽다.

Network 관리가 쉽다.

특정 케이블의 문제가 다른 장비에 영향을 끼치지 않는다.

 

단점 

HUB가 고장났을 때 전체 Network에 충돌이 일어난다.

많은 양의 케이블을 사용하므로 설치비용이 비싸다.

 

 

4) Mash Topology

네트워크 상의 모든 컴퓨터들이 연결되어진 형태. 무선과 유선망에 모두 적용이 가능하다.

무선 메시 네트워크는 무선 애드혹 네트워크의 일종으로 간주할 수 있다. 그러므로 무선 메시 네트워크들은 모바일 애드혹 네트워크(MANETs)와 밀접하게 관련되어 있다. MANETs가 특정 메시 네트워크 토폴로지에 국한되지는 않지만 무선 애드혹 네트워크나 MANETs는 어떠한 형태의 네트워크 토폴로지라도 취할 수 있다.

 

장점

연결 된 기기나 노드가 고장나더라도 다른 경로를 통해 통신이 가능하며, 어떠한 경우에도 네트워크가 동작한다. 

목적지까지 여러 개의 경로중 가장 빠른 경로를 이용하기 때문에 가용성과 효율성이 좋다.

 

단점

네트워크에 연결된 기기의 수가 많을 경우 모든 기기와 연결해야 하기 때문에 케이블 사용량이 많고, 구조 또한 복잡해 네트워크 관리가 힘들다.

토폴리지 가운데 설치 비용이 비싸다.

 

 

5) Tree Topology

임의의 두 노드 사이에 하나의 패스밖에 없는 네트워크이다. 중앙에 위치한 노드를 중심으로 모든 노드들이 point-to-point 방식으로 직접 연결되어 중앙의 노드에서 다른 노드들을 제어한다.

 

장점

제어가 간단하고 관리와 네트워크 확장이 용이하다.

하나의 중앙 전송 제어 장치에 더 많은 장비를 연결할 수 있으며, 각 장비간의 데이터 전송 거리가 증가한다.

여러 컴퓨터를 분리하거나 우선순위를 부여 가능

특정한 2차 허브에 연결되어 있는 컴퓨터에 더 높은 우선순위 부여 가능

 

단점

병목 현상 및 네트워크 장애 발생 가능

상위에 트래픽이 집중되어 병목 현상이 발생할 수 있고, 상위 전송 제어장치가 다운되면 하위 네트워크에 장애가 생긴다.

 

 

네트워크 작동 원리

단순한 네트워크

두 개의 컴퓨터가 통신이 필요할 때, 다른 컴퓨터와 물리적으로(이더넷 케이블) 또는 무선으로 연결되어야 한다. 

 

두 대의 컴퓨터를 연결할 경우
여러 대의 컴퓨터를 연결할 경우

여러 대의 컴퓨터를 연결할수록 케이블이 많아져 복잡해진다. 이 문제를 해결하기 위해 컴퓨터는 라우터라고하는 특수한 소형 컴퓨터에 연결된다. 라우터는 컴퓨터에서 보낸 메시지가 올바른 대상 컴퓨터에 도착하는지 확인하는 역할을 한다. 라우터를 시스템에 추가하면 10대의 컴퓨터 네트워크에는 10개의 케이블만 필요하게 된다.

 

라우터를 사용할 경우

 

네트워크 속의 네트워크

더 많은 컴퓨터를 연결하기 위해 라우터와 라우터를 연결하면 무한히 확장할 수 있다.

먼 곳과 연결하기 위해서는 전화와 같이 이미 널리 연결되어 있는 케이블을 이용하면 되는데, 네트워크를 전화 시설과 연결하기 위해서는 모뎀이 필요하다. 모뎀은 네트워크의 정보를 전화 시설에서 처리할 수 있는 정보로 바꾸는 역할과 그 반대의 역할도 한다.

 

네트워크를 통해 메시지를 보내려면, 네트워크를 인터넷 서비스 제공 업체(ISP)에 연결해야 한다. ISP는 특수한 라우터를 관리하고 다른 ISP의 라우터에도 액세스 할 수 있는 회사다. 네트워크에서 보낸 메시지는 ISP의 네트워크의 네트워크를 통해 대상 네트워크로 전달된다.

 

네트워크 동작 과정

 

IP (Internet Protocol)

송신 호스트와 수신 호스트가 패킷 교환 네트워크에서 정보를 주고받는 데 사용하는 정보 위주의 규약이다. OSI 네트워크 계층에서 호스트의 주소지정과 패킷 분할 및 조립 기능을 담당한다. IP의 정보는 패킷 혹은 데이터그램으로 나뉘어 전송된다. IP에서는 이전에 통신한 적 없는 호스트에 패킷을 보낼 때 경로 설정이 필요없다.

 

특징

1. 비신뢰성과 비연결성

흐름에 관여하지 않기 때문에 보낸 정보가 제대로 갔는지 보장하지 않음.

전송과정에서 패킷이 손상될 수도 있고, 순서가 바뀌거나 같은 패킷이 두번 전송될 수도 있고, 사라질 수도 있다. 패킷 전송과 정확한 순서를 보장하려면 TCP 프로토콜과 같은 IP의 상위 프로토콜을 이용해야 한다. (TCP/IP 참고)

2. 호스트간의 통신만을 담당한다.

 

IP주소

컴퓨터에 메시지를 보내려면 메시지를 받을 특정 컴퓨터를 지정해야 한다. 네트워크에 연결된 모든 컴퓨터에는 IP 주소가 있다. IP 주소는 인터넷상에 있는 컴퓨터의 고유한 주소로 점으로 구분된 네 개의 숫자로 구성되어 있다. 

네트워크에 연결된 모든 장치는 IP주소를 가지고, 이 번호를 이용해 발신자를 대신해 메시지가 전송되고 수신자를 향해 예정된 목적지로 전달된다. 

 

IPv4

오늘날 주로 사용되고 있는 IP 주소. 32비트로 0~255사이의 십진수 넷을 쓰고 . 으로 구분한다. 0.0.0.0부터 255.255.255.255까지 존재한다. 중간의 일부 번호는 특별한 용도를 위해 예약되어 있다. (127.0.0.1은 localhost로 자기 자신을 가리킴)

 

IPv6

IPv4의 주소가 부족해짐에 따라 길이를 늘린 IP 버전 6이 널리 사용되는 추세이다.

128비트로 두 자리 16진수 여덟개를 쓰고 각각을 : 로 구분한다.

 

도메인

IP 주소는 사람이 외우기 어렵기 때문에 도메인 이름을 대신 사용한다. DNS(도메인 네임 시스템)가 도메인 이름을 IP주소로 변환해주는 역할을 한다.

 

 

OSI 7계층

Open Systems Interconnection (개방형 시스템)

네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것. 통신이 일어나는 과정을 단계별로 파악 가능하다. OSI 7계층 모델을 알면 네트워크 구성을 예측하고 이해할 수 있고 네트워크에서 트래픽의 흐름을 꿰뚫어 볼 수 있다.

각 계층은 독립되어 있다. 각 단계에서 이상이 생기면 다른 단계를 건들이지 않고 그 단계만 고칠 수 있다. 상하 구조를 가진다.

 

물리계층은 하드웨어, 데이터링크 계층은 하드웨어+소프트웨어, 3계층부터는 다 소프트웨어이다.

 

 

물리계층

주로 전기적, 기계적, 기능적인 특성을 이용해 통신 케이블로 데이터를 전송한다.

사용되는 통신 단위는 비트이며 1과 0으로 나타내는, On, Off의 전기적 신호 상태로 이루어져 있다.

단순히 데이터를 전달하기만 하고 다른 기능에는 관여하지 않는다.

 

이 계층에 속하는 장비 : 통신 케이블, 리피터, 허브

 

데이터링크 계층

물리계층을 통해 송수신되는 정보의 오류와 흐름을 관리해 안전한 정보의 전달을 수행할 수 있도록 도와주는 역할을 한다. 에러검출, 재전송, 흐름제어 등의 역할

주소 값은 물리적으로 할당 받는다. 네트워크 카드가 만들어질 때부터 MAC 주소가 정해져 있어 그 주소를 가지고 통신한다. 주소 체계는 계층이 없는 단일 구조이고, 데이터 링크 계층의 가장 잘 알려진 예는 이더넷이다.

전송되는 단위는 프레임

데이터 링크 계층의 데이터 전송은 Point-To-Point 

 - CRC 기반의 오류 제어와 흐름 제어가 필요하다. 

 

장비 : 브리지, 스위치

 

네트워크 계층

이 계층에서 가장 중요한 기능은 데이터를 목적지까지 안전하고 빠르게 전달하는 기능인 라우팅이다.

IP주소가 네트워크 계층 헤더에 속해 있다.

경로를 선택하고 주소를 정하고 경로에 따라 패킷을 전달해주는 역할을 한다.

*패킷 : 네트워크 계층에서 부르는 데이터 단위

여러개의 노드를 거칠 때마다 경로를 찾아주는 역할을 한다. 다양한 길이의 데이터를 네트워크들을 통해 전달하고, 그 과정에서 전송 계층이 요구하는 서비스 품질(QoS)을 제공하기 위한 기능적, 절차적 수단을 제공한다.

라우팅, 흐름 제어, segmentation/desegmentation, 오류 제어, internetworking 등을 수행

서브네트의 최상위 계층으로 경로를 설정하고, 청구 정보를 관리한다. 개방형 시스템들의 사이에서 네트워크 연결을 설정, 유지, 해제하는 기능을 부여하고, 전송 계층 사이에 네트워크 서비스 데이터 유닛(NSDU : Network Service Data Unit)을 교환하는 기능을 제공

 

대표적인 장비는 라우터고, 2계층의 장비 중 스위치라는 장비에 라우팅 기능을 장착한 Layer3 스위치도 있다.

 

전송 계층

통신을 활성화하기 위한 계층

양 끝단의 사용자들이 신뢰성있는 데이터를 주고 받게 해주는 역할

상위 계층들이 데이터 전달의 유효성이나 효율성을 생각하지 않도록 해줌.

시퀀스 넘버 기반의 오류 제어 방식을 사용

전송 계층은 특정 연결의 유효성을 제어하고, 일부 프로토콜은 상태 개념이 있고(stateful), 연결기반(connection oriented)이다. -> 전송 계층이 패킷들의 전송이 유효한지 확인하고 전송 실패한 패킷들을 다시 전송한다는 것

오류검출 및 복구, 흐름제어와 중복검사 등을 수행

 

데이터 전송을 위해서 Port 번호가 사용된다.

대표적인 프로토콜로는 TCP와 UDP

데이터 단위는 세그먼트(Segment)

 

세션 계층

응용 프로세스가 통신을 관리하기 위한 방법을 제공

동시 송수신 방식(duplex), 반이중 방식(half-duplex), 전이중 방식(Full Duplex)의 통신과 함께, 체크 포인팅과 유휴, 종료, 다시 시작 과정 등을 수행

세션 설정, 유지, 종료, 전송 중단시 복구 등의 기능

TCP/IP 세션을 만들고 없애는 책임을 진다.

 

표현 계층

데이터 표현이 상이한 응용 프로세스의 독립성을 제공하고, 암호화

 

기능

1. 송신자에서 온 데이터를 해석하기 위한 응용계층 데이터 부호화, 변화

2. 수신자에서 데이터의 압축을 풀수 있는 방식으로 된 데이터 압축

3. 데이터의 암호화와 복호화

 

MIME 인코딩이나 암호화, EBCDIC로 인코딩된 문서 파일을 ASCII로 인코딩된 파일로 바꿔 주는 것, 해당 데이터가 TEXT인지, 그림인지, GIF인지 JPG인지의 구분

 

응용 계층

응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행함.

일반적인 응용 서비스는 관련된 응용 프로세스들 사이의 전환을 제공함.

응용 서비스의 예 : 가상 터미널, "Job transfer and Manipulation protocol"(JTM)

 

프로토콜 : HTTP, FTP, SMTP, POP3, IMAP, Telnet

 

기본개념 참고

 

라우팅

어떤 네트워크 안에서 통신 데이터를 보낼 때 최적의 경로를 선택하는 과정. 

*최적의 경로 : 주어진 데이터를 가장 짧은 거리로 또는 가장 적은 시간 안에 전송할 수 있는 경로

 

라우터가 패킷을 목적지까지 전달하기 위해 라우터는 해당 목적지에 대한 경로 정보를 알고 있어야 한다. 라우터들은 목적지에 대한 경로 정보를 가지고 이웃의 라우터들과 경로 정보를 교환하는데, 이때 경로 정보를 교환하는 프로토콜을 라우팅 프로토콜이라고 한다.

 

정적 경로 설정 (Static Routing)

관리자가 네트워크에 대한 경로 정보를 직접 지정하여 수동으로 구성하는 방법

네트워크 환경 변화와는 무관하게 항상 같은 경로로만 패킷 라우팅 경로를 설정,유지한다.

 

장점 : 동적 경로 설정보다 관리자에 의한 라우팅 정보만을 참조하므로 동적 경로 설정보다 속도가 빠르며 안정적임.

단점 : 네트워크의 변화가 빈번한 경우, 등록해야 할 네트워크의 수가 많을 경우에는 능동적으로 경로 설정을 변경하기 어렵고, 관리자가 네트워크에 대한 설정 및 운영지식을 습득해야 함.

 

동적 경로 설정 (Dynamic Routing)

동적인 라우팅으로 대규모 네트워크에 사용하며 인접한 라우터 간에 동일한 라우팅 프로토콜을 설정하여 라우터 간에 변경된 네트워크에 대한 정보를 자동으로 교환하여 라우팅하게 하는 방법

 

장점 : 라우터 간에 서로 라우팅 정보를 주고 받아 라우팅 테이블을 라우터가 자동으로 작성하기 때문에 네트워크 관리자는 초기 설정만 해주면 됨. 네트워크의 변화에 능동적으로 대처 가능

단점 : 라우터의 메모리를 정적 경로 설정보다 많이 차지함 -> 데이터 전송 속도가 느려짐

예시

그 외 다른 방법

 

IGP와 EGP

네트워크의 집합을 몇 개의 그룹으로 나누었을 때 동일 그룹 내에서 라우팅 정보를 교환할 때 사용하는 라우팅 프로토콜이 IGP, 다른 그룹과 라우팅 정보를 교환하는 프로토콜이 EGP이다.

 

Distance Vector vs Link State

최적의 Path를 결정하는 기준, 라우터간 교환 라우팅 정보의 생성, 변경 정보의 전달방식 등에 따른 분류

Link State : 네트워크에 대한 전반적인 정보(Topology, path)를 가짐

Distance Vector : 네트워크의 Distance 값에 대한 정보만 가짐

 

Distance Vector Protocol

Distance Vector란 경로 설정을 위한 요소를 거리와 방향에 중점을 두고 만들어진 라우팅 알고리즘

경로설정의 일부 또는 전체를 직접 접속된 라우터와 교환하여 라우팅 테이블을 생성, 관리하는 프로토콜

특정 목적지에 대한 다수의 경로 중 Hop 수를 기준으로 최적경로를 결정

설정은 쉽지만 주기적인 라우팅 테이블 교환에 의존하므로 변경에 대한 반영이 느림.

 -> 모든 라우터들은 주기적으로 라우팅 테이블을 교환해 라우팅 정보의 변화가 생기지 않았는지를 지속적으로 확인 및 관리 (해당 라우팅 프로토콜 : RIP, IGRP)

 

Link State Protocol

Distance Vector 알고리즘이 가지고 있는 제한을 극복하기 위해 디자인 되었다.

전체 네트워크의 위상 정보를 데이터베이스 형태로 간직한다. 토폴로지 데이터베이스를 근거로 SPF 알고리즘을 사용하여 routing table을 작성하고, 네트워크 상에 변화가 있을 때만 라우팅 정보를 발송한다.

 -> 라우팅 정보 traffic이 훨씬 적다. 하지만 토폴로지 등 다수의 Metric을 참조하는 데이터베이스를 지녀야 하기 때문에 Distanc-vector보다 메모리를 많이 사용하고, 계층적 구조를 가지므로 configuration이 상대적으로 복잡한다.

link state algorithm을 사용하는 대표적인 routing protocol : OSPF


TCP/UDP

TCP가 속해 있는 전송 계층은 두 호스트 간에 연결을 맺고 최종적인 통신 목적지까지 데이터를 전달하는 기능을 한다. 전송 계층에는 크게 TCP, UDP 2가지 프로토콜이 있다.

 

TCP

연결지향적이며 오류제어, 흐름제어, 혼잡제어, 타이머재전송 등의 기능을 한다.

연결지향 : 데이터를 전송하는 측과 데이터를 전송받는 측에서 전용의 데이터 전송 선로를 만든다는 의미

데이터의 신뢰도가 중요하다고 판단될 때, 데이터를 누락시키고 싶지 않을 때 주로 사용.

 

연결형 서비스

3-way handshaking 과정을 통해 연결을 설정

4-way handshaking 과정을 통해 연결을 해제

 

흐름제어

데이터 처리 속도를 조절해 수신자의 버퍼 오버플로우를 방지

 - 송신하는 곳에서 감당이 아노디게 많은 데이터를 빠르게 보내 수신하는 곳에서 문제가 일어나는 것을 막음

 - 수신자가 윈도우 크기 값을 통해 수신량을 정할 수 있음

 

혼잡제어

네트워크 내의 패킷 수가 넘치게 증가하지 않도록 방지

 - 정보의 소통량이 과다하면 패킷을 조금만 전송하여 혼잡 붕괴 현상이 일어나는 것을 막음

 

신뢰성이 높은 전송

Dupack-based retransmission

 - 정상적인 상황에서는 ACK 값이 연속적으로 전송되어야 한다. 그러나 ACK값이 중복으로 올 경우 패킷 이상을 감지하고 재전송을 요청한다.

Timeout-based retransmission

 - 일정시간동안 ACK 값이 수신을 못할 경우 재전송을 요청

 

전이중, 점대점 방식

Full-Duplex : 전송이 양방향으로 동시에 일어날 수 있다.

Point-to-Point : 각 연결이 정확히 2개의 종단점을 가지고 있다.

 -> 멀티캐스팅이나 브로드캐스팅 지원x

 

단점

UDP에 비해 속도가 느리다는 단점이 있어 대부분의 웹 HTTP 통신, 이메일, 파일전송에 사용됨.

데이터로 보내기 전에 반드시 연결이 형성되어야 함.

1 : 1 통신만 가능함

 

 

UDP

비연결지향이며, 최소한의 오류제어 기능만 수행함. 단순히 데이터를 받거나, 던져주기만 하는 프로토콜.

DNS, 실시간 멀티미디어 정보를 처리하기 위해 주로 사용함.

데이터 전송에 대한 보장을 하지 않기 때문에 패킷 손실이 발생할 수 있다.

 

TCP와 UDP의 공통점

포트 번호를 이용하여 주소를 지정함

데이터 오류검사를 위한 체크섬 존재

 

 

TDP와 UDP 비교

 

네트워크 연결 과정 (3way handshaking /4way handshaking)

3way handshaking

TCP 통신을 이용해 데이터를 전송하기 위해 네트워크 연결을 설정(Connection Estblish)하는 과정

정확한 전송을 보장하기 위해 상대방 컴퓨터와 사전에 세션을 수립하는 과정

 

A 클라이언트가 B 서버에 연결을 요청할 때

SYN(synchronize sequence numbers

ACK(acknowledgements)

 

1. A -> B : SYN

A클라이언트는 B서버에 접속을 요청하는 SYN 패킷을 보낸다.

A클라이언트는 SYN/ACK 응답을 기다리는 SYN_SENT 상태

 

2. B -> A : ACK, SYN

B서버는 SYN요청을 받고 A클라이언트에게 요청을 수락한다는 ACK와 SYN flag가 설정된 패킷을 발송하고 A가 다시 ACK로 응답하기를 기다림. B서버는 SYN_RECEIVED 상태

 

3. A -> B : ACK

A클라이언트는 B서버에게 ACK을 보내고 이후부터 연결이 이루어지고 데이터가 오가게 된다. B서버의 상태는 ESTABLISHED

 

 

 

4way handshaking

세션을 종료하기 위해 수행되는 절차

1. 클라이언트가 연결을 종료하겠다는 FIN 플래그 전송

2. 서버는 일단 확인메시지를 보내고 자신의 통신이 끝날때까지 기다림. 이 상태가 TIME_WAIT 상태

3. 서버가 통신이 끝났으면 연결이 종료되었다고 클라이언트에게 FIN플래그를 전송

4. 클라이언트는 확인했다는 메시지를 보냄

 

*TIME_WAIT

서버에서 FIN을 전송하기 전에 전송한 패킷이 라우팅 지연이나 패킷 유실로 인한 재전송등으로 인해 FIN패킷보다 늦게 도착한다면?

 - 클라이언트에서 세션을 종료시킨 후 뒤늦게 도착하는 패킷이 있다면 Drop되고 데이터는 유실될 것. 이 현상에 대비해 클라이언트가 서버로부터 FIN을 수신하더라도 일정시간동안 세션을 남겨놓고 잉여 패킷을 기다리는 과정임.

 


프로토콜

어떤 시스템이 다른 시스템과 통신을 원활하게 수용하도록 해주는 통신 규약, 약속

정보를 주고 받는 양식과 규칙의 체계

 

예시

HTTP, ARP, ICMP, SNMP, SMTP, POP, FTP, TFTP, DHCP

 

종류

직접/간접 프로토콜

단일체/구조적 프로토콜

대칭/비대칭 프로토콜

 

프로토콜의 기능

1. 세분화와 재합성 : 주어진 데이터를 작은 블록으로 나누는 과정과 그 반대 과정, 전송로를 효율적으로 사용, 효율적으로 오류 제어를 할 수 있고 응답 신호가 빠르지만 불필요한 데이터 양이 많아진다는 단점이 있다.

2. 캡슐화 : 송신기에서 발생된 정보의 정확한 전송을 위해 사용자 정보의 앞부분에 헤더와 뒷부분에 트레일러를 부가하는 과정으로 데이터에 제어 정보를 추가하는 것 (예 : HDLC)

3. 연결제어 : 링크 확립과 링크를 해제하는 과정

4. 오류제어 : 수신된 오류를 검출하고 재전송을 요구하는 것(패리티 비트, 해밍, 분개수 체크 방법 등)

5. 흐름제어 : 통신망 내의 원활한 흐름을 위해 송수신측 사이에 전송되는 패킷의 양이나 속도를 규정하는 기능

6. 동기화 : 2개의 프로토콜 개체가 동시에 명확히 정의된 상태. 두 개의 개체가 같은 상태를 유지하는 것

7. 순서 결정 : 정보가 분활되고 캡슐화 과정을 거쳐 전송되는 과정에서 전송되는 패킷의 순서가 변하는 경우에 수신측에서 정확한 정보의 발생 순서대로 정보를 재조립하는 과정에 이용되는 방식

8. 주소 설정 

9. 다중화 : 하나의 통신로를 다수의 가입자들이 동시에 사용하는 기능

10. 전송 서비스 : 프로토콜은 전송하려는 개체가 사용되도록 별도의 부수적인 서비스로서 우선 순위, 서비스 등급, 보안성 등을 제공

 

프로토콜의 구성

물리적 측면

자료 전송에 쓰이는 전송 매체, 접속용 단자 및 전송 신호, 회성 규격 등

 

논리적 측면

프레임 구성, 프레임 안에 있는 각 항목의 뜻과 기능, 자료 전송의 절차 등

 - 폐쇄적인 프로토콜 : 자사 장치들끼리 통신하기 위한 독자적인 통신 규약. 크래킹 위협에 상대적으로 안전함.

 - 공개된 범용 프로토콜 : 여러 장치들에 쓰이는 널리 알려진 규격, 컴퓨터와 네트워크 크래킹에 취약한 편.


이더넷

컴퓨터 네트워크 기술의 하나. 일반적으로 LAN, MAN 및 WAN에서 가장 많이 활용되는 기술 규격

*토큰링, FDDI, ATM 등의 다른 표준을 대부분 대체

OSI 모델의 물리 계층에서 신호와 배선, 데이터링크 계층에서 MAC 패킷과 프로토콜의 형식을 정의한다.

IEEE 802.3에 표준으로 정의되어 있다.

 

네트워크에 연결된 각 기기들이 48비트 길이의 고유의 MAC 주소를 가지고 이 주소를 이용해 상호간에 데이터를 주고 받을 수 있도록 만들어졌다.

 

전송 매체 : BNC 케이블, UTP, STP 케이블 사용

기기 상호 연결 장비 : 허브, 네트워크 스위치, 리피터

 

장점

적은 용량의 데이터를 전송할 경우 성능이 우수

설치 비용이 저렴하고 관리가 쉬움

네트워크 구조가 단순함

 

단점

네트워크 사용 시에 신호 때문에 충돌이 발생한다.

충돌이 발생하면 네트워크에서 지연이 발생한다.

시스템의 부하가 증가하면 충돌도 계속적으로 증가한다.

 

CSMA/CD

이 기술은 이더넷에 연결된 여러 컴퓨터들이 하나의 전송 매체를 공유할 수 있게 함.

 

동작절차

1. 네트워크를 사용하려는 컴퓨터는 먼저 현재 네트워크 위에 흐르고 있는 데이터가 있는지를 감지한다.

2. 만약 현재 다른 데이터가 전송 중이면 사용할 수 있을 때까지 기다리고 아니면 전송을 시작한다.

3. 여러 군데에서 동시에 전송을 시작해 충돌이 발생하면 최소 패킷 시간 동안 전송을 계속해, 다른 컴퓨터가 충돌을 탐지할 수 있도록 한다.

4. 그 뒤, 임의 시간 동안 기다린 뒤에 다시 신호(반송파)를 감지하고, 네트워크 사용자가 없으면 전송을 다시 시작한다.

5. 전송을 마치면, 상위 계층에 전송이 끝났음을 알리고 끝마친다.

6. 여러 번 다시 시도했음에도 전송에 실패하면 이를 상위 계층에 알리고 끝마친다.

 

 

 


 

 

네트워크란 무엇인가?

네트워크란?

통신망  

LAN이란 무엇인가? - 코딩팩토리

이더넷

TCP/UDP 개념과 특징, 차이 - 코딩팩토리

TCP와 UDP의 차이

TCP와 UDP 특징과 차이

3way handshaking

TCP 3-way handshaking과 4-way handshaking

라우팅의 기본 개념

OSI 7계층에 대한 자세한 설명 - 물리계층부터 시작