Today I Learned/컴퓨터기초

네트워크 배우면 까먹고 배우면 까먹고 ,, 기본 개념 확실히 정리하기 (1)

하나719 2023. 10. 12. 09:53
반응형

OSI 7계층, TCP/IP 등 공부는 했지만 공부하는 단계에서 직접적으로 사용해본적이 없다보니 시간이 지날수록 머릿속에서 흐릿해져 갑니다. 그때마다 새롭게 공부하기 아쉬웠는데, 우연히 아주아주 잘 설명된 글을 하나 보게되어 이 글을 짧게 정리해두면 나중에 다시 보고 기억하는데 도움이 될 것 같아 정리합니다.

 

참고 글

https://yozm.wishket.com/magazine/detail/1875/

 

주니어 개발자를 위한 엄청 쉬운 네트워크 이야기 | 요즘IT

저는 5년차 개발자입니다. 회사에서 신입 개발자들과 함께 일하다 보면 네트워크에 관해 모르는 분들이 많으시더군요. 저도 사실 처음에는 그랬습니다. 그런데 일을 하다 보니 주니어 개발자

yozm.wishket.com

https://yozm.wishket.com/magazine/detail/1906/

 

택배 배송 과정으로 알아보는 엄청 쉬운 컴퓨터 네트워크 | 요즘IT

네트워크는 눈에 보이지 않습니다. 그래서 공부에 어려움을 겪는 분들이 많습니다. 대학에서는 네트워크 기초만 한 학기 동안 배울 만큼 공부할 분량도 많습니다. 하지만 저는 이번 시리즈에

yozm.wishket.com

이전에 처음 공부할때 처음부터 세부적인 용어들을 입력하다보니 10분짜리 영상을 보는데도 한시간이 걸릴만큼 이해하는데 오래걸렸습니다. 그런데 이 블로그글은 쭉쭉 읽어내려가는데도 불구하고 바로 이해가 쏙쏙되어 정말 놀랐습니다. 완벽히 이해한 사람이 간결하게 설명할 수 있다고 생각하는데 이 분의 글에서 그 점을 느낄 수 있었습니다. 

저도 최대한 이해한 내용을 바탕으로 간단히 정리해보겠습니다.

 

네트워크란 ?

서로 다른 컴퓨터가 통신할 수 있도록 연결한 것으로 물리적인 것(이더넷)과 물리적이지 않은것(wifi등)을 포함합니다.

네트워크의 목적은 자원, 정보의 교환인데 이를 더 효율적으로, 많은 컴퓨터와 할 수 있도록 발전해나갔습니다. 

 

프로토콜

서로 다른 컴퓨터가 통신하면서 한 쪽은 제목 > 발신인 > 내용 순으로보내고 한쪽은 제목 > 내용 > 발신인 순서로 보내게되면 헷갈리고 정리도 효율적이지 않습니다. 정확하고 효율적인 통신을 위해 주는 쪽과 받는 쪽의 데이터형식을 통일하기로 약속한 것을 프로토콜이라고 합니다.

 

허브와 스위치

두대의 컴퓨터만 연결할 때는 서로 직접적으로 연결되어도 괜찮았지만, 여러대의 컴퓨터가 모두 연결되려고 하면 연결장치가 너무 많아지게 됐습니다. 이를 한군데서 모아서 관리하는것이 허브입니다.

(쿠팡 배송하면 어디 허브에 있다 하는것과 비슷한 원리인것 같습니다.)

출처: 위시켓 블로그

그런데 허브를 만들고 데이터를 전송했는데, 3호점이 1호점에게만 전달하고 싶은 내용을 2호점도 받아보게 되는 상황이 생깁니다. 

원하는 컴퓨터에만 내용을 전달하기 위해 생긴것이 스위치입니다.

  • 허브는 들어오는 패킷을 모든 포트(입력 포트 제외)로 브로드캐스트합니다.
  • 스위치는 MAC 주소를 사용하여 각각의 연결된 디바이스를 식별하고, 들어오는 패킷의 목적지 MAC 주소를 확인한 후 해당 디바이스만으로 패킷을 전달합니다(유니캐스트).

LAN과 라우터

LAN(Local Area Network) 은 일정 거리 내에 있는 디바이스들의 네트워크로 아래 그림에서는 단위가 나라로 표현되었는데 보통 건물 , 작은 지역내 네트워크이며 주로 집, 학교, 사무실 등의 작은 공간에서 자원을 공유할 때 사용합니다. 

 

라우터는 이러한 서로 다른 네트워크끼리 데이터 패킷을 전송하는 장치로 아래 그림에서 각 LAN에 달린 동그라미 장치입니다.

라우터는 IP를 기반으로 패킷의 출발지와 목적지를 파악하여 가장 효과적인 경로를 찾아 전송합니다. 

 

 

출처: 위시켓 블로그

TCP/IP와 캡슐화

내가 서버에 요청을 해서 다른 컴퓨터와 데이터를 주고받을 때 4단계를 걸쳐 데이터가 생기고 다시 역으로 같은 단계를 걸쳐 나에게 전달됩니다. 그리고 각 단계에 캡슐화라는 것이 발생하는데 이는 데이터가 다음 계층에 의해 감싸지는 것 입니다.

예를들어 naver.com 을 주소창에 입력하면 4단계를 걸쳐 캡슐화(포장)가 일어나고 역으로 4단계를 거치면서(포장지 뜯기) 나에게 네이버창을 보여주게 됩니다. 

출처: 위시켓 블로그

  • TCP는 데이터를 패킷으로 분할하고, 이 패킷들이 목적지에 도달하면 다시 원래의 데이터 스트림으로 재조립하는 역할을 합니다. 또한 TCP는 패킷이 손실되거나 에러가 발생한 경우 재전송을 요청하여 데이터 전송의 신뢰성을 보장합니다.
  • IP는 각 패킷에 출발지와 목적지 IP 주소를 부여하고, 이 정보를 바탕으로 패킷이 최종 목적지까지 어떤 경로를 통해 이동할 것인지 결정하는 역할을 합니다.

오늘은 네트워크의 대략적인 그림을 이해해 보았습니다.

이렇게 한번 이해한 내용을 바탕으로 다음 글에서는 구체적인 내용을 정리해보겠습니다. 

 

반응형