-
[SW 정글 46일차] 네트워크 용어 익숙해지기기타/SW 사관학교 정글 2021. 9. 17. 02:42
오늘은 네트워크를 공부하는 주인 웹 서버 만들기에 돌입했다.
컴퓨터 네트워크, 데이터 통신을 대학교에서 1년동안 전공과목으로 수강했지만 그 때 정말 열심히 공부했어도 사실을 시험, 성적을 위한 공부여서 남은 지식은 많이 없다.
그래도 공부를 하는 데 있어 익숙한 분야여서 수월할 것으로 생각들고 그에 따라 시간이 난다면 정말 deep하게, 네트워크를 공부할 생각이다.
오늘의 정리는 컴퓨터 시스템 11장을 보면서 개념이 안잡힌 단어들에 대한 내용을 정리하려고 한다.
1. DMA (Direct Memory Access)
DMA는 특정 하드웨어 하위 시스템이 CPU와 독립적으로 메인메모리에 접근할 수 있게 해주는 컴퓨터 시스템의 기능이다.
예를 들어, 우리가 키보드로 어떠한 값을 입력했으면 메모리에 올리기 위해 시스템 콜이 발생하고 CPU는 입력된 값들을 처리를 해주어야하는데 DMA를 적용하면 CPU와 독립적으로 메인메모리에 접근이 가능하다는 것이다.
이러한 DMA의 장점은 CPU에서는 데이터가 이동을 완료했다는 인터럽트만 발생해서 부담감이 없다는 것이다.
또한, 데이터가 전송되는 동안에 CPU는 다른 작업이 가능해서 효율적이다.
이러한 DMA는 메모리 간 복사, 데이터 이동에도 사용된다.
DMA가 나오게 된 배경은 PIO의 단점을 보완하기 위해서이다.
사실 위에서 DMA의 장점을 이미 설명했는데 이 점이 PIO의 단점을 보완한 것이고 PIO는 컴퓨터 프로세서(흔히 CPU라고 생각하지만 CPU가 프로세서의 전부라고는 말하면 안됨)를 이용해서 장치에서 다른 장치로 데이터를 전송하는 방법이다.
2. 이더넷 (Ehternet)
먼저 이더넷이란 LAN이나 WAN같은 유선 환경에 있는 장치들을 연결하기 위한 전통적인 기술 중 하나로 서로 다른 프로토콜로 통신을 할 수 있게끔 해준다.
이더넷은 어떻게 네트워크에 있는 장치들이 데이터를 형식화하고 보낼 수 있는지를 묘사한다.
그래서 같은 local 혹은 campus 지역의 네트워크 segment에 있는 서로 다른 장치들이 정보를 인식하고 수신할 수 있는 것이다.
이더넷을 사용하게 된 이유는 이더넷이 등장한 시기에 경쟁되는 기술들(Token Ring 등)과 비교했을 때 저렴한 가격으로 인기를 얻었다.
네트워크 기술이 발전할수록 이더넷의 능력은 향상했고 더 뛰어난 성능을 수행할 수 있게 해줬다.
이더넷 프로토콜은 1계층(물리 계층)과 2계층(데이터링크계층)을 가지고 있어 패킷과 프레임을 전송단위로 정의하고 있다.
<이더넷의 장점과 단점>
장점 단점 상대적으로 저렴한 비용
호환성
잡음에 대한 저항성
좋은 품질의 데이터 전송
속도
신뢰성과 데이터 보완성작거나 짧은 거리의 네트워크로 제한적
이동성이 제한됨
긴 케이블을 사용하면 누화 발생
(누화: 스템의 채널에 전송된 신호가 다른 채널에 의도하지 않은 효력을 발생시키는 것)
실시간이나 상호작용 applications에서는 효율적이지 않음
트래픽 증가가 이더넷의 속도를 저하시킴<이더넷 VS WIFI>
Ethernet WI-FI 케이블을 통해 데이터를 전송
제한된 이동성
WIFI보다 빠른 속도와 신뢰성, 보완성 제공이동성이 좋고 케이블이 필요없음
무선환경에서 데이터 전송이 가능
이더넷과 비교하여 빠르지 않고 신뢰성과 보완성이 낮음
유저가 어디서든지 인터넷연결이 가능해 편리함
속도과 일관성이 없음
데이터 암호화가 필요함
이더넷보다 지연 시간이 김
설치 과정이 간단함
[오늘의 나는 어땠을까?]
오늘은 한 주간 만든 malloc lab 코드를 정글 2기 사람들끼리 공유하는 orgaization repository에 PR을 보내고 지정된 리뷰어에게 리뷰를 받고 내가 다른 사람에게 리뷰를 해주는 시간을 가졌다.
코드리뷰를 이전에 알고리즘 주차 떄부터 했지만 이번에는 리뷰를 받은 상대방이 어떠했는지에 대한 피드백이 오기에 더 신중하게, 내가 다른 사람의 코드를 봤을 때 어떠한 느낌을 받았는지와 피드백을 해줄 부분을 많이 생각했다.
처음이여서 어려웠다는 것은 사실이고 뭔가 연습이 필요하기 보다는 다른 사람의 코드를 보는 습관이 들여있어야 된다고 생각했다.
그리고 저녁 7시에 보이저엑스 설명회가 있어 평소에 잘 알지 못했던 보이저엑스에 대해 알 수 있었고 보이저엑스의 대표님과 소통을 할 수 있는 좋은 시간이였다.
내가 좋아하는 것중 하나는 다양한 사람들과 얘기를 해보는 것인데 내가 굳이 시간을 내지 않아도 좋아하는 것을 할 수 있었고 얻어가는 것이 많았다.
세상에는 나보다 열심히 하는 사람, 잘하는 사람은 많지만 나의 개발자로서의 도전 스타트 지점은 정글이고 앞으로의 나의 성장성에 기대를 걸고 나아갈 것이다.
<참고 자료>
https://www.techtarget.com/searchnetworking/definition/Ethernet
'기타 > SW 사관학교 정글' 카테고리의 다른 글
[SW 정글 48일차] 소켓 인터페이스 구현부터 Echo 클라이언트와 서버까지 (0) 2021.09.19 [SW 정글 47일차] 소켓 (Socket) 입문 (0) 2021.09.18 SW 정글 6주차 회고 (0) 2021.09.16 [SW 정글 45일차] segregated list 구현과 demand-zero memory (0) 2021.09.16 [SW 정글 44일차] explicit 구현과 인스트럭션, 분산 파일 시스템 (0) 2021.09.15