Computer Science/Network 11

[Network] TCP/IP 4 Layer ( TCP/IP 4계층 ) OSI 7 Layer vs TCP/ICP 4 Layer 국제표준화기구 IOS(International Organization for Standardization)에서는 상호 이질적인 네트워크간의 연결에서 호환성의 결여를 막기위해 OSI(Open Systems Interconnection) 모형을 개발했습니다. TCP/IP는 OSI 참조 모델을 기반으로 상업적이고 실무적으로 이용될 수 있도록 단순화된 모형입니다. 네트워크 전송 시 데이터 표준을 정리한 것이 OSI 7계층, 이 이론을 실제 사용하는 인터넷 표준이 TCP/IP 4계층입니다. 응용 계층 (Application Layer) OSI의 세션, 표현, 응용 계층이 여기에 해당합니다. 사용자와 가장 가까운 계층으로 사용자가 소프트웨어 응용 프로그램과 소.. Computer Science/Network 2021. 11. 22.
[Network] OSI 7 Layer ( OSI 7계층 ) 계층을 분리하여 각 계층은 독립적인 역할을 할 수 있습니다. 역할이 분리되면서 문제가 발생하더라도 어떤 계층에 문제가 생겼는지도 파악이 가능합니다. 동작 원리 OSI 7계층은 응용, 표현, 세션, 전송, 네트워크, 데이터링크, 물리계층으로 나뉩니다. 송신 시 응용 계층에서 물리 계층으로 데이터가 향하게 되고, 각 레이어마다 수신 호스트의 해당 계층에서 데이터를 처리할 때 필요한 정보를 헤더에 작성하여 하위 계층으로 전달합니다. (캡슐화) 수신 시 물리 계층에서 응용 계층으로 데이터가 향하게 되고, 헤더 부분의 정보를 사용해서 해당 계층의 프로토콜을 처리한 후 헤더 부분을 제거한 데이터를 상위 계층으로 전달합니다. (역캡슐화) 데이터 링크 계층에서는 물리적인 통신 채널을 연결하기 위해 헤더 이외에 트레일러.. Computer Science/Network 2021. 11. 22.
[Network] HTTP Method의 속성 안전( Safe ) 호출해도 리소스를 변경하지 않는다는 의미입니다. 호출로 인해 리소스의 변경을 일으키지 않는 것을 안전하다고 합니다. GET은 단순 조회이기 때문에 변경이 일어나지 않기 때문에 안전하다고 할 수 있습니다. POST, PUT, PATCH, DELETE는 변경을 시도할 수 있기 때문에 안전하다고 할 수 없습니다. 멱등( Idempotent ) 같은 요청을 여러번을 하더라도 결과가 똑같아야 합니다. 이때 외부 요인으로 인한 변경은 고려하지 않습니다. GET은 몇번을 조회하든 결과가 같습니다. PUT은 리소스를 대체합니다. 똑같은 요청이라면 결과적으로 같습니다. DELETE은 리소스를 삭제합니다. 결과적으로 삭제된 것은 같습니다. POST 두 번 호출하면 같은 결과가 중복으로 발생할 수 있습니.. Computer Science/Network 2021. 11. 10.
[Network] HTTP Method GET 특정 리소스의 정보를 조회하는 역할을 합니다. 서버에 전달하고 싶은 데이터는 query로 전달할 수 있습니다. 메세지 바디로 전달할 수 있습니다. 하지만 지원하지 않는 경우가 많기때문에 쿼리로 처리하는 것이 바람직합니다. HEAD GET과 동일한 역할을 합니다. 하지만 돌아올 헤더만 요청합니다. 본문을 가져선 안되며, 본문이 존재하더라도 무시해야 합니다. Content-Length처럼 본문 콘텐츠를 설명하는 개체 헤더는 포함할 수 있습니다. POST 요청 데이터를 처리합니다. 메세지 바디를 통해 서버로 요청 데이터를 전달합니다. 주로 전달된 데이터를 신규 리소스를 등록, 프로세스 변경에 사용되지만 거의 모든 역할을 수행할 수 있습니다. 리소스 URI에 POST 요청이 오면 정해진 처리 방식이 없기.. Computer Science/Network 2021. 11. 10.
[Network] HTTP ( Hyper Text Transfer Protocol ) WWW( World Wide Web )에서 정보를 주고받을 수 있는 프로토콜입니다. 주로 HTML 문서를 주고받는 데에 쓰입니다. 하지만 최근에는 HTTP 메세지로 모든 것을 전송합니다. HTML, TEXT, IMAGE, 음성, 영상, 파일, JSON, XML 등 거의 모든 형태의 데이터를 전송할 수 있습니다. 심지어 서버간의 데이터를 주고 받을 때도 대부분 HTTP 사용합니다. HTTP/1.1, HTTP/2은 TCP 프로토콜을 기반으로 사용하고 HTTP/3은 UDP 프로토콜을 기반으로 사용합니다.현재 HTTP/1.1가 주로 사용되고 HTTP/2, HTTP/3도 점점 증가하고 있습니다. HTTP 특징 1. Client-Server 구조 Request와 Response 구조로 이루어져 있습니다. Reque.. Computer Science/Network 2021. 8. 9.
[Network] URI ( Uniform Resource Identifier ) Uniform - 리소스 식별하는 통일된 방식 Resource - 자원, URI로 식별할 수 있는 모든 것( 제한 없음 ) Identifier - 다른 항목과 구분하는데 필요한 정보 URI? URL? URN? URI는 Locator(URL), Name(URN) 또는 둘 다로 추가로 분류될 수 있습니다. URL은 리소스가 있는 위치를 지정, URN은 리소스에 이름을 부여한 것 입니다. 위치는 변할 수 있지만, 이름은 변하지 않습니다. 하지만 실제로 URN 이름만으로 실제 리소스를 찾을 수 있는 방법이 보편화 되지 않았습니다. 따라서 URI와 URL을 같은 의미로 생각하면 됩니다. URL 문법 scheme://[userinfo]@[host][:port][/path][?query][#fragment] sche.. Computer Science/Network 2021. 8. 9.
[Network] DNS IP는 기억하기 어렵고, 변경될 수 있습니다. 그렇게 때문에 직접 IP로 접근이 어렵습니다. 이것을 해결하기 위한 것이 DNS입니다. DNS는 도메인명을 IP주소로 변환하여 줍니다. DNS 서버에 도메인을 등록하고 해당 도메인에 대한 요청이 있을 경우 DNS 서버가 해당하는 IP를 응답해주고 클라이언트는 해당 IP로 서버에 접속하게 됩니다. 출처 생활코딩 Computer Science/Network 2021. 8. 9.
[Network] Port 같은 IP 내부에서 프로세스를 구분하는 것입니다. IP가 아파트라면 포트는 몇동 몇호에 해당한다고 할 수 있습니다. Port는 0~65535 사이에서 할당가능합니다. 0~1023 잘 알려진 포트로 할당하지 않는게 좋습니다. 대표적인 포트는 FTP 20와 21, TELNET 23, HTTP 80, HTTPS 443가 있습니다. 출처 모든 개발자를 위한 HTTP 웹 기본 지식 Computer Science/Network 2021. 8. 9.
[Network] TCP와 UDP TCP와 UDP는 OSI 표준모델과 TCP/IP 모델의 전송계층에서 사용되는 프로토콜입니다. 전송계층은 송신자(Client)와 수신자(Server)를 연결하는 통신 서비스를 제공하고 IP에 의해 전달되는 패킷의 오류를 검사하며 재전송 요구 제어등을 담당하는 계층입니다. 쉽게 말해 데이터의 전달을 담당한다고 생각하시면 됩니다. TCP와 UDP는 포트 번호를 이용하여 주소를 지정하는것과 데이터 오류검사를 위한 체크섬 존재하는 두가지 공통점을 가지고 있지만 정확성(TCP)을 추구할지 신속성(UDP)을 추구할지를 구분하여 나뉩니다. 데이터를 중요하게 생각하여 확실히 주고받고 싶을 때는 ‘TCP(Transmission Control Protocol)’를 사용합니다. TCP는 통신할 컴퓨터끼리 3-way-hands.. Computer Science/Network 2021. 8. 9.
[Network] IP ( Internet Protocol ) 송신 호스트와 수신 호스타가 패킷 교환 네트워크에서 정보를 주고받는데 사용하는 규약입니다. 패킷이라는 통신 단위로 데이터를 전달합니다. 패킷은 출발지의 IP와 목적지의 IP 그리고 데이터 등등을 가집니다. IP 프로토콜의 한계 1. 비연결성 대상 서버가 어떤 상태인지 모르고 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷을 전송합니다. 2. 비신뢰성 중간에 패킷이 사라져도 결과를 알 수 없습니다. 또, 패킷을 여러개 보냈을 때 순서대로 받지 못할 가능성이 있습니다. 3. 프로그램 구분 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이면 구분할 수 없습니다. Computer Science/Network 2021. 8. 9.