sw 사관학교 정글/TIL & WIL

[2022.05.12 ]TIL - 추상화, OSI 7 layer , TCP/IP, HTTP, file descriptor, DNS

donggyu 2022. 5. 14. 03:02
반응형

이번주의 시작은 주간 키워드 및 중요 개념을 깔끔하게 이해하고 빠르게 코드로 가는 것을 목표로 한다. 따라서 추가 키워드와 함께 TIL을 시작 하겠다

 

추상화(abstraction)

일반성에 기반한 간결화

  • 일반성을 추출해 간결하게 표현하는 일
  • 전체에서 핵심만을 뽑아내 전체를 표현
  • 예) 지하철 노선도는 원래 숫자로 이루어 져있다, 하지만 우리가 의미를 부여하여 사용한다.

 

OSI 7 layer & TCP/IP 4 layer

(중요! 꼭 같이 비교하며 학습, 제일 중요하게 느꼈던 것은 사용자 모드, 커널모드, 하드웨어랑 함께 생각해야한다는 것이다!!)

OSI 7 Layer

 

네트워크 통신을 체계적으로 다루고 있는 ISO 표준은 개방시스템 상호연결(OSI) 모델이다

개방시스템이란 기반구조와 관계없이 시스템간의 통신을 제공하는 프로토콜의 집합

계층구조를 가짐으로써 데이터자체의 흐름을 각 구간별로 데이터의 움직임을 알 수 있다. 트러블슈팅 자체가 용이해지며 각기 다른 벤더사와의 호환성도 해결될 수 있다.

 

TCP/IP 4 Layer

 

TCP/IP는 현재의 인터넷에서 컴퓨터들이 서로 정보를 주고받는데 쓰이는 프로토콜 모음

하드웨어, 운영체제, 접속매체에 관계없이 동작할 수 있는 개방성을 가짐

실제 대다수 프로그램은 TCP와 IP로 통신하고 있다.

 

비교: 두 모델 모두 계층형이라는 공통점을 가지고 있고, TCP/IP 는 인터넷 개발 이후 계속 표준화되어 신뢰성이 우수인 반면, OSI 는 표준이 되기는 하지만 구현되는 예가 없어 신뢰성이 저하됨, OSI 7 layer는 장비 개발과 통신 자체를 어떻게 표준으로 잡을지 사용되는 반면에 실질적인 통신자체는 TCP/IP 프로토콜을 사용한다.

 

파일 디스크립터(FD, File Descriptor)

Unix OS에서 네트워크 소켓과 같은 파일이나 기타 입력/출력 리소스에 액세스하는 데 사용되는 추상표현

시스템으로 부터 할당받은 파일이나 소켓을 대표하는 정수

파일 디스크립터는 음이 아닌 정수로, 일반적으로 형식 int로 C 프로그래밍 언어로 표현 됨

(음수 값은 “無값" 혹은 에러를 위해 예약됨 window에서는 file handle이라고 부르고 값은 랜덤하게 할당)

FD의 0번에서 2번까지는 고정되어 있다(unistd.h 헤더 파일에 명시)

 

*프로토콜 (⩬ 약속)

공부하며 떠올린 제일 쉽게 이해할 수 있었던 예제

ex) 부산에서 서울까지 갈때 우리는 을 가지만 국도, 고속도로, 자동차 전용도로 마다 각각의 규칙과 상태에 조금씩 변경이 있다!

 

DNS(Domain name system)

도메인 이름을 ip 주소로 변환하고 라우팅 정보를 제공하는 분산형 데이터베이스 시스템

라우팅

한 네트워크에서 다른 네트워크로 패킷을 이동시키는 과정과 네트워크 안의 호스트에게 패킷들을 전달하는 과정을 의미함

라우팅의 종류로는 정적 라우팅, 디폴트 라우팅, 동적 라우팅이 있음

라우터(roter)

네트워크에서 데이터의 전달을 촉진하는 중계 장치, 즉 데이터의 전송을 위한 경로 지정

데이터를 출발지에서 목적지 까지 가장 빠르고 효율적인 길을 스스로 찾아 안내해주는 능력을 가지고 있음

라우터가 라우팅 프로토콜을 통해서 궁극적으로 이루려고 하는 것은 바로 3계층의 IP 패킷( = 트래픽)을 흐르게 하여 데이터를 전송하는 것

 

추가적으로 적고 싶은 개념이 많은데, 따로 한번 더 다루거나, 아니면 본문 내용 수정을 통해 추가 작성을 하도록 하겠다!

반응형