OSI 7계층
1계층. 물리계층
네트워크 장치의 전기적, 기계적 속성 및 전송하는 수단을 정의한다.
- 장치와 통신매체 사이의 물리적인 통신을 담당
- 디지털 bit를 전기, 무선 또는 광 신호로 변환
- 케이블, 인터페이스, 허브, 리피터 등이 이에 속한다.
물리계층에서의 시그널링
1. 전기
2. 광
3. 전파
물리계층의 장비
- 허브
: 전기신호를 증폭하여 포트에 연결된 PC들끼리 통신이 가능하게 한다.
- 브로드캐스팅, 유니캐스팅, 멀티캐스팅
보통 브로드캐스팅은 신규 네트워크의 MAC 주소를 알아오기 위해 모든 네트워크에 패킷을 보내서 알아오기 위한 용도로 사용한다. (계속 브로드캐스팅으로 데이터를 받아오면 부하가 일어난다.)
- 리피터
: 신호의 세기를 증폭하여 좀 더 먼거리까지 통신이 가능하게 한다.(현재 거의 쓰이지 않는 장비)
장비의 Capacity
- Bandwidth(대역폭)
- Throughput(처리량)
- Data의 크기에 따라 Throughput이 달라짐
- BackPlane : 네트워크장비가 최대로 처리할 수 있는 데이터 용량
- CPS(Connections Per Seconds): 초당 커넥션 연결 수, L4
- CC(Concurent Connections) : 최대 수용 가능한 커넥션, L4
- TPS (Transctions per second): 초당 트랜잭션 연결 수, L7, HTTP에 주로 사용
2계층. 데이터링크 계층
동일 네트워크내 에서 데이터 전송, 링크를 통해서 연결을 설정하고 관리한다.
- 인접한 두 계층간 신뢰성 있는 데이터를 전송한다.
- 송수신 하는 데이터를 안전하게 전달하도록 서비스한다.
- 물리계층에서 발생할 수 있는 오류를 감지하고 수정한다.
데이터링크 계층은 2개의 부계층으로 구성된다.
- MAC (Media Access Control)
: 주소를 이용해서 데이터를 해당 장비로 보낸다.
- 48bit(6byte)로 6자리로 구성, 각 16진수로 표현한다.
- LLC (Logical Link Control)
: 각 장비를 논리적으로 연결하고 유지하는 역할을 한다.
주요 프로토콜
Ethernet의 통신방식
- CSMA/CD (Carrier Sensing Multiple Access Collison Detection)
: 유선 LAN의 Ethernet에서 네트워크를 사용할 때 상호간에 충돌을 방지하기 위한 메체 엑세스 제어방식
- 반이중 전송방식 (Half Duplex)
- 자세히
- Carrier Sensing : 데이터를 보내기 전에 다른 노드에서 데이터를 보내는 중인지 확인
- Multiple Access : 데이터를 보내는 곳이 없다면 전송시작
- Collison Detection : 동 시간대에 데이터를 보내게 되면 충돌이 일어나고 정지한다.
그 이후 특정시간이 지나면 다시 첫번째 단계로 반복한다.
무선LAN의 통신방식
- CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance)
: 무선 LAN 에서는 공기 중 전송매체이어서 충돌 감지가 거의 불가능하기 때문에 전송 전에 캐리어 감지를 해 보고 일정 시간 기다리며 사전에 가능한 한 충돌을 회피(Collision Avoidance,CA)하는 무선전송 다원접속 방식
주요기능
1. Framing
: 데이터그램을 캡슐화하여 프레임 단위로 만들고 Header와 Trailer를 추가
*헤더는 목적지, 출발지주소 그리고 데이터의 내용을 정의, 트레일러는 비트에러를 감지
*데이터그램(Datagram) : 인터넷을 통해 전달되는 정보의 기본단위 (IP계층의 가변길이 패킷)
2. 회선제어
: 신호간의 충돌이 발생하지 않도록 제어
- 회선제어 방식
- ENQ/ACK : 전용 전송링크 1:1
- Polling : 1:N
- Select : 송신자가 나머지 수신자들을 선택하여 전송
- Poll : 수신자에게 데이터 수신여부를 확인하여 응답을 확인하고 전송
3. 흐름제어
: 송신자와 수신자의 데이터를 처리하는 속도의 차이를 해결하기 위한 제어방법
- 흐름제어 방식
- Stop & Wait
- Sliding Window : ACK응답 없이 여러개의 프레임이 연속으로 전송 가능
4. 오류제어
: 전송중에 오류나 손실 발생 시 수신측은 에러를 탐지 및 재전송
- 오류제어 방식
- Stop & Wait ARQ : 전송측에서 NAK을 수신하면 재전송 and 주어진 시간에 ACK이 안오면 재전송
- Go Back n ARQ :
- Selective Repeat ARQ : 손상된 Frame만 선별해서 재전송
*ARQ(Automatic Repeat Request) : 프레임 손상 시 재전송이 수행되는 과정
이러한 오류제어 방식은 루핑의 원인이 되기도 한다.
3계층. 네트워크 계층
패킷 포워딩과 네트워크간 라우터를 통하여 라우팅을 수행한다.
- 데이터 전달에 최적화된 경로를 제공해준다.
- IP 주소를 사용하여 통신, 계층적 구조
- 대표적인 프로토콜로는 IP, ICMP, ARP등이 있다.
주요 프로토콜
IP(Internet Protocol)
네트워크 계층에서 통신하는 주요 프로토콜로 라우팅을 구현하고 본질적인 인터넷을 구축하는 계기가 된다. (TCP/IP 모델의 기원)
IP의 구조
IP는 Header와 Payload로 구성되어 있다.
헤더에는 목적지 & 출발지 IP 주소등을 포함
*페이로드 : 전송되는 데이터
ARP (Address Resolution Protocol)
3계층인 IP주소를 2계층인 MAC주소로 Bind시켜주는 프로토콜이다. 이를 통해서 IP주소로 MAC주소를 알아 올 수 있게된다.
ARP의 동작방식
- A는 B(192.168.0.5)에게 패킷전송 시도
- A는 자신의 ARP Cache Table을 확인 후 목적지의 정보가 있으면 패킷을 전송하고 없으면 ARP Request (브로드캐스팅)
- ARP Request로 목적지 B는 ARP Reply로 요청자인 A에게 본인의 MAC 주소를 보내줌
- A의 ARP Cache Table에 B의 MAC주소가 기록되고 성공적으로 패킷을 전송함.
라우터
라우터의 동작방식
-
Static 라우팅 (정적 라우팅)
: 가장 기본적인 라우팅 방식으로 수동으로 경로를 라우터의 라우팅테이블에 설정하여 패킷을 처리한다.
-
Dynamic 라우팅 (동적 라우팅)
: 경로정보를 네트워크 상황에 따라 더 빠른 경로로 변경되어 패킷을 전송한다.
동적라우팅의 프로토콜
AS (Autonomous System)
인터넷은 각 기관이나 단체가 독립적으로 운영하는 네트워크들이 라우터에 의해 연결된 복잡한 네트워크이다. 이와 같은 독립적인 네트워크를 자율 시스템(AS : Autonomous System)이라고 부른다.
- 하나의 회사 또는 단체안에서 동일한 정책을 관리되는 라우터들의 집단
AS의 범위는 하나의 라우터 안에 있는 네트워크들이라고 생각 (=하나의 회사망)하면 된다.
특성
- AS내의 라우터들은 서로 동일한 라우팅 프로토콜을 사용한다.
- AS내의 네트워크와 라우터들은 한 조직에 의해 관리된다.
인터넷의 라우팅 프로토콜은 크게 AS내에서 이루어지는 프로토콜과 AS와 AS사이에 이루어지는 프로토콜로 나뉘어 진다.
AS내에서 이루어지는 프로토콜을 IGP(Interior Gateway Protocol)라 부르고
AS와 AS사이에 이루어지는 프로토콜을 EGP(Exterior Gateway Protocol)라 부른다.
IGP (Interior Gateway Protocol)
-
RIP (Routing Information Protocol)
: Distance Vector 기반의 IGP용 라우팅 프로토콜
- 속도가 아닌 거리기반 경로 선택
- 주기적으로 전체 라우팅 테이블 업데이트
- 구성이 간단하여 메모리 사용이 적고 소규모 네트워크에서 주로 사용한다.
-
OSPF (Open Shortest Path First)
: Link State 라우팅 알고리즘을 사용하는 IGP용 라우팅 프로토콜 (RIPv1의 단점을 개선)
- 홉 카운트의 제한이 없음
- VLSM을 사용하여 효율적인 IP 관리
- 단순 라우터의 홉이 아닌 링크의 상태로 경로 설정
- 컨버전스 타임이 빠름
EGP (Exterior Gateway Protocol)
- BGP (Border Gateway Protocol)
: 현재 인터넷에서 쓰이는 가장 대표적인 EGP 라우팅 프로토콜
- ISP to ISP 연결 간 사용
- 경로 벡터 라우팅 프로토콜을 사용(루핑방지)
- 유니캐스트로 라우팅 정보 전송
- 빠른속도 보다는 조직 또는 단체간 맺어진 정책에 의거하여 최적 경로 결정
서브넷마스크
네트워크를 여러개의 작은 네트워크 서브넷으로 구분한다.
왜? 네트워크 영역을 좀 더 효율적으로 사용하기 위해서
*서브넷: 부분망을 뜻하고 IP 주소는 네트워크와 호스트로 구분한다.
4계층. 전송계층
호스트(PC)간의 데이터(서비스)를 전송한다.
- 오류복구 및 흐름제어를 통해 완벽한 데이터 전송을 보장한다.
대표적인 프로토콜로는 TCP와 UDP가 있다.
주요 프로토콜
TCP (Transmission Control Protocol)
인터넷에서 데이터를 메시지 형태로 보내기위해 IP와 함께 사용하는 프로토콜
- 데이터 전달에 신뢰성을 보장한다.
- 1:1 연결형 서비스
- UDP보다는 전송속도가 느리다.
- Stateful의 성질을 띈다.
TCP는 신뢰성 보장을 어떻게 하는가?
3-Way-Handshaking
TCP는 안정적이고 연결지향적인 프로토콜로써 연결 세션 설정을 위해 3단계의 Handshaking 과정을 밟는다.
3-Way-Handshaking
1. 클라이언트 - SYN 세그먼트 (연결요청)
2. 서버 - SYN+ACK 세그먼트 (연결허락)
3. 클라이언트 - ACK 세그먼트 (연결설정)
최종적으로 - ESTABLISHED (연결성립)
데이터를 최종적으로 보낸 후 세션을 종료할 때에는 어떤 과정을 통해서 이루어질까?
4-Way-Handshaking
3-Way-Handshaking 과정을 밟고 해당 세션에서 데이터 전송을 완료한 후 4-Way-Handshaking의 과정을 통해 회선 연결을 정상적으로 끊게 된다.
특징
- 양방향 2개 연결을 각 측이 독립적으로 닫게 된다.
- TCP 연결 설정보다는 복잡하다.
4-Way-Handshaking
1. 클라이언트 - FIN 세그먼트 (종료요청)
2. 서버 - ACK 세그먼트 (종료허락)
3. 서버 - FIN+ACK 세그먼트 (종료알림)
4. 클라이언트 - ACK 세그먼트 (종료완료)
*사용되는 용어
- SYN (Synchronize Squence Numbers)
: 연결요청 플래그
- ACK (Acknowledgements)
: 응답
- FIN (Finish)
: 연결 종료 요청
UDP (User Datagram Protocol)
데이터를 데이터그램 단위로 처리하는 프로토콜
- 단순히 데이터만 보내는것이 목적이므로 데이터 전달에 신뢰성을 보장하지 않음.
- 1:1, 1:N 비연결형 서비스
- 구조가 단순하여 TCP보다는 전송속도가 빠름.
- Stateless의 성질을 띈다.