본문 바로가기

COMPUTER SCIENCE/Network19

[Network] Network Layer:The Control Plane network control plane 을 설계하는 방법에는 두 가지가 있다. Per-router control 전통적인 방법으로, 각각의 모든 router 의 routing algorithm 이 control plane 내의 다른 router 들과 forwarding tables 를 계산하기 위해 상호작용한다. OSPF 와 BGP 이 per-router 기반의 프로토콜이다. Logically centeralized control logically centralized controller 가 각각의 모든 router 에 사용되는 forwarding tables 를 계산하고 분배한다. controller 는 각각의 router 에 있는 CA (control agent) 와 상호작용한다. 보통 CA 는 co.. 2023. 2. 3.
[Network] Network Layer:The Data Plane - IP(Internet Protocol) IPv4 Datagram Format datagram header 에는 다음과 같은 값들이 존재한다. Version number :IP protocol 의 version. IPv4 인지 IPv6 인지 알려주며 다른 version 의 IP 는 다른 datagram formats 을 사용함. 4 bits Header length : IP header 의 길이. 4 bits Type of service (TOS) : TOS bits 는 다른 종류의 IP datagrams 를 구분하도록 한다. 특히, real-time datagram 과 non-real-time traffic 을 구분할 때 유용하다. Datagram length : bytes 로 측정된 IP datagram 의 총 길이. 16bits 이므로 이.. 2023. 1. 26.
[Network] Network Layer:The Data Plane - What's Inside a Router router 는 Input ports, Switching fabric, Output ports, Routing processor 로 구성된다. Input port Line termination 과 Data link processing 은 input link 에 대해 physical layer 과 link layer 를 구현한 것이다. 각각 전기신호를 받아 frame 으로 만들어 주고, frame 을 packet 으로 만드는 역할을 한다. input port 에서 수행되는 lookup 이 router 의 핵심 동작이다. router 는 forwarding table 을 사용하여 도착한 packet 이 swtiching fabric 을 통해 어떤 output port 로 나갈지 찾는다. forwarding .. 2023. 1. 24.
[Network] Network Layer - Overview host H1 과 host H2 가 있고 그 사이의 path 에는 몇몇 router 들이 있다. H1 이 H2 로 information 을 보낸다고 가정하고 network layer 의 역할을 생각해보자. H1 의 network layer 는 H1 의 transport layer 를 통해 segments 를 받고, 각각의 segment 를 datagram 으로 캡슐화 시킨 후, 가까운 router 인 R1 으로 datagrams 를 보낸다. receiving host 인 H2 에서는, network layer 가 가까운 router 인 R2 를 통해 datagrams 를 받고, transport-layer segments 를 추출한 후, segments 를 H2 의 transport layer 로 보낸다.. 2023. 1. 23.
[Network] Transport Layer - TCP : Connection-Oriented Transport - (2) Reliable Data Transfer TCP 는 IP 의 unreliable service 위에 reliable data transfer service 를 만든다. 따라서, process 가 TCP receiver buffer 에서 읽어온 data stream 은 ucorrupted, without gaps, without duplication, 그리고 in-sequence 를 보장한다. TCP 는 pipelined segments, cumulative acks, single retransmission timer 의 특징을 가지며, timeout events 와 duplicate acks 에 의해 retransmission 이 작동한다. TCP sender events TCP sender 에서 dat.. 2023. 1. 16.
[Network] Transport Layer - TCP : Connection-Oriented Transport - (1) TCP Connection TCP 는 connection-oriented protocol 이다. 데이터 교환 전에 반드시 "handshake" 를 통해 TCP connection 을 생성한다. TCP connection 은 full-duplex service 를 제공한다. 프로세스 간 TCP connection 이 있다면, 프로세스 간 양방향 통신(bi-directional data flow)이 가능하다. 또한, TCP connection 은 항상 single sender 와 single receiver 를 가지는 point-to-point 이다. TCP connection 이 생성되면, 두 application process 가 서로 데이터를 보낼 수 있게 된다. client process 가 serv.. 2023. 1. 12.
[Network] Transport Layer - Principle of Reliable Data Transfer reliable data transfer 는 unreliable channel 위에서 구현되었기 때문에 복잡하고 어렵다. 그 예로, TCP 는 unreliable 한 IP 위에 구현된 reliable data transfer protocol 이다. rdt3.0 : Stop-and-Wait Protocol rdt3.0 은 stop-and-wait protocol 로 packet 을 보내고 멈춘 후 ackowledgment 를 기다리는 동작을 한다. sender 와 receiver 는 다음과 같은 대원칙을 따른다. sender는 pkt 를 보내면서 timer 를 작동한다. 보낸 pkt 에 해당하는 ack 을 받으면 다음 pkt 을 보낸다. 만약 timeout 이 발생하면 이전에 보낸 pkt 를 다시 재전송한.. 2023. 1. 6.
[Network] Transport Layer - Connectionless Transport: UDP UDP 는 application process 의 message 를 가져와 몇 가지 filed 를 붙여 만든 segements 를 network layer 로 보낸다. network layer 는 segement 를 IP datagram 으로 캡슐화해 best-effort 시도를 한다. segment 가 host 에 도착하면 port number 를 사용해 올바른 process 로 data 를 전달한다. UDP 는 segment 전송 전에 sender 와 receiver 사이에 handshaking 이 없어, conntectionless 하다고 한다. UDP 를 사용하는 대표적인 application-layer protocol 로 DNS 가 있다. DNS application 이 DNS query mes.. 2022. 12. 8.
[Network] Transport Layer - Service and Multiplexing & Demultiplexing Transport-Layer Service transport-layer protocol 은 다른 host 들에서 실행되는 application processes 사이에 logical communication 을 제공한다. host 들은 실제로 많은 routers 와 data links 로 연결되어있지만, logical communication 에 의해 host 들이 직접적으로 연결된 것 처럼 보인다. transport-layer protocol 은 network routers 가 아닌 end systems 에서 구현된다. sending side 에서는 transport layer 가 application message 를 segment 라는 단위로 쪼개서 end system 의 network layer .. 2022. 11. 30.