현재 각 기업의 인프라는 가상화로 좀 더 효율적으로 변화하고 있다. 플랫폼으로는 오픈스택, kubernetes가 대표적이며, 이러한 플랫폼들이 사용하는 컴포넌트들은 docker, lxc, neutron, nova, cinder 등 여러 컴포넌트 들을 사용한다. 플랫폼이란 개념이 네트워크 엔지니어로서는 생소하거나 어려울 수 있는데, 좀 더 쉽게 비유하여 풀어보자면.. [오픈스택] - neutron : 네트워크 컴포넌트 - nova : 인스턴스 프로비저닝 컴포넌트 - cinder : 스토리지 컴포넌트 - 기타 수십개의 컴포넌트... 이렇게 여러 컴포넌트라는 구성품(?)들이 합쳐진 플랫폼이 오픈스택이다. 간단히 표현하자면, PC를 구성하는 부품이 컴포넌트고, 부품들이 모인 PC가 플랫폼이라고 생각하면 편하다...
HTTP는 TCP위에서 동작하는 Application Layer의 프로토콜이며, 웹 데이터를 주고 받는데 사용되는 프로토콜이다. 정식 명칭은 HTTP/1.1 처럼 프로토콜 뒤에 슬래시(/) 후, 버전명을 적는다고 한다. HTTP/0.9 - HTTP/0.9는 최초 고안된 프로토콜로서, 헤더와 바디가 없고, GET Method와 단순한 html 응답만 존재한다. - 단순하기 때문에 one-line 프로토콜이라고도 부른다. - 1개의 커넥션 당 1개의 리소스(데이터)만 요청하고 처리한다. 이게 무슨말이냐 하면.. 아래와 같다. ===TCP 3-Way-handshake ESTABLISHED=== ===HTTP Request=== Header) GET /mypage.html ===HTTP Reponse=== Bo..
F5의 Oneconnect란? - server-side의 TCP 커넥션(3-way-handshake)을 재사용하는 방법 PIOLINK는 Connection Polling이라는 용어를 사용 6번과정으로 PC F5 간 TCP 3Way Handshake를 맺는다. 원래라면 7번과정으로 server-side에서 TCP 3WHS를 맺어야 하지만, 일전에 Oneconnect로 기억된 세션이 있기에 server-side의 3WHS는 재사용된다. 이후에는 HTTP 과정을 진행한다.
Payload란 쉽게 말해서 실제 "데이터"를 뜻한다. 좀 더 정확히 말하면 해당 Layer의 PDU(ex- packet)의 와 를 뺀 를 뜻한다. 한 예로, MTU를 예로 들어보자. 서버의 MTU는 보통 1500bytes로 되어 있다. 이 MTU 수치는 아래와 같이 Payload + Header를 합한 값인 것이다. 즉, MTU는 1460bytes의 TCP Payload(=MSS)와 20bytes의 Header, 그리고 20bytes의 IP Header를 포함한 값이 되는 것이다. - en.wikipedia.org/wiki/Payload_(computing)
사실 엔지니어 생활을 하면서 UPS와 STS의 구조를 모르면서 생활을 했었다. 전원 작업이 필요할 때, 막연히 "주/예비 UPS가 있으니 알아서 전원이 공급되니까 걱정할 필요 없겠지"라고 생각했었다. 언젠간 제대로 알아보자라고도 생각했지만, 사실 제대로 된 정보를 찾기가 너무 어려우기도 했고, 무엇보다 알려고 하는 의지가 부족했었다. 그러던 도중에 어느날 임대한 IDC의 UPS 작업할 일이 생겼고, 해당 사업자 담당자에게 꼬치꼬치 캐물으면서 겨우 구조도를 완성하게 되었다. 추측이지만.. 이 구조를 아는 NE, SE는 몇 분 안계실지도..? [UPS STS 랙 전원 구조도] 내가 겪었던 UPS/STS/랙 전원의 구조는 이러하다. 이 구조에서 1번 랙에 백본 스위치와 같은 중요 장비들이 있었고, 1호기의 U..
먼저, 도커의 컨테이너에 대한 정보는 대부분 /var/lib/docker/containers/[Container-ID] directory 내에 저장된다. 당연히 로그 파일도 /var/lib/docker/containers/[Container-ID]/[Container-ID]-json.log란 포맷으로 해당 컨테이너 directory 밑에 존재한다. 이외에도 docker inspect [container명] 명령어를 통하여 해당 container의 ID/Hostname/LogPath/Resource 등 전반적인 모든 정보를 알 수 있다. inspect에 출력되는 정보는 json형태로 출력되기 때문에 jq를 통하여도 파싱하여 사용할 수 있다. [Commands] - 컨테이너의 모든 정보 확인 : docker..
리눅스 shell에서 사용되는 date 명령어는 날짜와 시간에 대하여 알려주는 패키지입니다. 여러 date 옵션들과 과거 및 미래 시간 등을 정리해 보았습니다. GNU utils를 통한 date 패키지로 테스트하였으므로 맥북 등에서는 일부 옵션이 적용되지 않을 수 있습니다. ( -d 등 ) 자주 사용되는 옵션 정리 - %Y : 년도 (YY) - %m : 월 (mm) - %d : 일자 (dd) - %H : 시간 (HH) - %M : 분 (MM) - %S : 초 (SS) 이외 활용하면 좋은 옵션 - %F : 년월일 (YYYY-mm-dd) 형태로 출력 - %T : 시간 (HH:MM:SS) 형태로 출력 - %u : 오늘에 해당하는 요일을 숫자로 표현 ( 1 = Monday, 2 = Tuesday ... 7 = ..
DNS Domain Name System의 약어로 컴퓨터 통신은 2진수의 IP를 이용하지만, 사람이 IP로 기억하기는 어려우므로 인식하기 쉽게 IP를 문자로 변환해 주는 시스템. 혹은 그 반대로도 가능케하는 시스템 구성 네임서버(NS)들로 이루어져 있으며 UDP 53번을 사용. 512bytes이상의 응답에서는 Client와 Server에서 EDNS를 이용하여 전송. EDNS를 사용하지 않으면 TCP 53번을 사용하여 재전송 함. (EDNS : https://en.wikipedia.org/wiki/Extension_mechanisms_for_DNS) 네임서버 네임서버는 권한DNS와 캐시DNS서버로 구분. 권한 DNS서버 : 도메인의 Zone 데이터를 저장하는 서버 (zone 파일 필요) 캐시 DNS서버 :..
- Total
- Today
- Yesterday
- dns 동작 방식
- date 미래
- 802.3ad
- 윈도우
- http/1.0
- date 시간 변경
- HTTP
- 802.1ax
- ping multi
- link aggregation
- VXLAN
- docker logs
- vni
- data plane
- date 시간 지정
- ssh
- head end replication
- date 과거
- Windows
- dns 동작
- http/0.9
- HTTP/1.1
- bash
- iso8601
- ping
- Switch
- tag
- vlan
- vtep
- multiple ping
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |