본문 바로가기

컴퓨터 네트워크/Computer Networking 정리

(27)
CH4 : Network Layer (4) * 이 글에 관련된 모든 내용은 Computer Networking A Top-Down Approach 7th에서 가져온 내용이다. * IPv6 IPv6가 나오게된 배경은 그동안 말했듯이 IPv4의 주소부족현상 때문이다. 때문에 주소의 bit수를 늘려서 더 많은 주소를 처리할 수 있게끔 한다. 또한 IPv4에 비해 헤더도 바뀌었는데, 목적은 더 빠른 프로세싱과 QoS를 지원하기 위해서다. 헤더의 변화는 다음과 같다. 한눈에 보기 편한 그림이 있어서 가져왔다. 일단 헤더의 길이는 기존 IPv4에서는 가변이었다. (20~60) 그러나 IPv6에서는 헤더의 크기가 40으로 고정이기 때문에 헤더의 길이에 대한 부분과 옵션에 대한 부분이 없어졌다. 또한 IPv6는 fragmentation을 지원하지 않는다. 때문..
CH4 : Network Layer (3) * 이 글에 관련된 모든 내용은 Computer Networking A Top-Down Approach 7th에서 가져온 내용이다. * DHCP(Dynamic Host Configuration Protocol) DHCP는 host가 켜졌을 때 자동으로 네트워크를 찾게 해주는 프로토콜이다. (예를 들어 우리가 컴퓨터를 키면 컴퓨터가 자동으로 네트워크를 찾아주듯이) DHCP서버는 전원이 켜진 host에게 자신의 서브넷 네에서 사용할 수 있는 IP를 할당해주는데, 한번 IP를 주고나서 host가 네트워크를 사용하지 않는데도 IP를 할당받은 채로 있으면 IP주소의 낭비가 발생한다. 따라서 lifetime도 함께 넘겨줘서 해당 시간내에 다시 요청이 오지 않으면 클라이언트는 할당받은 IP를 반납하는 식으로 구성된다..
CH4 : Network Layer (2) * 이 글에 관련된 모든 내용은 Computer Networking A Top-Down Approach 7th에서 가져온 내용이다. * IPv4 Addressing 각 인터넷 host들은 universally하게 uinque한 IP 주소를 가지고 있다. 라우터와 Layer1 (피지컬 레이어)사이에 있는 인터페이스를 NIC라고 한다. (Network Interface Card) IP는 이 인터페이스의 포트에 적용된다. 한 라우터에 여러개의 호스트가 접근해야 하기 때문에 Multi-homed라고 한다. 여러개의 IP가 접근해 오는 포트를 IP로 구분할 수 있다. IP주소는 계층적 구조를 가진다. network number + host number (총 32비트)로 이루어져 있는데, 같은 network에 존재..
CH4 : Network Layer (1) * 이 글에 관련된 모든 내용은 Computer Networking A Top-Down Approach 7th에서 가져온 내용이다. * 네트워크 레이어 목적지 IP를 base로 하여 host to host간의 패킷 전송을 담당한다. 네트워크 레이어에는 두가지 기능이 있다. 1. Data plane (데이터 전송 담당) - fowarding : 현재 라우터에서 적당한 라우터로 패킷을 어떻게 전송할 것인가? - Per-router fucntion : local의 하나의 라우터에서만 작동한다. 2. Control plane (전송 제어 담당) - routing : source로부터 destination까지 패킷의 route를 어떻게 결정할 것인가? - Network-wide function : Data pla..
CH3 : Transport Layer (5) * 이 글에 관련된 모든 내용은 Computer Networking A Top-Down Approach 7th에서 가져온 내용이다. * Congestion Control 이미 여러번 언급했지만 이번강의에서는 congestion control에 대해 자세히 알아본다. Congestion 라우터가 처리할 수 있는 용량보다 많은 packet이 들어오게 되면 congestion이 일어난다. congestion이 일어나면 크게 두가지 상황이 발생한다. 1. packet loss (라우터의 buffer가 overflow가 나서 패킷이 로스된다) 2. long delays (라우터의 queue가 매우 혼잡하여 처리과정이 느리다) 이러한 문제가 발생하지 않게 사전에 예방을 해야하는데 방법은 sendring rate를 ..
CH3 : Transport Layer (4) * 이 글에 관련된 모든 내용은 Computer Networking A Top-Down Approach 7th에서 가져온 내용이다. * Reliable Data Transfer - TCP는 SR ARQ방식과 비슷한 매커니즘을 사용한다. 그러나 SR처럼 WS를 정해놓지 않고 이 WS는 dynamic하게 변한다. 이때 이 WS는 flow control과 congestion control의 영향을 받는다. - cumulatvie ACK을 사용하고 다음에 받아야할 seq num을 보낸다 예를 들어 현재 seq num 1000번까지의 데이터를 받았다면 ack(1001)을 보낸다. - 재전송을 지원한다. timeout이 일어나면 재전송을 하는데 이때 이미 온 ACK에 대해서 똑같은 ACK이 3번오게되면 timeou..
CH3 : Transport Layer (3) * 이 글에 관련된 모든 내용은 Computer Networking A Top-Down Approach 7th에서 가져온 내용이다. * 이전글에서는 UDP와 ARQ에 대해서 배웠다. 이번글에서는 TCP에 대해 자세하게 다룰 예정이다. TCP(Transmission Control Protocol) - 여러번 얘기했듯이 TCP는 연결지향형 프로토콜이다. 3-handshaking을 통해 상호간의 connection을 생성한 뒤 소통한다. - 1:1방식의 프로토콜이다. - full-duplex data 방식을 지원한다. full-duplex와 다른 개념에는 half-duplex, simplex가 있다. simplex : 단방향 통신, A는 B에게 또는 B는 A에게로만 통신할 수 있음 half-duplex : 양..
CH3 : Transport Layer (2) * 이 글에 관련된 모든 내용은 Computer Networking A Top-Down Approach 7th에서 가져온 내용이다. * Reliable data transfer 데이터전송을 reliable하게 하는 방식에는 두가지가 있다. 1. Forward Error Correction (FEC) - 반복되는 bit를 더해 리시버가 에러를 체크하게끔 한다. - 예를들어 센더는 1을 보낼때 111을 보내고, 2를 보낼때 222를 보낸다. 만약 111이 가는중에 에러가 발생하여 101이 도착했다면 리시버는 많이나왔던 1을 실제로 온 데이터로 받아들여 1이라고 인식한다. 2. Retransmission - 에러가 나면 재전송하는 기능이다. - ARQ(Automatic Reapeat Request)라고도 하며..