묻공러
'분류 전체보기' 카테고리의 글 목록 (32 Page)

분류 전체보기

CS/[널널한 개발자] 네트워크

3-3] L3 수준에서 외울 것들 - IP 헤더형식, 서브넷 마스크와 CIDR

6) IP 헤더 형식 MTU는 대략 1500 bytes이고 32bit이다 MTU는 IP Header(대략 20bytes)와 Payload(대략 1480 bytes)로 구성이 되어있다 Version: 버전이 IPv4이기 때문에 4 IHL: Internet Header Length로 IP Header의 길이를 의미하며 일반적으로 5 (5 * 4 bytes = 20 bytes) Total length: 패킷의 길이로 16비트로 표현되고 2^16 = 64KB로 헤더 포함해서 IP Packet의 최대 크기는 이론상 64KB Fragment offset: Packet의 MTU가 작은 네트워크를 만났을 때, Packet을 단편화해야하는데 그 offset을 의미 TTL: Time To Live로 유통 과정에서 TTL ..

CS/[널널한 개발자] 네트워크

3-2] L3 수준에서 외울 것들 - Packet의 이동과정과 계층별 데이터 단위

4) 패킷의 생성과 전달 Process 간 패킷의 전달 과정은 마치 택배 시스템과 유사하다 따라서, Packet을 박스 하나라고 한다면 프로세스의 집은 Host 프로세스의 현관은 Interface 기사님은 Gateway이며 물류 허브가 Router이고 물류체계 시스템인 Routing Table에 따라 분류하고 처리하는 작업이 Routing이고 IPv4 Dst를 통해 목적지까지 이동하면 마지막으로 받는 이의 이름과 같은 Port 번호를 통해 최종적으로 전달되는 과정과 같다 Process에서 Data를 Socket에 Send 하는데 여기서 Socket이란 Kernel에 있는 TCP/IP를 추상화한 Interface로 파일이다 이렇게 전달된 Data에 여러 헤더들이 Encapsulation되어서 최종적으로 L..

CS/[널널한 개발자] 네트워크

3-1] L3 수준에서 외울 것들 - L3 IPv4 Packet

1) IPv4 주소의 기본 구조 L2 MAC 주소의 경우는 48bit이고 L3 IPv4 주소의 경우는 32bit (= 8bit * 4)이다 만약 1111 1111의 경우로 구성이 되어있다면 Broadcast일 수 있다 IPv4 주소는 24bit의 Network ID와 8bit의 Host ID로 구성이 되어있으며 예를 들어, Network ID는 서울시 강남구 역삼동을 의미한다고 하면 Host ID는 번지수를 의미한다고 생각하면 된다 2) L3 IP Packet Packet은 단위 데이터이고 Packet이라는 말은 L3 IP Packet이라고 한 번에 붙여서 외우자 Packet은 Header와 Payload로 나눠져 있으며 Header에는 Src, Dst의 주소가 포함이 되어있고 Payload에는 전송될 ..

CS/[널널한 개발자] 네트워크

2] L2 수준에서 외울 것들

1) NIC, L2 Frame, MAC 주소 NIC(Network Interface Card)는 흔히 LAN(Local Area Network) 카드이다 여기서 LAN은 네트워크의 규모를 의미하며 네트워크 규모는 LAN ⊂ MAN ⊂ WAN으로 분류된다 유선, 무선 NIC이 있지만 굳이 구별하지 않고 NIC이라고 할 때가 많다 Host 하나가 NIC을 여러 개 가질 수도 있다 NIC은 H/W이며 MAC 주소를 갖는다 Packet은 L3 수준에서 Internet에서의 단위이고 L2 수준에서 유통되는 데이터 단위가 Frame이다 2) L2 스위치 - L2 Access Switch L2 Access 스위치는 End-point와 직접 연결되는 스위치이며 MAC 주소를 근거로 스위칭을 한다 호스트와 L2 Acce..

CS/[널널한 개발자] 네트워크

1] Internet 기반 네트워크 입문

1) OSI 7 layer와 식별자 좌측은 DoD 기준으로 구분한 것이고 우측은 OSI 7 Layer를 기준으로 구분하였을 때, 중요 개념 혹은 Protocol을 작성해 둔 것이다 식별자는 식별을 하기위한 태그이며 NIC에서는 MAC 주소, IP에서는 IP 주소, TCP에서는 Port 번호를 사용한다 2) Host Host는 컴퓨터와 같은 기계가 네트워크를 하는 경우에 Host라고 부르며 Host의 종류는 Switch와 End-point로 구분이 된다 Switch의 경우는 Network 그 자체를 이루는 host로 Infrastructure의 개념이며 End-point는 그러한 Infrastructure를 이용하는 이용 주체로 단말기라고도 부른다 3) 스위치 Switch는 교차로와 같으며 Interfac..

CS/[널널한 개발자] 네트워크

0] 네트워크 기초 개념과 용어

1) Layer와 Layered 구조 존립이 의존적이고 직렬적으로 성립할 때, 위처럼 Layered 구조로 그려진다 또한 존립이 의존적인 것은 전제조건을 의미한다 ex. 3은 4의 전제조건 2) 네트워크와 네트워킹 그리고 개념 Network(관계) Networking(상호 작용) 상호작용을 하기 위한 조건들을 계층별로 나열 L1, L2, L3, L4... 계층별로 규칙을 정한 것이 Protocol이다 UML(Unified Modeling Language)에서의 상속관계 ex 1. 연예인 : 개념 유아인 : 구현 이 둘의 관계를 상속 관계라고 부름 ex 2. OSI 7 Layer : 개념 TCP/IP 네트워크 : 구현 OSI7 Layer보다는 TCP/IP 네트워크의 문법과 Protocol을 공부하는 것이 ..

CS/[혼자 공부하는] 운영체제

7-1] 파일 시스템: 파일 시스템

파티셔닝과 포매팅 파티셔닝 저장 장치의 논리적인 영역을 구획하는 작업 포매팅 파일 시스템을 설정해서 어떤 방식으로 파일을 관리하지 결정, 새로운 데이터를 쓸 준비하는 작업으로 포매팅을 통해 파일 시스템이 결정된다 파일 시스템에는 다양한 종류가 있고 파티션마다 다른 파일 시스템을 설정할 수도 있다 포매팅까지 완료하면 파일 시스템을 설정했다면 이제 파일과 디렉터리 생성이 가능해진다 파일 할당 방법 포매팅까지 끝난 하드 디스크에 파일을 저장하는 방법은 운영체제는 파일/디렉터리를 블록 단위로 읽고 쓴다 즉, 하나의 파일이 보조기억장치에 저장될 때에는 여러 블록에 걸쳐 저장된다 사실 하드 디스크의 가장 작은 저장 단위는 섹터이지만 섹터는 크기가 작고 너무 많기 때문에 이를 관리하기 위해 섹터를 묶어 블록 단위를 ..

CS/[혼자 공부하는] 운영체제

7-1] 파일 시스템: 파일과 디렉토리

파일 시스템(file system) 파일과 디렉터리를 관리하는 운영체제 내의 프로그램 파일과 디렉터리를 다루어 주는 프로그램 파일 보조기억장치에 저장된 관련 정보의 집합 의미 있고 관련 있는 정보를 모은 논리적 단위 파일을 이루는 정보: 파일을 실행하기 위한 정보 + 부가 정보(= 속성, 메타 데이터) 파일의 속성 파일 연산을 위한 시스템 호출 파일 생성, 삭제, 열기, 닫기, 읽기, 쓰기 등 디렉터리 윈도우에서는 폴더(folder) 계층적으로 디렉터리를 관리함 -1단계 디렉터리 -트리 구조 디렉터리 최상위 디렉터리(루트 디렉터리, /)와 서브 디렉터리의 형태 + 디렉터리의 경로 디렉터리를 이용해 파일/디렉터리의 위치, 나아가 이름까지 특정 지을 수 있는 정보 같은 디렉터리에는 동일한 이름의 파일이 존재..

CS/[혼자 공부하는] 운영체제

6-4] 가상메모리: 페이지 교체와 프레임 할당

요구 페이징 처음부터 모든 페이지를 적재하지 않고 필요한 페이지만을 메모리에 적재하는 기법 요구되는 페이지만 적재하는 기법 이러한 요구 페이징 시스템이 안정적으로 작동하기 위해서는 - 페이지 교체 - 프레임 할당 페이지 교체 알고리즘 요구 페이징 기법으로 페이지들을 적대하다보면 메모리는 가득 차게 되고 당장 실행에 필요한 페이지를 적재하려면 적재된 페이지를 보조기억장치로 내보내야 하는데 이때, 어떤 페이지를 내보낼 지 결정하는 방법(알고리즘)이 페이지 교체 알고리즘 좋은 페이지 교체 알고리즘의 기준은 페이지 폴트가 적은 알고리즘 왜냐하면 페이지 폴트가 발생하면 보조기억장치에 접근해야 해서 성능이 저하되기 때문 페이지 참조열(page reference string) 페이지 폴트 횟수를 알기 위한 참조열이며..

CS/[혼자 공부하는] 운영체제

6-3] 가상 메모리: 쓰기 시 복사와 계층적 페이징

쓰기 시 복사 프로세스는 기본적으로 자원을 공유하진 않지만 fork()를 하게 되면 부모 프로세스가 적재된 별도의 공간에 자식 프로세스가 통째로 복제되어 적재되니 프로세스 생성 시간 지연과 메모리 낭비가 일어난다 하지만 쓰기 시 복사를 통해 이를 해결할 수 있다 쓰기 시 복사는 부모 프로세스와 동일한 자식 프로세스가 복제되어 생성되면 자식 프로세스는 부모 프로세스와 동일한 프레임을 가리킨다 쓰기 작업이 없다면 이 상태를 유지한다 부모 프로세스, 자식 프로세스 둘 중 하나가 페이지에 쓰기 작업 수행 시 해당 페이지는 별도의 공간으로 복제되며 프로세스 생성 시간 절약과 메모리 절약이 가능하다 계층적 페이징 프로세스 테이블의 크기는 생각보다 작지 않다 프로세스를 이루는 모든 페이지 테이블 엔트리를 메모리에 두..