IP의 한계와 포트IP는 신뢰할 수 없는 통신과 비연결성 통신을 수행한다는 한계가 있다. 전송계층은 이런 한계를 극복하고, 포트 번호를 통해 응용 계층의 애플리케이션 프로세스들을 식별하는 역할을 수행한다.신뢰할 수 없는 통신IP는 크게 IP 단편화와 IP 주소지정을 한다고 했는데, 이것 외에도 두 가지 특징이 있다.신뢰할 수 없는(비신뢰성) 프로토콜 : IP 프로토콜이 패킷이 수신지까지 제대로 전송되었음을 보장하지 않는다.비연결성 프로토콜 : 송수신 호스트 간에 사전 연결 수립 작업을 거치지 않는다.IP가 이런 특징을 가지고 있는 이유는 성능 때문이다. 패킷이 제대로 전송되었음을 처리하는 작업과 호스트 간에 연결을 수립하는 작업은 패킷의 빠른 송수신과는 배치되는 작업이기 때문이다.IP의 한계를 보완하는 ..
도서 정리/혼자 공부하는 네트워크
라우터라우터의 핵심 기능은 패킷이 이동할 최적의 경로를 설정하고 패킷을 이동시키는 것이다. 이를 라우팅이라고 한다.라우터는 네트워크 계층의 핵심 기능을 담당한다. 일반적으로 가정 환경에서는 공유기가 라우터의 역할을 대신한다. 이런 점에서 공유기를 홈 라우터라고 부르기도 한다.멀리 떨어진 호스트 간의 통신 과정에서 패킷은 여러 라우터를 거쳐서 이동하는데, 이렇게 호스트와 라우터 혹은 라우터와 라우터간의 이동을 홉이라고 부른다. 패킷은 여러 홉을 거쳐 라우팅될 수 있다.라우팅 테이블라우팅의 핵심은 라우터가 저장하고 관리하는 라우팅 테이블이다. 라우팅 테이블은 특정 수신지까지 도달하기 위한 정보가 담겨있다.라우팅 테이블에 포함된 정보는 라우팅 방식과 호스트 환경에 따라 달라질 수 있으므로, 공통적 정보이자 핵..
IP 주소는 크게 네트워크 주소와 호스트 주소로 이루어진다. 네트워크 주소는 호스트가 속한 특정 네트워크를 식별하는 역할을 하며, 호스트 주소는 네트워크 내에서 특정 호스트를 식별하는 역할을 한다.네트워크 주소와 호스트 주소네트워크 주소는 네트워크 ID, 네트워크 식별자 등으로 부르기도 하며, 호스트 주소는 호스트 ID, 호스트 식별자 등으로 불린다.다음은 네트워크 주소가 16비트, 호스트 주소가 16비트인 IP 주소의 예시이다.이때 네트워크 주소가 늘어나면 더 많은 네트워크를 표기할 수 있고, 호스트 주소가 늘어나면 더 많은 호스트를 표기할 수 있다. 어떻게 해야 적절한 크기를 설정할 수 있을지 고민이 생기게 되는데, 이를 해결하기 위한 개념이 IP 주소의 클래스이다.클래스 풀 주소체계클래스는 네트워크..
네트워크 계층LAN을 넘어서 다른 네트워크와 통신하려면 물리 계층과 데이터 링크 계층만으로는 어렵다. 네트워크 간의 통신을 위해선 네트워크 계층이 필수적이다.어째서 물리 계층과 데이터 링크 계층만으로 다른 LAN을 넘어서 통신하기가 어려울까? 그 이유는 다음과 같다.물리 계층과 데이터 링크 계층 만으로는 다른 네트워크까지의 도달 경로를 파악하기 어렵다.물리 계층과 데이터 링크 계층은 LAN 내의 호스트끼리 통신하는 계층이지만, 우리는 LAN내의 호스트끼리만 통신하지 않는다. 멀리 떨어진 호스트와 통신하기 위해선 여러 네트워크 장비를 거쳐 통신해야 한다.네트워크 장비를 거쳐서 통신해야 하는데, 기왕이면 효율적인 경로라면 좋을 것이다. 이렇게 효율적인 경류를 결정하는 것이 라우팅(routing)이다. 이런 ..
스위치허브는 주소 개념이 없는 물리 계층 장비이기 때문에 전달받은 신호를 다른 모든 포트로 내보내기만 한다. 또 반이중 모드를 사용하기 때문에 충돌의 위험성이 있으며, CSMA/CD 프로토콜을 사용하여 완화하는 방법이 있지만 좀 더 근본적인 있으면 좋을것같다. 스위치를 사용하면 이런 문제로부터 벗어날 수 있다.스위치는 데이터 링크 계층 장비이기 때문에 MAC주소를 사용하여 수신을 받아야 하는 장치에만 신호를 보낼 수 있다. 또 전이중 모드를 사용하기 때문에 신호의 송수신을 동시에 수행할 수 있다.스위치의 특징스위치는 포트에 연결된 호스트의 MAC 주소와의 관계를 기억할 수 있다. 이 것을 MAC 주소 학습(MAC address learning)이라 부른다.스위치는 MAC 주소 학습을 위해 포트와 연결된 ..
허브와 스위치통신매체를 통해 호스트끼리 메시지를 전달하는 과정에서 네트워크 장비를 거칠 수 있다. 대표적인 네트워크 장비로 물리계층에는 허브가 있고, 데이터 링크 계층에는 스위치가 있다.허브는 현대에선 많이 사용되지 않는 기기이지만, 스위치의 특징을 이해하기 위해서 알아보자.주소 개념이 없는 물리 계층물리계층에는 주소 개념이 없다. 때문에 송수신되는 정보에 대한 어떠한 조작이나 판단을 할 수 없다.하지만 데이터 링크 계층에는 주소 개념이 있다. MAC 주소가 여기에 속하는데, 이 주소를 통해서 송수신되는 정보에 대한 조작이나 판단을 할 수 있다.허브허브는 물리 계층의 네트워크 장비로, 여러 대의 호스트를 연결하는 기능을 한다. 리피터 허브(repeater hub)라고도 불리고, 이더넷 네트워크의 허브는 ..
NICNIC는 통신 매체에 흐르는 전기, 빛 등 다양한 신호를 호스트가 이해할 수 있는 정보로 변환하는 역할을 담당하는 네트워크 장비이다.NIC는 네트워크 인터페이스 카드, 네트워크 어댑터, LAN 카드, 네트워크 카드, 이더넷 카드(이더넷 네트워크의 경우) 등 다양한 명칭으로 불린다. 카드라는 표현이 붙은 이유는 초기 NIC는 확장 카드 형태로 따로 연결하여 사용했기 때문이다.요즘에는 USB로 연결하거나 마더보드에 내장되는 등 NIC의 형태가 다양해졌다.NIC는 통신 매체에 흐르는 신호를 호스트가 이해하는 프레임으로 변환하는 역할을 한다. 따라서 호스트가 네트워크를 통해 송수신하는 정보는 NIC를 거치게 된다. 이처럼 NIC는 네트워크와의 연결점을 담당한다는 점에서 네트워크 인터페이스(Network I..
이더넷이란?이더넷(Ethernet)은 현대 LAN, 특히 유선 LAN환경에서 가장 대중적으로 사용되는 기술이다.컴퓨터끼리 정보를 주고받으려면 케이블과 같은 통신 매체가 필요하며, 정보를 송수신하는 방법이 정해져야 한다. 이더넷은 다양한 통신 매체의 규격들과 송수신되는 프레임의 형태, 프레임을 주고받는 방법 등이 정의된 네트워크 기술이다.오늘날의 유선 LAN 환경이 대부분 이더넷을 기반으로 구성되어있기 때문에 물리 계층과 데이터 링크 계층은 서로 밀접하게 연관되어 있다.💡 프레임은 데이터 링크 계층에서 사용되는 PDU이다.이더넷이라는 기술이 세상에 등장한 이후 전기전자공학자협회(IEEE; Institute of Electrical and Electronics Engineers)라는 국제 조직을 통해 IE..
프로토콜프로토콜은 노드 간에 정보를 올바르게 주고받기 위해 합의된 규칙이나 방법이다.패킷이 호스트에게 전달되기 위해선 여러 중간노드를 통해서 전달되는데, 패킷을 올바르게 목적지로 보내기 위해선 중간 노드가 패킷에 적힌 주소 정보를 읽고 보내야 한다. 이때 중간 노드가 이해할 수 있는 방식으로 정보가 제공되어야 하기 때문에 프로토콜이 필요하다.패킷이 수신할 노드 또한 패킷에 적힌 내용을 읽고 파악해야 하는데, 이때에도 호스트가 이해할 수 있는 정보로 구성하기 위해서 프로토콜이 필요하다.일반적으로 여러 프로토콜을 함께 사용한다.프로토콜은 여러 종류가 존재하며, 각자의 목적과 특징이 있다. 패킷에는 헤더와 트레일러라는 부가 정보가 포함되는데, 이 정보 또한 프로토콜에 맞게끔 정보가 바뀔 수 있다. 즉, 프로토..
네트워크의 기본 구조네트워크는 그래프의 형태를 띠고 있다. 그래프란 노드와 노드를 연결하는 간선으로 이루어진 자료구조이다.네트워크는 다음과 같이 구성되어있다.노드 : 정보를 주고받을 수 있는 장치간선 : 정보를 주고받을 수 있는 유무선의 통신 매체메시지 : 노드 간 주고받는 정보호스트란?네트워크를 그래프 관점으로 봤을 때 가장 말단에 있는 노드를 호스트라고 한다. 네트워크의 가장자리에 위치한다는 점에서 종단 시스템(end system)이라고도 한다.호스트는 최초로 정보를 생성 및 송신하고, 최종적으로 수신한다. 호스트는 서버 컴퓨터가 될 수도 있고, 개인 데스크톱, 노트북, 스마트폰이 될 수 있다.호스트가 네트워크상에서 특정한 역할을 수행하기도 하는데, 대표적으로 서버와 클라이언트가 있다.서버 : 서비스..