링크 계층에서의 전송(1홉 통신) 시 문제 의식 우리가 네이버에서 제공하는 서비스들을 이용하려면 먼저 네이버 서버와 통신을 해야 하고, 그 방법들 중 가장 보편적으로 www.naver.com 의 도메인 주소로 접속합니다. www.naver.com이란 도메인은 DNS 서버에서 매핑되어 있는 네이버의 ip로 바꿔 전송해 줍니다. 즉, 우리는 네이버의 ip주소를 이용해 네이버 서버와 통신을 하게 되는 것이고, 이는 네트워크 계층 통신이라고 이해할 수 있습니다. 실제 네트워크 계층은 Internet Protocol을 이용하고, 이 ip를 통해 멀티홉 통신을 합니다. 하지만 네트워크 통신의 계층적 구조를 생각해 보면, 멀티홉 통신을 하기 위해서는 결국 1홉 통신이 먼저 가능해야 합니다. 어떻게 보면 멀티홉 통신은..
Layered Architecture OSI 7 계층에 대해 공부하기 전에, 우리는 네트워크 통신을 왜 7개나 되는 계층으로 나눈 것인가에 대해 궁금해야 합니다. 이에 대한 답을 우리 일상 생활에서 예를 들어 보겠습니다. 우리가 어딘가로 비행기를 타고 여행을 가야하는 상황이라고 생각해 보겠습니다. 먼저 티켓을 구매하고, 짐을 붙입니다. 그런 다음 게이트를 통과하고 비행기에 탑승 후 목적지로 출발합니다. 목적지에 도착을 하면 전의 과정들을 역순으로 행하면서 공항을 빠져나갑니다. 여기서 우리가 거치는 각각의 단계들은 기능별로 나뉘어 있습니다. 티켓을 사거나 확인하는 작업은 매표소에서 이루어지고, 짐을 붙이는 작업은 체크인 카운터 같은 곳에서 행해집니다. 이처럼 단계별로 행해지는 서비스도 다르고 직원들도 다릅..
소켓이란 소켓은 논리적으로 컴퓨터 네트워크를 경유하는 프로세스 간 통신의 종착점이다. 이 말이 무슨 말이냐면, 네트워크를 이용해 데이터를 송수신 하고 싶은 프로그램들은 소켓을 거쳐야 한다는 것이다. 따라서 아래와 같은 위치에 소켓 레이어가 놓이게 된다. 네트워크 응용 프로그램들은 소켓을 거쳐 데이터를 통신 망으로 전달함으로써 데이터를 송수신 하게 된다. 여기서 응용 프로그램은 어플리케이션 계층, 통신 망은 전송계층이므로 소켓은 그 사이에 놓이게 된다. 즉 소켓은 응용 프로그램에서 TCP/IP를 이용하는 인터페이스 역할을 한다. 소켓의 특징 파일과 비슷한 데이터 타입 소켓은 파일 디스크립터와 비슷한 형식의 데이터로 생성과 설정 과정이 끝나면 이를 이용하여 통신과 관련된 다양한 작업을 할 수 있는 간편한 데..
자료 구조란? 데이터 값의 모임, 각 원소들이 논리적으로 정의된 규칙에 의해 나열되며 자료에 대한 처리를 효율적으로 수행할 수 있도록 자료를 구분하여 표현한 것. 예를 들어 한정된 크기의 책장이 있고, 넣어야 될 책들이 있다고 하자. 가장 많은 책을 넣는 방법은 아무 규칙 없이 있는 책을 모두 꽂아 넣는 것이다. 그럼 당장은 이 책장의 공간을 가장 효율적으로 사용한 것 같지만, 이후 책을 찾을 때 큰 문제가 발생한다. 아무 규칙 없이 책을 꽂아 넣었기 때문에 찾을 때도 규칙 없이 모든 범위를 찾아야 한다. 따라서 이번에는 책의 제목을 오름차순 형태로 꽂아 넣는다는 규칙을 세워 넣어 보면, 이후에 책의 제목을 이용해 어디에 꽂혀있는지 찾기가 훨씬 수월해질 것이다. 또한 책의 모든 공간을 모두 사용할 수 있..
본 내용은 재학 중인 학교 강의에 개인적인 공부를 더한 흔적입니다. 때문에 제가 조금은 오해한 부분이 있을 수 있습니다. 발견하실 경우 댓글로 남겨주시면 정말 감사하겠습니다 !! (책은 Computer_Networking_A_Top Down_Approach를 참고했습니다) 위의 그림은 두 End system H1과 H2가 통신하는 모습을 보여주고 있습니다. H1은 5 계층을 거쳐 전송하고자 하는 데이터를 캡슐화 해 전송합니다. 전송 계층의 segment를 네투워크 계층에서 캡슐화를 거쳐 datagram으로 만든 후 링크로 전송하면 가장 가까운 라우터 R1이 먼저 패킷을 수신하는데, 이 R1은 네트워크 계층까지만 구현되어 있습니다. 하지만 무리없이 R2에게 패킷을 전송하고 H2까지 전달됩니다. 즉, 데이터..
본 내용은 학교 강의+반효경 교수님 강의를 통해 개인적으로 공부한 내용입니다. 책은 쉽게 배우는 운영체제(한빛 아카데미)를 참고했습니다. 조언은 언제든지 감사합니다 ! Two-Level Page Table 현대의 컴퓨터는 기본적으로 32 bit or 64 bit address를 사용하므로 address space가 매우 큰 프로그램을 지원한다. 만약 32 bit 아키텍처를 사용하는 컴퓨터라면 2^32 = 4GB 만큼의 주소 공간을 가지게 된다. 이를 page size가 4K인 page로 나누면 약 1M개(100,000,000)의 페이지로 나뉘어 진다. 그렇다면 logical address를 physical address로 주소 변환하는 매핑 정보를 담고 있는 page table의 entry 개수는 100..
본 내용은 학교 강의+반효경 교수님 강의를 통해 개인적으로 공부한 내용입니다. 책은 쉽게 배우는 운영체제(한빛 아카데미)를 참고했습니다. 조언은 언제든지 감사합니다 ! Contiguous allocation(연속 할당) 각각의 프로세스가 메모리의 연속적인 공간에 적재 (통채로 올라감) 주소 변환이 매우 간단하지만 단편화 문제가 많이 발생 고정분할(Fixed partition) 방식 물리적 메모리를 미리 몇 개의 partition으로 나눔 분할의 크기가 모두 동일할 수도 있고, 아닐 수도 있다. 분할 당 하나의 프로그램을 적재시키며 이로인해 단편화가 발생 External fragmentation (외부 조각 = 외부 단편화) 프로그램 크기보다 분할의 크기가 작아 현재 대기중인 프로그램이 올라갈 수 없는 작..
본 내용은 학교 강의+반효경 교수님 강의를 통해 개인적으로 공부한 내용입니다. 책은 쉽게 배우는 운영체제(한빛 아카데미)를 참고했습니다. 조언은 언제든지 감사합니다 ! Logical address vs Physical address Logical address ≒ relative address (상대 주소), virtual address 프로세스마다 독립적으로 가지는 (가상의)공간으로 각 프로세스마다 0번지부터 시작 사용자 입장에서 바라보는 주소 공간이다. 실제 CPU는 Logical address를 보며 작업함 Physical address ≒ absolute address (절대 주소) 메모리에 올라가는 실제 주소 공간 메모리 관리자의 입장 Address Binding (주소 변환) 메모리에 접근할 ..
- 선형 회귀
- Spring Boot
- JUnit
- 스프링
- 지옥에서 온 git
- Python Cookbook
- Do it! 정직하게 코딩하며 배우는 딥러닝 입문
- 리버싱
- 스프링 테스트
- 파이썬 for Beginner 연습문제
- 김영환
- Gradle
- 생활코딩 javascript
- JPA
- shell code
- 버퍼오버플로우
- 쉽게 배우는 운영체제
- jsp
- 프로그래머스
- Spring Data JPA
- 운영체제 반효경
- spring mvc
- 패킷 스위칭
- Computer_Networking_A_Top-Down_Approach
- Thymeleaf
- BOF
- 쉘 코드
- Spring
- 파이썬 for Beginner 솔루션
- 방명록 프로젝트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Total
- Today
- Yesterday