-
네트워크
1. OSI 7 Layer
- 정의
- 네트워크 프로토콜과 통신을 7 계층으로 표현
- 목적
- 프로토콜을 기능별로 나누고 계층 별로 구분
- 벤더간 호환성을 위한 표준 필요 -> 쉬운 접근성으로 기술의 발전
- 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로 이루어져 있다.
2. 물리 계층
물리계층의 역할과 기능
- 네트워크 장치의 전기적, 기계적 속성 및 전송하는 수단을 정의
- ex) 허브, 리피터
- Signaling 의 종류
- 전기
- Copper 케이블 사용
- ex) 전화선, UTP, 동축 케이블
- 광(빛)
- Optical Fiber 케이블이 이에 속하며 빛의 패턴을 신호로 사용
- 전파
- 무선이 이에 속하며 마이크로파 패턴을 신호로 사용
- 전기
물리계층 장비
- ex) 허브와 리피터
- 허브의 동작 방식
- 단순 중계기의 역할로 허브에 연결된 PC1이 다른 PC2에게 데이터를 보내려 하면 허브에 연결된 모든 PC들에게 그 데이터를 전달하게 된다.
- 브로드캐스팅 통신 1 -> ALL
- 유니캐스트 통신 1 -> 1
- 멀티캐스트 통신 1 -> N
- 단순 중계기의 역할로 허브에 연결된 PC1이 다른 PC2에게 데이터를 보내려 하면 허브에 연결된 모든 PC들에게 그 데이터를 전달하게 된다.
- 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 성능
- Bandwith (대역폭)
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계층과 연결
- MAC (Media Access Control)
- 2개의 부 계층으로 구성
- 주요 기능
- 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): 에러 체크
- Ethernet v2
- Framing
스위치와 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
스패닝트리 프로토콜과 루핑
- 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
- Bridge ID
- 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 그룹들을 묶어서 효율적으로 관리
- RSTP (Rapid Spanning Tree Protocol)
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: 옵션, 거의 사용되지않음, 시험/디버깅용, 통신 미관여
- Header
- 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: 멀티캐스트용, 연구용
라우터와 서브넷팅
- Router: 네트워크 간의 패킷을 전송해주는 장비
- Routing: 네트워크 간의 패킷을 전달하는 경로를 선택하는 과정, Static & Dynamic
- Routed: 라우터가 라우팅을 해주는 대상, IP
- 서브넷 마스크
- 서브넷: 부분망, IP주소는 네트워크와 호스트로 구분
- 할당된 네트워크 영역을 좀 더 효율적으로 사용하기 위해 서브넷으로 쪼개어 구성
- 네트워크를 여러개의 작은 네트워크 서브넷으로 구분하는것 -> 서브넷 마스크
- 디폴트 게이트웨이: 다른 네트워크로 패킷 전송시 거쳐야 하는 거점
- 라우터의 동작 방식
- Static 라우팅
- 가장 기본적인 라우팅 방식으로 수동으로 경로를 라우터에 설정하여 패킷을 처리한다.
- 경로는 라우팅 테이블에 목적지 IP 주소 & 인터페이스 정보를 설정
- Hop & TTL
- 전세계 네트워크 호스트는 IP 라우팅을 통해서 연결
- Hop: 소스와 목적지 간의 경로
- TTL (Time to Live): 패킷이 폐기되기 전 hop 카운트
- Static 라우팅
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 되는 경우
- IP 할당
5. 동적 라우팅
동적 라우팅의 개요
- 라우팅 프로토콜
- 라우팅 프로토콜은 Static & Dynamic 으로 구분된다.
- 정적 라우팅: 경로 정보를 라우터에 미리 저장하여 패킷 전송
- 동적 라우팅: 경로 정보가 네트워크 상황에 따라 더 빠른 경로로 변경되어 패킷 전송
- 라우팅 알고리즘
- 목적지까지의 최적 경로를 계산하고 라우팅 테이블에 업데이트
- 동적으로 라우팅 테이블을 유지 및 관리하는 알고리즘
- Distance Vector
- 분산 업데이트
- 각 라우터들에 의해 최소 비용 경로 계산 -> 인접 노드와 교환
- 소규모 네트워크, 주기적이며 비동기 방식
- Link State
- 중앙 집중형 업데이트
- 네트워크 전체 정보를 통해서 최소 비용 경로를 계산
- 대규모 네트워크에 적합, 이벤트 기반의 라우팅 테이블 관리
- Distance Vector
- 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, 패킷의 상태 정보를 확인하고 유지
- 에러 발생시 재전송 요청하고 에러 복구
- UDP (User Datagram Protocol)
- 신뢰성은 낮으나 데이터 전송이 빠르다.
- 송신측은 일반적으로 데이터를 보내고 확인 안함
- 1:n 통신 가능
- Connectionless
- 재전송 불가, 실시간 데이터 전송에 적합
- 아직 정리 안된 강의 -> 다음 주꺼 끝나면 보충
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 - 정의