Computer Science/Network

ICMP는 단어 그대로 인터넷상에서 보내고 받고 하는 많은 control에 대한 처리를 해주는 protocol이다. host나 router에 의해서 사용되며, error reporting : 호스트,네트워크 포트, 프로토콜이 도달하지 못했을 때 같이 다양한 유형의 오류를 탐지하고 보고한다. ping을사용한 echo echo가 다시 도착하는지 확인한다. ICMP 자체는 네트워크 계층의 프로토콜인데 IP 위에 있다. ICMP 메시지는 IP datagram을 운반한다. ICMP message는 type,code + 8byte 정도의 message로 IP datagram에 들어간다 아래와 같이 말이다. type 0 -> echo reply type 3 -> 도착을 못햇고, 상세한 분류는 code를 통해서 분류할..
Per-router control plane 각각의 라우터 별로 라우팅 알고리즘을 수행한다. 그래서 라우터별로 forwarding table을 유지하고 있다. Routing 하는 부분이 control plane이고, forwarding 하는 부분은 data plane이다. SDN remote 하게 떨어져 있는 controller가 각각의 CA(local control agent)와 상호작용한다. CA에서는 forwarding table을 계산한다. 라우터별로 CA가 있고, 중앙 장치는 CA로부터 정보를 받아서 라우팅 알고리즘을 수행한다. SDN은 다음과 같은 이유에서 필요하다. 더 쉬운 네트워크 관리 테이블 기반 포워딩은 라우터를 프로그래밍하는 것을 가능하게 해 준다. 중앙집중화된 프로그래밍은 테이블을 ..
라우팅 알고리즘을 들어가기 전에 기본 개념을 정리하겠습니다. 라우터는 들어온 패킷들을 전송하는 Forwarding 기능과, 어디로 패킷을 보낼지 결정하는 Routing 기능이 있습니다. Forwarding을 담당하는 부분을 data plane, Routing을 담당하는 부분을 control plane이라고 합니다. network control plane을 구조화하는 두 가지 접근 방식이 있습니다. 전통적으로는 per -router control 방식과 SDN 방식이 있습니다. 간략하게 설명하자면 per-router control 방식은 각각의 라우터별로 라우터 별로 forwarding table을 가지고 있고, Routing 알고리즘을 수행합니다. data plane과 control plane이 같이 묶..
라우터는 들어온 패킷들을 전송만 해주는 Forwarding과 어디로 보낼지 결정하는 Routing 기능이 있습니다. 여기서 결정하는 방법은 forwarding table을 보고 결정해 줬습니다. 이러한 방법을 Destination - based forwarding이라고 합니다. 다음은 더 발전된 개념인 generalized forwarding이 있습니다. header field의 값을 통해서 다양한 작업인 drop, copy, modify, log packet 수행하는 것입니다. Flow table header field의 값을 활용해서 동작을 처리하는 것이 generalized forwarding입니다. Flow table에는 match와 action이 있습니다. 패킷의 헤더값들을 매치해서 어떠한 pa..
32bit IP address방식인 IPv4가 충분하지 않아서 더 많은 host에게 주소를 할당하기 위해서 사용하는 것이 NAT이다. NAT(network addres translation) Nat은 네트워크에서 IP 주소를 변환하는 프로세스를 말합니다. 여러 장치가 하나의 IPv4 address를 공유하여 인터넷에 연결할 수 있도록 도와줍니다. rest of internet을 통해서 나가는 datagram들은 동일하게 138.76.29.7이라는 NAT IP address를 가집니다. 하지만 오른쪽을 보면 port 번호가 다르다는것을 알 수 있습니다. NAT의 장점 여러장치가 하나의 공인 IP 주소를 공유할 수 있기에, IP 주소의 효율적인 사용이 가능하고, IPv4 주소의 고갈 문제를 완화할 수 있습니..
IP address 일반적으로 IP 프로토콜에서는 호스트와 라우터 인터페이스를 구분하기 위해 IP 주소를 사용합니다. IP주소는 32bit로 이루어져 있으며, 4개의 바이트를.으로 구분하여 표시합니다. ex) 223.1.1.1 = 11011111 00000001 00000001 00000001 Interface 네트워크 장비 또는 컴퓨터 시스템의 논리적 또는 물리적인 연결을 의미합니다. 간단하게 말하면, 인터페이스는 네트워크 장비가 다른 장비 또는 네트워크와 통신하기 위해 사용하는 연결점이라고 할 수 있습니다. 라우터는 여러 개의 인터페이스를 가질 수 있고, 호스트는 하나 혹은 2개의 인터페이스를 가질 수 있습니다. 각 인터페이스는 서로 다른 IP주소를 가지며, 다른 네트워크와 연결될 수 있습니다. 네트..
Network Layer 이번글에서는 IP protocol에 대해서 써볼까 합니다. 인터넷프로토콜(IP, Internet Protocol) 송신호스트와 수신 호스트가 패킷을 교환할 때 사용되며, 데이터 패킷을 목적지로 전달하는 역할을 수행합니다. IP protocol은 비연결성 프로토콜로, 데이터의 신뢰성을 보장하지 않습니다. 하지만 이러한 IP 프로토콜은 Transport 계층에 TCP, UDP와 함께 사용될 수 있어, 부족한 점을 보완할 수 있습니다. IP Datagram format 기본적으로 IP header는 패킷을 어디로 어떻게 보낼지에 대한 정보를 담고 있습니다. ver IP 프로토콜의 버전 정보 ex) IPv4, IPv6 헤더 길이 IP datagram 헤더의 길이를 나타낸다. 일반적으로 ..
이번 글은 Network Layer에 대해서 설명해 보겠습니다. 우선 Network Layer는 Transport Layer 아래에 위치합니다. Network layer의 핵심 기능 Forwarding data plane이 담당 패킷이 들어왔을 때, 보내주는 기능 Routing control plane이 담당. 들어온 패킷을 어디로 보낼지 판단하는 기능 판단하는 과정을 Routing table을 보고 판단함. 간단하게 두 기능을 여행에 비유해 설명해 보자면, forwarding은 여행을 하는데 고속도로를 통과하는 것처럼 그저 나아가는 작업입니다. routing은 여행에서 출발지에서 목적지까지의 경로를 계획하는 과정입니다. 자 그러면 이러한 기능들을 해주는 Data plane과 Control plane은 ..
이전 글에서는 congestion control을 해야 하는 이유에 대해서 설명했습니다. 중요 단어를 짚고 넘어가자면, cwnd (congestion window) sender가 ack를 받기 전에 보낼 수 있는 패킷양을 의미합니다. cwnd값이 증가하면 더 빠르게 데이터를 전송할 수 있다. 이 값을 적절하게 잘 조절하는 것이 congestion control의 목표이다! 이번 글에서는 어떤 식으로 혼잡을 회피하는지에 대해서 설명하겠습니다. AIMD (Additive Increase & Multiplicative Decrease) 말 그대로 합 증가, 곱 감소 알고리즘이다. 패킷 로스가 발생하지 않는다면 전송률을 점진적으로 증가시키다가, loss가 감지되면 전송률을 반으로 감소시키는 방식이다. AIMD ..
재한
'Computer Science/Network' 카테고리의 글 목록 (2 Page)