CS/컴퓨터 네트워크

CS/컴퓨터 네트워크

컴퓨터 네트워크컴퓨터 네트워크 23일차 :

다음 그림에서 보면 a노드가 이제 링크 레이어 프레임을 b한테 보내려고 하는 시나리오입니다. 그래서 여기 에 노드가 같은 서브넷 안에 있는 b한테 이제 프레임을 보내려고 해요. 그럴 때 a는 프레임 destination으로 이제 b의 맥 주소를 적어서 보내야 되겠죠. 그렇지 않으면은 이 노드가 메시지를 수락하지 않겠죠. 그리고 b의 경우에는 만약에 이 프레임을 받으면은 1차적으로 이 링크 레이어 주소 맥 주소를 보고서 만약에 내 것이 맞다라고 하면 이제 상위 레이어인 이제 네트워크 레이어로 올려보내줄 겁니다. 그리고 만약에 예를 들어서 이 c가 이 목적지 맥주소가 b인 요소로 돼 있는 걸 받았다면, 내 것이 아니니까 discard 하게 될 겁니다. BROADCAST ADDRESS 맥주소에서는 특정 des..

CS/컴퓨터 네트워크

컴퓨터 네트워크컴퓨터 네트워크 21일차 : Distance Vector 알고리즘(2)

1. Distance Vector 알고리즘 벡터 알고리즘 부분 남은 부분을 진행하도록 하겠습니다. Distance Vector 알고리즘이 어떻게 자신의 라우팅 테이블을 어떻게 업데이트하는지 그 과정을 한번 보겠습니다. 1-1. Distance Vector : Bellman-Ford equation Distance Vector 알고리즘이 업데이트할 때 사용하는 식이 있습니다. 이 식을 Bellman-Ford equation(벨만 포드 이큐에이션)이라고 합니다. 근데 이게 단순히 디스턴스 벡터 알고리즘에만 사용되는 건 아니고 우리 강화 학습이나 여러 알고리즘에서 지속적으로 업데이트하기 위한 업데이트 식으로 많이 적용이 되는 이큐에이션입니다. 1-2. Distance Vector 알고리즘의 간단한 토폴로지 위..

CS/컴퓨터 네트워크

컴퓨터 네트워크 20일차 : 라우팅 알고리즘, 다익스트라 알고리즘, link state, distance vector

포워딩하기 위해선 포워딩 테이블이 필요합니다. 포워딩 테이블을 생성하는 역할을 하는 것은 control plane입니다. 제어하는 정보들이 오고다니는 부서이죠. 1. 라우팅 알고리즘 네비게이션에서 목적지를 지정하고 가는 경로는 추천받는데, 네비게이션마다 추천 경로가 다를 수 있습니다. 네트워크에서도 마찬가지 입니다. 트래픽을 소스에서 목적지까지 구할 겁니다. 네트워크 사업장마다 라우팅하는 목적은 조금씩 다를 수 있습니다. 속도, 요금, congestion 매트릭을 규정하기 나름입니다. 1-1. 라우팅 알고리즘의 목적 source 라우터에서 목적지 라우터까지 좋은 길(good path)을 찾는 겁니다. good path란 어떤 비용을 최소화해주는 거리를 말합니다. 비용은 사업자들마다 정의하는 기준(거리, ..

CS/컴퓨터 네트워크

컴퓨터 네트워크 19일차 : 라우터 기능, 방화벽

오늘은 고가의 장비 라우터에 대해 알아보겠습니다 : ) 라우터에서 포워딩을 하려면 당연하게 포워딩 테이블이 준비되어 있어야 합니다. 포워딩 테이블은 바로 라우팅 알고리즘에 의해서 만들어 집니다. 일단은 포워딩 테이블이 있다고 가정하고, 어떻게 포워딩이 이뤄지는지 알아보도록 하겠습니다. 1. 라우터 핵심기능 라우터에서 제공하는 2가지 핵심기능이 있습니다. 첫번째 기능으로는 라우팅 알고리즘을 수행합니다. 라우팅 알고리즘을 지원하기 위한 프로토콜도 존재합니다. 두번째 기능으로는 라우팅 알고리즘에 의해서 도출된 포워딩 테이블을 기반으로 실제 포워딩을 지원합니다. 위의 그림에서 점선은 control plane(위)과 data plane(아래)을 나눠주는 점선입니다. 1-1. routing processor con..

CS/컴퓨터 네트워크

컴퓨터 네트워크 18일차 : IP addressing, DHCP, NAT

1. IP addressing IP주소가 어떻게 할당되고, IP주소 갖는 의미에 대해서 알아보도록 하겠습니다. 우선 지난 시간 배웠던 인터페이스를 살짝 다시 들춰보겠습니다. 1-1. IP4 addressing : interface LAN카드, 이더넷포트 등을 인터페이스라고 합니다. 호스트 라우터와 피지컬 링크 사이의 연결점입니다. 호스트가 링크랑 연결하기 위한 네트워크 카드가 있을텐데 이것을 인터페이스라고 합니다. wireless LAN 카드 / 이더넷 카드 = 인터페이스 라우터는 여러 링크를 연결시켜주는 역할을 하기 때문에 굉장히 많은 인터페이스를 가지고 있습니다. 아래 구멍들이 전부 인터페이스가 되는 겁니다. 링크레이어에서 맥 어드레스라는 주소 체계를 사용합니다. 그러면 네트워크에서 사용하는 주소체계..

CS/컴퓨터 네트워크

컴퓨터 네트워크 17일차 : Network layer

1. Network layer 1-1. 네트워크 레이어 2가지 계층 네트워크 레이어에서는 2가지 계층을 다루게 됩니다. 전송계층(data plane)은 실제 데이터가 날라가는 기능을 담당하는 부분이고, 제어계층(control plane)은 데이터가 원활하게 잘 전달되도록 제어메세지들을 다루는 부분입니다. 이 둘은 서로 유기적으로 맞물려 돌아갑니다. 예를 들어 라우터의 경우 이 데이터가 어떤 경로로 가야하는지가 결정이 되어야합니다 라우터에 데이터가 오면 아웃풋 3번 포트로 가야하면 전달이 되겠죠. 이 과정을 data plane이라 합니다. end to end를 따라 라우팅 알고리즘이 돌아가는 과정을 control plane이라고 합니다. 1-2. 네트워크 계층 : segment -> datagram enc..

CS/컴퓨터 네트워크

컴퓨터 네트워크 16일차 : TCP congestion control

15일차는 소켓프로그래밍 과제 리뷰였기 때문에, 비공개 상태로 저만 볼 수 있게 올렸습니다 ^^ 16일차 드디어 네트워크 레이어에 대해 공부 시작했습니다~! 1. congestion control flow control은 리시버가 받을 수 있는 속도만큼만 보내자라는 원리였습니다. 네트워크 상태 상관없이 upper bound를 결정해주는 요소였습니다. congestion control은 네트워크가 감당할 수 있는 만큼 윈도우 사이즈를 결정하는 알고리즘 입니다. 1-1. congestion control이 왜 필요할까요? 네트워크가 congestion이 심하다는 것은 네트워크가 막힌다는 뜻 입니다. 막히게 되었을 때 전조증상으로 알 수 있는 것은 packet loss가 많이 발생할 것이고, delay가 크게..

CS/컴퓨터 네트워크

컴퓨터 네트워크 14일차 : fast retransmit / flow control / connection management

1. fast retransmit TCP는 timeout 값을 결정하는 것이 중요합니다. TCP는 RTT 값을 측정해서 timeout의 기준점을 삼습니다. 문제는 RTT는 변동성이 심하다는 것입니다. 이 변동성을 잡아주기 위해서 moving average를 활용했습니다. 과거까지 moving average를 한 것과 현재 측정한 RTT를 가중치 평균을 해서 계속 업데이트 해 나갑니다. 여기에 또 safety margin을 붙입니다. 이는 편차에 대한 moving average 값입니다. TCP에서 ack을 piggybacked 해서 날아갑니다. ack만 날아가는 패킷을 최대한 줄여보기 위해 생겼죠. ack을 지연시키는 delayed ack이라는 기법을 사용해서 데이터에 같이 ack 실어서 보냅니다. 1-..

SHIN SANHA
'CS/컴퓨터 네트워크' 카테고리의 글 목록