본문 바로가기

컴퓨터 네트워크22

네트워크 17강 - 라우팅 알고리즘 지금까지 라우터의 Data Plane에 대해서 알아봤다. 이번 포스팅부터는 라우터의 두뇌 부분에 해당하는 Control Plane에 대해서 라우팅 알고리즘과 라우팅 프로토콜을 중심으로 알아보자. 라우팅 알고리즘 네트워크 상에는 여러 네트워크 장비들이 있다. 목적지까지 무작위 경로로 갈 순 없으니 경로를 설정해야 하는데 어떤 알고리즘을 사용할까? 라우팅 알고리즘의 분류 : Information Global 모든 라우터가 완전한 링크 정보를 알고 있다 Global한 라우팅 알고리즘을 Link State 알고리즘이라고 한다. 다익스트라 알고리즘이 해당된다. Decentralized 한 라우터는 이웃한 라우더들로 가는 Link 정보와 이웃한 라우터와 목적지까지의 거리를 알고 있다. Distance Vector .. 2020. 8. 16.
네트워크 16강 - ICMP 와 IPv6 이전에 IP 얘기를 하면서 TTL에서 ICMP 얘기가 잠깐 나왔던 것 같다. IP는 데이터 전송이 목적이고 ICMP는 데이터 전송에 대한 메타 데이터를 담당 한다. 즉 전송이 아닌 메타 데이터만 담당하므로 ICMP와 IP는 깊은 연관이 있다. 그리고 IP 주소 고갈 문제를 해결하는 IPv6를 살펴보자. ICMP Internet Contorl Message Protocol의 약자이다. IP 제어를 위해 사용되는 프로토콜이다. 오류 보고, echo reply/ request 를 담당한다. ICMP는 IP 데이터그램에 캡슐화된다. IP 패킷 페이로드 부분에 실린다. ICMP는 직접 전송을 담당하는 프로토콜이 아니기 때문이다. Type과 Code, 오류를 일으킨 IP 데이터그램의 첫번째 8바이트로 구성된다. T.. 2020. 8. 12.
네트워크 15강 - IP 주소 할당 IP는 NIC 식별을 위한 주소이다. 호스트가 어떤 네트워크에 들어갔을 때 IP 주소를 할당받지 않은 상태에서, 즉 그 호스트를 식별할 방법이 없는 상태에서 어떻게 누구와 통신하여 IP 주소를 할당받을까? 이번 글에선 IP주소 할당 방법에 대해서 자세히 알아보자. IP 주소 할당 할당 방법에는 두 가지 방법이 있다. 시스템 파일에다 직접 입력하기 DHCP를 사용 Dynamic Host Configuration Protocol 애플리케이션 계층의 프로로콜이다. 동적으로 IP주소를 할당받는다. DHCP DHCP의 작동방식과 특징 IP를 동적으로 할당해주는 DHCP 서버를 브로드캐스팅 도메인 내에 둔다. 호스트와 DHCP는 서로 브로드캐스팅을 통해 통신할 수 있다. 호스트가 네트워크에 접속해있는 시간동안만 I.. 2020. 8. 11.
네트워크 14강 - Inside Router, IP 라우터는 네트워크 코어를 구성한다. 라우터에 대해 자세히 알아보고 네트워크 계층 프로토콜인 IP에 대해서도 알아보자. 라우터 아키텍처 라우터는 Control Plane과 Data Plane으로 구성된다. Control Plane 라우터의 두뇌 부분에 해당한다. Control Plane의 프로세서가 라우팅 알고리즘을 실행하고 포워딩 테이블을 업데이트한다. 포워딩 테이블 : Input으로 들어온 패킷을 어떤 Output Port로 보낼지 적혀있는 테이블이다. 소프트웨어적이다. Data Plane 빠른 속도를 위해 하드웨어적으로 구현되어 있다. 데이터 전송을 담당한다. Input Port, Switching Fabric, Output Port로 구성되어 있다. Input Port 하위계층 레이어인 Physic.. 2020. 8. 11.
네트워크 13강 - Network Layer의 소개 지금까지 세 포스팅에 걸쳐서 Transport Layer에 대해서 알아봤다. Transport Layer는 프로세스 - 프로세스 간 Logical Communication을 하는데 집중했다면 네트워크 계층에서는 Host - Host 간의 통신을 담당한다. Host - Host 간의 통신이 무엇인지 지금부터 알아보자. 네트워크 계층의 소개 네트워크 계층의 목적 Host to Host 간의 통신을 담당한다. Transport 계층에서 담당했던 Process to Process가 두 소프트웨어 사이의 통신이라면 Host to Host 통신은 물리적인 실체인 Host (PC나 라우터 등) 간의 통신이다. Transport 계층과의 차이 Host 간 전송 Application에게 선택권한 없음 코어에서 구현된다... 2020. 8. 10.
네트워크 12강 - TCP part.3 TCP를 소개하는 마지막 글이다. TCP가 커넥션을 맺는 방법과 Congestion Control을 자세히 알아보자. TCP는 신뢰성 있는 전송을 제공하는 것이 기본적인 목적인 만큼 Control에 관해선 할 말이 많다. TCP 연결 관리 TCP은 Connection Oriented Protocol이다. 데이터 전송을 보장하는 파라미터들을 각자 설정하기 위해 연결을 맺는다. 2 Way Handshaking의 문제점 클라이언트는 서버가 alive 상태인 것을 확인할 수 있다. 하지만 서버는 클라이언트의 SYN 메세지가 언제 전송된 것인지, 혹은 이미 종료된 연결의 SYN 메시지인 지 알 수 없다. 서버 측도 클라이언트가 alive 상태인 것을 확인하기 위해 3 way Handshaking을 한다. 3 Wa.. 2020. 8. 10.
네트워크 11강 - TCP part.2 TCP에 대해 이어서 알아보자. TCP Sender Events TCP 세그먼트를 보내는 측에선 무슨 일을 하는지 알아보자. 애플리케이션 계층에서 데이터가 도착했다. 시퀀스 넘버와 체크섬을 달아서 세그먼트를 만든다. 타이머가 동작중이라면? 타이머는 가장 오래된 전송 중인(In-Flight) 세그먼트(가장 낮은 시퀀스 번호)에 맞춰져 있다. 세그먼트를 보낸지 너무 오래됐으면 도중에 유실된 것으로 판단한다. 이 때 사용하는 시계가 타이머이다. 타이머가 동작중이지 않다면? 타이머를 켜고 해당 세그먼트에 맞춘다. Time Out 발생! Time Out된 세그먼트를 다시 전송한다. Ack를 받지 못한 가장 작은 시퀀스의 세그먼트에 타이머를 맞춘다. Ack를 받았다. 받은 Ack에 해당하는 세그먼트를 In-Flig.. 2020. 8. 10.