[데이터 평면과 제어 평면]
- 데이터 평면
- 입력 링크에서 출력 링크로 데이터그램 전달
- 포워딩- 제어 평면
- 라우팅 알고리즘 (OSPF, BGP)
- 데이터그램이 출발지 호스트에서 목적지 호스트까지 잘 전달되게끔 로컬 포워킹, 라우터별 포워딩
- 네트워크 계층 구성요소와 서비스를 설정, 관리하는 것을 제어
[네트워크 서비스 모델]
- 서비스 : 보장된 전달, 지연 제한 이내, 순서대로, 최소 대역폭, 보안
- best-effort 서비스
- 보장할 수 있는 서비스 X
- 매커니즘의 단순성
- 대역폭 충분 : 스트리밍 비디오 서비스에 많이 활용- ATM 네트워크 구조
- 보장할 수 있는 서비스O- Intserv 구조
- 인터넷 구조 서비스 모델.
- 혼잡 방지 통신 목표
[목적지 기반 포워딩]
- 최장 프리픽스 매치 규칙
- 가장 긴 매치 엔트리에 매치
- TCAM
[스위칭]
- 메모리를 통한 교환
- 메모리 대역폭에 의해 제한된 속도
- 두 패킷 동시 전달 불가- 버스를 통한 교환
- 라우팅X, 직접 출력포트로 패킷 전송
- 버스 대역폭에 의해 제한된 속도- 상호연결 네트워크를 통한 교환 ⭐️
1. 크로스바 스위치
- 수직 버스, 수평 버스 : 여러 패킷 병렬 전달 가능
- 서로 다른 입력포트 -> 동일한 출력포트 X
2. 다단계(multistage) 스위치
- 서로 다른 입력포트 -> 동일한 출력포트 O
- 데이터그램을 고정된 길이의 셀(작은 청크)로 분할
- 출력 포트에서 원래 패킷으로 재조합
[큐잉]
- 출력포트 처리 : 스케줄링, 큐 제거, 필요한 링크 계층 및 물리 계층 전송
- 입력 큐잉 : HOL 차단 (블로킹)
- 빨간박스가 초록박스 막음- 출력 큐잉 : 버퍼링
- 도착 속도 > 출력 라인 속도- 버퍼 관리
- Drop-tail 정책 : 이미 대기 중인 하나 이상의 패킷 제거
- 스케줄링 정책 : 우선순위 스케줄링
- 버퍼링의 양 : 버퍼링의 양 RTT * 링크 용량 C / 루트 흐름 N
[패킷 스케줄링]
- FCFS : 도착한 순서대로
- Priority : 우선순위 클래스 분류
- Round Robin : 클래스 번갈아서
- WFQ : RR에서 클래스마다 다른 양의 시간 부여, 최소 대역폭 보장
[IPv4 데이터그램 포맷]
- 헤더에 가변 길이 옵션 포함
- 20byte 헤더 + TCP 20byte 헤더 = 40byte
[IPv4 주소체계]
- 라우터와 호스트는 IP주소 왼쪽 24bit가 동일 -> 서브넷
- IP주소 구조 : 서브넷 + 호스트 (CIDR)
- 서브넷 부분 : ISP
- 호스트 부분 : DHCP- 서브넷
- 서브넷 마스크 : 223.1.1.0/24에서 /24
[DHCP]
- 호스트가 네트워크에 가입할 때 네트워크 서버에서 IP주소를 동적으로 가져옴
- 과정
- DHCP discover : 67, 68포트
- DHCP offer : yiaddr(사용가능한 IP) 전송
- DHCP request
- DHCP ACK- IP주소 + first-hop라우터주소, DNS서버이름IP주소, 네트워크 마스크
[ISP]
- ISP 블록 : 서브넷 주소 - 3bit
- 최장 프리픽스 매치
- ISP가 주소 블록 얻는 방법
- ICANN 국제기관 : IP주소 공간 관리
[NAT]
- 하나의 IP주소를 공유하는 여러 개의 로컬 네트워크
- 보안 : 로컬 네트워크 내부의 장치는 직접 주소 지정 X, 볼 수 X
- NAT 변환 테이블 : 나가고 들어오는 데이터그램 헤더 변경
[IPv6]
- 간소화된 40byte 고정된 헤더 길이
- 플로우 : 패킷 단위가 아닌, 서비스의 흐름들끼리 디테일한 제어 가능
- IPv4와의 차이점 : 체크섬, 단편화, 재결합, 옵션 X
- 터널링
- IPv4 -> IPv6 방법
- IPv4 데이터그램 내에 IPv6 데이터그램 포함
[SDN]
- 포워딩, 라우팅 기능 분리
- 매치 플러스 액션
- 목적지 기반과 달리, 다른 헤더의 필드가 기준(플로우) : 다양한 액션 가능해짐.
- 원격 컨트롤러가 테이블 계산, 설치, 갱신
[오픈 플로우]
- 리모트 컨트롤러와 SDN 사이의 통신에 사용되는 프로토콜
[분류]
- Link State : 다익스트라 알고리즘
- 모든 라우터들이 가진 정보가 동일 : 브로드캐스팅
- 네트워크 전체 정보 이용
- 중앙 집중형 라우팅 알고리즘
- 한계 : 진동 문제- Distance Vector
- 이웃을 통해 다음으로 넘어감
- 반복적, 비동기적, 분산적
- 한계 : 링크 비용의 나쁜 변경에 따른 라우팅 루프
- 포이즌 리버스 : 라우팅 루프 방지, 무한으로 설정
- 수렴속도, 견고성이 LS보다 취약
[자율시스템 AS]
- 라우터의 그룹, 도메인 : 조직화 -> 확장, 관리
- intra-AS
- 같은 AS 내에서의 라우팅 (내부 목적지)
- 동일한 라우팅 알고리즘 사용
- RIP, EIGRP : DV 기반 / OSPF : LS 기반- inter-AS
- 다른 AS 간의 라우팅 (외부 목적지)
- 게이트웨이 라우터
[OSPF : 개방형 최단 경로 우선 프로토콜]
- Link State 기반 프로토콜 : 견고성,
- 계층 구조 : local area, backbone
- border : 경계, 내부 -> 외부, 외부 -> 내부
[BGP]
- inter-AS 라우팅 프로토콜
- 수천 개의 ISP를 연결하는 프로토콜
- CIDR 형식으로 표현된 주소의 프리픽스를 향해 전달- 역할
- 서브넷 존재 알림
- 경로 결정 프로시저- 연결
- eBGP : 인접 AS로부터 서브넷 도달 가능성 정보 획득
- iBGP : 모든 AS 내부 라우터에 도달 가능성 정보 전파
[BGP 경로 설정]
- prefix + attributes
- prefix : 브로드캐스트 중인 목적지
- attribute : AS-PATH, NEXT-HOP- 뜨거운 감자 라우팅
- 내부 라우터가 외부로 라우팅하고 싶을 때 게이트웨이 라우터까지의 최단 경로 우선 선택- 정책에 따라 경로 결정
[ICMP]
- 호스트와 라우터가 서로 간에 네트워크 계층 정보를 주고받기 위해 사용
- 망 자체의 문제 발생 보고
- IP 데이터그램에 담겨져 전송- 메시지 형식 : Type + Code
- Type = 3 : 도달할 수 없음
- Type = 11, code = 0 : TTL expired- Traceroute
- TTL expired 이용해서 어떤 호스트로의 경로라도 추적 가능
- type = 3, code =3 목적지 도달 불가능 리턴함으로써 목적지에 도착
[링크 계층 채널]
- 브로드캐스트 채널
- 중앙 컨트롤러가 다수의 호스트 연결
- 매체 접속 프로토콜(MAC) : 프레임 전송 조정- 점대점 통신 링크
- 원거리 링크에 의해 연결된 두 라우터 등에 사용
- PPP : 전화선, 고속 점대점 프레임 전송
[패리티 검사]
- 단일 패리티 비트
- d + 1번째에 패리티 비트
- 짝/홀 : 1의 개수가 짝/홀- 2차원 패리티 비트
- 가로 세로 합 짝/홀
[체크섬 방법]
- 더한 값의 1의 보수
- 모든 비트가 1인지 계산 : 하나라도 0이면 오류- 특징
- 장점 : 패킷 오버헤드 적다
- 단점 : CRC보다 오류에 취약
[CRC 순환 중복 검사]
- CRC 비트 추가 : 계산 결과의 나머지
- <D,R> = D * 2^r XOR R
- (실제 전송된 데이터 xor 생성자)의 나머지가 모두 0 : 오류X
[MAC 프로토콜]
- 다중 접속 프로토콜
- 여러 개 노드 동시 전송 -> 간섭 발생
- 채널을 어떻게 공유할 것인지 결정하는 분산된 알고리즘
1) 채널 분할 프로토콜
- 시분할(TDMA), 주파수 분할(FDMA)
- 효율성
- 높은 부하 : 효율적
- 낮은 부하 : 비효율적
2) 랜덤 접속 프로토콜
- 충돌 감지 -> 충돌로부터 회복
- 효율성
- 높은 부하 : 비효율적
- 낮은 부하 : 효율적- (pure) ALOHA
- 비효율적, 간단- slotted ALOHA
- slot으로 시분할, 분산된 형태
- 충돌 발생 시 재전송
- 한계 : 슬롯 낭비, 노드 동기화- CSMA
- 전송하기 전에 확인 -> 홀딩
- 한계 : Propagation delay로 인한 전체 패킷 전송 시간 낭비- CSMA/CD
- 충돌 감지 -> 회선 정리
- 한계 : 무선에서는 사용 X- CSMA/CA
- 무선에서 사용 (cf. CSMA/CD는 이더넷에서 사용)
3) 순번 프로토콜
- 가장 효율적
- polling
- 마스터 노드, 라운드로빈 방식
- 빈 슬롯 -> 높은 효율
- 한계 : 폴링 지연, 마스터 노드 의존적- token passing
- 토큰 : 작은 특수목적 프레임이 정해진 순서대로 노드 간 전달
- 분산 방식 -> 효율적
- 한계 : 노드 하나가 실패하면 전체 채널 동작 X
[DOCSIS]
- 케이블 접속 네트워크를 위한 링크 계층 프로토콜
- 주파수 채널을 통한 FDM : 1) 채널 분할 프로토콜
- 하향채널
- CMTS -> 모뎀
- MAP 메시지 전송- 상향채널
- 모뎀 -> CMTS
- 다중 접속 문제
- 시간 슬롯에 대한 경쟁 : 2) 랜덤 접속 프로토콜
- TDM
[MAC 주소]
- NIC ROM, 48bit
- IEEE가 관리 : 어떤 어댑터도 동일 X
- 플랫한 주소 : 휴대성
[ARP]
- 3계층 IP 주소 -> 2계층 MAC 주소 변환하는 프로토콜
- ARP 테이블
- IP주소에 해당하는 MAC주소 + TTL- 랜 내에서의 라우팅 과정
- IP주소를 포함한 ARP 쿼리 브로드캐스트
- 해당 노드가 자신의 MAC주소 담아서 응답 전송
- 응답받은 노드는 자신의 ARP 테이블에 정보를 저장- 랜 밖에서의 라우팅 과정
[이더넷]
- 가장 우세한 유선 랜 기술, 근거리 네트워킹
- 특징
- 비연결형 : handshaking (X)
- 비신뢰적 : 오류 검출 O 정정 X
- CSMA/CD
[스위치]
- CSMA/CD
- 자가학습
- cf. 라우터는 설정된 알고리즘 이용- 다중 동시 전송
- 충돌 X, full duplex
- 목적지가 같은 경우 충돌 발생 : 스위치가 시간 차 조정- 스위치 테이블
- MAC 주소
- 스위치 인터페이스
- TTL
[가상 근거리 네트워크 VLAN]
- 스위치 계층구조 한계 : 트래픽 격리의 부족
- 논리적인 망 분리
- 트래픽 격리
- 서로 다른 서브넷으로 간주- VLAN 트렁킹
- 스위치에 대해 정의된 VLAN 간에 프레임 전달
- 자신의 VLAN을 식별할 수 있는 포맷 필요 : 802.1Q 프레임 형식
[분류]
- 인프라스트럭처 방식
- 기지국 존재
- handoff : 다른 기지국 영역으로 이동할 때 접속점을 변경하는 과정- 애드혹 네트워크
- 기지국 존재 X
- 링크 커버리지 내의 다른 노드로만 전송 가능
[SNR]
- 측정된 수신 신호의 세기와 잡음의 상대적 비율
- SNR값이 커질수록 잡음에도 불구하고 추출 용이
- BER : 송신된 비트가 수신측에서 오류로 검출될 확률
[무선 링크 문제]
- 숨은 터미널 문제
- 페이딩 현상
[채널과 결합]
- 개별 무선 단말기는 데이터 송수신을 위해 하나 AP와 결합 필수
- AP가 주기적으로 비컨 프레임 전송 요구
- 비컨 프레임 : AP의 SSID, MAC 주소 등- AP 탐색
- 수동적 스캐닝 : AP로부터도 비컨 프레임 수신
- 능동적 스캐닝 : 탐사용 프로브 프레임 방송
[802.11 MAC 프로토콜 : CSMA/CA]
- DIFS : popagation delay 방지
- SIFS 후 ACK 반환
[RTS와 CTS]
- 숨은 터미널 문제 해결
- 예약 방법
- RTS : 충돌 가능하지만 짧음
- CTS : AP가 RTS에 대한 응답으로 브로드캐스트
[802.11 프레임]
- 주소 필드 4개 필요
- 수신자의 MAC 주소, 송신자의 MAC 주소, 인터페이스의 MAC주소 + 애드혹
- AP가 있기 때문.