CS공부 13

TCP / IP 4계층 동작원리 및 캡슐화, 역캡슐화

이전 포스팅에선 TCP/IP 4계층과 OSI 7계층에 대해서 알아보았습니다.https://steady-snb.tistory.com/25 TCP/IP 4계층? OSI 7계층? 이 도대체 뭘까TCP/IP 4계층이란? 인터넷상에서 데이터를 주고받을 때 쓰이는 프로토콜의 모음입니다. OSI 7계층이란? 위에서 설명한 프로토콜에 대한 디자인과 통신을 계층으로 나누어 설명하기 위한 모델입steady-snb.tistory.com  위의 프로토콜들이 실제로 어떻게 통신하는지 알아봅시다.  위의 그림에서 말하는 헤더는 데이터의 앞 부분에 위치하는 데이터 전송에 필요한 정보를 뜻합니다. 통신과정 1. 송신측 클라이언트 애플리케이션 계층에서 어느 웹 페이지를 보고싶다 라는 HTTP 요청을 지시한다.2. 그 다음에 있는 트랜..

네트워크 연결방식 (LAN, MAN, WAN)

1.LAN(Local Area Network) - 근거리 통신망- 집이나 회사 등 소규모 네트워크를 말하며 주로 스위치나 허브로 연결- 하나의 논리적 주소IP를 기반으로 여러개의 물리적 MAX주소로 구별하는 네트워크이다.- 호스트 -> 인터넷 ->public ip -> NAT router -> private ip -> com1, com2, com3 2.MAN(Metropolitan Area Network)  - 대도시통신망- 도시와 도시를 연결하는 통신망을 뜻하며 두 개 이상의 LAN이 연결되어 구성된다.- MAN은 라우터와 브릿지 등으로 연결된다. 3.WAN(Wide Area Network)  - 광역통신망- 국가와 국가 간의 연결을 하는 통신망이며 인터넷이라고도 한다.- 많은 라우터로 연결되어있다.

네트워크 통신방법 유니캐스트(Unicast), 멀티캐스트(Multicast), 브로드캐스트(Broadcast)

네트워크 통신방법 중 유니캐스트(Unicast), 멀티캐스트(Multicast), 브로드캐스트(Broadcast)에 대해 알아보자.   1.유니캐스트(Unicast) 유니캐스트는 특정 호스트와 특정 호스트간 데이터를 주고받는 1대1 방식입니다. - 특징1. 단일 수신자(일대일 통신)2. 신뢰성 : 중간에 데이터가 손실되거나 왜곡되는 일이 거의 없습니다.3. 보안 : 특정 수신자에게 전송 - 동작방식1. 송신 호스트는 데이터를 세그먼트 단위로 패킷화하여 수신 호스트의 IP주소로 전송합니다.2. 데이터 패킷은 목적지 호스트의 IP주소에 의해 L3스위치나 라우터에서 라우팅되며 목적지 호스트로 전송됩니다.3. 목적지 호스트는 데이터 패킷을 수신하고 재조립하여 처리합니다.   2. 멀티캐스트(Multicast) ..

네트워크 토폴로지란?

네트워크 토폴로지란? 네트워크를 배치하는 방식으로, 링크와 노드들이 어떤 식으로 배치되어 서로 연결되는지를 물리적 혹은 논리적으로 나타낸것입니다.  네트워크 토폴로지가 중요한 이유에 대해서 알아보자.기업의 필요에 맞게 네트워크를 적절히 배치하면 자원을 효율적으로 분배하고 관리할 수 있어안정성 향상과 운영 및 관리비를 줄이는데 효율적입니다.  네트워크 토폴로지의 2가지 범주 - 물리적 : 전선, 케이블 등으로 실제 연결되어 배치된 것을 나타냅니다. - 논리적 : 어떤 노드가 어떤 방식으로 다른 노드들과 서로 연결되어 있는지, 또한 데이터가 네트워크를 통해 어떻게 전송되                는지 등에 의해 결정됩니다. 논리적 네트워크 토폴로지에는 모든 가상 리소스와 클라우드 리소스가 포함됩니다.  네..

컨테이너와 도커에 대해서 알아보고 최신 개발 트렌드 따라잡자

이번 글은 요즘 개발자들 사이에서 가장 많이 이용되고있는 도커에 대해서 알아보자. 도커(docker)란?어플리케이션 실행에 필요한 모든 리소스들을 도커안의 컨테이너에 담아놓고 관리하는 툴입니다. 그렇다면 컨테이너는 무엇인가?출처 - https://www.youtube.com/watch?v=LXJhA3VWXFA 어플리케이션을 실행하기 위해서는 소스코드뿐만 아니라 환경설정도 중요한데요자신의 컴퓨터에서 돌아가는 어플리케이션이 왜 서버에서 실행을 하면 안되는 문제를 해결하기 위해 출처 - https://www.youtube.com/watch?v=LXJhA3VWXFA 위의 그림과 같이 컨테이너 내부에 어플리케이션의 실행에 필요한 모든 리소스를 통으로 넣어 저장하는 것이다.  이렇게 도커를 이용하면 개인 컴퓨터와 ..

CI/CD 파이프라인 구축이란?

흔히들 CI/CD를 통해 파이프라인을 구축하여 지속적으로 배포를 해야한다. 라는 말을 많이 들어보셨을 겁니다.도대체 CI/CD란 무엇인가에 대해서 알아봅시다.    가장 먼저 CI/CD를 사용하는 이유에 대해서 알아봅시다.만약 실제 서비스중인 어플리케이션이 있다고 해봅시다. 개발자1이라는 사람이 코드를 수정 후 충분한 테스트를 하지 않고현재 운영하는 서버에 다이렉트로 커밋을 했는데 오류가 발생해 서버가 내려가는 사태가 발생할 수 있습니다.이러한 상황을 방지하기 위해 CI/CD 파이프라인 구축을 통한 운영서버에 지속적 통합 및 배포가 이루어져야합니다.  CI(Continuous Integration)란? 지속적으로 애플리케이션의 새로운 코드들이 테스트 및 빌드가 되어 통합 레퍼지토리에 저장되는 것을 의미합..

클라우드 컴퓨팅에 대해 알아보자.

이전 글에선 클라우드에 대해 알아보았다.그렇다면 이번시간엔 클라우드 컴퓨팅에 대해 알아보자. 클라우드 컴퓨팅이란?전문적으로 서버를 제공해주는 업체에서 가상의 서버를 제공받고가상의 서버에 프로그램 및 데이터를 저장해두고 필요할 때 마다 서버에서 불러오는 작업을 말하는데요 클라우드 컴퓨팅 서비스 방식에는 크게 3가지가 존재한다. 출처 - https://www.youtube.com/watch?v=exewHoMNjsQ 첫째, IaaS(Infrastructure as a Service, 인프라 기반 서비스)기본적인 컴퓨팅 인프라를 제공하는 서비스로, 가상화된 인프라자원(서버, 스토리지, 네트워크 등)을 제공하는 서비스모델 입니다. 사용자는 필요한 용량만큼 확장 가능한 리소스를 선택하고 구성할 수 있습니다. 둘째,..

API란?

API(API, Application Programming Interface)는 둘 이상의 컴퓨터 프로그램이 서로 통신하는 방법이자컴퓨터 사이에 있는 중계계층을 의미한다.가령 A라는 컴퓨터가 요청을 하고 B라는 컴퓨터가 응답을 한다고 가정했을 때어떻게 통신(HTTP, HTTPS 프로토콜)할 것 인지?,어떠한 데이터형식(XML,JSON)으로 주고 받을 것 인지?,어떠한 방식(GET, POST) 등에 대한 방법이 정의된 중계계층이다.  API의 작동방식 사용자가 브라우저를 통해 서버에 요청을 하게되면 API가 중계계층 역할을 하며 요청을 처리하는 것을 볼 수 있습니다.직접 서버의 데이터베이스에 접근하는 것을 방지하기도 하는 것을 볼 수 있습니다.   API의 종류 - private : 내부적으로 사용됩니다...

XML이란?

XML(Extensible Markup Language)로 마크업 형태를 쓰는 데이터 교환 형식입니다. 마크업이란?마크업(markup)은 태그 등을 이용하여 문서나 데이터의 구조를 나타내는 방법이다.(속성부여도 가능) 첫 이별 그날 밤 아이유 이런엔딩 아이유  마크업의 구성요소 1. 프롤로그: 버전,인코딩2. 루트요소(단 하나만 존재)3. 하위요소들   HTML과 XML의 차이 1. HTML의 용도는 데이터를 표시/ XML은 데이터를 저장 및 전송2. HTML에는 고유한 태그를 만들고 정의가 가능함3. XML은 대/소문자를 구분하지만 HTML은 구분하지 않음    JSON과 XML의 차이..

JSON이란?

JSON(JavaScriptObjectNotation)은 Javascript객체 문법으로 구조화된 데이터교환형식, python, javascript, java 등여러 언어에서 데이터 교환형식으로 쓰이며 객체문법말고도 단순 배열, 문자열도 표현 가능합니다. 1.Javascript객체문법-키(key), 값(value)으로 구성됨-이미 존재하는 키를 중복선언하면 나중에 선언된 값이 덮어쓰는구조 ex)const player = { "soccerplayer" : [{ "name" : "kaka", "position" : "attacker" }, { "name" : "kimminjae", "position" : "de..