Skip to content

eeeemune/LectureNote_Computernetwork

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

컴퓨터네트워크(CSE3212-002) 전범위 강의 필기노트

2024 인하대학교 컴퓨터공학과 전공수업

목차

  • 💖 What is a Network?
    • 네트워크란?
    • Node란?
    • Link란?
  • 💖 What is a Protocol?
    • Protocol이란 무엇인가요?
    • Protocol의 3요소
        1. Syntax
        1. Semantics
        1. Timing
  • 💖 What is a Standard?
    • Standard란 무엇인가요?
    • Standard Development Organization(SDO)
      • IETF
      • De facto standards
  • 💖 Protocol Layering Basics
    • Protocol Layering이 탄생한 배경
    • Protocol Set이란 무엇인가요?
    • Basic Terms in Protocol Layering
      • Service
      • Protocol
      • Interface
      • Definitions of Protocols
    • Protocol Graph
      • Protocol Graph란 무엇인가요?
    • Protocol Encapsulation
      • Protocol Encapsulation이란?
      • Protocol Encapsulation과 Decapsulation
  • Reference Model이란 무엇인가요?
  • OSI Reference Model이란 무엇인가요?
  • ⚡ Layer 1: Physical Layer
  • ⚡ Layer2: Data link layer
    • Service
    • MAC이란?
  • ⚡ Layer3: Network layer
    • Fragmentation
    • Packet scheduling
  • ⚡ Layer4: Transport Layer
  • ⚡ Layer5: Session Layer
  • ⚡ Layer6: Presentation Layer
  • ⚡ Layer7: Application Layer
  • 💖 OSI Refernece Model
    • Intermediate Node
  • Protocol Data Units(PDU))
    • PDU의 탄생 배경
  • Protocol layering 복습
    • Protocol layering은 왜 필요한가요?
  • TCP/IP Protocol Suite
  • Multiplexing이란 무엇인가요?
    • Multiplexing and Demultiplexing
  • Multiplex를 구현하는 방법 2가지
  • 💖 Curcuit Switching
    • Circuit Switching이란?
    • Curcuit Switching을 구현하는 방법 2가지
      • ⚡️ TDM(Time Division Multiplexing)
      • ⚡️ FDM(Frequency Division Multiplexing)
  • 💖 Packet Switching
    • Packet Switching이란?
    • Circuit Switching VS Packet Switching
    • Internet에서 Packet Switching의 과정
  • 💖 Packet Scheduling
    • Packet Scheduling in Gateway
    • Queueing and Packet Loss
    • Queuing in Internet
  • 💖 Packet delay
    • Nodal Delay란?
    • Nodal Delay를 구하는 공식
    • ⚡ Transmission delay
      • bps란 무엇인가요?
    • ⚡️ propagation delay
    • ⚡️ Nodal processing delay
    • ⚡️ Queueing delay
    • Throughput이란 무엇인가요?
    • Throughput 구하는 공식
    • Bottleneck link
    • Round Trip Time(RTT)
  • BDP
  • 💖 Ethernet
    • Ethernet의 방식 2가지
    • ⚡ Bus 방식이란?
    • ⚡ Switched 방식이란?
  • 💖 Wireless LANs
    • Rate Adaptation
  • 💖 References
  • 💖 CSMA/CD
    • CSMA/CD의 탄생 배경
    • CSMA/CD란?
  • 💖 Wide Area Networks (WANs)
    • WAN 기술들
    • ⚡ Cable-based access
      • frequency division multiplexing (FDM)
      • Hybrid Fiber Coax
    • ⚡ Digital subscriber line (DSL)
    • ⚡ Cellular networks
  • 💖 Connecting Devices
    • 우리가 배울 Connecting Devices들
  • ⚡ Repeater(Hub)란?
    • Repeater의 문제점
  • ⚡ Bridge(2 layer switch)란?
  • Destination Address Learning
    • Destinattion Address Learning 과정
    • Transparent한 Switch란?
  • ⚡ Router
  • 💖 TCP와 UDP
    • TCP VS UDP
    • ⚡ TCP Protocol
      • TCP Protocol의 특징
      • TCP Protocol에서 제공하는 기능 3가지
    • Connection-oriented Multiplexing
      • Multiplexing
      • Demultiplexing
    • UDP Protocol이란?
      • UDP Protocol의 특징
      • UDP Protocl의 장점
      • TCP/UDP segment format
    • Connectionless demultiplexing
      • Multiplexing
      • Demultiplexing
  • 💖 References
  • 💖 Connection
  • Transport Layer Basics
    • Connection-oriented demultiplexing
    • 네트워크에서의 Connection
      • Connectionless
      • Connection-Oriented
  • 💖 TCP Header and Encapsulation
    • TCP Header의 구성
      • ⚡ ACK
      • ⚡ application data(acknowledgement number)
      • ⚡ checksum
      • ⚡ options
      • ⚡ headlen
      • ⚡ sequence number
      • ⚡ RST, SYN, FIN
      • ⚡ receive window
      • ⚡ C, E
      • ⚡Urg data pointer
    • Pseudoheader
  • 💖 References
  • 💖 Connection Establishment
  • 💖 Three-Way Handshake
    • TCP Packets
      • ⚡ SYN
      • ⚡ ACK
      • ⚡ seq
      • ⚡ ack
      • ⚡ rwnd
    • Three-Way Handshake의 연결 수립
    • 일반적인 상황에서 TCP의 데이터 Communication
    • Connection Termination
  • 💖 References
  • TCP Connection에서의 예외 케이스
  • ⚡ Simultaneous Open
    • TCP Hole Punching
  • ⚡ TCP Half-Close
  • ⚡ Simultaneous Close
  • 💖 ISN(Initial Sequence Number)
    • ISN
  • 💖 Timeout of Connection Establishment
    • Timeout의 도입 배경
  • 💖 TCP Options
    • Options
    • 중요한 Options
      • ⚡ MSS
      • ⚡ WSOPT
      • ⚡ SACK
      • ⚡ TSOPT
    • Path MTU Discovery with TCP (Optional)
  • 💖 TCP State Diagram
    • State Transition Diagram
      • 3-way handshake 과정
      • 둘 중 하나가 Close를 호출했을 때
      • 2MSL
  • 💖 Reset Segment
    • Reset segment가 사용되는 경우
  • 💖 ARQ
    • ARQ란 무엇인가요?
    • ARQ가 필요한 시나리오
    • ARQ는 어떻게 구현할 수 있나요?
      • ⚡ Stop-and-wait
      • ⚡ Go-back-N(GBN)
      • ⚡ Selective-Repeat
  • 💖 TCP Sliding Window
    • Sliding Window의 도입 배경
    • Byte-oriented, Sender-side Sliding Window Protocol
      • 그림을 이해해보자…
      • 시나리오 1: Time out
    • Sliding Window Size의 결정
  • 💖 TCP Flow Control
    • 도입 배경
    • Flow Control이란?
    • TCP의 Flow Control
      • Producer-Consumer 관점에서의 TCP Flow Control 예시
      • Packet 관점에서의 TCP Flow Control 예시
  • 💖 Issues regarding Variable Window Size
    • Silly Window Syndrome란?
    • 어떤 상황에 발생하나요?
    • Nagle’s algorithm
      • 구현 방법
    • Clark’s solution
  • 💖 TCP Error Control
    • TCP의 Error Control 기법
    • Sender의 error control
      • 언제 발생하나요?
    • ACK Generation 규칙들
    • Error Control Scenario
      • Normal Operation
      • Lost Segment
      • Lost ACK corrected by resending a segment
      • Fast Retransmission
      • Lost ACK
    • Retransmission Timeout 설정
      • Naïve Round-Trip Time (RTT) Estimation
      • SmoothedRTT Estimation
      • RTT Variation Estimation
    • TCP’s RTO Computation Algorithm
  • 💖 Referneces
  • 💖 TCP Congestion Control
    • Congestion이란?
    • Congestion control
      • Congestion을 예측하는 방법
    • Congestion 발생 시나리오
      • case 1. output link buffer가 infinite할 때
      • case 2. finite buffer
      • Case 3. duplication까지 발생했을 때
  • 💖 Congestion Control 방법
    • End-end congestion control
    • Network-assisted congestion control
  • AIMD algorithm
    • AIMD에서 sending rate를 조절하는 방법
    • ⚡ Additive Increase
    • ⚡ Multiplicative Decrease
  • TCP slow start
    • 등장한 배경
    • 구현 방법
  • AIMD와 slow start의 결합
    • 각각의 사용 목적
  • TCP Fairness
    • Fairness란?
    • TCP에서의 faireness
    • Q. TCP는 fair한가요?
  • 💖 다양한 network에서의 Fairness
    • UDP에서의 Fairness
    • Parallel TCP Connection에서의 Fairness
      • 예시
  • 💖 References
  • 💖 TCP Timers
    • TCP Timers
    • TCP Timer의 종류
    • ⚡ Keepalive Timer
    • ⚡ Persistance Timer
      • Persistance Timer의 등장 배경
      • 발생 시나리오
  • 💖 Address and Name in BSD Sockets API
    • Internet에서 Address와 Name
      • Name
      • Address
    • IPv4 Address
      • network byte order vs host byte order
    • Resolution
  • 💖 References
  • 💖 Netwrok layer란?
    • Network layer는 어떤 역할을 하나요?
    • Router의 역할
  • 💖 Netwrok layer의 기능
    • Network layer의 2가지 기능
    • ⚡ forwarding
    • ⚡ routing
  • 💖 Network layer 내부의 두 plane
    • Plane
      • ⚡ Data Plane
      • ⚡ Control Plane
      • Software-Defined Networking (SDN) control plane
  • 💖 Network service model
    • Internet service model
      • best effort service
  • 💖 Internet Protocol (IP) Version 4
    • Internet Protocol의 service
      • ⚡ Unreliable
      • ⚡ Connectionless
  • 💖 IP Header
    • IPv4의 Datagram
      • ⚡ version
      • ⚡ IHL
      • ⚡ Total Length
      • ⚡ Identification
      • ⚡ TTL(Time-to-live)
      • ⚡ Protocol
      • ⚡ Header Checksum
    • IPv6의 Datagram
      • ⚡ Next Header
  • 💖 IPv4 Options
    • ⚡ No operation
    • ⚡ Record route
    • ⚡ Pointer
    • ⚡ Source Route Options
      • Strict Source Route Options
      • Loose Source Route Options
    • ⚡ Timestamp Option
  • 💖 IP Addressing
    • IPv4의 주소 notation
    • IPv6의 주소 notation
      • IPv6의 Simplification
  • 💖 Classful Addressing
    • Class 별 Network ID
      • Class D: Multicase address
      • class E
    • class 별 Default Mask
  • 💖 IP Header
    • IPv4의 Datagram
      • ⚡ version
      • ⚡ IHL
      • ⚡ Total Length
      • ⚡ Identification
      • ⚡ TTL(Time-to-live)
      • ⚡ Protocol
      • ⚡ Header Checksum
    • IPv6의 Datagram
      • ⚡ Next Header

[42. Netword Address Translation (NAT)]

  • 💖 Network Address Translation
    • 필요한 배경
    • 변환 방식
    • NAT 방식의 장단점
      • 장점
      • 단점

[43. Adress Resolution Protocol (ARP)]

  • 💖 MAC Address
    • MAC 주소란?
      • MAC 주소의 예시
    • Layer 관점에서의 MAC 주소
  • 💖 ARP
    • ARP란?
    • ARP의 동작 방식
    • ARP cache
      • 예시
    • Gratuitous ARP
      • 예시
      • 왜 필요한가요?
    • Routing to Another Subnet
  • 💖 DHCP
    • Dynamic Host Configuration Protocol
    • DHCP의 과정
  • 💖 Internet Control Message Protocol (ICMP)
    • ICMP
    • ICMP의 format
      • 기본 메시지 포맷
      • ICMP의 datafield
    • ICMP message types
      • ⚡ Time Exceeded
      • ⚡ ICMP redirect message
      • ⚡ Traceroute
      • Stopping criteria
  • 💖 Multiprotocol label switching (MPLS)
    • MPLS
      • circuit switching과 packet switching
      • Virtual Circuit
    • MPLS가 사용되는 시나리오
    • MPLS signaling
  • 💖 HTTP와 Web
    • HTTP 개요
      • server와 client
      • HTTP의 layer
      • stateless
  • 💖 Persistent HTTP
    • HTTP의 두가지 종류
    • ⚡ Non-persistent HTTP
      • Non-persistent HTTP 동작
    • ⚡ Persistent HTTP(HTTP/1.1)
      • Persistent HTTP의 등장 배경
      • Persistent HTTP
      • Persistent HTTP with pipelining
  • 💖 HTTP request message
    • Reuest message header
      • ⚡ Host
      • ⚡ User-Agent
      • ⚡ Accept-Encoding
      • ⚡ Connection
    • Request message format
  • 💖 HTTP response message
    • response message 예시
    • response status codes
  • 💖 Cookies
    • 예시
      • tracking a user’s browsing behavior
  • 💖 Domain Name Service
    • Top-Level Domain
    • Internet Assigned Numbers Authority
      • Delegation record
    • DNS Zone
    • DNS Records
      • 기본 포맷
      • Type=A
      • Type=NS
      • Type=CNAME
      • Type=MX
    • DNS Protocol
  • 💖 References
  • 💖 IP Routing Protocols
    • IP Routing Protocol
    • Graph abstraction
    • Routing algorithms의 분류
      • ⚡ Global VS Decentralized
      • ⚡ Static VS Dynamic
    • Autonomous Symstems(AS)
  • 💖 Intra-AS routing과 Inter-AS routing
    • ⚡ Intra-AS Routing Protocols
      • 💛 Routing Information Protocol(RIP)
      • 💛 Enhanced Interior Gateway Routing Protocol(EIGRP)
      • 💛 Open Shortest Path First(OSPF)
    • ⚡ Inter-AS routing
      • 💛 BGP
  • 💖 Routing Algorithms
    • ⚡ link state algorithm
      • 예시
      • Discussion
      • Dijkstra’s algorithm: oscillations possible
    • ⚡ Distance vector
      • Bellman-Ford Equation
      • Good news travels fast
  • 💖 References

About

인하대학교 컴퓨터네트워크 전공수업(CSE3212-002) 전범위 필기노트

Resources

Stars

Watchers

Forks

Packages

No packages published