본문 바로가기
CS/네트워크

네트워크를 실현하는 기술

by cariño 2022. 10. 22.
728x90
반응형

네트워크 모델

TCP/IP

현재의 인터넷에서 컴퓨터들이 서로 정보를 주고받는데 쓰이는 통신 규약(프로토콜) 모음이다.
TCP/IP에서 다루는 범위는 역할에 따라 4개의 계층으로 나뉜다.
데이터 송수신에 필요한 작업을 각 층에서 분담해서 처리한다.

OSI 7계층 모델

통신 전체를 체계적으로 다루는 ISO에서 네트워크를 다루는 표준으로 지정한 모델로서
데이터를 주고받을 때 데이터 자체의 흐름을 각 구간별로 나눠 놓은 것이다.

통신 기능 계층 구조로 나눈 모델

두 모델 비교

[공통점]
계층적 네트워크 모델
계층간 역할 크기

[차이점]
계층의 수
OSI 7계층은 논리적으로 통신전반에 걸쳐서 역할을 나눠놓았다.
TCP/IP는 네트워크를 통해서 데이터를 전달하는것 자체를 분리해놓았다.


주소, 패킷

통신 상대를 특정하는 식별 정보로서 주소가 있어야 원하는 상대방과 통신 할 수 있다.

[IP주소]

컴퓨터를 식별하려고 할당되는 번호이다.
각 물리적 장치는 물론이고 서버, 라우터, 스위치 등 네트워크 장비에도 각각 IP주소가 할당된다.
랜 내부: 프라이빗 IP주소
인터넷: 글로벌 IP주소

[MAC주소]

컴퓨터간 데이터를 전송하기 위해 있는 컴퓨터의 물리적 주소(하드웨어 주소)이다.
한 마디로 고유번호, 식별해주는 번호이다.
컴퓨터뿐 아니라 라우터, 스위치 등 모든 통신 장비에 붙어있다.

[MAC -> IP주소 흐름]

컴퓨터나 라우터 등 네트워크 기기에 처음부터 할당 된 번호인 MAC주소를 IP주소와 조합해야 컴퓨터끼리 통신할 수 있다.
실제로는 IP주소를 맥 주소로 바꿔서 사용하게 된다. IP통신 내부에 맥 주소 통신이 포함되어 있다.

즉, 컴퓨터 통신 시작과 끝 점은 IP주소라면 MAC주소는 물리적으로 연결되어 있는 노드와 통신할 때 사용되는 주소를 의미한다.

MAC주소는 데이터링크 계층에서 사용되고 다음 순서인 네트워크 계층에서 IP주소가 사용된다. 데이터 계층에서 문제없이 작동 되어야 (노드간의 통신) 네트워크 계층까지 통신이 가능해짐을 알 수 있다. 이

[패킷]

데이터 전송 단위로서 Network 계층 위로부터 패킷이라고 부른다.
여러가지 프로토콜의 조합으로 만들어진다.

네트워크를 통해 전달되는 데이터 자체를 통칭하는 용어로서 네트워크에 전달하는 데이터의 형식화된 블록이다.
제어 정보와 사용자 데이터(뭘 주고 받는지) 로 이루어져있다.
ex) 여러 번 포장된 택배 상자

  • 헤더
  • 페이로드: 사용자 데이터(실질적으로 보내려는 데이터)
  • 푸터

[ARP]

주소를 이용한 통신 흐름과 ARP
IP패킷을 보내고 싶은 상대의 MAC주소를 조사할 때 이용하는 것이 ARP이다.
IP주소에 대응하는 MAC주소를 알아내려고 네트워크 전체에 패킷을 보내면 (ARP request)
자신을 찾는 것을 알게 된 컴퓨터가 응답(ARP reply) 함으로써 mac주소와 ip주소를 연결하여 통신할 수 있게 하는 일련의 시스템을 의미한다.


IP 주소 구조

IP주소 분석

컴퓨터를 라우터에 연결해야 비로소 라우터에서 IP주소를 받아온다.
자동으로 IP주소를 할당받는 기술을 DHCP(Dynamic Host Configuration Protocol)
네 단계의 흐름으로 통신하여 네트워크 설정을 가져온다.
DHCP Discover: 클라이언트가 서브를 찾고자 네트워크 통신을 함
DHCP Offer: DHCP 클라이언트에 설정을 제안하는 통신을 함
DHCP Request: DHCP서버에 제안된 설정의 세부 사항을 요청하는 통신
DHCP ACK: 설정 세부사항을 지정하는 통신

서브넷 마스크

IP 주소를 나눈 작은 네트워크 조각을 서브넷 마스크(subnet mask)라고 부른다.
네트워크는 규모가 클 수록 관리와 유지가 어려운데, 네트워크를 작은 조각으로 쪼개져 있는 경우 이러한 조각을 서브넷이라 한다.
서브넷 마스크는 필요한 네트워크 주소만 호스트 IP로 할당 할 수 있게 만들어 네트워크 낭비를 방지한다.

IP주소는 네트워크부와 호스트부로 나뉜다.
네트워크 영역과 호스트 영역을 분할 하는 것은 자원을 효율적으로 분배한다는 의미와 같다.
10진수로 표기되었지만 실체는 8자리 2진수 4개이다.

네트워크부: 어떤 네트워크를 나타내는 정보
호스트부: 그 네트워크 안의 컴퓨터를 특정하는 정보

데이터가 바르게 전송되는 메커니즘

IP가 네트워크 장치가 갖는 고유 식별이라면, 라우팅은 그 주소를 찾아가는 과정이다.
목적지에 도달하기 위해 지도를 보고 움직이는 것과 같이 네트워크 장비들도 표시를 보고 움직인다. 이렇게 어느 라우터로 전달해야 하는지 기록되어 있는것이 라우팅 테이블이다.
라우팅 테이블은 기본 게이트웨이로 보내거나 직접 대상 라우터로 보낼 수 있는 구조로 되어 있다.

만일 데이터를 어떤 라우터로 보내야 할지 모르는 경우는 기본 게이트 웨이라 하는 라우터에 데이터를 송신한다.

라우터에서 -> 라우터로 전송
라우터도 자신이 속해있지 않거나 보낼 곳을 모르는 네트워크와 통신해야 할 상황이 놓일 수 있다. 라우터에도 기본 게이트웨이가 있다.
기본 라우터로 통신을 전송하면 다시 전송처를 찾는 식의 버킷 릴레이를 반복하여 네트워크가 성립된다.


네트워크 프로토콜

라우터란?

OSI 참조모델 3계층에서 IP경로를 제어하는 기기이다.
이름 그대로 네트워크와 네트워크 간의 경로를 설정하고 가장 빠른 길로 트래픽을 이끌어주는 네트워크 장비이다.

네트워크 계층

스위치에 대한 읽기쉬운 자세한 블로그 글
블로그

L2스위치:쓸데없는 데이터를 많이 전송하는 리피터와 달리 MAC주소를 기억하므로 해당 포트에만 데이터를 보낼 수 있어 효율적인 통신할 수 있다.

L3스위치: L2스위치 + 다른 네트워크를 연결하는 기능이 추가되었다. 라우터보다 많은 포트를 탑재하고 있다. 라우팅(MAC주소 + IP주소) 기능이 같이 있는 스위치이다.

L4스위치: Server Load Balancing을 담당한다.

  • server Load Balancing: 외부로부터 들어온 다수의 요청을 서버들이 처리해야 할 요청을 적절히 나누어 처리케 하는 것을 뜻한다.

L7스위치: 특정 사용자와 서버를 연결을 유지시켜주는 기능을 도와준다.

TCP와 UDP

4Layer 응용 프로그램들이 전송을 할 수 있게 통신을 활성화하기 위한 계층이다.
HTTP는 모든 데이터를 제대로 수신해야만 웹 페이지를 표시할 수 있기 때문에 TCP를 사용한다. 그러나 IP전화는 다소 데이터 오류가 나더라도 실시간성이 중요하기 때문에 UDP를 사용한다.

[TCP 프로토콜 (Transmission Control Protocol)]
신뢰성을 제공하고 연결지향적이다.

[UDP 프로토콜(User Datagram Protocol)]
신뢰성이 낮은 프로토콜로서 완전성을 보증하지 않지만 실시간 응용이 및 멀티캐스팅이 가능하다. TCP보다 처리가 빠르다.

ICMP

Internet Control Message Protocol
TCP/IP가 구현된 컴퓨터 및 네트워크 기기 사이에서 통신 상태를 확인할 때 이용하는 프로토콜이다.
연결 확인 등에 이용하는 ping이나 tracert명령어 등이 ICMP 프로토콜을 사용하는 프로그램이다.

728x90

댓글