네트워크란 '둘 이상의 컴퓨터와 이들을 연결하는 링크 조합'이다. 단말기 간 통신을 위한 연결다리라고 생각하면 된다.
연결은 네트워크 통신을 위해선 유선/무선 연결이 필요하다. 가까운 거리는 무선으로 연결해도 속도가 괜찮지만, 국가 단위의 연결은 아직 유선 케이블을 주로 이용한다.
MAC Addresss는 NIC(Network interface Controller)에 해당되는 물리적 주소다. ip주소와동일하게 유니크하다.
BGP는 Border Gateway Protocol로, 라우팅 정보는 교환하는 프로토콜이다.
N-S (North-South)
주로 외부와 내부 네트워크 간 트래픽을 의미한다(클라이언트가 서버에 접속)
E-W (East-West)
같은 내부망사이의 트래픽을 의미한다(내부망 서버가 내부망에 위치한 DB와 통신)
inbound & outbound
inbound는 외부에서 내부로 들어오는 데이터를 의미하며, outbound는 반대로 내부에서 외부로 나가는 데이터를 의미한다.
DSR (Direct Server Return)
DSR은 Direct Server Return의 약자로 LB를 통해 들어온 트래픽을 바로 서버로 리턴하는 방식을 의미한다.
클라이언트 트래픽은 로드밸런서로 서버로 전송되며, 서버 응답은 로드밸런서를 통해 다시 클라이언트로 전송된다. 이렇게 진행되면 라우터 부하카 커진다. 특히 outbound 부하가 크기에 DSR로 라우터 부하를 최소하ㅗ한다.
대역폭(BandWidth)
처리량/처리속도로 단위 시간 당 전송되는 데이터 양을 의미한다.
10bps는 1초에 10bit를 전송하는 의미.
지연시간
데이터가 발신 시점에서 수신 지점까지 전달되는 데 걸리는 시간이다. 주로 RTT라는 용어를 자주 쓴다.
스위치
네트워크를 통해 디바이스를 연결준다. 라우터와 다르게 오직 하나의 디바이스에만 데이터를 전송한다. L2, L3 스위치가 존재한다. MAC을 기반으로 하면 L2, IP를 기반으로 하면 L3 스위치다.
라우터
패킷이 네트워크를 통과해서 목적지에 도달할 수 있는 경로를 선택한다. 라우터는 외부 인터넷과 연결이 필요하기도 하지만 스위치는 내부 필요한 장비와 연결만 되있으면 된다.
네트워크 통신이 일어나는 과정을 7단계로 나눈 것
TCP/IP 상에서 IP 계층이란, 네트워크 주소를정의하고 IP 패킷의 전달 및 라우팅을 담당하는 계층이다.
주요 특징
'신뢰성(에러제어)' 및 '흐름제어' 기능이 전혀 없음 -> Best-Effort Service
-> 한편, 신뢰성을 확보하려면 IP 계층 위의 TCP와 같은 상위 트랜스포트 계층에 의존해야 함.
비연결성 데이터그램 방식으로 전달되는 프로토콜 -> Connectionless
패킷의 완전한 전달(소실, 중복, 지연, 순서 바뀜 등이 없게 함)을 보장하지 않음 -> Unreliable
IP 헤더 내 바이트 전달 순서: 최상위 바이트(MSB)를 먼저 보냄 -> Big-endian
경우에 따라, 단편화가 필요함
TCP, UDP, ICMP, IGMP 등이 IP 데이터그램에 실려서 전송
신뢰성 있음
패킷 손실, 중복, 순서 바뀜 등이 없도록 보장
TCP 하위 계층인 IP 계층의 신뢰성 없는 서비스에 대해 다방면으로 신뢰성을 제공
연결 지향적
같은 전송 계층의 UDP가 비연결성인 것과 달리, TCP는 연결지향적이다.
연결 관리를 위한 연결 설정 및 연결 해제 필요 -> TCP 연결 설정, TCP 연결 종료
양단간 어플리케이션 및 프로세스는 TCP가 제공하는 연결성 회선을 통하여 서로 통신
신뢰성이 낮은 프로토콜로써 완전성을 보증하지 않으나, 가상회선을 굳이 확립할 필요가 없고, 유연하며, 효율적인 응용의 데이타 전송에 사용
비연결성, 신뢰성이 없음, 순서화 되지 않은 Datagram 서비스 제공
메시지가 제대로 도착했는지 확인하지 않음(확인 응답 없음)
수신된 메시지의 순서를 맞추지 않음(순서 제어 없음)
흐름 제어를 위한 피드백을 제공하지 않음(흐름 제어 없음)
검사합을 제외한 특별한 오류 및 검출 제어 없음 -> UDP를 사용하는 프로그램 쪽에서 오류 제어 기능을 스스로 갖추어야 함
데이터그램 지향의 전송계층용 프로토콜(논리적인 가상회선 연결이 필요 없음) -> 비연결접속상태 하에서 통신
빠른 요청과 응답이 필요한 실시간 응용에 적합
여러 다수 지점에 전송 가능(1:다)
헤더가 단순함
UDP는 TCP처럼 16비트의 포트 번호를 사용하나, 헤더는 고정 크기의 8 바이트(TCP는 20 바이트)만 사용 -> 즉 헤더처리에 많은 시간과 노력을 요하지 않는다.
통신하는 사용자들을 동기화 하고 오류 복구 명령들을 일괄적으로 다룬다.
통신을 하기 위한 세션을 확립/유지/중단(운영 체제가 해줌)
인터넷은 공통 프토토콜을 사용하고 공동 서비스를 제공하는 이기종 네트워크들의 거대한집합이다.
인터넷을 구성하는 모든 장치는 인터넷 용어로는 호스트, 또는 종단 시스템이라고 한다.
흐름 이해하기
1. 종단 시스템은 통신 링크와 패킷스위치를 통해 네트워크로 연결되는데, 가각그이 링크들은 다양한 전송률을 이용해 데이터를 전송한다.
2. 한 종단 시스템이 다른 종단 시스템으로 데이터를 보내기 위해서 그 데이터를 세그먼트로 나누고, 각각의 세그먼트에 헤더를 붙인다. 이렇게 만들어진 정보를 패킷이라고 한다.
3. 패킷 스위치는 입력 통신 링크의 하나로 도착하는 패킷을 받아서 그 패킷을 전달한다. 가장 많이 사용되는 것이 라우터와 링크 계층 스위치다.
4. 패킷이 송신 종단 시스템에서 수신 종단 시스템에 도달하는 동안 거쳐온 일련의 통신 링크와 패킷 스위치를 네트워크 상의 경로(route, path)라고 한다.
5. 종단 시스템은 isp를 통해 인터넷에 접속한다.
프로토콜
둘 이상의 개체 간에 데이터를 송수신하기 위한 통신 규약이다. 데이터를 일관된게 교환하고, 해석할 수 있도록 보장한다.
IP
IP는 네트워크 계층에서 동작하는 프로토콜이며, 인터넷에서 데이터를 전송하기 위한 규칙을 정의한다.
주요 기능은 다음과 같다.
패킷화 → 데이터를 작은 패킷으로 분할한다.
라우팅 → 패킷이 최적의 경로를 통해 목적지에 도달하도록 경로를 설정한다.
주소처리 → IP주소를 사용해서 데이터를 전달한다.
IP클래스는 IPv4를 사용할 때 IP를 할당받는 방법을 말한다. 지금은 클래스 방식이 아닌 다른 방식(CIDR)을 쓰도록 1993년에 바뀌었지만, 서브넷팅의 기본 개념을 위해서 알아야 한다.
IP주소를 8비트로 4등분하면, 각각을 옥탯이라고 한다.
각 옥탯별로 0~255개의 범위가 되므로 각각 256개가 들어갈 수 있다.
이 옥택별로 IP의 클래스를 A,B,C로 나눌 수 있다.
A클래스
처음 8bit가 네트워크 ID이며, 나머지 24bit가 host ID로 사용된다.
첫번째 옥텟의 비트는 0으로 고정된다.
A클래스의 범위는 첫 옥텟이 1~126사이의 숫자로 시작한다.
A클래스는 호스트 ID대역이 24bit이므로, 네트워크 당 나올 수 있는 호스트 주소 개수는 1670만개이다. 대규모 네트워크에 적합하다.
B클래스
B클래스는 처음 16비트가 네트워크 ID이며, 나머지 16bit가 호스트 ID로 사용된다.
B클래스의 첫번째 옥텍의 두번째 비트가 10으로 고정된다.
B클래스의 범위는 첫 옥텍이 128~191사이 숫자로 시작한다.
호스트 대역이 16bit이므로 네트워크당 나올 수 있는 호스트 수는 약 65000개이므로 중규모 네크워크에 적합하다.
처음 24bit가 네트워크 ID, 나머지 8bit가 호스트 ID로 사용된다.
C클래스는 첫번째 옥텟의 세번째비트가 110으로 고정된다.
C클래스의 범위는 첫 옥텟이 192~223사이에 숫자로 시작된다.
호스트 대역이 256개 이므로, 소규모 네트워크에 적합하다.
아이피 주소에서 사용할 수 없는 주소가 두가지 존재한다. 가장 첫번째 호스트 주소는 네트워크 자체를 지칭하며, 마지막 주소는 브로드캐스트용 주소로 쓰인다.