컴퓨터공학/네트워크 10

네트워크 기초 - 네트워크 장비

Hub 네트워크 분배기 역할을 하는 장치(Dummy Hub) 데이터를 연결된 모든 장치에 보냄 데이터 수신자가 자신이 목적지인지를 MAC Address로 판단 여러 단말장치들이 데이터를 발송하면 데이터 충돌이 발생(Collision Domain)한계 허브는 한 번에 데이터 1개씩만 단말장치에 전송할 수 있기 때문에 네트워크 회선이 지원하는 전송 대역폭을 충분히 보장하지 않음 Switch 데이터의 충돌 영역을 줄이고, 네트워크 전송 대역폭을 보장하기 위해 개발된 장비(Switch Hub) 데이터는 Switch에 있는 MAC Address Table을 참조하여 목적지까지 경로를 결정함 Switch는 자신을 지나는 데이터의 MAC 주소를 가지고 MAC 주소 테이블을 갱신함(MAC Learning) Switch..

네트워크 기초 - 단말장치

Netwrok Interface Card 소규모 네트워크에 연결해주는 장치 NIC는 고유 주소는 MAC Address를 가지고 있음 MAC Address 16진수 12자리(48bit)로 이루어져 있는 NIC의 고유 주소 앞 6자리(24bit) --> 제조사 식별코드 뒤 6자리(24bit) --> 장비코드(시리얼번호) FF:FF:FF:FF:FF:FF --> 브로드캐스트 주소로 지정되어 있음 Internet Protocol Address 네트워크에서 단말장치에 할당되는 주소IPv4 8bit마다 옥텟으로 구분되는 32bit 길이의 주소체계사설 IP, 공인 IP 사설 IP : 내부망에서만 사용하는 IP 공인 IP : 외부망(인터넷)에서 사용하는 IP Network Address Translation 사설 IP ..

RESTful API

소개 REST란 Representational State Transfer의 약자로 2000년에 Roy Fielding의 박사학위 논문에서 최초로 등장했습니다. 로이 필딩은 HTTP의 주요 저자 중 한 사람으로서 웹의 장점을 최대한 활용할 수 있는 아키텍처로써 REST를 발표했습니다. 구성 REST API는 아래의 요소로 이뤄져 있습니다. 자원(Resource) : URI 행위(Verb) : HTTP Method 표현(Representations) 특징 Uniform Interface URI로 지정한 자원에 대한 조작 방법을 통일하고 한정적인 인터페이스로 수행하는 아키텍쳐 스타일입니다. Stateless 작업을 위한 상태정보를 저장하고 관리하지 않습니다. 세션/쿠키를 관리하지 않기 때문에 API 서버는 단..

HTTP 메시지

개요 HTTP 메시지는 HTTP 애플리케이션 간 주고받는 데이터, 블록입니다. HTTP 메시지는 클라이언트, 서버, 프록시 사이를 흐릅니다. 메시지 방향 인바운드 : 트랜잭션 방향. 메시지가 서버로 향하는 것 아웃바운드 : 트랜잭션 방향. 메시지가 서버에서 처리되고 사용자 에이전트로 돌아오는 것 모든 메시지는 다운스트림으로 흐름. 절대 업스트림으로 흐르지 않음. 메시지 구조 시작줄(메시지 형태), 헤더(메시지의 속성), 엔티티 본문(데이터) 엔티티는 텍스트, Binary를 가지고 있거나 비어있을 수 있습니다. 메시지 문법 Request(요청) 시작줄 : 메서드 요청 URL 버전 헤더 엔티티 본문 Response(응답) 시작줄 : 버전 상태 코드 사유 구절 헤더 엔티티 본문 메서드 GET 서버에서 리소스를..

URL과 리소스

개요 URL은 인터넷의 리소스를 가리키는 표준 이름입니다. URL은 리소스가 어디에 있고, 어떻게 접근할 수 있는지 알려줍니다. URL 문법 대부분의 URL 스킴의 문법은 일반적으로 9개 부분으로 나누어져 있습니다. 스킴://사용자 이름:비밀번호@호스트:포트/경로;파라미터?질의#프래그먼트 URL의 가장 중요한 3가지 컴포넌트는 스킴, 호스트, 경로입니다. 컴포넌트 스킴 리소스 접근 시 사용할 프로토콜을 나타냄 기본값 X 사용자 이름 몇몇 스킴은 리소스 접근 시 사용자 이름을 요구함 기본값 anonymous 비밀번호 사용자 비밀번호 사용자 이름에 :을 붙여서 기술함 기본값 이메일 주소 호스트 리소스를 호스팅하는 서버의 호스트명/주소 기본값 X 포트 호스트가 열어놓은 포트번호 많은 스킴(프로토콜)이 기본 포..

[컴퓨터 네트워크] 링크 계층

노드 간 경로 프로토콜 노드 : 호스트, 라우터, 스위치, WIFI AP ... 링크 : 노드 간 통신 채널 링크 계층의 서비스 프레임화 : 전송 전 데이터그램을 링크 계층 프레임으로 캡슐화함 링크 접속 : 매체 접속 제어 프로토콜로 링크 상 프레임 전송 규칙 명시 신뢰적 전달 : 링크 계층 프로토콜이 신뢰성 있는 전달을 제공할 경우 데이터그램은 링크 상에서 오류없이 전송됨 오류 검출과 오류 정정 : 전송할 필요가 없는 비트 오류가 있는 데이터그램을 검출하고 정정함 링크 계층 구현 위치 네트워크 인터페이스 카드(Network Interface Card, NIC) == 네트워크 어댑터 오류 검출, 오류 정정 비트 수준의 오류 검출과 오류 정정 제공 패리티 검사 체크섬 순환중복검사 --> 오늘날에 주로 사용..

[컴퓨터 네트워크] 네트워크 계층

송신 호스트 --> 수신 호스트로 패킷 전송 주요 기능 포워딩(전달) 라우터에서 적절한 출력 링크로 패킷 이동 매우 짧은 시간동안 이뤄짐 --> 하드웨어에서 실행 라우팅 패킷의 경로를 결정 경로 계산 알고리즘 --> 라우팅 알고리즘 네트워크 전반에 걸쳐서 출발지 - 목적지까지 데이터그램의 경로 결정 상대적으로 긴 시간 --> 대개 소프트웨어에서 실행 포워딩 테이블 : 라우터는 도착하는 패킷 헤더의 필드값을 조사해서 패킷을 포워딩함 네트워크 서비스 모델 호스트 간 패킷 전송 특성을 정의 보장된 전달 지연 제한시간 이내 보장된 전달 순서화 패킷 전달 최소 대역폭 보장 보안 최선형 서비스 제공 패킷 스위치 링크 계층 스위치 : 링크 계층 프레임 필드값에 근거해서 포워딩 결정 라우터 : 네트워크 계층 필드값에 ..

[컴퓨터 네트워크] 트랜스포트 계층

트랜스포트 계층 프로토콜은 서로 다른 호스트에서 동작하는 프로세스 간 논리적 통신 제공 네트워크 라우터 X, 종단 시스템에서 구축됨 데이터가 segment라는 트랜스포트 계층 패킷으로 캡슐화됨 UDP, TCP ... 트랜스포트 계층과 네트워크 계층 트랜스포트 계층 --> 프로세스 간 논리적 통신 제공 네트워크 계층 --> 호스트 간 논리적 통신 제공 트랜스포트 계층은 네트워크 프로토콜이 비신뢰적이어도 신뢰적인 통신 제공 + 보안 제공 네트워크 계층의 IP : 비신뢰적인 서비스 최선형 전달 서비스 제공 세그먼트의 순서 보장 X 데이터의 무결성 보장 X 트랜스포트 계층은 호스트 간 전달 --> 프로세스 간 전달로 확장하는 트랜스포트 다중화와 역다중화 제공 다중화와 역다중화 애플리케이션은 소켓을 통해서 트랜스..

[컴퓨터 네트워크] 애플리케이션 계층

네트워크 애플리케이션 종단 시스템에서 통신하는 프로그램 네트워크 애플리케이션 구조 클라이언트-서버 클라이언트 : 서버에 요청을 발신하는 호스트 서버 : 항상 켜져있음, 고정 IP, 데이터센터를 구축해서 가상 서버 생성함 P2P 서버에 거의 의존하지 않음 애플리케이션은 peer라는 연결된 호스트 쌍이 통신함 peer는 데스크톱, 랩톱 등 자가 확장성이 있음 프로세스 간 통신 운영체제 관점에서 실제로 통신하는 것은 프로그램이 아닌, 프로세스 프로세스는 메시지를 교환함으로써 종단 시스템간 통신함 클라이언트-서버 클라이언트 : 통신 세션에서 통신을 초기화하는 프로세스 서버 : 세션을 시작하기 위해 접속을 기다리는 프로세스 프로세스는 소켓을 통해 네트워크로 메시지를 송수신함 프로세스 --> 집, 소켓 --> 출입..

[컴퓨터 네트워크] 1. 인터넷이란?

구성요소 호스트(종단)의 집합 호스트는 통신링크와 패킷 스위치로 연결 패킷 = 세그먼트+헤더 종단 간 송신은 패킷으로 이뤄짐 패킷 스위치 --> 라우터, 계층 스위치 종단은 ISP로 인터넷에 접속 인터넷에서 여러 프로토콜 수행. 특히 인터넷 프로토콜(TCP/IP) 서비스 분산 애플리케이션들이 수행되는 곳 애플리케이션은 소켓 인터페이스로 통신 네트워크 프로토콜 둘 이상 개체간 통신을 위한 규약 메시지 포맷, 순서, 행동 등 정의 네트워크 변두리 호스트들의 집합 호스트는 서버와 클라이언트로 구분할 수 있음 접속 네트워크 가정 DSL(Digital Subscriber Line) - 집전화(텔코) 기반 케이블 - 케이블 TV 기반 FTTH - 지역 중앙국(Central Office)에서 집까지 광섬유 경로를 제..