네트워크에 대한 전반적인 기초 지식 정리.
네트워크 구성
네트워크 (네트워크 기술)
네트워크 기술이란 서버와 클라이언트의 정보가 오고 가는 다리 역할을 하는 기술의 총칭을 의미한다.
네트워크라는 말은 연결되어 있다라는 뜻으로 컴퓨터 네트워크는 데이터를 케이블에 실어 나르는 것을 의미한다.
(무선 LAN은 전파로 데이터를 실어 나른다.)
LAN (Local Area Network)
LAN 이란 기업이나 조직 등 비교적 좁은 범위 안에 존재하는 컴퓨터 네트워크를 의미한다.
LAN은 LAN 케이블을 이용하여 데이터를 전송하는 유선 LAN과 전파를 이용하여 데이터를 전송하는 무선 LAN으로 구분한다.
LAN 케이블 이란
LAN 케이블은 LAN을 연결 하기 위한 케이블
LAN 스위치 란
LAN 스위치는 LAN을 구성하기 위한 네트워크 기기
네트워크 작동 원리
네트워크는 OSI 참조 모델을 바탕으로 작동한다. OSI 참조 모델은 국제표준화기구(ISO)가 컴퓨터 통신 기능을 계층 구조로 나눠서 정리한 모델로 일종의 통신 규칙 모음이라 생각하면 된다.
보통 OSI 7계층이라고 하는데 하위 계층(물리 계층) 부터 상위 계층(전송 계층)으로 구성된다.
OSI 7계층
- 제 1계층(물리 계층) : 네트워크 케이블의 재질이나 커넥터의 형식, 핀의 나열 방법 등 물리적인 요소를 모두 규정한다.
- 제 2계층(데이터 링크 계층) : 직접 연결된 기기 사이에 논리적인 전송로(데이터 링크)를 확립하는 방법을 규정한다.
- 제 3계층(네트워크 계층) : 동일 또는 다른 네트워크의 기기와 연결하기 위한 주소와 경로의 선택 방법을 규정한다.
- 제 4계층(전송 계층) : 데이터를 통신할 상대에게 확실하게 전달하는 방법을 규정한다.
- 제 5계층(세션 계층) : 데이터를 흘려보내는 논리적인 통신로(커넥션)의 확립과 연결 끊기에 대해 규정한다.
- 제 6계층(표현 계층) : 애플리케이션 데이터를 통신에 적합한 형태로 변환하는 방법을 규정한다.
- 제 7계층(응용 계층) : 애플리케이션 별로 서비스를 제공하는 방법을 규정한다.
응용 계층 (제 7계층) | 애플리케이션 프로토콜 (HTTP 등) |
표현 계층 (제 6계층) | 애플리케이션 프로토콜 (HTTP 등) |
세션 계층 (제 5계층) | 애플리케이션 프로토콜 (HTTP 등) |
전송 계층 (제 4 계층) | TCP / UDP |
네트워크 계층 (제 3 계층) | IP / ICMP / ARP |
데이터링크 계층 (제 2계층) | 이더넷 |
물리 계층 (제 1계층) | 이더넷 |
<OSI 참조 모델과 프로토콜 >
프로토콜
프로토콜이란 네트워크 통신을 위한 통신규칙을 의미한다.
프로토콜의 역할은 데이터의 캡슐화와 캡슐 해제화를 하는 것이다. 네트워크 통신에서 OSI 참조 모델의 계층을 넘어설 때마다 데이터를 캡슐에 넣거나 꺼낸다.
프로토콜 캡슐화 / 캡슐 해제화
이더넷
이더넷은 OSI 제 1계층과 제 2 계층의 기술 규격이다. 유선 네트워크의 경우 거의 대부분이 이더넷을 사용한다.
이더넷은 네트워크 계층으로부터 받은 데이터(패킷)에 프레임의 처음을 나타내는 프리앰블(preamble)과 목적지(수신자)와 출발지(송신자)를 나타내는 헤더, 비트 오류체크에 사용하는 FCS(Frame Check Sequence)를 추가하여 프레임을 생성한다. 이더넷은 MAC 주소라는 48비트로 된 식별자를 사용하여 컴퓨터를 식별한다.
프레임 구조
MAC 주소
MAC 주소란 데이터링크 계층(제 2계층)에서 통신을 위해 사용되는 48비트로 된 식별자이다.
MAC 주소는 8비트 마다 하이픈( - ) 이나 콜론 ( : ) 으로 구분하여 16진수로 표기한다.
상위 24비트는 전기 및 전자관계 기술자 단체인 미국전기전자학회(IEEE)가 기기의 제조업체 별로 할당한 제조업체 코드(OUI, Organizationally Unique Identifier) 라고 하는데 해당 코드로 제조업체를 알 수 있다.
하위 24비트는 제조업체가 기기 별로 고유한 값을 할당한 코드이다.
NIC 에 할당되어 있는 MAC 주소는 전 세계에 하나밖에 없는 고유한 값이다.
예를들어 내 컴퓨터의 MAC 주소는 98:24:01:6E:09:5B 또는 98-24-01-6E-09-5B 로 표현 될 수 있다. (.. 물론 아무렇게나 적은 가짜 MAC 주소다 )
여기서 앞부분 98-24-01 상위 24비트는 제조업체 코드이고 뒷부분 6E-09-5B 하위 24비트는 제조업체 내부 코드이다.
NIC(Network Interface Controller)란
NIC은 컴퓨터를 네트워크에 연결하여 통신하기 위해 사용하는 하드웨어 장치이다.
흔히 우리가 네트워크 카드, 랜 카드로 부르는 것이 NIC 이다.
스위칭
네트워크 스위치가 데이터 패킷 내 포함된 주소 정보에 따라 해당 입력 패킷을 해당 출력 포트에 빠르게 접속 시키는 기능을 스위칭이라고 한다. 쉽게 설명하자면 네트워크 스위치가 수행하는 프레임 전송을 스위칭이라고 한다.
네트워크 스위치 란
네트워크 스위치는 L2 (제 2계층, 데이터 링크 계층)에서 사용하는 네트워크 기기로 LAN 케이블을 통해 컴퓨터를 연결한다.
(.. 레이어(Layer)는 계층을 의미하고 해당 계층의 장비는 해당 계층에서 사용하는 프로토콜을 주고 받는다고 이해하면 쉽다)
네트워크 스위치는 프레임이 들어온 LAN 포트 번호와 그 프레임의 출발지 MAC 주소를 테이블로 만들어 일정 기간 동안 기억하며 불필요한 프레임 전송을 막고 이더넷 네트워크 통신의 효율을 향상 시키는 역할을 한다.이때 LAN 포트 번호와 출발지 MAC 주소의 테이블을 MAC 주소 테이블이라고 한다.
< MAC 주소 테이블 >
MAC 주소포트A | 1 |
B | 2 |
C | 3 |
IP (Internet Protocol)
IP는 전송 계층 (제 4계층)으로부터 받은 데이터(세그먼트)에 IP 헤더를 붙여 패킷으로 만드는 역할을 한다. IP헤더에는 여러 필드 값(버전,헤더길이,프로토콜 등), 출발지 IP주소, 도착지 IP주소가 들어간다.
패킷 구조
IP는 IP 주소라는 32비트로 된 식별번호를 사용하여 컴퓨터를 식별한다.
IP주소는 8비트 마다 점( . )으로 구분하고 10진수로 표기한다. IP주소는 네트워크 분리 및 구분을 위해 서브넷 마스크라는 32비트로 된 값과 세트로 사용한다. 또한 IP주소는 서브넷 마스크로 분할된 네트워크부와 호스트부로 구성되어 있다. 네트워크부는 네트워크 자체를 나타내고, 호스트는 해당 네트워크에 연결되어 있는 단말을 나타낸다. 서브넷 마스크는 연속된 1의 값이나 연속된 0의 값만 가질 수 있는데 이때 1의 값을 가지는 부분은 네트워크 부이고, 0의 값을 가지는 부분이 호스트부이다.
예를들어 IP 주소가 192.168.1.1 이고 서브넷 마스크가 255.255.0.0 이라고하자.
서브넷 마스크를 2진수로 나타내면 11111111.11111111.00000000.00000000 이다. 여기서 서브넷 마스크가 1이 되는 부분이 네트워크부 이기 때문에 192.168. 이 네트워크 부이고 1.1 부분은 서브넷 마스크가 0인 부분이기 때문에 호스트부이다. 서브넷 마스크의 1의 개수로 IP 주소를 간편하게 나타내면 192.168.1.1/16 이 된다.
만약 서브넷 마스크가 255.255.255.0 이라면 네트워크부는 192.168.1. 까지가 되고 나머지 1이 호스트부가 된다.
서브넷 마스크를 사용하는 이유
서브넷 마스크를 사용하는 이유는 IP 주소 자체가 개수가 제한되어 있고, 네트워크를 효율적으로 분배하기 위해서이다.
서브넷 마스크 원리는 서브네팅을 찾아보면 된다. ( ..서브넷 마스크 계산법을 찾아봐야한다)
라우팅
라우팅이란 라우터가 네트워크에서 패킷을 목적지까지 최적의 경로를 선택하는 과정이다.
라우터 란
라우터는 각 독립된 네트워크들을 연결할 때 L3(제 3계층, 네트워크 계층)에서 사용하는 네트워크 기기이다. L3 장비이기 때문에 패깃을 전송한다.
라우터는 라우팅 테이블을 이용하여 패킷을 전송한다. 라우팅 테이블은 목적지 네트워크와 목적지 네트워크로 가기 위해 보내야할 곳의 IP주소(넥스트 홉, next hop)로 구성되어 있다. 넥스트 홉이란 패킷이 목적지 네트워크까지 가기위해 도달하는 다음 라우터를 의미한다.
패킷이 목적지까지 가는데 거치는 라우터 개수를 홉 수(hop count) 라고 한다.
라우터는 패킷을 받으면 해당 패킷의 목적지 IP 주소와 라우팅 테이블의 목적지 네트워크를 대조하여 해당 IP주소가 있으면 패킷을 전송하고 없으면 패킷을 폐기한다.
라우팅에는 정적 라우팅과 동적 라우팅이 존재한다.
정적 라우팅
- 정적 라우팅이란 수동으로 라우팅 테이블을 만드는 방법
- 목적지 네트워크와 넥스트 홉을 하나하나 설정
- 정적 라우팅은 네트워크를 구성하는 모든 라우터에 대해 라우팅 설정이 필요
- 설정을 알기 쉽고 관리하기 쉽기 때문에 소규모 네트워크 환경에서 주로 사용
동적 라우팅
- 동적 라우팅이란 인접하는 라우터들이 라우팅 정보를 서로 교환하여 라우팅 테이블을 자동으로 만드는 방법
- 라우팅 정보를 교환하기 위한 프로토콜을 라우팅 프로토콜이라고 함
- 네트워크 환경의 변화대응과 장애 내구성 향상이 가능하기 때문에 중간부터 대규모 네트워크 환경에서 주로 사용
ARP (Address Resolution Protocol)
ARP는 MAC 주소와 IP 주소를 협조하면서 이용할 수 있도록 물리와 논리의 다리 역할을 한다.
즉, 물리적인 주소인 MAC 주소와 논리적인 주소인 IP 주소를 대응 시키는 역할을 하는 것이다.
네트워크 통신을 하기 위해서는 제 3계층으로부터 받은 패킷을 프레임으로 만들어 케이블로 흘려보내야 하는데 이때 출발지 MAC 주소는 자기 자신의 NIC에 쓰여 있는 MAC 주소라서 알 수 있지만 목적지 MAC 주소는 알 수가 없다. 이때 ARP를 이용하여 IP 주소로부터 MAC 주소를 구할 수 있다.
과정은 ARP request-> ARP reply -> ARP 테이블 등록 순이다.
동일 네트워크 상에서는 수집된 ARP 테이블을 참고하여 프레임을 만든다. 다른 네트워크 간 통신은 기본 게이트웨이의 MAC 주소를 ARP에서 조회하여 목적지 MAC 주소로 등록한다.
기본게이트웨이는 자신 이외의 네트워크로 갈 때 사용하는 출구가 되는 IP 주소이다. 보통 방화벽이나 라우터의 IP 주소가 기본 게이트웨이가 되는 경우가 많다.
IP 주소는 목적지까지 바뀌지 않지만 MAC 주소는 NIC을 경유할 때 마다 바뀐다.
TCP/UDP
TCP(Transmission Control Protocol)
TCP는 전송 제어 프로토콜로 IP와 함께 TCP/IP로 불리며 제 4계층(전송 계층)에서 사용되는 프로토콜이다.
TCP는 데이터를 송신할 때 마다 확인 응답을 주고 받는 절차가 있어서 통신의 신뢰성을 높인다.
웹이나 메일, 파일 공유 등과 같이 데이터를 누락시키고 싶지 않은 서비스에 주로 사용된다.
UDP(User Datagram Protocol)
UDP는 TCP와 함께 데이터 그램으로 알려진 단문 메시지를 교환하기 위해 사용하는 프로토콜이다.
테이터만 보내고 확인 응답과 같은 절차를 생략할 수 있으므로 통신의 신속성을 높인다.
주로 DNS, VoIP 등에 사용 된다.
TCP 와 UDP
TCP 와 UDP 모두 포트 번호로 서비스를 식별한다.
두 프로토콜을 구분하는 주요한 차이는 통신의 신뢰성이냐 신속성이냐이다.
애플리케이션 데이터에 TCP 또는 UDP 헤더를 추가하여 TCP 세그먼트나 UDP 세그먼트가 만들어진다.
포트 번호
포트 번호는 컴퓨터 안에서 작동하는 애플리케이션을 식별하기 위해 사용하는 숫자이다. 포트 번호는 0~65535(16비트 분)까지 숫자로 범위에 따라 용도가 정해져 있다. 포트 번호는 세그먼트를 만들 때 헤더에 출발지 포트와 목적지 포트로 들어간다.
- 0~1023 : 잘 알려진 포트(well-known port) 라고 해서 웹 서버나 메일 서버 등 일반적인 서버 소프트웨어가 서비스 요청을 대기할 때 사용된다.
- 1024~49151 : 등록된 포트(registered port)라고 해서 제조업체의 독자적인 서버 소프트웨어가 클라이언트 서비스 요청을 대기할 때 사용된다.
- 49152~65535 : 동적 포트(dynamic port)로 서버가 클라이언트를 식별하기 위해 사용된다. (클라이언트에서 서버에 대해 요청을 보낼 때 출발지 포트로 랜덤으로 지정해서 보낸다.)
NAT 와 NAPT
NAT 와 NAPT 는 기업이나 가정의 LAN 에서 사용하는 프라이빗 IP 주소를 인터넷에서 사용하는 글로벌 IP 주소로 변환하는 기술이다.
NAT(Network Address Translation)
NAT 는 프라이빗 IP 주소와 글로벌 IP 주소를 일대일로 연결하여 변환한다. 하나의 프라이빗 IP 주소와 하나의 글로벌 IP 주소를 연결하는 것이다. 주로 서버를 인터넷에 공개할 때 사용한다.
LAN 에서 인터넷으로 연결할 때는 출발지 IP 주소를 변환한다. 반대로 인터넷에서 LAN 으로 연결할 때는 목적지 IP 주소를 변환한다.
NAPT(Network Address Port Translation)
NAPT 는 프라이빗 IP 주소와 글로벌 IP 주소를 n 대 1로 연결하여 반환한다. NAPT 는 LAN 에서 인터넷에 엑세스 할 때 출발지 IP 주소 뿐만 아니라 출발지 포트 번호도 같이 반환함으로써 n 대 1 변환을 한다.
(하나의 IP에 포트가 여러개이기 때문에 N 대 1이 가능한 것이다.)
1. 네트워크(Network)
1) 개념
- 분산되어 있는 컴퓨터들을 자원이나 정보를 공유하기 위하여 통신망으로 연결한 것을 의미
- 프로토콜을 사용하여 데이터를 교환하는 시스템의 집합을 통칭
- 전송 매체로 서로 연결된 시스템의 모음
2) 네트워크 활용의 장점과 단점
- 모든 종류의 물리적 및 논리적 자원을 공유할 수 있으므로 자원 활용이 극대화
- 병렬 처리가 가능해지고 성능이 향상
- 데이터의 중복 저장이 가능하므로 데이터 복구가 용이하고 신뢰성이 향상되지만 일관성 문제가 발생할 가능성
- 컴퓨터가 누구나 손쉽게 접근할 수 있어서 보안 문제 발생 가능성이 증가
3) 네트워크 기초용어시스템
- 내부 규칙에 따라 능동적으로 동작하는 대상ex) 컴퓨터, 자동차, 운영체제, 프로세스 등
- 인터페이스
- 시스템과 시스템을 연결하기 위한 표준화된 접근 방법
- 전송매체
- 시스템끼리 데이터를 전달하기 위한 물리적인 전송 수단
- 프로토콜
- 전송 매체를 통해 데이터를 교환하기 위한 특정 규칙
- 인터넷
- ARPANET에서 시작된 세계 최대 규모의 컴퓨터 통신망
- 전세계 네트워크가 유기적으로 연결되어 동작하는 통합 네트워크
- 인트라넷
- 인터넷의 기술을 응용하는 기업 내 전용 컴퓨터 네트워크
- 기업의 각종 정보를 표준화하여 서버를 통해 공유하는 기업 내 인터넷
4) 시스템 구분노드(Node)
- 인터넷에 연결된 시스템의 가장 일반적인 용어
- 호스트(Host)
- 컴퓨터 기능이 있는 시스템
- 클라이언트(Client)
- 서비스를 요청하는 시스템
- 서버(Server)
- 서비스를 제공하는 시스템
5) 네트워크 주소
- 네트워크 주소
- 네트워크 상에 존재하는 노드를 고유하게 식별
- 주소 종류
- MAC 주소a) Link 계층에서 사용b) LAN 카드에 내장
- IP 주소a) Network 계층에서 사용
- 포트 번호a) 전송 계층에서 사용b) TCP와 UDP가 독립적으로 관리 (소켓 주소)
- 메일 주소a) 메일 시스템에서 사용
2. TCP/IP
1) 이더넷 어댑터
- 이더넷은 LAN 영역에서 사용하는 통신기술을 의미한다
- 이더넷 어댑터는 PC의 LAN 카드를 의미한다
- LAN 카드가 2개 있으면 이더넷 로컬 영역 연결 2와 같이 뜨기도 한다.
2) IP
a) 개념
- 인터넷 공간에서 자신의 PC가 사용하는 고유한 식별자이다
- 또한 인터넷 상에서 PC에서 다른 곳에 데이터를 보낼 때 송신의 주체이기 때문에 출발지 주소에 해당한다.
- IPv4 프로토콜에서 사용 - 32비트 크기의 주소 체계
- IPv4는 0.0.0.0 부터 255.255.255.255 까지 총 2의 32승만큼 주소값을 가질 수 있으며, 32비트로 이루어져 있다.
- IPv6에서는 128 비트 주소 체계로 확장
- 예시
b) IP주소 체계
- IP 주소에는 클래스 개념이 존재한다.
- 네트워크 크기에 따라 클래스 구분구분IP 주소의 첫번째 자리 범위 ※ 127번은 127.0.0.1 번으로 사용하는 특별한 주소이다. 그래서 어떤 클래스에도 속하지 않는다. 본인이 사용하는 LAN카드 자신으로 루프백 주소라고도 한다.
B 클래스 | 128~191 |
C 클래스 | 192~223 |
3) DNS(Domain Name Service)
- 호스트 이름과 IP 주소의 변환하는 역할
- IP 주소는 사용자가 기억하기 어려워 알아보기 쉬운 호스트 이름으로 서비스를 요청한다.
4) 서브넷(Serbnet)
서브넷팅(Subnetting)이란?
- 네트워크 관리자가 네트워크 성능을 향상시키기 위해, 자원을 효율적으로 분배하는 것이다.
- 여기서 자원을 효율적을 분배한다는 것은 네트워크 영역과 호스트 영역을 분할하는 것이다.
- 네트워크 측면에서 너무 큰 브로드캐스트 도메인은 네트워크 환경에서 패킷전송을 느리게하고 성능저하 이슈를 발생시킨다. 따라서 네트워크를 쪼개서 통신 성능을 보장하는 것이다.
- IP는 32자리 2진수로 표현할 수 있는데 이 말은 결국 최대 2의 32승만큼의 표현만 가능하고, 결국 자원의 한계가 존재한다는 것이다.
- 즉, 자원의 한계가 존재한다는 뜻이고 결국 제한적인 자원으로 인해 주소에 낭비 없이 아껴써야 한다. 이를 위해 등장한 것이 바로 서브넷마스크
- ※브로드캐스트 도메인 : 라우터와 네트워크 장비 없이 통신할 수 있는 영역
서브넷마스크
- IP 주소와 쌍을 이뤄 사용하는 개념이다.
- 정확히는 IP 주소를 이 서브넷 마스크를 이용해 표기한다.(서브넷마스크 표기법)
- 필요한 네트워크 주소만 호스트 IP로 할당 할 수 있게 만들어 네트워크 낭비를 방지한다.
- 아래 표에서 서브넷마스크 255와 대응되는 자리는 네트워크 ID 이고 0에 대응되는 자리는 호스트 ID라고 한다
5) 게이트웨이(Gateway)
- 인터넷 공간에서 각기 다른 호스트 사이를 연결해주는 기능을 한다.
- 간단하게 말하면 무선공유기라는 말과 같다. 즉, 공유기를 통해 인터넷에 접속하는 관문과 같다.
- 게이트웨이는 다른 말로는 라우터라고도 한다.
- 동일한 LAN선, wifi에 연결된 모든 기기의 네트워크 ID는 192.168.137로 동일하다. 이처럼 동일한 네트워크 ID를 공유하는 장치들의 공간을 LAN 영역(Local Area Network)이라고 한다.
- 해당 LAN 영역에는 무수한 host가 존재하고 해당 LAN 영역에 속해있는 호스트를 구분하는 식별자가 바로 호스트 ID이다.
- ※ 네트워크 ID가 다른 호스트 간에 연결되는 것 => 라우팅※ 네트워크 ID가 같은 호스트 간에 연결되는 것 => 스위칭
6) 라우터의 경로 선택
'네트워크 > 네트워크 관련지식' 카테고리의 다른 글
인터넷 속도가 원래 속도로 안 나올때(ex. 1기가로 안나옴) (0) | 2024.09.24 |
---|---|
C타입 광신도의 USB 버전별 특징 정리 (0) | 2024.09.21 |
비싼 요금제 써도 똑같은 속도일 수 있는 이유 (0) | 2024.09.15 |
DNS(Domain Name System) (0) | 2024.08.13 |
인터넷(Internet) 역사 (0) | 2024.08.11 |