Dev.J

[네트워크 기초] Switch/Switching, 데이터 단위 정리, 인터페이스 선택 원리와 기준, 웹 서비스 구조 본문

Computer Science/Network

[네트워크 기초] Switch/Switching, 데이터 단위 정리, 인터페이스 선택 원리와 기준, 웹 서비스 구조

JJ____ 2023. 6. 15. 16:43

요즘 네트워크를 공부하고 있는데 널널한 개발자TV의 네트워크 기초 강의를 참고하고 있다.

강의 링크 : https://youtu.be/k1gyh9BlOT8

 

강의를 통해 배운 내용을 개인 노션 뿐만 아니라 개발 블로그에도 남겨보려한다. 특별한 규칙없이 중요하다고 강조되거나 내가 정리해두고 싶은 부분을 정리할 예정이다.


Switch/Switching

Switch(교차로의 집합체인 고속도로)가 Router(교차로)라고 생각해도 된다.

데이터를 가지고 있는 Packet이 Router에 도착했을 때 Routing Table을 참고해서 최적의 경로를 찾는 스위칭 Switching 을 한디다.

Router는 기본적으로 L3 스위칭(네트워크 계층 IP)을 한다.

 

데이터 단위 정리

File I/O에서는 "Stream data라는 Data" 단위!

Stream data : 시작은 정해져 있으나, 끝은 정해지지 않아 연속성을 가지는 데이터 / 패킷 / 비트 등의 흐름을 의미한다.

 

네트워크 데이터 전송 흐름

  1. User mode 수준(= Socket 수준) : Application Process가 Socket(Device File)에 "Stream Data"를 write한다
  2. Kernel 수준 : Transport 계층(TCP)에서 Stream Data에 대해 MSS(Maximum Segment Size, Packet의 크기를 기초해 만들어짐)를 기준으로 잘라 "Segment"로 만든다. (이 행위를 "Segmentation"이라 한다)
  3. Kernel 수준 : Network 계층(IP)에서 Segment를 인터넷으로 전송 가능한 형태로 포장해 "Packet"으로 만든다. Packet의 길이 기준은 MTU(Maximum Transport Unit)이라 부르며, 기본 1500 bytes이다. (MSS는 이보다 더 작다)
  4. H/W 수준 : Packet을 "Frame"으로 "Encapsulation"해 인터넷으로 전송한다

 

인터페이스 선택 원리와 기준

널널한 개발자 TV 네트워크 기초- 인터페이스 선택 원리와 기준 중

하나의 컴퓨터에 NIC가 하나 있고, 무선 인터넷이 하나 연결되어있을 때 크롬 프로세스를 동작시키면 이 크롬은 어떤 인터페이스를 선택하나?

PC는 주로 메트릭 값(비용)으로 결정 - 터미널에 route PRINT 명령어 입력 시 확인 가능

 

웹 서비스 구조

웹 서비스는 전체적인 구조를 익혀라. 구조를 이루는 요소들이 있을텐데 이 요소 하나하나에 접근하지x

 

초창기 웹 서비스 구조

HTTP 1.0 수준 정도에서, 웹 구성요소인 웹 클라이언트와 웹 서버의 동작 과정 (public한 인터넷과 연결되어있음)

  • TCP/IP 통신을 전제로 하고있음 (Web Client와 Web Server가 TCP/IP 연결이 되어있다고 가정, 상태 개념이 있음)
  • 해당 연결을 기초로 해서 HTTP 통신이 됨. 여기서 HTTP 통신은 무상태라는 중요한 특징을 가지고 있음.

1. 브라우저에 URL을 입력하면 DNS는 URL을 IP 주소로 매핑해주고, 이를 활용해 Browser는 Web Server에 HTTP Request(GET) 요청을 보낸다. (GET은 원격 리소스에 대한 read 요청)

2. 웹 서버는 HTTP Response로 HTML 파일을 전송해준다.

3. 브라우저는 받은 HTML을 파싱해 구문 분석해서 비선형 자료구조인 DOM 형태로 만든다.

4. 브라우저가 DOM 형태의 정보를 활용해 렌더링한다

당시 브라우저란 원격지 문서 뷰어와 같다고 보면 된다. (기존 문서뷰어와 다른 점이 있다면 원격지 문서뷰어라고 할 수 있었다.)

  • DOM(The Document Object Model) : 문서에 구성을 표현하며 프로그래밍 언어가 DOM을 조작해 문서 구조 / 스타일 / 내용 등을 변경할 수 있도록 한다
  • URL(Uniform Resource Locator) : 인터넷에서 리소스의 위치를 가리키는 문자열을 말한다 (HTTP 뿐만 아니라 FTP, SMTP 등에서도 활용 가능하다)
  • DNS(Domain Name System) : IP 네트워크에서 도메인 이름을 서버의 IP 주소로 변환해주는 역할을 한다
728x90