Skip to content
Home » 네트워크 개념 정리 | ☆ 쉬움주의) 네트워크 기초 기술 모르시는 분들 이 정도만 알면 기술사만큼 됩니다. 책한권 뚝딱 누구나 알면 좋을 컴퓨터 상식 98 개의 정답

네트워크 개념 정리 | ☆ 쉬움주의) 네트워크 기초 기술 모르시는 분들 이 정도만 알면 기술사만큼 됩니다. 책한권 뚝딱 누구나 알면 좋을 컴퓨터 상식 98 개의 정답

당신은 주제를 찾고 있습니까 “네트워크 개념 정리 – ☆ 쉬움주의) 네트워크 기초 기술 모르시는 분들 이 정도만 알면 기술사만큼 됩니다. 책한권 뚝딱 누구나 알면 좋을 컴퓨터 상식“? 다음 카테고리의 웹사이트 kk.taphoamini.com 에서 귀하의 모든 질문에 답변해 드립니다: https://kk.taphoamini.com/wiki. 바로 아래에서 답을 찾을 수 있습니다. 작성자 기술노트with 알렉 이(가) 작성한 기사에는 조회수 99,435회 및 좋아요 2,161개 개의 좋아요가 있습니다.

간단하게 이야기하자면 클라이언트에서 특정 정보를 서버에 요청하면 서버가 그에 해당하는 정보를 다시 클라이언트에게 전달해주는 개념입니다. 다만 인터넷이용자가 한 사람이 아니고 서버도 한개만 존재하는 것이 아닙니다. 그래서 특정 주소를 정하여 통신하지 않는다면 길을 잃어버리고 말 것입니다.

Table of Contents

네트워크 개념 정리 주제에 대한 동영상 보기

여기에서 이 주제에 대한 비디오를 시청하십시오. 주의 깊게 살펴보고 읽고 있는 내용에 대한 피드백을 제공하세요!

d여기에서 ☆ 쉬움주의) 네트워크 기초 기술 모르시는 분들 이 정도만 알면 기술사만큼 됩니다. 책한권 뚝딱 누구나 알면 좋을 컴퓨터 상식 – 네트워크 개념 정리 주제에 대한 세부정보를 참조하세요

#네트워크#기초#기술#컴퓨터#기술사
쉽게 설명 드려봅니다!

네트워크 개념 정리 주제에 대한 자세한 내용은 여기를 참조하세요.

[네트워크] 네트워크 기초 지식 정리 – 인생의 로그캣 – 티스토리

네트워크 기술이란 서버와 클라이언트의 정보가 오고 가는 다리 역할을 하는 기술의 총칭을 의미한다. 네트워크라는 말은 연결되어 있다라는 뜻으로 …

+ 여기에 보기

Source: noahlogs.tistory.com

Date Published: 2/6/2022

View: 1076

네트워크, 인터넷, Isp 개념 정리 242 개의 가장 정확한 답변

d여기에서 네트워크, 인터넷, ISP 개념 정리 – 네트워크 개념 정리 주제에 대한 세부정보를 참조하세요. Network(네트워크)의 특징: 폐쇄망, …

+ 여기에 더 보기

Source: you.1111.com.vn

Date Published: 7/12/2022

View: 1221

네트워크 기본 개념 정리 – alleyoops’ dev

네트워크 기본 개념 정리 네트워크 네트워크 계층구조 HTTP / HTTPS TCP/IP DNS 웹 통신 과정.

+ 여기에 더 보기

Source: hoyoungmoon.github.io

Date Published: 2/5/2021

View: 4067

[네트워크] 개념정리 모음 – Nelle Tue Mani – 티스토리

[네트워크] 개념정리 모음. Kline_11 2020. 10. 8. 22:25. 네트워크 개념 정리 … [참고 강의] 따라하면서 배우는 IT 네트워크 … 03. OSI 7 Layer – 3계층 Network.

+ 여기를 클릭

Source: kline1103.tistory.com

Date Published: 6/4/2021

View: 5038

기술면접을 위한 Network 개념정리 07 – 라우터 – 스터디룸

개인적으로 사용해보면서 배운 점을 정리한 글입니다. 기술면접만을 준비하기보다 비전공자 입장에서 Network의 기본적인 내용만 짚..

+ 여기에 보기

Source: 8iggy.tistory.com

Date Published: 4/21/2022

View: 8880

[네트워크] 개념정리

WAN은 We Area Network의 줄임말로 한 집마다 인터넷 회선이 있는데 그것을 WAN으로 생각하면 되겠다. 광범위한 지역 단위로 구성하는 네트워크이다. 이 …

+ 여기에 보기

Source: lsj8367.tistory.com

Date Published: 3/6/2021

View: 9109

네트워크 정리 1. OSI 참조 모델 – 코딩일지 – 티스토리

네트워크 정리 1. OSI 참조 모델. 호놀롤루 2022. 4. 9. 23:45. 1. 개요. 인터넷이란? 좁은 의미 . ip(internet protocol)라는 프로토콜을 사용하여 연결된 모든 …

+ 여기에 보기

Source: ish0301.tistory.com

Date Published: 7/2/2021

View: 9453

[컴퓨터네트워크] 개념 정리노트 – 컴공 학부생의 공부일지

CS/3-1. [컴퓨터네트워크] 개념 정리노트. 이지이즤 2022. 6 …

+ 여기에 보기

Source: ezeun.tistory.com

Date Published: 1/19/2022

View: 6890

네트워크 개념 정리 | 쉬움주의) 네트워크 기초 기술 모르시는 …

네트워크 개념 정리 | ☆ 쉬움주의) 네트워크 기초 기술 모르시는 분들 이 정도만 알면 기술사만큼 됩니다. 책한권 뚝딱 누구나 알면 좋을 컴퓨터 상식 …

+ 더 읽기

Source: you.hotramvillas.vn

Date Published: 8/11/2022

View: 5176

주제와 관련된 이미지 네트워크 개념 정리

주제와 관련된 더 많은 사진을 참조하십시오 ☆ 쉬움주의) 네트워크 기초 기술 모르시는 분들 이 정도만 알면 기술사만큼 됩니다. 책한권 뚝딱 누구나 알면 좋을 컴퓨터 상식. 댓글에서 더 많은 관련 이미지를 보거나 필요한 경우 더 많은 관련 기사를 볼 수 있습니다.

☆ 쉬움주의) 네트워크 기초 기술 모르시는 분들 이 정도만 알면 기술사만큼 됩니다. 책한권 뚝딱 누구나 알면 좋을 컴퓨터 상식
☆ 쉬움주의) 네트워크 기초 기술 모르시는 분들 이 정도만 알면 기술사만큼 됩니다. 책한권 뚝딱 누구나 알면 좋을 컴퓨터 상식

주제에 대한 기사 평가 네트워크 개념 정리

  • Author: 기술노트with 알렉
  • Views: 조회수 99,435회
  • Likes: 좋아요 2,161개
  • Date Published: 2020. 1. 5.
  • Video Url link: https://www.youtube.com/watch?v=65h9uxHKGPk

네트워크 개념 정리

백엔드와 네트워크는 떼려야 뗄 수 없는 사이인 것 같습니다. 실제 통신이 어떻게 이루어지는지 알고 있어야 에러 검증, 좀 더 효율적인 API 설계가 가능할 것이라 생각합니다.

정리하는 내용의 많은 부분은 우아한 형제 개발팀장이신 김영한님의 인프런 강의의 내용을 참고하여 작성하였습니다. 비전공자인 저도 이해갈 정도로 천천히 예시를 들어 잘 설명해주시니 꼭 한 번 수강해보시는 것을 추천드립니다.

인프런 – 모든 개발자를 위한 HTTP 웹 기본 지식

인터넷 통신방식은 두가지 주체에 의해서 이루어집니다. ‘클라이언트’와 ‘서버’입니다. 간단하게 이야기하자면 클라이언트에서 특정 정보를 서버에 요청하면 서버가 그에 해당하는 정보를 다시 클라이언트에게 전달해주는 개념입니다.

다만 인터넷이용자가 한 사람이 아니고 서버도 한개만 존재하는 것이 아닙니다. 그래서 특정 주소를 정하여 통신하지 않는다면 길을 잃어버리고 말 것입니다. 이 때 필요한 것이 아래 정리할 IP개념입니다.

우리가 쇼핑몰에서 주문을 할 때 주소를 잘 못 입력하면 배송이 불가하다고 경고 문구를 받을 것입니다. 또는 이사를 가고 나서 예전 주소를 바꾸지 않고 주문을 했다면 배송은 과거에 기록되어있는 해당 주소로 배송이 될 것입니다. ( 놀랍게도 이 경험을 3번이상한 바보가 있다? )

인터넷 통신도 마찬가지로 클라이언트가 요청한 정보가 서버에 잘 도달하기 위해서는 서버의 IP 주소가 필요하고 서버도 클라이언트에게 정보를 전달하기 위해서는 클라이언트의 IP 주소가 필요한 것입니다.

IP는 Internet protocol의 약자로 프로토콜은 통신규약으로 번역이 됩니다. 인터넷을 이용할 때 통신 약속 정도로 생각하시면 됩니다.

100.100.100.1 와 같은 방식으로 표현하기로 약속을 하고 모든 인터넷 이용자들이 IP주소를 만들 때 이에 따라서 만들기로 IP주소를 구성하기로 한 것입니다.

쇼핑몰에서 주문을 했을 때 단순히 상품만 달랑 오지 않고 택배상자(+뽁뽁이 등)와 같이 배송이 되지 않나요?? 인터넷 정보도 마찬가지입니다. 또 택배상자에는 택배송장이 붙어있어 어디서 보내고 어디로 발송할 지 정보가 나와있습니다.

인터넷 전송 데이터도 마찬가지로 출발지 IP, 목적지 IP 등등이 기록된 패킷이라는 택배상자에 쌓여서 전달됩니다. 이는 클라이언트에서 서버로, 서버에서 클라이언트로 양방향 모두 적용이 됩니다. 이 패킷을 통해서 수많은 택배(인터넷 데이터) 중에서 제가 주문한 택배가 제 집(MY client )에 도착할 수 있는 것입니다.

다만 이 IP는 한계를 가지고 있는데 이를 한가지 씩 살펴보겠습니다.

클라이언트는 서버가 현재 패킷을 받을 수 있는지 아닌지를 알 수 있는 방법이 없습니다. 그래서 일단 발송을 하고 보지만 서버가 패킷을 받을 수 없는 상황일 수 있습니다. 그러면 이 패킷은 어떻게 될까요?

만약에 패킷이 수많은 인터넷의 노드(각 인터넷의 연결다리)를 지나다가 길을 잃어 소실이 된다면 어떻게 될까요?

이와 더불어 여러번 패킷을 발송했는데 첫번째 보낸 패킷보다 두번째 패킷의 전송하는 용량이 적다면 두번째가 먼저 도착하는 일이 벌어질 것입니다.

(1: Hello I’m abcedfgh ,2 : python) –> (2 : python, 1: Hello I’m abcedfgh)

이 상황이 반복되다보면 지금 내가 받은 자료가 실제 보낸 사람이 의도한 자료인지 신뢰할 수 없는 상황이 발생할 것입니다.

쇼핑몰 홈페이지에서 우리가 하는 행동은 여러가지입니다. 회원가입을 하기도 하고 주문을 하기도 합니다. 근데 이 쇼핑몰 홈페이지에 해당하는 서버가 한개라 한 곳으로 모든 요청들이 들어온다면 이 활동들을 구분할 방법이 있을까요? 다 섞여서 적절한 응답을 하지 못하지 않을까요?

이런 문제들이 있기 때문에 다음 개념들 (TCP PORT)이 필요합니다.

IP에서 비연결성의 문제를 확인해 보았습니다. 대상이 연결되어있는지 확인을 하지 않더라도 발송이 가능했기 때문에 제대로 도달했는지 확인이 되지 않았습니다. 이를 해결하기 위해서 TCP에서는 TCP 3- way handshake 방식을 적용합니다.

3 way handshake는 3번 악수를 하는 것처럼 우선 클라이언트에서 정보를 받는곳과 SYN(연결)을 확인합니다. 그러면 서버는 SYN를 확인하고 거기에 ACK(인증)을 보내서 정보전달 가능을 알립니다.

이후 다시 클라이언트가 ACK를 보내고 이제 데이터 전송의 준비가 완료된 것입니다. 이를 통해 상대방이 자료를 받을 수 있는지 확인 후 데이터 전송이 가능합니다.

TCP를 통하여 데이터를 잘 전달받았는지 확인이 가능합니다.

TCP를 통해서 패킷1, 패킷2, 패킷3 순서로 클라이언트가 서버에 전송을 했고 이 자료를 서버는 패킷1, 패킷3, 패킷2 로 받았다면 서버는 패킷 2부터 다시 전송하라고 요청합니다. 이를 통해서 데이터의 순서가 보장이 됩니다.

UDP는 TCP가 제공하는 연결지향, 데이터 전달보증, 순서보장 등 이러한 기능이 제공되지 않습니다. 그러면 이를 왜 이용하는지 의문이 들 수도 있습니다. UDP는 기능이 적은대신 단순하고 빠릅니다. IP에 PORT와 체크섬 정도의 기능만 제공합니다. 따라서 이용을 할 때는 애플리케이션에서 추가 작업이 필요합니다.

(학창시절에 UDP로 스타크래프트 안해본 분들 없죠?)

UDP에서는 3-way를 적용하지 않기 때문에 error가 발생하면 다시 요청을 계속 보내는 방식으로 진행이 됩니다.

포트는 한 서버에 여러가지 요청을 할 때 각각의 출입문을 만들어주는 개념이라 생각하시면 됩니다. 우리가 에버랜드를 갈 때 T-express를 타고 싶다면 해당 놀이기구 줄에서 기다려 입장하듯이 원하는 기능으로 가기 위해 해당 포트로 입장을 하는 방식입니다.

이전에 IP에서 프로그램 구분이 안된다는 예를 조금 더 들어 보겠습닏다 . 롤을 플레이하면서 게임 내 보이스톡을 진행하고 큐를 돌리는 동안 웹툰을 본다고 가정해보겠습니다. 그러면 현재 컴퓨터에서 벌어지는 상황은 다음과 같습니다.

이런 경우 특히 server1(라이엇 서버)의 경우 게임 데이터 요청과 보이스톡이 동시에 이루어지기 때문에 이를 구분해줄 필요가 있습니다. 예를 들어 LOL게임에는 port 1000, 보이스톡에는 port 2000 이런 방식으로 포트번호를 부여해주면 해당 데이터는 해당 포트로만 통신이 되는 방식입니다.

포트 번호 정보는 TCP에 기록이 되어 전송이 됩니다.

추가) 추가적으로 밑에 HTTP나 HTTPS에 해당하는 포트가 정해져있는데 용도에 따라 포트번호를 정하는 것이 가능한지 개념에 대해서 말씀드리겠습니다. 포트번호를 지정하는 것은 개발자가 지정을 합니다. 만약 별도의 지정이 없다면 기본 포트인 HTTP는 80 , HTTPS는 443 포트로 Default 값이 배정이 되는 것이지요.

대표적이 PORT번호는 다음과 같습니다.

IP가 통신규약이라 100.100.100.1과 같은 모양으로 만들기로 약속했다고 말씀드렸습니다. 그런데 일반적으로 우리가 저렇게 해당 웹사이트 IP를 기억하는 일이 많을까요?? 게다가 한 번 어렵게 해당 IP를 기억을 한다고 해도 그 IP가 변경이 되어버린다면? 요청을 다시 보내도 응답하지 않을 것입니다.

이런 문제를 해결하기 위해서 필요한 것이 DNS(Domain Name System) 입니다.

알파벳으로 구성된 일련의 주소를 해당 IP에 대응시켜서 해당 도메인 주소만 입력을 하면 자동으로 IP가 조회가 되는 방식입니다.

예를들어 google.com 에 IP 200.200.200.2 를 부여하면 google.com만 입력을 하면 해당 IP로 요청이 가능 방식입니다.

IP가 변경이 되더라도 google.com에 해당하는 IP를 변경해서 입력만 하면 되기 때문에 사용자는 여전히 google.com을 입력하면 변경된 IP주소로 요청을 할 수 있습니다.

URI : Uniform Resource Identifier URL : Uniform Reource Locator URN : Uniform Resource Name

소위 우리가 ‘링크 보내’라고 할 때 그 링크에 해당하는 것이 URL인데요. URL은 어떻게 구성되고 URI, URN은 무엇인지 정리해보도록 하겠습니다.

위 그림을 보면 알 수 있다시피 우리에게 익숙한 URL은 URI안에 속합니다. 그러면 우선 URI의 개념에 대해서 알아보겠습니다.

URI는

Uniform : 리소스 식별하는 통일된 방식

Resource: 자원, URI로 식별할 수 있는 모든 것 (제한 없음)

Identifier : 다른 항목과 구분하는데 필요한 정보

쉽게 말해 리소스를 다른 것과 구분할 수 있는 통일된 방식을 의미합니다.

URL 과 URN의 차이는 Locator(리소스의 위치를 부여)와 Name(리소스의 이름을 부여)의 차이입니다.

둘의 대표적인 차이점은 위치는 변할 수 있지만 이름은 바뀔 수 없다는 것입니다. URN은 대표적으로 ISBN(책 정보 등록된 일련의 숫자)에 사용이 됩니다, 다만 URN만으로 리소스를 찾는 방법이 보편화되어있지 않아 URL로 이야기하는 경우가 대다수입니다.

주로 프로토콜이 사용됩니다. ex) http, https, ftp

URL에 사용자정보를 포함해서 인증을 하나 거의 사용하지 않는다고 합니다.

호스트명이고 도메인명 또는 IP 주소를 직접 사용 가능합니다.

http : 80포트 https : 443 포트 를 주로 사용하고 생략이 가능합니다.

http와 https의 차이점은 https가 좀 더 보안요소가 추가되었다고 생각하면됩니다.

리소스에 접근하는 경로입니다. ex ) file.jpg, members/100

주로 key=value 형태이고 ? 로 시작하고 & 로 추가 가능합니다.주로 query parameter, query string으로 불립니다.

html내부 북마크 등에 사용을 하나 서버에 전송하는 정보는 아닙니다.

(네트워크 계층과 전송과정)

웹 브라우저가 서버에 전송되는 과정은 위 그림과 같습니다. 우선 웹 브라우저에서 HTTP 요청 메시지를 생성합니다. 소켓 라이브러리는 이 메시지를 TCP/IP연결을 하고 데이터를 전달합니다. 그러면TCP/IP가 HTTP메시지가 포함된 패킷을 생성하여 LAN드라이버를 통하여 인터넷을 타고 서버로 전달이 됩니다. 이 과정은 발송측 에서 이루어지고 이때의 개념을 캡슐화라고 합니다. 반대로 수신측에서 정보를 다시 풀어서 확인하는 과정을 역캡슐화라고 합니다.

캡슐화와 역캡슐화

텍스트뿐만 아니라 모든 것 (영상, 이미지 JSON 등 )을 HTTP 메시지에 실어서 전송이 가능합니다.

클라이언트와 서버의 request와 response의 구조로 구성이 되어있습니다.

누군가와 대화를 나눌 때 앞에서 말한 내용은 서로 알고 있으니 그 부분은 다시 이야기하지 않고 다음 이야기를 계속하겠죠? 무상태같은 경우 앞에 이야기한 부분을 상대방이 기억을 하지 못한다고 가정하고 전에 이야기한 내용을 계속 이야기하며 새로운 내용을 추가하는 방식입니다.

<문전박대에도 금세 잊고 영업하는 이시대 영업왕 뚱이>

이를 통신에 적용을 하면 서버가 클라이언트의 상태를 보존하지 않는다는 것입니다. 서버가 기억을 안해주기 때문에 클라이언트는 매 요청마다 새로운 정보에 기존 요청내용까지 합쳐서 전송을 해야 합니다.

이 방법을 통하면 서버의 확장성이 높습니다. 많은 손님(트래픽)이 오더라도 배정된 담당자(서버)가 없이 새로운 직원이 응대가 가능해서 단점이라면 클라이언트가 매번 추가로 데이터를 전송해야 한다는 것입니다.

상태유지 프로토콜의 경우는 담당의사와 진료를 하는 것처럼 자신을 담당하는 담당 서버가 있는 것입니다. 담당 의사는 제 건강상태를 기존 차트를 확인하여 알 수 있으니 매 진료마다 다시 물어보지는 않겠죠? 대신 그 의사가 출장을 가거나 예약이 꽉차면 기다려야 하겠죠.

다만 실무적으로는 무상태로 설계가 항상 가능한 것은 아니라고 합니다.

단순 표시 기능은 무상태로 설계가능하지만 로그인 기능을 무상태로 설계를 해버리면 매 클릭마다 다시 로그인을 해야하는 문제가 발생합니다.

이를 위해서 쿠키, 서버 세션 개념을 이용해서 유지합니다!

만약 한 클라이언트가 서버에 요청을 한다면 서버 입장에서는 큰 부담은 없을 것입니다. 근데 클라이언트 수가 100명 , 1000명이 된다면 동시에 클라이언트와 연결을 유지하는 것은 부담이 될 것입니다. (서버 자원 소모)

서버의 자원을 효율적으로 쓰기 위해서 HTTP는 기본적으로 연결을 유지하지 않는 특징을 지니고 있습니다. 각 요청이 초단위로 이루어지 때문에 실제로 동시에 처리되는 요청은 많지 않습니다.

다만 매 연결을 다시 할 때마다 3- way handshake를 하기 때문에 시간이 추가가 되고 수많은 자바스크립트, css, 이미지 등이 추가로 다운됩니다. (이를 해결하기 위해 캐시 개념이 등장- HTML 마무리에 기록)

쿠키는 HTTP의 무상태성 때문에 발생합니다. 이때 로그인 정보라든지 특정 리소스의 정보를 기억했다가 필요한 경우 요청없이도 기억하는 것을 쿠키라 합니다. 이전에 살펴본 것처럼 HTTP는 매번 새로운 손님을 상대하는 점원과 같기 때문에 로그인 이후 서비스를 이용할 때마다 서버는 제가 누군이지 모르는 상태가 됩니다. 이때 쿠키가 다시 요청하기 전에 미리 이 손님의 이름은 ‘Kevin’라고 알려주는 것과 같다 생각하시면 됩니다.

이후 API header를 자세하게 다루는 게시글에서 Cookike expire,path 등을 다루겠습니다.

네이버에 로그아웃하기 전까지 요청은 로그인 정보가 반영이 됩니다.

캐시도 쿠키와 유사합니다. 한 웹사이트 페이지를 새로고침한다고 가정해보겠습니다. 그 웹사이트에는 여러 이미지와 영상 자료 등등이 있는데 새로고침할 때마다 이 자료들을 다시 다운받는다면 낭비되는 용량이 엄청날 것입니다. 표시할 웹사이트가 변경되는 내용이 많지가 않다면 기존 페이지와 유사한 부분은 미리 로컬 PC(웹사이트 서버가 아닌 클라이언트 PC)에 저장해두었다가 비슷한 웹사이트를 출력할 때 새로 다운 받는 것이 아니라 캐시된 자료를 바탕으로 빠르게 웹사이트를 출력하는 것을 캐시라 합니다.

캐시를 무한정 저장하는 방법도 있고 시간 제한을 거는 방법도 있습니다. 이 부분은 API header를 자세하게 다루는 게시글에서 추가로 다루겠습니다.

캐시가 필요한 대표적인 사이트 네이버!

GET /search?q=hello&ko HTTP/1.1

HTTP 메서드(GET)

요청 대상 ( /search?q=hello&ko)

HTTP 버전 (HTTP/1.1)

HTTP/1.1 200 OK

HTTP 버전 (HTTP/1.1)

HTTP 상태 코드 (200 ok – 요청 성공)

header-field = field neme : OWS field-value OWS (OWS 는 ㅡ띠어쓰기 허용)

HTTP 전송에 필요한 모든 부가정보가 담기는 곳으로 인증, 캐시 정보 등등 표준 헤더가 많기 때문에 Documentation을 파악하면 좋습니다.

실제 전송할 데이터가 담기는 곳으로 HTML , 이미지 영상 등 모든 데이터가 전송이 가능합니다.

GET : 리소스 조회 POST : 요청 데이터 처리, 주로 등록에 사용 PUT : 리소스를 대체, 해당 리소스가 없으면 생성 PATCH : 리소스 부분 변경 DELETE : 리소스 삭제

리소스를 조회할 때 주로 사용이 되고 서버에 데이터를 전달하고 싶을 때는 쿼리를 통해서 전달을 합니다. 메시지 바디를 이용해서 데이터 전달이 가능하지만 지원하는 곳은 많지 않아 권장하지는 않습니다. 특히 GET을 권장하지 않는 이유는 GET 요청을 전달하는 과정에서 URI가 노출이 되어 전달이 됩니다. 이는 두가지 영향을 끼칩니다. 첫번째로는 해커들이 쉽게 URI 정보를 노릴 수 있는 상황을 만듭니다. 두번째로는 URI 주소를 매번 전달해야 하기 때문에 용량이 무겁습니다.

메시지 바디를 통해서 서버에 데이터를 전달하는 경우 사용이 되고 신규 회원 등록 과정 등에 사용이 됩니다.

새 리소스 등록도 가능합니다. ex) 신규 100번째 회원 : 홍길동

애매하면 POST를 이용하는 것이 좋을 만큼 많은 경우에 이용이 가능한 메서드입니다.

이제 설명드릴 PUT이나 PATCH DELEETE 같은 경우 자료를 변경하는 역할을 하기 때문에 별도로 사용을 하지 못하도록 설정하기도 합니다. 만약 사용자가 PUT과 PATCH 등으로 자료를 마구 변경하면 큰 일이 나기 때문입니다.

PUT은 리소르를 대체하는 속성을 가집니다. 리소스가 있다면 대체가 되고 리소스가 없으면 생성이 됩니다. 리소스를 생성하는 측면에서 POST와 유사하다고 느낄 수 있는데요. PUT은 클라이언트가 리소스를 식별하여 URI를 지정한다는 점이 차이점입니다.

추가로 전달하는 데이터를 완전히 대체하기 때문에 해당 자료에 필드를 다 갖추지 않고 요청을 한 경우 HTTP에 기록한 헤더만 가지는 자료로 대체되어버립니다.

PUT

이런 문제가 발생하기 때문에 부분수정을 하고 싶을 때는 PATCH 기능을 이용하는 것이 좋습니다.

PATCH를 이용해서 기존 name 필드는 유지하면서 action만 바뀐 것을 확인할 수 있습니다.

DELETE는 심플하게 해당 리소스를 다 제거하는 메서드입니다.

안전의 개념은 호출했을 때 해당 리소스를 변경할 수 있는지 여부입니다. 그래서 GET은 안전하지만 POST PUT PATCH DELETE는 안전하지 않다고 할 수 있습니다.

멱등이라는 개념은 해당 요청을 몇 번하든 결과가 동일한지 여부입니다. (side effect도 없어야 합니다. )

GET : 조회만 하는 것이기 때문에 조회 결과는 늘 동일합니다.

PUT : 해당 리소스를 대체하기 때문에 결과는 대체된 리소스로 동일합니다.

PATCH : 이것또한 부분적으로 대체하기 때문에 결과는 대체된 리소스로 동일합니다.

DELETE : 해당 요소를 제거하고 제거할 것이 없다면 404클라이언트 에러가 나기는 하지만 해당 필드가 제거된 결과는 동일하다. (서버에는 해당 자료가 없는 상태 유지!)

응답 결과 리소스를 캐시해서 사용해도 되는지 여부가 캐시가능의 개념입니다.

GET HEAD POST PATCH가 캐시가 가능한데 POST PATCH에 있는 본문 내용까지 캐시 키로 고려하는 것은 구현이 쉽지 않아 일반적으로 GET HEAD 정도만 캐시로 사용합니다.

클라이언트의 요청에 따라서 서버가 보내는 응답에는 HTTP 상태코드가 들어갑니다. 대부분의 서버 에러의 원인을 파악하는 첫걸음이기 때문에 각 상태코드의 구체적인 숫자의 의미를 알지는 못해서 이게 서버의 문제인지, 클라이언트의 문제인지 정도를 알기 위해서 상태코드를 아는 것은 중요합니다.

구체적으로 어떤 상태코드인지는 몰라도 상위 코드로 해석을 하면되기 때문에 앞숫자의 의미를 파악하는 게 좋습니다.

요청이 수신되어 처리중 — 거의 사용되지 않는다고 합니다.

200 OK- 요청 성공 201 Created – 요청 성공해서 새로운 리소스 생성 202 Accepted – 요청이 접수되었으나 처리가 완료되지 않았음( 1시간 뒤에 배치처리 등) 204 No Content – 서버가 요청 정상수행, 본문에 보낼 데이터가 없음 ( 변경사항 없이 save를 다시 누른경우)

300 Multiple Choice

301 Moved Permanently

302 Found

303 See Other

304 Not Modified

307 Temporary Redirect

308 Permanent Redirect

[네트워크] 네트워크 기초 지식 정리

반응형

네트워크에 대한 전반적인 기초 지식 정리.

네트워크 구성

네트워크 (네트워크 기술)

네트워크 기술이란 서버와 클라이언트의 정보가 오고 가는 다리 역할을 하는 기술의 총칭을 의미한다.

네트워크라는 말은 연결되어 있다라는 뜻으로 컴퓨터 네트워크는 데이터를 케이블에 실어 나르는 것을 의미한다.

(무선 LAN은 전파로 데이터를 실어 나른다.)

LAN (Local Area Network)

LAN 이란 기업이나 조직 등 비교적 좁은 범위 안에 존재하는 컴퓨터 네트워크를 의미한다.

LAN은 LAN 케이블을 이용하여 데이터를 전송하는 유선 LAN과 전파를 이용하여 데이터를 전송하는 무선 LAN으로 구분한다.

LAN 케이블 이란

LAN 케이블은 LAN을 연결 하기 위한 케이블

LAN 스위치 란

LAN 스위치는 LAN을 구성하기 위한 네트워크 기기

네트워크 작동 원리

네트워크는 OSI 참조 모델을 바탕으로 작동한다. OSI 참조 모델은 국제표준화기구(ISO)가 컴퓨터 통신 기능을 계층 구조로 나눠서 정리한 모델로 일종의 통신 규칙 모음이라 생각하면 된다.

보통 OSI 7계층이라고 하는데 하위 계층(물리 계층) 부터 상위 계층(전송 계층)으로 구성된다.

OSI 7계층

제 1계층(물리 계층) : 네트워크 케이블의 재질이나 커넥터의 형식, 핀의 나열 방법 등 물리적인 요소를 모두 규정한다.

제 2계층(데이터 링크 계층) : 직접 연결된 기기 사이에 논리적인 전송로(데이터 링크)를 확립하는 방법을 규정한다.

제 3계층(네트워크 계층) : 동일 또는 다른 네트워크의 기기와 연결하기 위한 주소와 경로의 선택 방법을 규정한다.

제 4계층(전송 계층) : 데이터를 통신할 상대에게 확실하게 전달하는 방법을 규정한다.

제 5계층(세션 계층) : 데이터를 흘려보내는 논리적인 통신로(커넥션)의 확립과 연결 끊기에 대해 규정한다.

제 6계층(표현 계층) : 애플리케이션 데이터를 통신에 적합한 형태로 변환하는 방법을 규정한다.

제 7계층(응용 계층) : 애플리케이션 별로 서비스를 제공하는 방법을 규정한다.

OSI 참조 모델 프로토콜 응용 계층 (제 7계층) 애플리케이션 프로토콜 (HTTP 등) 표현 계층 (제 6계층) 애플리케이션 프로토콜 (HTTP 등) 세션 계층 (제 5계층) 애플리케이션 프로토콜 (HTTP 등) 전송 계층 (제 4 계층) TCP / UDP 네트워크 계층 (제 3 계층) IP / ICMP / ARP 데이터링크 계층 (제 2계층) 이더넷 물리 계층 (제 1계층) 이더넷

프로토콜

프로토콜이란 네트워크 통신을 위한 통신규칙을 의미한다.

프로토콜의 역할은 데이터의 캡슐화와 캡슐 해제화를 하는 것이다. 네트워크 통신에서 OSI 참조 모델의 계층을 넘어설 때마다 데이터를 캡슐에 넣거나 꺼낸다.

프로토콜 캡슐화 / 캡슐 해제화

이더넷

이더넷은 OSI 제 1계층과 제 2 계층의 기술 규격이다. 유선 네트워크의 경우 거의 대부분이 이더넷을 사용한다.

이더넷은 네트워크 계층으로부터 받은 데이터(패킷)에 프레임의 처음을 나타내는 프리앰블(preamble)과 목적지(수신자)와 출발지(송신자)를 나타내는 헤더, 비트 오류체크에 사용하는 FCS(Frame Check Sequence)를 추가하여 프레임을 생성한다. 이더넷은 MAC 주소라는 48비트로 된 식별자를 사용하여 컴퓨터를 식별한다.

프레임 구조

MAC 주소

MAC 주소란 데이터링크 계층(제 2계층)에서 통신을 위해 사용되는 48비트로 된 식별자이다.

MAC 주소는 8비트 마다 하이픈( – ) 이나 콜론 ( : ) 으로 구분하여 16진수로 표기한다.

상위 24비트는 전기 및 전자관계 기술자 단체인 미국전기전자학회(IEEE)가 기기의 제조업체 별로 할당한 제조업체 코드(OUI, Organizationally Unique Identifier) 라고 하는데 해당 코드로 제조업체를 알 수 있다.

하위 24비트는 제조업체가 기기 별로 고유한 값을 할당한 코드이다.

NIC 에 할당되어 있는 MAC 주소는 전 세계에 하나밖에 없는 고유한 값이다.

예를들어 내 컴퓨터의 MAC 주소는 98:24:01:6E:09:5B 또는 98-24-01-6E-09-5B 로 표현 될 수 있다. (.. 물론 아무렇게나 적은 가짜 MAC 주소다 )

여기서 앞부분 98-24-01 상위 24비트는 제조업체 코드이고 뒷부분 6E-09-5B 하위 24비트는 제조업체 내부 코드이다.

NIC(Network Interface Controller)란

NIC은 컴퓨터를 네트워크에 연결하여 통신하기 위해 사용하는 하드웨어 장치이다.

흔히 우리가 네트워크 카드, 랜 카드로 부르는 것이 NIC 이다.

스위칭

네트워크 스위치가 데이터 패킷 내 포함된 주소 정보에 따라 해당 입력 패킷을 해당 출력 포트에 빠르게 접속 시키는 기능을 스위칭이라고 한다. 쉽게 설명하자면 네트워크 스위치가 수행하는 프레임 전송을 스위칭이라고 한다.

네트워크 스위치 란

네트워크 스위치는 L2 (제 2계층, 데이터 링크 계층)에서 사용하는 네트워크 기기로 LAN 케이블을 통해 컴퓨터를 연결한다.

(.. 레이어(Layer)는 계층을 의미하고 해당 계층의 장비는 해당 계층에서 사용하는 프로토콜을 주고 받는다고 이해하면 쉽다)

네트워크 스위치는 프레임이 들어온 LAN 포트 번호와 그 프레임의 출발지 MAC 주소를 테이블로 만들어 일정 기간 동안 기억하며 불필요한 프레임 전송을 막고 이더넷 네트워크 통신의 효율을 향상 시키는 역할을 한다.

이때 LAN 포트 번호와 출발지 MAC 주소의 테이블을 MAC 주소 테이블이라고 한다.

MAC 주소 포트 A 1 B 2 C 3

< MAC 주소 테이블 >

IP (Internet Protocol)

IP는 전송 계층 (제 4계층)으로부터 받은 데이터(세그먼트)에 IP 헤더를 붙여 패킷으로 만드는 역할을 한다. IP헤더에는 여러 필드 값(버전,헤더길이,프로토콜 등), 출발지 IP주소, 도착지 IP주소가 들어간다.

패킷 구조

IP는 IP 주소라는 32비트로 된 식별번호를 사용하여 컴퓨터를 식별한다.

IP주소는 8비트 마다 점( . )으로 구분하고 10진수로 표기한다. IP주소는 네트워크 분리 및 구분을 위해 서브넷 마스크라는 32비트로 된 값과 세트로 사용한다. 또한 IP주소는 서브넷 마스크로 분할된 네트워크부와 호스트부로 구성되어 있다. 네트워크부는 네트워크 자체를 나타내고, 호스트는 해당 네트워크에 연결되어 있는 단말을 나타낸다. 서브넷 마스크는 연속된 1의 값이나 연속된 0의 값만 가질 수 있는데 이때 1의 값을 가지는 부분은 네트워크 부이고, 0의 값을 가지는 부분이 호스트부이다.

예를들어 IP 주소가 192.168.1.1 이고 서브넷 마스크가 255.255.0.0 이라고하자.

서브넷 마스크를 2진수로 나타내면 11111111.11111111.00000000.00000000 이다. 여기서 서브넷 마스크가 1이 되는 부분이 네트워크부 이기 때문에 192.168. 이 네트워크 부이고 1.1 부분은 서브넷 마스크가 0인 부분이기 때문에 호스트부이다. 서브넷 마스크의 1의 개수로 IP 주소를 간편하게 나타내면 192.168.1.1/16 이 된다.

만약 서브넷 마스크가 255.255.255.0 이라면 네트워크부는 192.168.1. 까지가 되고 나머지 1이 호스트부가 된다.

서브넷 마스크를 사용하는 이유

서브넷 마스크를 사용하는 이유는 IP 주소 자체가 개수가 제한되어 있고, 네트워크를 효율적으로 분배하기 위해서이다.

서브넷 마스크 원리는 서브네팅을 찾아보면 된다. ( ..서브넷 마스크 계산법을 찾아봐야한다)

라우팅

라우팅이란 라우터가 네트워크에서 패킷을 목적지까지 최적의 경로를 선택하는 과정이다.

라우터 란

라우터는 각 독립된 네트워크들을 연결할 때 L3(제 3계층, 네트워크 계층)에서 사용하는 네트워크 기기이다. L3 장비이기 때문에 패깃을 전송한다.

라우터는 라우팅 테이블을 이용하여 패킷을 전송한다. 라우팅 테이블은 목적지 네트워크와 목적지 네트워크로 가기 위해 보내야할 곳의 IP주소(넥스트 홉, next hop)로 구성되어 있다. 넥스트 홉이란 패킷이 목적지 네트워크까지 가기위해 도달하는 다음 라우터를 의미한다.

패킷이 목적지까지 가는데 거치는 라우터 개수를 홉 수(hop count) 라고 한다.

라우터는 패킷을 받으면 해당 패킷의 목적지 IP 주소와 라우팅 테이블의 목적지 네트워크를 대조하여 해당 IP주소가 있으면 패킷을 전송하고 없으면 패킷을 폐기한다.

라우팅에는 정적 라우팅과 동적 라우팅이 존재한다.

정적 라우팅

정적 라우팅이란 수동으로 라우팅 테이블을 만드는 방법

목적지 네트워크와 넥스트 홉을 하나하나 설정

정적 라우팅은 네트워크를 구성하는 모든 라우터에 대해 라우팅 설정이 필요

설정을 알기 쉽고 관리하기 쉽기 때문에 소규모 네트워크 환경에서 주로 사용

동적 라우팅

동적 라우팅이란 인접하는 라우터들이 라우팅 정보를 서로 교환하여 라우팅 테이블을 자동으로 만드는 방법

라우팅 정보를 교환하기 위한 프로토콜을 라우팅 프로토콜이라고 함

네트워크 환경의 변화대응과 장애 내구성 향상이 가능하기 때문에 중간부터 대규모 네트워크 환경에서 주로 사용

ARP (Address Resolution Protocol)

ARP는 MAC 주소와 IP 주소를 협조하면서 이용할 수 있도록 물리와 논리의 다리 역할을 한다.

즉, 물리적인 주소인 MAC 주소와 논리적인 주소인 IP 주소를 대응 시키는 역할을 하는 것이다.

네트워크 통신을 하기 위해서는 제 3계층으로부터 받은 패킷을 프레임으로 만들어 케이블로 흘려보내야 하는데 이때 출발지 MAC 주소는 자기 자신의 NIC에 쓰여 있는 MAC 주소라서 알 수 있지만 목적지 MAC 주소는 알 수가 없다. 이때 ARP를 이용하여 IP 주소로부터 MAC 주소를 구할 수 있다.

과정은 ARP request-> ARP reply -> ARP 테이블 등록 순이다.

동일 네트워크 상에서는 수집된 ARP 테이블을 참고하여 프레임을 만든다. 다른 네트워크 간 통신은 기본 게이트웨이의 MAC 주소를 ARP에서 조회하여 목적지 MAC 주소로 등록한다.

기본게이트웨이는 자신 이외의 네트워크로 갈 때 사용하는 출구가 되는 IP 주소이다. 보통 방화벽이나 라우터의 IP 주소가 기본 게이트웨이가 되는 경우가 많다.

IP 주소는 목적지까지 바뀌지 않지만 MAC 주소는 NIC을 경유할 때 마다 바뀐다.

TCP/UDP

TCP(Transmission Control Protocol)

TCP는 전송 제어 프로토콜로 IP와 함께 TCP/IP로 불리며 제 4계층(전송 계층)에서 사용되는 프로토콜이다.

TCP는 데이터를 송신할 때 마다 확인 응답을 주고 받는 절차가 있어서 통신의 신뢰성을 높인다.

웹이나 메일, 파일 공유 등과 같이 데이터를 누락시키고 싶지 않은 서비스에 주로 사용된다.

UDP(User Datagram Protocol)

UDP는 TCP와 함께 데이터 그램으로 알려진 단문 메시지를 교환하기 위해 사용하는 프로토콜이다.

테이터만 보내고 확인 응답과 같은 절차를 생략할 수 있으므로 통신의 신속성을 높인다.

주로 DNS, VoIP 등에 사용 된다.

TCP 와 UDP

TCP 와 UDP 모두 포트 번호로 서비스를 식별한다.

두 프로토콜을 구분하는 주요한 차이는 통신의 신뢰성이냐 신속성이냐이다.

애플리케이션 데이터에 TCP 또는 UDP 헤더를 추가하여 TCP 세그먼트나 UDP 세그먼트가 만들어진다.

포트 번호

포트 번호는 컴퓨터 안에서 작동하는 애플리케이션을 식별하기 위해 사용하는 숫자이다. 포트 번호는 0~65535(16비트 분)까지 숫자로 범위에 따라 용도가 정해져 있다. 포트 번호는 세그먼트를 만들 때 헤더에 출발지 포트와 목적지 포트로 들어간다.

0~1023 : 잘 알려진 포트(well-known port) 라고 해서 웹 서버나 메일 서버 등 일반적인 서버 소프트웨어가 서비스 요청을 대기할 때 사용된다.

1024~49151 : 등록된 포트(registered port)라고 해서 제조업체의 독자적인 서버 소프트웨어가 클라이언트 서비스 요청을 대기할 때 사용된다.

49152~65535 : 동적 포트(dynamic port)로 서버가 클라이언트를 식별하기 위해 사용된다. (클라이언트에서 서버에 대해 요청을 보낼 때 출발지 포트로 랜덤으로 지정해서 보낸다.)

NAT 와 NAPT

NAT 와 NAPT 는 기업이나 가정의 LAN 에서 사용하는 프라이빗 IP 주소를 인터넷에서 사용하는 글로벌 IP 주소로 변환하는 기술이다.

NAT(Network Address Translation)

NAT 는 프라이빗 IP 주소와 글로벌 IP 주소를 일대일로 연결하여 변환한다. 하나의 프라이빗 IP 주소와 하나의 글로벌 IP 주소를 연결하는 것이다. 주로 서버를 인터넷에 공개할 때 사용한다.

LAN 에서 인터넷으로 연결할 때는 출발지 IP 주소를 변환한다. 반대로 인터넷에서 LAN 으로 연결할 때는 목적지 IP 주소를 변환한다.

NAPT(Network Address Port Translation)

NAPT 는 프라이빗 IP 주소와 글로벌 IP 주소를 n 대 1로 연결하여 반환한다. NAPT 는 LAN 에서 인터넷에 엑세스 할 때 출발지 IP 주소 뿐만 아니라 출발지 포트 번호도 같이 반환함으로써 n 대 1 변환을 한다.

(하나의 IP에 포트가 여러개이기 때문에 N 대 1이 가능한 것이다.)

* 해당 포스팅은 그림 한장으로보는 최신 서버 가이드북 ( Masahiro Kihashi 지음 ) 을 참고 하였습니다.

반응형

네트워크 개념 정리 | 네트워크, 인터넷, Isp 개념 정리 242 개의 가장 정확한 답변

We are using cookies to give you the best experience on our website.

You can find out more about which cookies we are using or switch them off in settings.

[네트워크] 개념정리 모음

[네트워크] 05. NAT와 포트포워딩

05. NAT와 포트포워딩 [NAT] – Network Address Translation – IP 패킷의 TCP/UDP 포트번호와 IP주소를 재기록하며 라우터를 통해 통신 하는 기술 – 사설 IP 주소와 공인 IP주소를 변환하는 데에 사용하기..

kline1103.tistory.com

기술면접을 위한 Network 개념정리 07 – 라우터

읽기 전

불필요한 코드나 잘못 작성된 내용에 대한 지적은 언제나 환영합니다.

개인적으로 사용해보면서 배운 점을 정리한 글입니다.

기술면접만을 준비하기보다 비전공자 입장에서 Network의 기본적인 내용만 짚기 위해 작성되었습니다.

라우터

레이어 2 스위치로 구획된 동일 네트워크 범위가 아닌 라우터로 구분되는 다른 네트워크로 데이터를 보내려면 네트워크를 연결하는 라우터로 전송한 뒤 라우터가 판단하여 중계해야 한다.

라우팅 : 데이터의 목적지가 어느 네트워크에 접속되어 있는지 판단해서 올바른 경로의 라우터로 전송하는 행위

라우터가 전송하는 데이터는 IP 패킷으로 TCP/IP 계층 중 인터넷 계층에 속한다. 따라서, 라우팅 동작은 인터넷 층에서 수행됨을 의미한다.

라우터가 데이터 전송 시 데이터의 변화 IP 헤더의 TTL과 체크섬 NAT 주소 변환 시 IP 주소도 변경 네트워크 인터페이스 층 프로토콜 헤더는 다른 라우터로 전송하기에 완전히 바뀐다.

라우터의 네트워크 설정 네트워크 접속은 IP 주소를 설정함을 의미한다. 인터페이스에 물리적 배선을 수행하고 IP 주소를 설정함으로써 인터페이스와 네트워크가 연결된다.

라우터의 데이터 전송

라우팅 대상 IP 패킷 수신, 경로 정보 검색하여 전송처 결정

넥스트 홉 : 다음에 전송할 라우터의 주소

이더넷 헤더를 수정해 IP 패킷 전송 다음 전송처의 MAC 주소 요청을 위해 ARP 실행 출발지와 목적지 MAC 주소가 바뀌어 이더넷 헤더가 완전히 새로운 상태 FCS도 새롭게 추가

IP 헤더의 IP 주소는 변경하지 않고 TTL을 1 감소시키고 체크섬을 갱신

목적지 호스트가 속한 라우터의 라우팅 전송하고자 하는 네트워크 주소가(넥스트 홉) 직접 접속으로 동일 네트워크임을 확인

동일하게 라우팅을 수행 – ARP로 이더넷 헤더 갱신

라우터의 네트워크 정보

루트 경로 / 경로 정보 : 라우팅 테이블에 등록된 네트워크 정보

경로 정보의 내용 네트워크 주소 & 서브넷 마스크, 넥스트 홉 주소

라우팅 테이블의 기록 범위 : 그래프의 형태로 목적지까지 순차적으로 진행함에 따라 이웃 라우터의 네트워크까지만 기록 라우터 테이블 상 인식할 수 없는 네트워크로의 IP 패킷은 전부 폐기 연결된 이웃 라우터의 정보는 누락없이 기록해야 함

라우터 테이블 정보 등록 방법 직접 접속 : 라우터와 직접 연결된 네트워크의 경로 정보 라우터의 인터페이스에 IP 정보 할당하여 연결된 네트워크 스태틱 라우팅 : 라우터에 커맨드를 입력하여 수동으로 다른 원격 네트워크 정보 등록 라우팅 프로토콜 : 라우터끼리 정보를 교환하여 필요한 경로 정보 등록 RIP(Routeing Information Protocol) : 소규모 OSPF(Open Shortest Path First) : 중 ~ 대규모 BGP(Border Gateway Protocol) : 인터넷 백본

경로 요약 : 하나의 라우터에 복수의 인터페이스가 존재함에 따라 다른 네트워크에 동일 넥스트 홉이 기록되는 경우를 개선하고자 복수의 네트워크 주소를 하나로 모아서 기록

디폴트 경로 : 0.0.0.0/0으로 표기해 경로 요약을 극단적으로 적용 모든 네트워크를 의미 인터넷의 방대한 네트워크와 다른 거점의 네트워크를 집약 연결된 라우터가 하나라면 자신과 직접 접속된 네트워크를 제외한 모든 네트워크는 원격지 네트워크이므로 디폴트 경로로 요약할 수 있다.

레이어 3 스위치

레이어 3 스위치 : 레이어 2 스위치에 라우터 기능을 추가한 네트워크 기기

레이어 2 스위치와 라우터의 비교

VLAN

VLAN : 하나의 네트워크를 구성하던 레이어 2 스위치가 복수의 네트워크로 분할할 수 있게 함 같은 VLAN에 할당된 포트끼리만 이더넷 프로토콜을 전송케하여 구분 설정에 따라 자유로이 분할 가능 데이터 전송 범위를 좁혀 보안 향상 VLAN으로 분할된 네트워크가 서로 통신하기 위해 레이어 3 스위치의 라우터 기능 요구

태그 VLAN(트렁크) : 레이어 2 스위치들로 VLAN 구성 시 스위치 간 접속을 한 줄로 가능케 함

VLAN 태그 : 태그 VLAN 포트를 송수신하는 이더넷 프레임에 추가되는 정보 어느 VLAN에 소속되었는지 안내

분할된 VLAN 간 연결

VLAN 간 라우팅 : VLAN을 서로 연결해서 통신할 수 있게 함 라우터나 레이어 3 스위치 필요(효율성 측면에서 레이어 3 스위치 사용)

레이어 3 스위치 IP 주소 설정 – 네트워크 연결 레이어 3 스위치 내부의 가상 인터페이스(VLAN 인터페이스)에 IP 주소 설정 레이어 3 스위치 포트 자체에 IP 주소 설정

PC의 게이트웨이

PC의 라우팅 테이블 정보 직접 접속 경로 : 현재 네트워크의 IP 주소, 넥스트 홉은 직접 접속이므로 없음 디폴트 경로 : 동일 네트워크가 아니므로 연결될 라우터의 인터페이스 주소 이 설정이 기본 게이트웨이의 IP 주소이다.

리승자이의 삽질 그리고 정리

728×90

요즘 계속 뭔가 하나씩 연결이 되는 상황이 많다. 그래서 기분이 좀 좋다. 몰랐던 것을 조사하면 이전의 학습했던 것들이 쭉 이어진다. 오늘도 마찬가지이다.

라우터란?

라우터는 패킷의 위치를 추출하여, 그 위치에 대한 최적의 경로를 지정하며, 이 경로를 따라 데이터 패킷을 다음 장치로 전향시키는 장치이다. 즉, 라우터는 이름 그대로 네트워크와 네트워크 간의 경로를 설정하고 가장 빠른 길로 트래픽을 이끌어주는 네트워크 장비이다. 그냥 공유기라 생각하면 된다.

이 라우터에는 단자를 꼽는게 크게 두가지로 볼 수 있는데

그것이 바로 WAN과 LAN이다.

WAN

WAN은 Wide Area Network의 줄임말로 한 집마다 인터넷 회선이 있는데 그것을 WAN으로 생각하면 되겠다. 광범위한 지역 단위로 구성하는 네트워크이다.

이 회선을 가지고 집이나 사무실의 네트워크를 구성한다.

public IP 이다.

LAN

LAN은 Local Area Network로 사용자가 포함된 지역 네트워크이다. 랜랜 거리는 것이 바로 이 LAN이다.

사무실에는 예를 들면 내선전화가 있고 집에서는 공유기를 통해 Wi-Fi나 이더넷으로 연결한 기기들이 다 LAN으로 구성이 되어있다. 그래서 구성할 때 드는 비용과 전기세를 빼면 유지보수비가 들지 않는다. private IP 이다.

라우터를 쓸 때에는 이 자체에도 IP주소가 붙게된다.

인터넷을 실행시키는 순서는 다음과 같다.

컴퓨터에서 웹 브라우저를 킨다. 그리고 도메인명을 입력해서 그 주소에 해당하는 자료를 요청하면 화면이 나오게 되는데

이것을 우리가 배운것으로 설명하자면…

내 private IP 를 라우터가 받는다. 여기서 NAT가 등장하는데 이 뒤에서 설명하도록 하겠다. 공유기가 하는 일은 여기서 두 가지 이다.

어떤 IP가 도메인명을 요청하는지 내부에서 자체적으로 확인 후 기억

NAT가 요청한 데이터를 변경 ex) 192.168.0.xx 를 WAN(public IP) 으로 주소를 변경해서 요청(request)한다.

이렇게 되면 그 도메인은 WAN주소에 응답(response)하고 데이터를 전달해준다. 그러면 WAN에서 다시 공유기로 받은 데이터를 가져온다.

여기서 공유기가 아까 했던 두번째를 다시 바꿔주는데

이제 WAN을 LAN으로 변경해준다. 그렇게 한 뒤에

첫번째로 했던 일인 private IP를 기억해내서 해당 IP에 WAN으로 부터 넘어온 데이터를 넘겨준다.

이런식으로 인터넷으로 소통을 하는것이다.

NAT

NAT는 Network Address Translation이다. IP 패킷에 있는 출발지 및 목적지의 IP주소와 TCP/UDP 포트 숫자 등을 바꿔 재기록하며 네트워크 트래픽을 주고 받게하는 기술이다.

NAT가 있어서 내가 가지고 있는 하나의 공인 IP주소(private IP)를 사용하여 여러 대의 호스트가 인터넷에 접속할 수 있다.

그래서 LAN으로 묶여있는 기기들은 전부 같은 공인 IP주소를 사용한다.

포트 포워딩

0~ 65535 포트까지 있음

22 – SSH

80 – http

1023까지 well-known port

127.0.0.1:8080 ==> 저 ip주소에 8080포트로 서버를 연결해달라는 의미

근데 여기서 문제는 192 사설포트가 여러개일 경우에 해당하는 서버로 매칭시켜주는 것이 포트가 필요한 이유이다.

공인ip:포트 접속요청이 오면 내부에서 192.168.0.x:포트 로 보내는것

여기서 라우터의 nat설정을 바꿔야한다.(라우터가 없을때는 그냥 localhost = 128.0.0.1)

외부포트 -> 공인ip:요청포트

내부포트 -> 설정한 사설ip:요청포트

동적 IP – 계속 값이 변화하기 때문에 지속적인 연결을 하려는데에 제한이 있다.

대신 보안에는 좋을 듯?

고정 IP – 지속적인 연결에는 좋을것, 하지만 보안에는 상대적으로 취약할 수 있다.

네트워크의 기초 개념들을 학습중인데 다시 보니까 이해가 더 잘되는 것같다. 이렇게 공부하고 그냥 아니까 지나가자 가 아니라 다시 한번 와서 개념들을 복습하는게 훨씬 좋은 것이라고 생각한다.🤣🤣

mybatis나 ibatis의 db 매핑정보에서 url주소를 192.168인 내부IP, 그리고 127.0.0.1(localhost) 종류를 많이 사용했고 실제 배포할 때에는 외부 IP를 사용하여 데이터베이스 정보를 잘 매핑시켜야 배포도 원활하게 진행이 되는 것이다. 다음에 서버를 구매하여 배포를 할 때에는 이점을 명시하고 잘 배포해보아야 겠다.

네트워크 정리 1. OSI 참조 모델

1. 개요

인터넷이란?

좁은 의미

. ip(internet protocol)라는 프로토콜을 사용하여 연결된 모든 컴퓨터 네트워크 (ip는 tcp/ip 그룹의 멤버)

보다 일반적 의미

. ip를 사용하지는 않지만 게이트웨이(Gateway)를 통해 연결된 모든 네트워크

. Network of networks (inter-network)

. 실질적으로 전 세계 모든 컴퓨터들을 연결해주는 네트워크

프로토콜 (원래 외교용어, 여기선 통신용어)

프로토콜의 주요 요소

1. 구문(Syntax)

데이터 구조나 형식, 데이터가 표현되는 순서를 의미(ex: 처음 8비트- 송신자 주소, 두번째 8비트- 수신자 주소, 나머지- 메시지)

2. 의미(Semantics)

비트들의 영역별 의미로서 특정 패턴을 어떻게 해석하고 이를 기반으로 어떤 동작을 할 것인가를 결정(ex: 주소- 목적지나 석택되어지는 경로)

3. 타이밍(Timing)

언제 데이터를 전송하고 얼마나 빠른 속도로 전송할 것인가?

프로토콜(Protocol)과 표준(Standards)

. 컴퓨터 통신은 서로 다른 시스템에 있는 개체(entity)간에 이루어지며, 개체는 정보를 송수신하는데 필요한 모든 일을 담당

. 데이터 통신을 위한 규칙의 집합으로 무엇을, 어떻게, 그리고 언제 통신할 것인가를 규정

. 합의된 규칙(rule)

프로토콜 계층 구조 필요성

. 두 개체(entity) 상호 간 통신 시 프로토콜(protocol) 필요

. 통신이 복잡하면 복잡한 임무를 여러 계층에 나눠서 모듈화

-> 각 계층에 하나씩 별도의 여러 개 프로토콜 필요 (차가 고장났을 때, 그냥 고장난 게 아닌, 바퀴 엔진 보닛 등 계층별로 구별하면 전문가가 쉽게 고칠 수 있다.)

2. 이해를 위한 예제

프로토콜 계층구조 필요성을 설명하기 위해 두 개의 가상 시나리오 예제를 도입

. 단일 계층만으로도 가능한 경우

. 여러 계층으로 분리가 불가피한 경우

가상의 시나리오 1: 단일 계층 구조

. 마리아와 앤은 서로 이웃

. 마리아는 스페인어만 사용

. 앤은 영어만 사용

. 둘은 어려서 sign 언어를 배움

. 일주일에 몇 번씩 카페에서 만나 미팅을 가짐

. sign 언어를 사용하여 의견 교환

. 하나의 계층에서 이루어진 두 사람의 대화

마리아(Layer1) <-----signs-------> 앤(Layer1) // 계층은 하나

가상의 시나리오 2: 다 계층 구조

. 앤이 직업에 의해 다른 타운으로 이사

. 헤어지기 전, 두 사람은 카페에서 미팅

. 앤이 두 개의 작은 기계가 들어있는 소포 공개

. 첫번째 기계는 영어를 secret code로 또는 그 반대로 변환

. 다른 기계는 스페인어를 secret code로 또는 그 반대로 변환

. 앤이 첫 번째 기계를, 마리아가 두번째 기계를 가짐

. 두 사람은 secret code를 이용하여 계속 통신 가능

마리아(Layer3) 스페인어 앤(Layer3) 영어

ㅣ ㅣ

Translator(Layer2) secret code Translator(Layer2) secret code

ㅣ ㅣ

Post office (Layer1) post office (Layer1)

ㅣ ㅣ

ㅡㅡㅡㅡㅡㅡ집배원ㅡㅡㅡㅡㅡㅡㅡㅡ집배원ㅡㅡㅡㅡㅡㅡ

3. OSI 참조 모델(Reference Model)

. Open System Interconnection

. ISO 7498 OSI Basic Reference Model (ISO는 표준화 기구)

. 모든 종류의 컴퓨터 시스템간 통신을 가능하게 하는 네트워크 설계를 위한 계층 구조

. 서로 연관된 7계층으로 구성

Layer 7 Application

6. Presentation

5. Session

4. Transport

3. Network

2. Data Link

1. Physical

A ~ B로 통신하려 할 때 서로의 7계층 끼리 연결된 건 거의 없다.

송신 측에서 7 ~ 1 순서로 보내고, 그게 다시 상대쪽으로 보내지면 1 ~ 7 순서로 올라감

중간에 하위 3계층 (물리, 데이터링크, 네트워크)에 들렀다, 다시 돌아오고 전해지는 경우(라우터)도 있다.

3계층만 들리는 이유는, 우리가 서울에서 부산까지 편지를 보내면 바로 가기 보단, 대전, 대구 등 다른 우체국을 들리는 경우가 많다. 그런데 그 우체국에서 편지의 내용까지 확인하면 문제가 생긴다. 하지만 편지지에 붙어있는 주소 정보는 봐야 하니 그게 하위 3계층과 같다.

OSI 7계층 구조 하에서의 상호 통신 과정 : 프로토콜 데이터 관점

7계층에서 header를 씌우고, 6계층에서 그 헤더에 6계층 헤더를 씌우면서 여러 겹이 된다.

2계층에서 헤더만 붙이는 게 아닌 뒤에도 뭘 붙이는 이유는 오류제어 기능이다.

Tail에서 에러체크를 함

2진수 형태의 데이터를 보내고, 수신자는 이 포장을 하나씩 거꾸로 벗기고 내용만 받는다.

네트워크 개념 정리 | ☆ 쉬움주의) 네트워크 기초 기술 모르시는 분들 이 정도만 알면 기술사만큼 됩니다. 책한권 뚝딱 누구나 알면 좋을 컴퓨터 상식 빠른 답변

We are using cookies to give you the best experience on our website.

You can find out more about which cookies we are using or switch them off in settings.

키워드에 대한 정보 네트워크 개념 정리

다음은 Bing에서 네트워크 개념 정리 주제에 대한 검색 결과입니다. 필요한 경우 더 읽을 수 있습니다.

이 기사는 인터넷의 다양한 출처에서 편집되었습니다. 이 기사가 유용했기를 바랍니다. 이 기사가 유용하다고 생각되면 공유하십시오. 매우 감사합니다!

사람들이 주제에 대해 자주 검색하는 키워드 ☆ 쉬움주의) 네트워크 기초 기술 모르시는 분들 이 정도만 알면 기술사만큼 됩니다. 책한권 뚝딱 누구나 알면 좋을 컴퓨터 상식

  • 네트워크
  • 기술
  • TCP
  • IP

☆ #쉬움주의) #네트워크 #기초 #기술 #모르시는 #분들 #이 #정도만 #알면 #기술사만큼 #됩니다. #책한권 #뚝딱 #누구나 #알면 #좋을 #컴퓨터 #상식


YouTube에서 네트워크 개념 정리 주제의 다른 동영상 보기

주제에 대한 기사를 시청해 주셔서 감사합니다 ☆ 쉬움주의) 네트워크 기초 기술 모르시는 분들 이 정도만 알면 기술사만큼 됩니다. 책한권 뚝딱 누구나 알면 좋을 컴퓨터 상식 | 네트워크 개념 정리, 이 기사가 유용하다고 생각되면 공유하십시오, 매우 감사합니다.

See also  제 3 인간형 | 제3인간형_안수길 (2022 수특문학 162P) [최창희국어] 167 개의 자세한 답변

Leave a Reply

Your email address will not be published. Required fields are marked *