티스토리 뷰

CS

네트워크

kingsubin 2021. 5. 31. 16:18

네트워크


1. OSI 7 Layer

  • 정의
    • 네트워크 프로토콜과 통신을 7 계층으로 표현
  • 목적
    • 프로토콜을 기능별로 나누고 계층 별로 구분
    • 벤더간 호환성을 위한 표준 필요 -> 쉬운 접근성으로 기술의 발전

OSI 7 Layer 모델

  • 1 계층 - Physical
    • 장치와 통신 매체 사이의 비정형 데이터의 전송을 담당
    • 디지털 bit 를 전기, 무선 또는 광 신호로 변환
    • 전송되는 방법, 제어 신호, 기계적 속성 등을 정의
    • ex) 케이블, 인터페이스, 허브, 리피터
  • 2 계층 - Data Link
    • 동일 네트워크 내에서 데이터 전송, 링크를 통해서 연결을 설정하고 관리
    • 물리계층에서 발생할 수 있는 오류를 감지하고 수정
    • ex) 모뎀, 스위치
  • 3 계층 - Network
    • 다른 네트워크로 데이터 전송, IP 주소로 통신
    • 출발지 IP 에서 목적지 IP 로 데이터 통신 시 중간에서 라우팅 처리
    • 데이터가 큰 경우 분할 및 전송 후 목적지에서 재조립 하여 메시지 구현
    • IP 통신과 라우팅
    • ex) L3 스위치, 라우터
  • 4 계층 - Transport
    • 호스트 간의 데이터 전송
    • 오류 복구 및 흐름 제어, 완벽한 데이터 전송을 보장
    • TCP/UDP
  • 5 계층 - Session
    • 로컬 및 원격 애플리케이션 간의 IP / Port 연결을 관리
  • 6 계층 - Presentation
    • 사용자 프로그램과 네트워크 형식간에 데이터를 변환하여 표현과 독립성을 제공
    • 인코딩, 디코딩, 암호화, 압축
    • ex) ASCII, JPG, MPEG
  • 7 계층 - Application
    • 사용자와 가장 밀접한 소프트웨어
    • ex) 이메일 서비스 SMTP, 파일 전송 FTP 등

 


TCP/IP

  • TCP/IP
    • 네트워크 프로토콜의 모음으로 패킷 통신 방식의 IP 와 전송 조절 프로토콜인 TCP로 이루어져 있다.

TCP/IP, OSI 7 Layer 비교

 


2. 물리 계층

물리계층의 역할과 기능

  • 네트워크 장치의 전기적, 기계적 속성 및 전송하는 수단을 정의
  • ex) 허브, 리피터
  • Signaling 의 종류
    • 전기
      • Copper 케이블 사용
      • ex) 전화선, UTP, 동축 케이블
    • 광(빛)
      • Optical Fiber 케이블이 이에 속하며 빛의 패턴을 신호로 사용
    • 전파
      • 무선이 이에 속하며 마이크로파 패턴을 신호로 사용

 

물리계층 장비 

  • ex) 허브와 리피터
  • 허브의 동작 방식
    • 단순 중계기의 역할로 허브에 연결된 PC1이 다른 PC2에게 데이터를 보내려 하면 허브에 연결된 모든 PC들에게 그 데이터를 전달하게 된다.
      • 브로드캐스팅 통신 1 -> ALL
      • 유니캐스트 통신 1 -> 1
      • 멀티캐스트 통신 1 -> N
  • CSMA/CD (carrier sense multiple access/collision detction)
    • 송신노드는 데이터를 전송하고, 다음 채널에서 다른 노드의 데이터 충돌 발생을 계속 감지
    • 충돌 발생시 모든 노드에게 충돌 발생을 통지하고 재전송을 시도
      • 1. Carrier Sensing: 데이터를 보내기 전에 다른 노드에서 데이터를 보내는 중인지 확인
      • 2. Multiple Access: 데이터를 보내는 곳이 없다면 전송 시작
      • 3. Collision Detection: 동 시간대에 데이터를 보내게 되면 충돌이 일어나고 정지
  • 전송방식
    • 1. Simplex: 단방향 통신
    • 2. Half Duplex: 반이중 전송방식, 양방향 통신이나 송수신 시간은 정해짐, ex) 무전기
    • 3. Full Duplex: 전이중 전송방식, 동시 양방향 통신 가능, ex) 전화기
  • 케이블과 커넥터
    • 종류
      • TP (Twisted Pair)
      • 동축 (Coaxial)
      • 광 (Fiber)
      • 광 트랜시버
  • 성능
    • Bandwith (대역폭)
      • 주어진 시간대에 네트워크를 통해 이동할 수 있는 정보의 양
    • Throughput (처리량)
      • 단위 시간당 디지털 데이터 전송으로 처리하는 양
    • ex) 대역폭 -> 도로의 차선, 처리량 -> 도로를 달리는 자동차의 숫자
    • BackPlane
      • 네트워크 장비가 최대로 처리할 수 있는 데이터 용량
    • CPS (Connections Per Second)
      • 초당 커넥션 연결수, L4
    • CC (Concurent Connections)
      • 최대 수용가능한 커넥션
    • TPS (Transaction Per Seconds)
      • 초당 트랜잭션 연결수, L7, 주로 HTTP 성능

 

UTP 케이블과 Wi-Fi

  • UTP 케이블
    • Unshielded Twisted Pari
    • 주로 근거리 통신망 (LAN)에서 사용되는 케이블
    • 이더넷 망 구성시 가장 많이 보게되는 케이블
  • Wi-Fi
    • 비영리 기구인 Wi-Fi Aliance의 상표로 전자기기들이 무선랜에 연결할 수 있게 하는 기술
    • 802.11n Wi-Fi 4, 802.11ac Wi-Fic 5, 802.11ax Wi-Fi 6로 불림
  • 무선랜 구성
    • 인터넷 - ISP(전용선) - 라우터 - WIPS(Wireless IPS) - AP(Access Point) - 컴퓨터(무선랜카드)

 


3. L2 스위치

 

데이터 링크 계층의 역할과 기능

  • 데이터 링크 계층 
    • OSI 7 Layer 의 2 계층으로 인접한 네트워크 노드끼리 데이터를 전송하는 기능과 절차를 제공
    • 물리계층에서 발생할 수 있는 오류를 감지하고 수정
    • 대표적인 프로토콜로 이더넷이 있으며 장비로는 스위치가 있다.
      • 2개의 부 계층으로 구성
        • MAC (Media Access Control)
          • 물리적인 부분으로 매체간의 연결방식을 제어하고 1계층과 연결
          • 48bit (6 Bytes)로 6자리로 구성, 각 16진수로 표현
        • LLC (Logical Link Control)
          • 논리적인 부분으로 Frame을 만들고 3계층과 연결 
    • 주요 기능
      • Framing
        • 데이터그램을 캡슐화하여 프레임 단위로 만들고 헤더와 트레일러를 추가
        • 헤더는 목적지, 출발지 주소, 데이터 내용을 정의
        • 트레일러는 비트 에러를 감지
      • 회선 제어
        • 신호간의 충돌이 발생하지 않도록 제어
        • ENQ/ACK 방법
          • 전용 전송 링크 1:1
        • Polling 방법
          • 1:다
          • Select 모드: 송신자가 나머지 수신자들을 선택하여 전송
          • Poll 모드: 수신자에게 데이터 수신 여부를 확인하여 응답을 확인하고 전송
      • 흐름 제어
        • 송신자와 수신자의 데이터를 처리하는 속도 차이를 해결하기 위한 제어
        • Feedback 방식의 Flow Control 이며 상위 계층은 Rate 기반
        • Stop & Wait
          • 송신자가 데이터를 보내고 ACK 응답이 올때까지 기다림.
          • ACK (Acknowledgement)
          • 간단한 구현, 비효율적
        • Frame을 전달하고 ACK이 회선문제로 응답하지 않는 경우
          • 데이터를 보내고 ACK 응답이 올때까지 기다림.
          • ACK가 오지 않으면 일정시간 후 다시 보냄.
          • Retransmit frame
        • Frame을 재전송하게되면 Duplicate frame 문제 발생 가능
          • Sequence number (1bit)를 사용하여 동일 frame 인지 구분하여 상위계층으로 전달
        • Sliding window
          • ACK 응답 없이 여러 개의 프레임이 연속으로 전송 가능
          • Window size 는 전송과 수신측의 데이터가 저장되는 버퍼의 크기
      • 오류 제어
        • 전송 중에 오류나 손실 발생시 수신측은 에러를 탐지 및 재전송
        • ARQ (Automatic Repeat Request): 프레임 손상 시 재전송이 수행되는 과정
        • Stop & Wait ARQ
          • 전송 측에서 NAK 을 수신하면 재전송
          • 주어진 시간에 ACK 가 안오면 재전송
        • Go Back n ARQ
          • 전송측 Frame 한번에 여러개 전송
          • 수신측 x 번 Frame 문제 발생
          • 수신측 NAK x번으로 손상 응답
          • 전송측 x번이 포함된 x~... 번 재전송
        • Selective Repeat ARQ
          • 손상된 Frame 만 선별해서 재전송
      • 이더넷 프레임 구조
        • Ethernet v2
          • 데이터 링크 계층에서 MAC (Media Access Control) 통신과 프로토콜의 형식을 정의
          • Preamble: 이더넷 프레임의 시작과 동기화
          • Dest Addr: 목적지 MAC 주소, Src Addr: 출발지 MAC 주소
          • Type: 캡슐화 되어있는 패킷의 프로토콜을 정의
          • Data: 상위 계층의 데이터로 46~1500 바이트의 크기, 46바이트보다 작은 면 뒤에는 패딩이 붙음
          • FCS (Frame Check Sequence): 에러 체크

 

이더넷 프레임 구조

 

스위치와 ARP

  • L2 스위치
    • 2계층의 대표적인 장비로 MAC 주소 기반 통신
    • 허브의 단점을 보완
    • Half Duplex -> Full Duplex
    • 1 Collision Domain -> 포트별 Collision Domain
    • 라우팅 기능이 있는 스위치를 L3 스위치라고 한다.
    • 동작 방식
      • 목적지 주소를 MAC 주소 테이블에서 확인하여 연결된 포트로 프레임 전달
      • 1. Learning
        • 출발지 주소가 MAC 주소 테이블에 없으면 해당 주소를 저장
        • 1. 스위치에 연결된 각 포트에서 프레임을 스위치에 전달함
        • 2. 스위치는 해당 포트로 유입된 프레임을 보고 MAC 주소를 테이블에 저장함
      • 2. Flooding - Broadcasting
        • 출발지 주소가 MAC 주소 테이블에 없으면 전체 포트로 전달
        • 1. PC에서 목적지 주소로 프레임 전달
        • 2. 스위치는 해당 주소가 MAC Table 에 없으면 전체 포트로 전달
      • 3. Forwarding
        • 목적지 주소가 MAC 주소 테이블에 있으면 해당 포트로 전달
        • 1. 목적지 주소로 프레임 전달
        • 2. 스위치는 해당 주소가 MAC Table 에 존재하면 해당 프레임을 바로 PC로 전달
      • 4. Filtering - Collision Domain
        • 출발지와 목적지가 같은 네트워크 영역이면 다른 네트워크로 전달하지 않음
        • 1. 스위치로 프레임 전달
        • 2. 스위치는 해당 주소가 동일 네트워크 영역임을 확인하면 다른 포트로 전달하지 않음.
        • 3. Collision Domain 을 나누어 효율적 통신이 가능하다.
      • 5. Aging
        • MAC 주소 테이블의 각 주소는 일정 시간 이후에 삭제
        • 삭제되는 이유는 테이블 저장 공간을 효율적으로 사용하기 위해
        • 해당 포트에 연결된 PC가 다른 포트로 옮겨진 경우도 발생
        • 기본 300초 (Cisco 기준)저장, 다시 프레임이 발생되면 다시 카운트
  • ARP (Address Resolution Protocol)
    • IP 주소를 통해서 MAC 주소를 알려주는 프로토콜
    • 컴퓨터 A 가 컴퓨터 B 에게 IP 통신을 시도하고 통신을 수행하기 위해 목적지 MAC 주소를 알아야 한다.
    • 목적지 IP 에 해당되는 MAC 주소를 알려주는 역할을 ARP가 해준다.
    • ARP 동작 과정
      • 1. PC1은 동일 네트워크 대역인 목적지 IP A로 패킷 전송 시도
      • 2. 목적지 MAC 주소를 알기 위해 우선 자신의 ARP Cache Table 확인
      • 3. ARP Cache Table 에 있으면 패킷 전송, 없으면 ARP Request 전송 
      • 4. IP A에서 목적지 MAC 주소를 ARP Reply로 전달
      • 5. 목적지 MAC 주소는 ARP Cache Table에 저장되고 패킷 전송
    • ARP 헤더 구조
      • Hardware Type: ARP가 동작하는 네트워크 환경, 이더넷
      • Protocol Type: 프로토콜 종류, 대부분 IPv4
      • Hardware & Protocol Length: MAC 주소 6Byte, IP 주소 4Byte
      • Operation: 명령코드, 1=ARP Request, 2=ARP Reply
      • Hardware Address=MAC, Protocol Address=IP

스위치 정리 과정

 

 

ARP 헤더 구조

 

 

스패닝트리 프로토콜과 루핑

  • Looping
    • 같은 네트워크 대역 대에서 스위치에 연결된 통로과 2개 이상인 경우에 발생
    • PC 가 브로드캐스팅 패킷을 스위치들에게 전달하고 전달 받은 스위치들은 Flooding 한다.
    • 스위치들끼리 Flooding된 프레임이 서로 계속 전달되어 네트워크에 문제를 일으킨다.
    • 회선 및 스위치 이중화 또는 증축 등에 의해 발생
    • 물리적인 포트 연결의 실수 또는 잘못된 이중화 구성으로 L2 에서 가장 빈번히 발생하는 이슈
  • STP (Spanning Tree Protocol): 스패닝 트리 프로토콜
    • 자동으로 Looping을 막아주는 알고리즘 -> 스패닝 트리 알고리즘
    • 스패닝 트리 알고리즘에 사용되는 프로토콜 -> STP
      • Bridge ID
        • 스위치의 우선순위로 0~65535로 설정, 낮을수록 우선순위 높음
      • Path Cost
        • 링크의 속도(대역폭), 1000/링크 속도로 계산되며 작을수록 우선순위 높음
        • 1Gbps 속도가 나오면서 계산법이 적합하지 않아 IEEE 에서 각 대역폭 별 숫자 정의
        • 10Mbps = 100, 100Mbps = 19, 1Gbps = 4
    • STP의 요소
      • 1. Root Bridge: 네트워크당 1개 선출
      • 2. Root Port: Root Bridge가 아닌 스위치들은 1개 포트 선출
      • 3. Designated Port: 각 세그먼트별 1개 포트 지정
    • BPDU (Bridge Protocol Data Unit)
      • 스패닝 트리 프로토콜에 의해 스위치간 서로 주고받는 제어 프레임
      • 1. Configuration BPDU: 구성관련
        • Root BID - 루트 브리지로 선출될 스위치 정보
        • Path Cost - 루트 브리지까지의 경로 비용
        • Bridge ID, Port ID - 나머지 스위치와 포트의 우선순위
      • 2. TCN (Topology Change Notification) BPDU
        • 네트워크 내 구성 변경시 통보
      • 우선순위 - 낮은 숫자가 더 높은 우선순위를 가진다.
        • 누가 더 작은 Root BID ? 
        • 루트 브리지까지 더 낮은 Path Cost ? 
        • 연결된 스위치 중 누가 더 낮은 BID ?
        • 연결된 포트 중 누가 더 낮은 Port ID ?
    • STP 상태변화
      • 스위치의 포트는 스패닝 트리 프로토콜 안에서 5가지 상태로 표현된다.
      • 1. Disabled
        • 포트가 Shut Down 인 상태로 데이터 전송불가, MAC 학습불가, BPDU 송수신 불가
      • 2. Blocking
        • 부팅하거나 Disabled 상태를 Up 했을 때 첫번째 거치는 단계, BPDU 만 송수신
      • 3. Listening - 15초
        • Blocking 포트가 Root 또는 Designated Port로 선정되는 단계, BPDU 만 송수신
      • 4. Learning - 15초
        • 리스닝 상태에서 특정 시간이 흐른 후 러닝 상태가 됨, MAC 학습 시작, BPDU 만 송수신
      • 5. Forwarding
        • 러닝 상태에서 특정 시간이 흐른 후 포워딩 상태가 됨, 데이터 전송 시작, BPDU 만 송수신 
  • RSTP & MST
    • RSTP (Rapid Spanning Tree Protocol)
      • STP 적용시 포워딩 상태까지 30~50초 걸림, 이 컨버전스 타임을 1~2초로 단축
      • Learning & Listening 단계가 없음
    • MST (Multiple Spanning Tree)
      • 네트워크 그룹이 많아지면 STP or RSTP BPDU 프레임이 많아지고 스위치 부하 발생
      • 여러개의 STP 그룹들을 묶어서 효율적으로 관리

Looping 구조

 

VLAN

  • VLAN (Virtual Local Area Network)
    • 물리적 구성이 아닌 논리적인 가상의 LAN을 구성하는 기술
    • 불필요한 데이터 차단: 브로드캐스트 도메인 별로 나누어 관리
    • 관리의 용이성과 보안: 호스트의 물리적 이동 없이 LAN 그룹 변경이 가능
    • 비용 절감: 새로운 LAN 추가시 물리적 스위치 구매 필요 없음
  • VALN 종류
    • 1. Port 기반 
    • 2. MAC 주소 기반
    • 3. IP 주소 기반
  • Trunk
    • 물리적 스위치간 VLAN 연결 시 하나의 물리적 연결로 VLAN 그룹들 공유
    • Trunk Protocol
      • 이더넷 프레임에 식별용 VLAN ID 를 삽입하여 데이터를 구분하여 통신 및 제어 가능

 


4. IP 주소와 라우팅

 

네트워크 계층의 역할과 IP 구조

  • 네트워크 계층의 역할
    • OSI 7 Layer 의 3계층으로 패킷 포워딩과 네트워크간 라우터를 통한 라우팅 수행
    • IP (Internet Protocol) 주소를 사용하여 통신, 계층적 구조
    • 대표적인 장비는 라우터, 또는 L3 라고 부른다.
  • IP (Internet Protocol) 정의와 구조
    • 네트워크 계층에서 통신하는 주요 프로토콜로 라우팅을 구현하고 본질적인 인터넷을 구축하는 계기
    • IP 구조는 헤더와 페이로드로 구성되어 있다.
      •  Header
        • 헤더는 목적지 & 출발지 IP 주소등을 포함, 페이로드는 전송되는 데이터를 의미한다.
        • Version: IP 버전
        • Header Length: 헤더의 길이
        • Type of Service: 서비스 품질
        • Total Packet Length: IP 패킷 전체의 길이 - 바이트 단위
        • Identifier, Flags, Offset: IP Fragment 필드로 단편화와 재조합, 큰패킷이 작은 패킷으로 전송되는 경우
        • Time to Live: IP 패킷 수명
        • Protocol ID: 데이터에 포함되어 있는 상위 계층의 프로토콜 정보
        • Header Checksum: 오류 검출
        • Source, Destination Ip Addres: 출발지 & 목적지 IP 주소 
        • IP Header Options & Padding: 옵션, 거의 사용되지않음, 시험/디버깅용, 통신 미관여
    • IP 주소 클래스
      • 2진수 32비트로 구성
      • 총 2의 32승 = 42억 9천여개
      • 2진수는 어려워 10진수로 표현
      • 네트워크와 호스트
        • 네트워크는 브로드캐스트 영역, 호스트는 개별 단말기
        • ex) 192.168.1.0~255 => 192.168.1 = 네트워크, 0~255 = 호스트
      • 크기에 따라 5개의 클래스 (A, B, C, D, E) 로 구분
        • A: 0.0.0.0 ~ 127.255.255.255, 호스트는 2의 24승
        • B: 128.0.0.0 ~ 191.255.255.255, 호스트는 2의 16승
        • C: 192.0.0.0 ~ 223.255.255.255, 호스트는 2의 8승 
        • D&E: 멀티캐스트용, 연구용

 

 

IPv4 헤더 구조

 

라우터와 서브넷팅 

  • Router: 네트워크 간의 패킷을 전송해주는 장비
  • Routing: 네트워크 간의 패킷을 전달하는 경로를 선택하는 과정, Static & Dynamic
  • Routed: 라우터가 라우팅을 해주는 대상, IP

 

  • 서브넷 마스크
    • 서브넷: 부분망, IP주소는 네트워크와 호스트로 구분
    • 할당된 네트워크 영역을 좀 더 효율적으로 사용하기 위해 서브넷으로 쪼개어 구성
    • 네트워크를 여러개의 작은 네트워크 서브넷으로 구분하는것 -> 서브넷 마스크
    • 디폴트 게이트웨이: 다른 네트워크로 패킷 전송시 거쳐야 하는 거점

 

  • 라우터의 동작 방식
    • Static 라우팅
      • 가장 기본적인 라우팅 방식으로 수동으로 경로를 라우터에 설정하여 패킷을 처리한다.
      • 경로는 라우팅 테이블에 목적지 IP 주소 & 인터페이스 정보를 설정
    • Hop & TTL
      • 전세계 네트워크 호스트는 IP 라우팅을 통해서 연결
      • Hop: 소스와 목적지 간의 경로
      • TTL (Time to Live): 패킷이 폐기되기 전 hop 카운트

 

ICMP

  • ICMP (Internet Control Message Protocol)
    • 인터넷 제어 메시지 프로토콜
    • IP 통신은 목적지에 패킷을 정상적으로 전달하는 방법은 있지만 에러 발생시 처리 불가
    • ICMP는 IP 통신의 에러 상황을 출발지에 전달 & 메시지 제어 역할
    • 주 타입은 정보용 (8, 0, 9, 10)과 오류 보고용 (3, 5, 11, 12)로 구분
    • Ping & Traceroute 명령어를 통해서 사용된다.
  • ICMP 포맷 구조
    • IP 패킷에 포함
    • Type: ICMP 메시지 종류
    • Code: 메시지 Type 별 세부 코드 정보
    • Checksum: ICMP 헤더 손상 여부 확인

 

DHCP

  • DHCP (Dynamic Host Control Protocol)
    • 동적 호스트 구성 프로토콜
    • DHCP 서버를 사용하여 클라이언트인 네트워크 장치에 IP 주소를 자동으로 할당
    • 요청에 의한 IP 할당으로 효율성 극대화
    • 잘못된 IP 설정으로 인한 장애 예방
    • IP 변경이 잦은 호스트의 관리
  • DHCP 메시지 포멧
    • OpCode: 1 Request, 2 Reply
    • Hardware Type: 1, Ethernet
    • Hardware address length: 6, MAC address
    • Hop count: 0시작, 네트워크 망 이동시 증가
    • Transaction ID: 클라이언트가 선택하는 랜덤 수, 요청과 응답 매칭
    • Seconds: IP 할당 후 경과한 초의 수
    • Flags: 서버 응답에 대해서 0 unicast 또는 1 broadcst 응답 구분 값
    • Client IP: 최초 0.0.0.0, Your IP: 할당될 IP, Options: DHCP 메시지 타입 포함
  • DHCP 동작 과정
    • IP 할당
      • 기본 네트워크 구성, Gateway - Switch - DHCP Server - PC
    • IP 갱신
      • 지정된 IP 갱신 타임이 도래하면 갱신을 요청
    • IP 해제
      • 사용중인 PC가 전원 off 되는 경우

DHCP 메시지 타입


5. 동적 라우팅

 

동적 라우팅의 개요 

  • 라우팅 프로토콜
    • 라우팅 프로토콜은 Static & Dynamic 으로 구분된다.
    • 정적 라우팅: 경로 정보를 라우터에 미리 저장하여 패킷 전송
    • 동적 라우팅: 경로 정보가 네트워크 상황에 따라 더 빠른 경로로 변경되어 패킷 전송
  • 라우팅 알고리즘
    • 목적지까지의 최적 경로를 계산하고 라우팅 테이블에 업데이트
    • 동적으로 라우팅 테이블을 유지 및 관리하는 알고리즘
      • Distance Vector
        • 분산 업데이트
        • 각 라우터들에 의해 최소 비용 경로 계산 -> 인접 노드와 교환
        • 소규모 네트워크, 주기적이며 비동기 방식
      • Link State
        • 중앙 집중형 업데이트
        • 네트워크 전체 정보를 통해서 최소 비용 경로를 계산
        • 대규모 네트워크에 적합, 이벤트 기반의 라우팅 테이블 관리
    • Distance Vector 알고리즘
      • 거리 + 방향
      • 목적지 IP 까지의 거리 = Hop 카운트 = 라우터와 라우터 사이의 거리 + 인터페이스 방향
      • 인접 라우터들과 주기적으로 라우팅 테이블을 교환하여 확인 및 관리
      • 인접 라우팅 테이블만 관리 -> 메모리 절약
      • 비교적 구성이 간단
      • 주기적 라우팅 테이블 업데이트 => 무의미한 트래픽 발생 가능
      • Convergence time 이 느리다.
    • Bellman-Ford 알고리즘
      • 최단 경로 문제를 풀어주는 알고리즘
      • 최단경로: dq(e) = q에서 e까지의 총 경로
      • 비용: c(q,w) = 인접 노드간의 비용
      • 갱신: dq(e) = min { c + d }
    • Link State 라우팅
      • 회선의 대역폭을 고려하여 가중치를 부여
      • 네트워크 토폴로지 경로를 모든 라우터들에게 전달
      • 라우팅 정보가 변경되는 이벤트 건에 대해서만 전파 -> 네트워크 트래픽 감소
      • 각 라우터들은 최상의 경로를 계산 -> Dijkstra's algorithm
    • 다익스트라 알고리즘
      • 주어진 출발지와 목적지 사이의 최단 경로 문제를 푸는 알고리즘
      • S = {}, d[], Q = {}

 


6. TCP 와 NAT

 

TCP & UDP 개요

  • Transport 계층
    • End to End 서비스, 커넥션을 관리
    • Connection-oriented, Reliablility, Flow control, Multiplexing
    • TCP & UDP, 소켓을 통한 프로세스별 통신
    • 5 tuple = Source IP, Source Port, Dest IP, Dest Port, Protocol
  • Port
    • 전송 계층에서 사용되며 특정 프로세스를 구분하는 단위
    • 0 ~ 65535
    • 0 ~ 1023: well-known port
    • 1024 ~ 49151: registed port
    • 49152 ~ 65535: dynamic port
    • 웹 TCP 80, FTP TCP 21
  • TCP (Transmission Control Protocol)
    • 전송 제어 프로토콜
    • 인터넷을 구성하는 핵심 프로토콜
    • 신뢰성을 기반으로 데이터를 에러 없이 전송, 1:1 통신
    • 연결 지향, Connection-oriented, 패킷의 상태 정보를 확인하고 유지
    • 에러 발생시 재전송 요청하고 에러 복구

 

TCP 헤더 포맷
TCP 제어 플래그

 

  • UDP (User Datagram Protocol)
    • 신뢰성은 낮으나 데이터 전송이 빠르다.
    • 송신측은 일반적으로 데이터를 보내고 확인 안함
    • 1:n 통신 가능
    • Connectionless
    • 재전송 불가, 실시간 데이터 전송에 적합

UDP 헤더 포맷
TCP & UDP 비교

 

 

 


- 아직 정리 안된 강의 -> 다음 주꺼 끝나면 보충 

5-2, 5-3

6-2, 6-3, 6-4

7-1, 7-2, 7-3, 7-4


※ 출처

패스트캠퍼스 컴퓨터 공학 강의

'CS' 카테고리의 다른 글

시스템 프로그래밍 - 쉘, 쉘스크립트  (0) 2021.05.09
운영체제 - 2  (0) 2021.04.24
운영체제 - 1  (0) 2021.04.18
리눅스 중요 명령어  (0) 2021.01.16
HTTP 8. 캐시와 조건부 요청  (0) 2021.01.08