전공공부/컴퓨터망 (Computer Network) 18

[컴퓨터망] Network Layer (2) - Switching Fabric

라우터에는 여러 개의 입력 포트와 출력 포트가 존재합니다. 그래서 입력 포트로 들어온 패킷을 포워딩 테이블에 따라 적절한 출력 포트로 보내주어야 합니다. 그래서 정확하게 출력 포트에 패킷을 보내주기 위해 여러 개의 입/출력 포트들이 복잡하게 연결되어 있습니다. 이렇게 입/출력 포트들끼리 얼기설기 엮여 연결되어 있는 모습이 섬유처럼 생겼다고 해서 패킷을 입력 포트에서 출력 포트로 전달해주는 과정을 스위칭 패브릭(Switching Fabric)이라고 부릅니다. 각각의 입/출력 포트에는 큐가 존재하여 먼저 도착한 패킷이 아직 출력되지 못했다면, 큐에서 대기하며 자신의 차례를 기다립니다. 스위칭 패브릭에는 크게 3가지 종류가 존재합니다. 이 방법들을 하나씩 살펴보도록 하겠습니다. 1. 메모리를 이용한 스위칭 (..

[컴퓨터망] Network Layer (1) - Routing & Forwarding

네트워크 계층(Network Layer, NL)은 TCP/IP 5 계층에서 데이터 링크 계층(Link Layer)과 전송 계층(Transport Layer) 사이에 위치하는 계층입니다. 이번 글에서부터는 네트워크 계층에 대해 공부해보려고 합니다. 1. 네트워크 계층이란? 네트워크 계층은 상위 계층인 전송 계층으로부터 세그먼트(Segment)를 전달받아 패킷(Packet)으로 만들어 데이터 링크 계층으로 내려보내 주거나 (송신 측), 데이터 링크 계층으로부터 패킷을 받아 세그먼트로 만들어 전송 계층으로 올려 보내 주는 역할을 합니다 (수신 측). 여기서 패킷은 데이터그램(Datagram)과 같은 의미로 혼용하여 사용합니다. 네트워크 계층에서는 라우터(Router)를 이용해 패킷을 목적지까지 운반합니다. 라..

[컴퓨터망] Link Layer (5) - Ethernet Switch

현재의 이더넷은 스타형 토폴로지를 사용하기 때문에 스위치나 허브의 도움이 필요합니다. 여기서 스위치와 허브의 차이점을 잠깐 짚고 넘어가자면, 허브는 각 노드들이 어디에 위치하고 있는지 MAC 주소에 대한 정보를 저장하지 않기 때문에, 허브가 수신자로부터 데이터를 받으면 자신에게 연결된 모든 노드에 데이터를 뿌려줍니다. 목적지 주소와 맞는 노드만 해당 데이터를 사용하는 방식입니다. 반면에 스위치는 스위치 테이블을 가지고 있어서 목적지 노드에만 데이터를 보내줍니다. 이번 글에서는 이 스위치 테이블에 대해 공부해보도록 하겠습니다. 1. Switch Forwarding Table 포워딩(Forwarding)이란 목적지에 맞게 데이터를 전달해주는 것을 뜻합니다. 즉 스위치 포워딩 테이블은 스위치가 데이터를 어디로..

[컴퓨터망] Link Layer (4) - Ethernet

이더넷은 현재 가장 많이 사용되는 유선 네트워크 기술로, 앞에서 잠깐 공부했던 CSMA/CD 프로토콜을 이용해 통신을 합니다. 물론 이더넷 말고도 토큰 링, FDDI 등의 네트워크 기술들이 존재하지만, 이더넷이 압도적으로 많이 사용되고 있습니다. 이더넷은 LAN(Local Area Network)를 위해 개발된 네트워크 기술로, 현재는 IEEE 802.3 규약으로 표준화되어 있습니다. 이번 글에서는 이 이더넷에 대해 알아보도록 하겠습니다. 1. 물리적 배치 (Physical Topology) 토폴로지란 컴퓨터 네트워크의 요소들을 물리적으로 연결해 놓은 방식을 뜻합니다. 가장 대표적인 3가지 방법에 대해 알아보겠습니다. 1. 버스(Bus) 형 버스 형은 1990년대 중반에 가장 많이 쓰이던 방식으로, 하나..

[컴퓨터망] Link Layer (3) - MAC Address and ARP

이번 글에서는 데이터 링크 계층에서 과연 어떻게 자신이 데이터를 전달해야 할 노드를 찾는지에 대한 공부를 해보겠습니다. 1. Mac 주소 Mac은 Media Access Control의 약자이며, Mac 주소란 네트워크 카드 하드웨어에 부여되어 있는 고유한 물리적인 주소입니다. 네트워크 상에서 통신을 할 때 서로를 구분하기 위한 주소로써, IP 주소만 가지고는 무슨 기기에 해당 IP 주소가 할당되어 있는지 알 수 없기 때문에 IP 주소를 MAC 주소로 변환해주는 과정이 필요합니다. 이 과정을 바로 ARP (Address Resolution Protocol)라고 합니다. 자신의 컴퓨터의 Mac 주소를 알고 싶다면 cmd 창에 ipconfig -all을 실행하면 물리적 주소라는 이름으로 확인할 수 있습니다...

[컴퓨터망] Link Layer (2) - Multiple Access

데이터 링크 계층은 노드와 노드 간의 링크에서의 데이터 교환을 담당하는 계층이라고 공부를 했습니다. 이를 위해 자신이 데이터를 전달해야 하는 노드의 주소를 알고 연결을 하고 데이터를 전송해야 합니다. 주소를 가지고 원하는 노드와 연결하는 방법은 다음 글에서 알아보기로 하고, 오늘은 여러 개의 노드가 동시에 하나의 노드에 데이터를 보내고 싶을 때 어떤 일이 발생하는가에 다뤄보려고 합니다. 여러 개의 노드가 하나의 노드에 접근을 하고 싶어 한다면, 필연적으로 충돌이 발생하게 됩니다. 그래서 이 충돌을 제어해주는 작업이 필요합니다. 이 다중 접근에 대한 해결법은 크게는 3가지 방법으로 분류할 수 있습니다. 1. Channel Partitioning: 주파수든, 시간이든 어떤 기준을 가지고 하나의 채널을 여러 ..

[컴퓨터망] Link Layer (1) - Error Control

가장 먼저 공부해 볼 계층은 바로 데이터 링크 계층으로, 줄여서 Link 계층이라고도 부릅니다. 데이터 링크 계층은 포인트 투 포인트(Point to Point) 간의 신뢰성 있는 전송을 보장하기 위한 계층입니다. 즉, 서울에 있는 A라는 사람이 대구에 있는 B라는 사람과 통신을 할 때, 서울에서 대구까지 한 번에 데이터를 보내는 것은 아닙니다. 그 사이에 있는 수많은 노드들을 거쳐 결과적으로 목적지에 도착하게 되는데, 데이터 링크 계층은 현재 노드에서 바로 다음 노드로의 전달에 관한 부분을 책임집니다. 데이터 링크 계층은 크게 프레이밍(Framing), 오류 제어(Error Control), 그리고 흐름 제어(Flow Control)라는 기능을 담당합니다. 프레이밍은 상위 계층인 네트워크 계층으로부터 ..

[컴퓨터망] Introduction

이 글에서는 컴퓨터망, 즉 컴퓨터 네트워크에 대해 공부하기에 앞서 간단한 소개와 알고 있어야 할 사항들에 대해 조금만 살펴보도록 하겠습니다. 데이터 통신에 대해 먼저 공부하셨다면 컴퓨터망 과목 전체에 대한 공부에 많은 도움을 받으실 수 있습니다. 1. 인터넷 (Internet) 인터넷이란 무엇일까요? 인터넷이란 "네트워크들을 연결한 네트워크 (Networks of networks)"라고 생각하시면 됩니다. 그렇다면 네트워크는 무엇이죠? 네트워크는 분산되어있는 여러 개의 컴퓨터들을 어떤 연결망을 통해 이어준 것입니다. 그리고 이 연결을 통해 데이터를 교환할 수 있고, 이 연결은 케이블과 같은 유선 장치나 와이파이와 같은 무선 장치를 통해 만들어집니다. 다시 인터넷에 대한 이야기로 돌아와서, 인터넷은 컴퓨터..