프로토콜 Protocol

컴퓨터와 컴퓨터 사이에서 메시지를 전달하는 과정

 

프로토콜의 3가지 요소

- 구문(Syntax) : 데이터의 구조나 포맷을 의미

- 의미(Semantics) : 전송되는 데이터의 각 부분이 무엇을 뜻 하는지를 알 수 있게 미리 정해둔 규칙(데이터 자체뿐만 아니라 오류제어, 동기 제어, 흐름 제어를 포함)

- 순서(Timing) : 어떤 데이터를 보낼 것인지와 얼마나 빠르게 데이터를 보낼 것인지 정의

 

프로토콜의 기능

- 주소 설정(Addressing) : 서로 다른 시스템의 두 개체가 통신을 하는 경우 필요

- 순서 제어(Sequence Control) : 프로토콜 데이터 단위를 전송할 때 보내는 순서를 명시하는 기능(연결 지항형(Connection-Oriented)에만 사용)

- 데이터 대열의 단편화 및 재조합(Fragmentation & Reassembly) : 대용량 파일을 전송할 때 전송 효율이 높은 작은 단위로 나누어 전송한 뒤 전송받은 시스템에서 이를 재조합해야 함.

- 캡슐화(Encapsulation) : 데이터에 제어 정보를 덧붙이는 것

- 연결 제어(Connection Control) : 연결 설정, 데이터 전송, 연결 해제에 대한 통제 수행

 

● 흐름 제어(Flow Control)

송신측 개체로부터 오는 데이터의 양이나 속도를 조절하는 기능

송신측과 수신측의 속도 차이 등으로 인한 정보 유실을 방지

● 오류 제어(Error Control)

두 개체에서 데이터를 교환할 때 SDU나 PCI가 잘못되었을 경우, 이를 발견하는 기법

순서를 검사하거나 특정 시간 안에 받지 못하면 재전송을 요구하는 방식으로 이루어짐

● 동기화(Synchronization)

두 개체 간에 데이터를 전송할 때 각 객체는 특정 타이머 값이나 윈도우 크기 등을 통해 동시에 정의된 인자 값을 공유 하는 것

● 다중화(Multiplexing)

통신 선로 하나에서 여러 시스템을 동시에 통신할 수 있는 기법

● 전송 서비스

우선순위 결정, 서비스 등급과 보안 요구 등을 제어하는 서비스

 

네트워크 모델

전문적 표준 OSI 7Layer

-계층 구조로 이루어진 통신 규약들의 집합

-프로토콜 슈트 또는 프로토콜 패밀리 라고도 함

 

(1) 물리 계층 : 허브, 리피터

(2) 데이터 링크 계층 : 인터넷

(3) 네트워크 계층 : 라우터, L3 sw

(4) 전송 계층 : TCP, IP

(5) 세션 계층 : TCP session

(6) 표현 계층 : Encryption

(7) 응용 계층 : Browser, ssh

 

Application 중심의 TCP/IP 4Layer

물리계층, 인터넷 계층, 전송 계층, 응용 계층

 

 

 

 

TCP/IP 4 계층과 프로토콜

 

 

 

 

물리 계층

1계층 : 물리 계층(Physical Layer)

시스템 간의 연결선(흔히 랜(LAN)을 뜻함)

보통 랜 케이블은 CAT 5의 10/100 BASE-T(IEEE 802.3) 또는 CAT 6의 10/100/1000 BASE-T(IEEE 802.3) 선을 사용, 전화선은 CAT 1을 사용

 

■ 리피터 (Repeater)

- 네트워크를 연장하기 위한 장비

- 불분명해진 신호 세기를 다시 증가시키는 역할

- 최근에는 리피터가 모든 네트워크 장비에 공통으로 들어가는 기능이 됨

 

■ 허브(Hub)

- 요즘 쓰이는 스위치의 예전 형태

- 최근의 스위치를 스위칭 허브, 이전 허브를 더미 허브라 부름

- 허브는 스위치나 형태나 사용 방법이 같지만 패킷을 모든 곳에 똑같이 복사해서 보내는 것이 다름(스위치는 목적지에만 데이터를 전송)

 

 

데이터 링크 계층

2계층 : 데이터 링크 계층(Data Link Layer)

랜 카드나 네트워크 장비의 하드웨어 주소(MAX 주소)만으로 통신하는 계층

 

MAX 주소

총 12개의 16진수로 구성

앞쪽 6개는 네트워크 카드를 만든 회사(OUI)를 뜻하고, 뒤쪽 6개는 호스트 식별

자(Host Identifier)로 각 회사에서 임의로 붙이는 일종의 시리얼

같은 MAC 주소는 존재하지 않음

 

이더넷

이더넷 패킷의 최소 길이는 64KBytes, 최대 길이는 1,518KBytes

이더넷은 1980년대에 발표된 IEE 802.3이 규약의 기초가 됨.

 

네트워크 계층

3계층 : 네트워크 계층(Network Layer)

랜을 벗어난 통신을 하기 위해 네트워크 계층에서 IP 주소를 사용

 

ARP (Address Resolution Protocol)

IP 주소의 물리적 주소(MAC)를 알아내는 프로토콜

선택된 매체에 브로드캐스트를 통해 특정 IP 주소를 사용하는 호스트가 응답을 하도록 요구하는 방식을 사용

 

IP (Internet Protocol)

하위 계층의 서비스를 이용하여 두 노드 간의 데이터 전송 경로를 확립해주는 역할(단말장치 간 패킷 전송 서비스)

 

 

ICMP (Internet Control Message Protocol)

호스트 서버와 인터넷 게이트웨이 사이에서 메시지를 제어하고 오류를 알려주는 프로토콜

대표적인 툴은 ping

 

 

전송 계층

4계층 : 전송 계층(Transport Layer)

대표 프로토콜은 TCP(Transmission Control Protocol)

0~1023qjs(1,1024)을 잘 알려진 포트(Well Known Port)라고 부름 (보통 0번 포트는 사용x)

 

 

패킷 구조와 예

출발지 포트는 보통 1024번부터 65535번 사이에서 사용하지 않는 임의의 포트를 응용 프로그램별로 할당하여 사용

클라이언트가 웹 서버에 접속할 때 패킷 구조(서비스 포트는 보통 80번)

 

 

TCP (Transmission Control Protocol)

연결 지항형 프로토콜

IP와 함께 통신을 하는 데 반드시 필요한 가장 기본적인 프로토콜

 

TCP의 특징

높은 신뢰성

가상회선 연결 방식

연결의 설정과 해제

데이터 체크섬

시간초과와 재전송

데이터 흐름 제어

 

 

 

UDP

비연결 지향형 프로토콜

상대방이 보낸 응답을 확인하지 않아 네트워크에 부하를 주지 않음.

데이터 자체의 신뢰성이 없어 수신한 데이터의 무결성을 보장받지 못함

 

UDP의 특징

비연결 지향형

네트워크 부하 감소

비신뢰성

전송된 데이터의 일부가 손실됨

 

응용 계층

7계층 : 응용 계층 (Application Layer)

관련 응용 프로그램이 별도로 존재하며, 여러 가지 프로토콜에 대하여 사용자 인터페이스를 제공

 

POP3 & IMAP

POP3(110): 메일 서버 메일을 확인

IMAP(143) : POP3와 기본적으로 같으나, 메일을 읽은 후 메일이 서버에 남음

SMTP (Simple Mail Transfer Protocol, 25)

메일 서비스

DNS (Domain Name System, 53)

도메인 이름 주소를 통해 IP 주소를 확인할 수 있는 프로토콜

HTTP (HyperText Transfer Protocol, 80)

인터넷을 위해 사용하는 가장 기본적인 프로토콜

 

 

 

IP주소 CIDR 이해

 

IPV4 - 4바이트 주소

네트워크 주소(네트워크 ID) + 호스트 주소 (호스트 ID)

 

IPv4

Internet 상 호스트들을 구분하기 위한 32비트 주소 체계-IPv4

- 십진수 표현 방식(Dotted-decimal Notation)

- 4바이트 IP주소 : 각각의 십진수 값은 1바이트로 표현

- 네트워크 주소(네트워크 ID) + 호스트 주소 (호스트 ID)

 

IPv4 - Net Mask

서브넷마스크 : 네트워크주소와 호스트주소를 구분할 수 있도록 제공하는 마스크 정보

192.168.9.1 - > Mask 255.255.255.0 -> 192.168.9.0

 

IP주소 용어

 

IP주소 : 기기에 설정하는 주소

서브넷마스크 : IP주소 중에서 네트워크주소가 몇비트까지인지 나타내는 정보

와일드카드마스크 : 서브넷마스크와 반대 개념, 호스트 주소가 무엇인지 나타내기 위한 정보

네트워크주소(서브넷ID) : IP주소 & 서브넷마스크 , 기기가 속한 네트워크의 주소 (네트워크 장비들이 라우팅을 위해 이용)

브로드캐스트주소 : 같은 LAN의 모든 컴퓨터들에게 전송하기 위한 주소. 호스트주소 부분의 비트가 모두 1인 주소

호스트주소의 범위 : 같은 LAN에 속한 컴퓨터가 가질 수 있는 IP주소의 범위

서브넷의 호스트주소 개수 : 같은 LAN에 속한 컴퓨터가 가질 수 있는 IP주소의 개수

 

Netwrok Tools

 

리눅스 네트워크 유틸리티

현재 네트워크 관련 정보를 알아내는데 사용되는 명령어들

ip(ifconfig, winipcfg, ipconfig)

ping

arp

host

netstat

traceroute

nmap

 

 

netstat

시스템 네트워크 자원에 대한 여러 상태를 확인하는 명령어

- 네트워크 인터페이스 테이블 보기

- 각 프로토콜이나 라우팅 테이블 정보 보기

- 프로토콜별 통계 정보 출력

 

netstat - i    // 정적인 MAC 주소 추가

netstat -nrp  //라우팅과 게이트웨이

 

 

 

 

 

+ Recent posts