네트워크란
컴퓨터와 컴퓨터가 그물망처럼 통신 매체로 연결되어서 데이터를 운반하는 것
네트워크 장점
데이터 통신으로 컴퓨터가 가진 리소스를 공유 가능
cf. 리소스 예 : CPU 처리능력, 메모리 용량, 하드디스크 용량, 파일이나 폴더에 쓰여진 정보, 프린터 등 주변기기, 사용자가 가진 지식, 기능
데이터 통신 기초
- 데이터 : 컴퓨터 상에서 리소스를 공유하기 위한 정보, Bit(0,1)로 구성
- 데이터 통신 : 비트로 만들어진 데이터를 다른 컴퓨터에 보내거나 받는 것
- 인터페이스 : 2개의 서로 다른 시스템 사이에 존재하며 정보의 송수신을 중개하는 것
- 프로토콜 : 데이터를 주고받기 위한 규칙, 보내는 쪽과 받는 쪽이 같은 프로토콜 사용해야 함
회선 교환과 패킷 교환
- 회선 교환 : 파이프를 교체하는 방식 ex. 전화 네트워크
- 패킷 교환 : 패킷(묶음)으로 분할해서 송신하는 방식 ex. 컴퓨터 네트워크, 패킷에 수신처를 붙여서 패킷이 섞여도 각 수신처에 도달함.
네트워크 구조
- 패킷 교환에서 필요한 기기 : 컴퓨터, 인터페이스, 통신 매체, 패킷 교환기로 라우터라 불리는 기기 사용
- 세그먼트 : 패킷 교환없이 케이블 분배기로 연결되는 범위
- 멀티엑세스 네트워크 : 허브라는 기기 사용으로 컴퓨터 한 대가 세그먼트 내의 어떤 컴퓨터에도 자유롭게 데이터 송수신 가능한 구조
- 포인트 투 포인트 네트워크 : 전용선이라고 불리는 회선을 사용하여 컴퓨터 한 대가 다른 한 대의 컴퓨터에만 데이터를 보내는 방식
- 패킷 교환 네트워크 : 멀티엑세스 네트워크와 포인트 투 포인트 네트워크가 조합된 네트워크 (컴퓨터 네트워크는 컴퓨터에서 라우터, 라우터에서 라우터, 라우터에서 컴퓨터라는 식으로 연결, 컴퓨터에서 라우터는 멀티엑세스, 라우터에서 라우터는 포인투 포인트 네트워크임)
LAN과 WAN(네트워크의 범위나 규모로 분류)
- LAN(Local Area Network) : 지역적으로 좁은 범위에서 본인이 책임지고 구축하는 네트워크
- WAN(Wide Area Network) : 떨어져 있는 지역의 LAN끼리 통신사업자의 통신 케이블을 빌려서 연결한 네트워크
OSI 참조 모델
- 데이터 통신의 단계와 순서의 설계도
- 각 계층은 독립되어 있음
- 하위 계층은 상위 계층을 위해 일하고 상위 계층은 하위 계층에 관여하지 않음
- 네트워크에 의한 데이터 통신은 단계마다의 복수의 프로토콜로 실현됨
7계층 | 응용계층 | 사용자에게 네트워크 서비스 제공 |
6계층 | 표현계층 | 데이터 형식 결정 |
5계층 | 세션계층 | 데이터를 주고받는 순서 등을 관리 |
4계층 | 전송계층 | 신뢰성 높은(에러가 적은) 전송을 함 |
3계층 | 네트워크계층 | 전송 규칙이나 수신처 결정 |
2계층 | 데이터링크계층 | 인접 기기에 대한 데이터 전송 제어 |
1계층 | 물리계층 | 전기, 기계적인 부분의 전송을 실시 |
캡슐화
- 데이터 통신 시 데이터 운반하기 위해서는 데이터 이외에 다른 것(ex. 수신처, 송신처의 주소, 데이터 통신 제어 위한 데이터 등)도 필요.
- 프로토콜 데이터 유닛(PDU) : 데이터랑 데이터를 보내기 위해 필요한 것들이 통합된 상태
- PDU 호칭 (3계층 PDU는 패킷이라고 부르는 경우도 있음, 다만 패킷은 PDU 자체를 가르키는 경우도 있음.)
계층호칭내용
사용자 | 데이터(Data) | 송수신하고 싶은 데이터 |
7계층 PDU 6계층 PDU 5계층 PDU |
메세지(Message) | 데이터를 통신용으로 변환한 것과 7계층 헤더 |
4계층 PDU |
세그먼트(Segment) 데이터그램(Datagram) |
메세지와 4계층 헤더 |
3계층 PDU | 데이터그램(Datagram) | 세그먼트, 데이터그램과 3계층 헤더 |
2계층 PDU | 프레임(Frame) | 데이터그램과 2계층 헤더 |
1계층 | 신호 | 프레임을 전송매체로 운반하기 위한 신호로 변환 |
- 캡슐화(Encapsulation) : 데이터에 제어정보를 덧붙여 PDU로 완성하는 것 , 수신한 쪽에서는 캡슐을 벗겨가게 되는 것
- 데이터 앞에 붙이면 헤더(Header), 뒤에 붙이면 꼬리부(Trailer)
프로토콜
- 데이터 통신에 필요한 프로토콜은 한 개가 아니라 복수의 프로토콜로 이루어짐
- 인터페이스 : 프로토콜과 프로토콜의 중개역, 상하의 프로토콜을 연결함
- 프로토콜군(Protocol Suite) : 각각의 계층에서 사용되는 프로토콜을 통합한 것
- 데이터의 내용, 헤더의 내용은 프로토콜로 정해져 있음
- 프로토콜은 데이터를 송수신하는 순서와 내용도 결정
- 인터넷에서 사실표준으로써 TCP/IP 프로토콜군이 사용되고 있음
TCP/IP 모델
- TCP/IP 모델 → TCP/IP 프로토콜군
4계층 | 애플리케이션 계층 |
HTTP(Hyper Text Transfer Protocol) FTP(File Transfer Protocol) SMTP(Simple Mail Transfer Protocol) |
3계층 | 트랜스포트 계층 |
TCP(Transmission Control Protocol) UDP(User Datagram Protocol) |
2계층 | 인터넷 계층 |
IP(Internet Protocol) ARP(Address Resolution Protocol) |
1계층 | 인터페이스 계층 | 이더넷, 프레임 릴레이, PPP(Point-to Point Protocol) 등을 이용 |
1계층의 역할과 개요
- 1계층의 역할 : 케이블이 연결되어 있는 기기에 신호 전달 (수신처에 데이터 전달)
- 통신 매체 : 신호가 지나는 파이프 역할 (유선/무선)
- UTP(Unshielded Twist Pair cable) : 동선 케이블 종류, 이 케이블에 신호를 보내고 받는 기계가 인터페이스
- 인터페이스 : 컴퓨터와 케이블의 중개역, LAN용 케이블용 인터페이스는 NIC(Network Interface Card)가 일반적, WAN의 경우 DCE(Data Circuit terminating Equipment : 회선종단기기)라는 별도 신호 변환기 사용
신호와 충돌
- 인터페이스 : 비트를 신호로, 신호를 비트로 변환하는 기기
- 신호의 종류 : 아날로그 신호, 디지털 신호, 데이터 통신에는 일반적으로 디지털 신호 사용
- 신호의 형태와 전송방법에 따라 통신속도 결정
- bps(bit per second) : 1초동안 전해지는 비트 수
- 신호에 발생하는 문제 : 신호의 감쇠, 노이즈,간섭, 충돌
허브
- 허브에 케이블로 연결되어 있는 기기는 동일 케이블에 연결되어 있는 것과 같음
- 포트 : 허브의 케이블 삽입구 (포트의 수는 제품에 따라 4, 8, 16, 32개 등)
- 허브의 기능 : 신호의 증폭과 재생, 복수의 기기를 연결해서 네트워크를 구축하는 기능(허브에 연결되어 있는 기기끼리 신호 주고받기 가능)
- 연속 접속(Cascade Connection) : 허브끼리 접속하여 신호가 도달하는 범위 넓힘
- 플러딩(flooding) : 수신한 포트 이외의 모든 포트에 수신한 신호 송신
- 충돌 도메인(Collision Domain) : 신호를 송신하면 충돌이 발생할지도 모르는 범위, 충돌 도메인은 작아야만 함(충돌 도메인 내의 컴퓨터 수가 적다)
2계층의 역할과 개요
- 2계층의 역할 : 신호가 닿는 범위에서의 데이터 전송에 대한 규정, 세그먼트 범위에서의 데이터 전송
cf. 세그먼트 범위 : 멀티엑세스 네트워크라면 허브에 의해 연결되어 있는 범위, 포인트 투 포인트 네트워크라면 컴퓨터와 라우터, 라우터와 라우터 사이
- 2계층에서는 1계층에서 사용하고 있는 케이블이나 신호에 따라 사용하는 규격이 다름 (LAN용/WAN용)
- 이더넷(Ethernet) : LAN 의 사실표준
- 프레이밍 : 송수신되는 비트열에 의미를 주어(프리엠블) 데이터로 취급할 수 있게 함 → 수신측에서 비트를 읽는 타이밍을 맞추게됨
2계층 주소와 이더넷
- 주소(Address) : 이더넷이 사용되는 주소, 데이터를 보내는 상대와 자신을 특정하는 데이터
- 주소는 데이터 전송 방법에 따라 3종류가 있음 (유니캐스트, 브로드캐스트, 멀티캐스트)
- 유니캐스트 : 1대1 데이터 통신(특정 1대만 수신처인 데이터 통신)
- 브로드캐스트 : 1대 전체, 모두(세그먼트내의 모든기기)에게 메시지를 보내는 데이터 통신
- 멀티캐스트 : 1대 다수, 지정된 복수의 기기(기기의 그룹)로 메시지를 보내는 데이터 통신
- 각각의 기기는 유니캐스트 주소를 적어도 한 개는 가지고 있음
- 인터페이스마다 유니캐스트 주소를 적어도 1개 이상 가짐 이때 유니캐스트 주소는 유일
- 이더넷에서는 MAC 주소가 사용됨
- MAC 주소(Media Access Control) : 인터페이스에 지정된 고정 주소, 48비트로 16진수 12자리로 표기되는 주소
이더넷
- LAN에서의 2계층은 이더넷이라는 규칙이 적용됨
- 이더넷 헤더 + 이더넷 트레일러 → 이더넷 프레임 , 이더넷에서는 수신처와 송신처의 MAC 주소, 에러 체크 등을 헤더, 트레일러로 붙임
- FCS(Frame Check Sequence) : 에러 체크용 비트열
- 송신 컴퓨터가 유니캐스트로 프레임을 송신하면 모든 기기에 도달함 → 수신한 프레임의 수신처 MAC 주소가 자신의 MAC 주소가 아닌 컴퓨터는 프레임을 파기한다(송신측에 알리지 않는다)
- CSMA/CD(Carrier Sense Multiple Access/Collision Detection) : 엑세스 제어 , 이더넷에서 신호를 보내는 타이밍을 겹치지 않게 하여 충돌 예방 (CS - 신호감지, MA - 다중 액세스, CD - 충돌검사)
스위치
- 충돌이 발생하지 않도록 하기 위해서 신호를 나누는 방법 (허브 대신에 사용)
- 스위치 안에서 수신처가 다른 프레임이 동시에 스위치에 도달해도 수신한 프레임을 따로따로 보낼 수 있도록 처리해서 충돌을 막음 → MAC 주소 필터링, 버퍼링 사용
- MAC 주소 필터링 :수신처 MAC 주소에 대응한 포트만 프레임을 송신하는 것
- 학습에 의해 스위치는 포트에 연결되어 있는 컴퓨터의 MAC 주소를 기억하여 대응표(어드레스 테이블)를 만듬
- 어드레스 테이블에서 수신처 MAC 주소에 대응하는 포트를 찾아내 그 포트로부터만 송신
전이중 이더넷
- 수신처가 같은 프레임이 동시에 도달했을 시 충돌 방지 → 버퍼링
- 버퍼 : 버퍼는 일시적으로 데이터를 기록해 둘 수 있는 기억기기(메모리)
- 버퍼링 : 충돌할 것 같은 프레임을 버퍼에 일시적으로 저장해둔 것, 첫번째 프레임 송신이 끝나면 저장해 두었던 프레임을 송신시키는 것
- 버퍼 용량 부족한 경우 백 프레셔 또는 IEEE802.3x 규격 사용하여 송신 조정 (버퍼 부족 판단 시 송신 중지)
- 충돌 도메인(그 범위에 있는 기기에서 충돌 가능성이 있다는 범위)는 스위치에 의해 분할 됨 (데이터 통신 효율 높임)
- 전이중 이더넷 : 스위치 사용해 전이중 통신(송신과 수신을 동시에 가능)을 하는 것 , 스위치 사용 시 CSMA/CD(반이중 통신) 사용 필요없음, 단 스위치와 컴퓨터의 인터페이스 양쪽 모두 전이중 이더넷 대응 제품이어야 함
3계층의 역할과 개요
- 세그먼트(segment) : 라우터와 라우터 간의 범위
- 3계층 : 세그먼트 간에서의 데이터 송수신 cf. 세그먼트 내에서 데이터 송수신 → 2계층
- 3계층에서의 Network : 라우터와 라우터로 분배된 컴퓨터 그룹
- 인터넷작업(InternetWork) : 다른 네트워크 간의 데이터 송수신
인터넷 프로토콜(Internet Protocol)
- 어드레싱(Addressing), 라우팅(Routing) → 인터넷 작업 실현 가능
- 3계층에서는 2계층에서 사용한 MAC 주소(물리주소) 사용안함
- 논리주소 : 3계층에서 사용하는 주소(위치정보 포함, 어디 네트워크에 있는 어느 컴퓨터)
- 라우팅(routing) : 수신처까지 어떤 경로로 갈지 결정 (경유하는 네트워크 결정) → 라우팅을 행하는 기기가 라우터
- 어드레싱과 라우팅에 의해 인터넷 작업을 수행하기 위한 TCP/IP 프로토콜 → IP(Internet Protocol)
- TCP/IP에서 인터넷 작업을 수행하는 것이 IP
IP주소
- 논리주소 → 네트워크 접속시마다 붙이므로 소속된 네트워크 변경 시 논리주소도 변경됨.
- IP주소는 네트워크 번호와 컴퓨터 번호의 조합
- 네트워크 번호는 접속되어 있는 모든 네트워크에서 유일해야 하고, 컴퓨터 번호는 그 네트워크 내에서 유일해야함
- IPv4(32bit), IPv6(128bit)
- 8비트를 1옥텟(Octet)으로 하여 4개의 옥텟으로 분할해 표기
- 인터넷에서는 ICANN(The Internet Corporation for Assigned Names and Number) 라는 조직에서 실제로 번호를 사용하는 조직에 할당
- IP 주소를 조직의 규모에 따라 A~E로 나누고 그 범위의 주소를 할당함.
클래스규모네트워크의 수1개의 네트워크가 가진 IP 주소 개수
A | 정부, 연구기관, 대기업 | 128개 | 16,777,216개 |
B | 대~중규모 기업 | 16,384개 | 65,536개 |
C | 중~소규모 기업 프로바이더 | 2,097,125개 | 256개 |
D | 멀티캐스트용 | ||
E | 연구용 |
- 클래스에 의해 컴퓨터 번호의 비트수가 정해지고 이것으로 조직이 가질 수 있는 IP 주소 수량이 결정됨
- 클래스풀 어드레싱(Classful Addressing) : 클래스로 나누어 IP 주소를 할당하는 방식
- 호스트 번호의 비트가 모두 0인 주소는 네트워크 주소
- 호스트 번호의 비트가 모두 1인 주소는 브로드캐스트 주소
서브네팅(Subnetting)
- 네트워크를 작은 네트워크(Subnet)으로 나눔
- Subnet을 사용할 경우 IP 주소는 네트워크 번호, 서브넷 번호, 호스트 번호가 됨
- 서브넷 부분의 비트 수에 의해 서브넷의 수와 서브넷마다 사용할 수 있는 IP 주소의 수가 결정됨
- 네트워크 번호, 서브넷 번호의 비트수를 나타내기 위해(어디까지가 서브넷 번호인지) 서브넷 마스크 사용
- Subnet의 숫자를 크게 하면 각 서브넷의 호스트 수는 감소함
- 서브넷마스크(Subnetmask) : IP 주소와 같은 32비트, 네트워크번호, 서브넷 번호의 비트를 모두1, 호스트번호를 0으로 함
- IP 주소와 Subnetmask는 반드시 세트로 기술함
클래스리스 어드레싱(Classless Addressing)
- 현재는 기존의 클래스풀 어드레싱(Classful Addressing) 사용 안함 → 클래스에 딱 맞지 않으면 사용하지 않는 IP주소가 생김 (낭비)
- 클래스리스 어드레싱(Classless Addressing) : 클래스에 따른 고정된 할당을 하지 않고 자유롭게 할당, 필요한 IP 주소의 개수로부터 네트워크 번호를 결정하는 방식
- 슈퍼넷(Super Network) : 기존의 클래스풀 어드레싱의 클래스 네트워크를 통합해서 하나로 운영하는 것
- 프리픽스 길이(Prefix-Length) : 네트워크 번호의 비트 수 나타냄 cf. 클래스풀 어드레싱 → 서브넷마스크
DHCP
- 이더넷 사용해서 IP 데이터그램 송수신 위해서는 4개의 주소 필요 → 수신처 MAC 주소, 송신처 MAC 주소, 수신처 IP 주소, 송신처 IP 주소
- 송신처 MAC 주소의 경우 송신할 인터페이스의 MAC 주소 사용 (NIC 장치하면 자동적으로 알 수 있음), 송신처 IP 주소의 경우 송신할 인터페이스의 수동이나 DHCP 에서 설정된 IP 주소 사용
- IP 주소는 정적(수동으로 IP 주소 입력), 동적 설정으로 나뉨
- DHCP(Dynamic Host Configuration Protocol) : IP 주소가 자동으로 컴퓨터에 설정되는 방법
- IP 주소 풀(IP pool) : 관리자가 할당할 주소의 범위
- DHCP 서버는 설정된 IP 주소 풀 중에서 요청한 클라이언트에게 각각 유일한 것이 되도록 주소를 할당
- DHCP Message 는 주소와 옵션(메시지타입, 클라이언트 설정(서브넷마스크, 디폴트게이트웨이, DNS 서버주소, 대여기간 등)) 등의 정보를 갖음
- DHCP는 DISCOVER, OFFER, REQUEST, ACK 4종류의 메시지를 클라이언트와 서버 간에 브로드캐스트를 사용해서 주고받음
ARP
- 수신처 MAC 주소는 수신처의 IP 주소가 결정된 후에 ARP로 알 수 있음
- ARP(Address Resolution Protocol) : '이 IP 주소의 호스트님, 당신의 MAC주소를 알려주세요' 라고 질문하는 프로토콜
- ARP Table : IP 주소와 MAC 주소의 대응표
- ARP 요청은 브로드캐스트로 네트워크 내의 모든 컴퓨터에 송신됨
- ARP 요청을 송신한 측의 컴퓨터는 ARP의 결과를 ARP 테이블에 기재하여 수신처의 MAC 주소가 결정됨
- 인터페이스 고장 등으로 MAC 주소가 변경되어도 대응하기 위해서 ARP 테이블은 일정 시간 경과 시 파기됨
DNS
- 도메인명 (Domain Name) : 송신할 상대의 컴퓨터 이름
- DNS(Domain Name System) : 이름과 IP 주소를 대응시킨 시스템, DNS 서버(이름과 IP 주소의 대응 데이터베이스)에 문의하여 수신처의 IP 주소 입수
- 다른 조직의 도메인 명에 대응하는 IP 주소는 그 조직의 DNS 서버에 문의해서 입수
**데이터 전송을 하기까지의 흐름
DHCP, ARP, DNS를 사용하여 4개의 주소를 결정함
① 자신의 IP 주소는 수동 또는 DHCP에서 할당 받고, MAC 주소는 자동적으로 안다
② 사용자 애플리케이션이 수신처의 도메인 명을 결정하면 DNS로 IP 주소를 취득한다
③ IP 주소가 결정된 후, ARP에 의해 MAC 주소를 취득한다.
④ 이것으로 송신처, 수신처의 MAC 주소, IP 주소를 알았기 때문에 데이터 전송이 가능해짐
'server' 카테고리의 다른 글
Ubuntu 서버에서 CLI를 이용해 바이러스 스캔 방법(ClamVA 백신) (0) | 2020.06.26 |
---|---|
SSH 자동 로그인 적용 방법 (ssh key 방식) (0) | 2020.06.12 |
scp 명령어를 이용하여 원격으로 파일/폴더 복사하기 (0) | 2020.06.10 |
scp 패스워드 자동으로 입력하는 방법 (sshpass) (0) | 2020.06.09 |
ssh 인증 에러 (Host key verification failed.) (0) | 2020.06.09 |