[Network] 라우터의 내부를 뜯어보자.
CS/Network2023. 11. 24. 20:05[Network] 라우터의 내부를 뜯어보자.

다짜고짜 강의자료부터 넣게 되네요. 라우터의 내부 구조를 알아봅시다. 우선, 크게 두 부분으로 나뉩니다. Control Plane / Data Plane Control Plane은 쉽게말해 경로 설정, 장비 간 통신, 라우팅 테이블 업데이트와 같은 네트워크의 동작을 제어하고 관리하는 역할을 합니다. 주로 소프트웨어의 영역이에요. Data Plane은 네트워크에서 실제 데이터가 전송되고 처리되는 부분인데요, 패킷이 이동되는 과정을 관리합니다. 스위칭, 라우팅 등이 일어나는 곳이에요. 스위칭 패브릭에는 여러 라우터 포트가 있는데요, 각자는 Input Port, Output Port로 역할이 고정된 것이 아니라 I로도 쓰이고, O로도 쓰이고 용도는 동적으로 변합니다. 각각의 포트에 따른 버퍼가 있는데, 이런 ..

[Network] Network Layer, 포워딩과 라우팅을 알아보자.
CS/Network2023. 11. 24. 18:40[Network] Network Layer, 포워딩과 라우팅을 알아보자.

네트워크 레이어 라고 하면 뭐가 가장 먼저 떠오르나요? 중간고사때 열심히 외웠던 OSI 7 Layer에서의 3계층이 떠오릅니다. Packet/Datagram 단위로 전송하고, IP, RIP, OSPF와 같은 프로토콜이 있고, End to End 전송을 목적으로 하구요, 주소는 IP주소가 주를 이룹니다. Network Layer - Sending host가 Receiving host에게 Segment를 전달합니다. - 보내는 쪽에서는 Segment를 Datagram으로 캡슐화 합니다. - 받는 쪽에서는, Datagram을 Segment로 디캡슐화 한 뒤, Transport Layer(4계층)으로 넘겨줍니다. - 모든 호스트(PC, 노트북 등)와 모든 라우터는 네트워크 계층의 프로토콜을 가지고 있어요. (1..

[자료구조] Linked List와 Array를 알아보자.
CS/Data Structures & Algorithm2023. 11. 22. 11:34[자료구조] Linked List와 Array를 알아보자.

Linked List는.. 2학년 자료구조 시간에 처음으로 접했던 친구인데요, 당시 Doubly Linked List를 직접 구현하고 접근, 탐색, 삽입/삭제를 모두 구현해오라는 과제에 심히 충격을 받았던 기억이 있습니다. Singly Linked List, Doubly Linked List가 있고요, Singly는 한쪽 방향으로 접근하고, Doubly는 전/후 노드로 접근(탐색) 가능하다는 점이 차이가 있겠네요. Head의 Left는 NULL, Tail의 Right는 NULL로 구성해야 한다는 특이점이 있었구요. Singly는 메모리 사용이 적고, Doubly는 노드의 삽입, 삭제가 상대적으로 빠르다는 특징이 있습니다. 오늘은 구현보다는, 시간복잡도를 복습해보고 Array와 비교해보는 시간을 가졌습니다..

[DB] SQLd 51회차 후기 및 공부방법(전공자)
CS/Database2023. 11. 18. 12:57[DB] SQLd 51회차 후기 및 공부방법(전공자)

11월 18일 치뤄진 51회차 SQLd를 보고왔습니다. 김칫국 같지만 합격 안정권으로 생각하는데요, 공부 방법을 공유해볼까 합니다. 3학년 2학기와 병행중이고, 11월은 자소서로 너무 바빴기 때문에(솔직히 붙을지도 모르겠습니다...) 같이 스터디하는 친구가 자기는 일주일 했는데 3일이면 충분할거라해서;; 정말 딱 3일 올인? 했습니다. 시험이 토욜인데, 수욜에 시작했어요. 저는 전공자고, 지난 학기 데이터베이스 과목을 듣긴 했지만 SQL에 대해서는 기초만 배웠고(그렇지만 써본적은 조금 있음) 그것보단 해싱기법이라던지... 정규화나 B+Tree 같은 데이터베이스 내부의 자료구조와 처리방법을 공부했기 때문에 SQL에 그리 숙련된 편은 아니었슴다. 제가 추천하는 공부방법은 다음과 같습니다. 1. 노랭이를 무작..

[DB]SQLd 준비하기
CS/Database2023. 11. 11. 13:22[DB]SQLd 준비하기

SQLd를 준비해부자. 별다른 목적을 가지고 취득한다기 보다는... 1학기때 DB도 들었고, 이번에 동아리 서버파트를 맡으면서 스터디원 분이 한번 따봐라~ 어렵지 않다~ 하셔서 도전. 자격증을 취득해보는건 또 첨이다. 일단 11.18(토)에 시험 신청을 해놨고, 공부는 11.11(토) 부터 시작함. 1년에 네 번 밖에 기회가 없는 시험인데, 미리 알아보길 잘했다. 백그라운드는 다음과 같다. - 지난 1학기 데이터베이스 수강, 기말고사 105/120점으로 1등함. (성적은 비밀임..) -- 다시 보니 기억이 잘 안남... - 이번에 서버 공부 처음 하면서 DB 테이블 처음 설계해봄;; -- 엉망진창임 인생이 우연의 연속인게, 어쩌다보니 DB를 들었고, 어쩌다보니 DB 짜고있을 때 시험일정이 생겨서 응시를 ..

[DB] ER Diagram, 1:1, 1:N, N:M 관계
CS/Database2023. 11. 8. 19:41[DB] ER Diagram, 1:1, 1:N, N:M 관계

좋은 걸 들고왔습니다. 오랜만에 테이블을 보니, 정확히 읽는 법이 가물가물 했습니다. 테이블을 기깔나게 만들어 놓고, 화살표를 잘못 그려 20점을 감점당했던 기억이 있습니다. 화살표가 중요한 의미인지 몰랐기 때문입니다. 이제 잘 읽을 수 있을 것입니다. 읽을 줄 알면 좋을텐데, 읽어도 그게 무슨 의미인지 모르면 아무 의미가 없겠죠? [https://velog.io/@gillog/DB-11-1N-NM-%EA%B4%80%EA%B3%84] 를 참고하였습니다. 1:1 관계 1:1 관계란 상대 엔티티와 단 하나의 관계만 가지는 것을 말합니다. 우리나라는 일부일처제 입니다. 1:N 관계 1:N 관계는 한 쪽 엔티티가 관계를 맺은 엔티티 쪽의 여러 객체를 가질 수 있는 것을 의미합니다. 1:N 관계는 N:M 관계처럼..

CS/Database2023. 11. 8. 12:23[DB] 정규화

[DB] ER Diagram, 기본키, 후보키, 외래키, 복합키
CS/Database2023. 11. 8. 11:19[DB] ER Diagram, 기본키, 후보키, 외래키, 복합키

서버 파트를 공부하면서, PM의 요구에 따라 DB를 설계하는 일도 하게 되었는데요, ERD를 잘 설계하기 위해서는 데이터베이스 복습이 필요하겠네요. 후보키(Candidate Key) 기본키가 될 수 있는 가능성이 있는 애들을 모아 둔 것입니다. (유일성과 최소성을 만족해야 합니다) 후보키 중에서 특별히 선정된 키가 기본키가 되는 것입니다. 기본키(Primary Key), PK DB에서 한 행을 식별할 수 있도록 하는 고유한 값입니다. 1. 테이블에 저장된 행을 식별할 수 있는 고유값 이어야 합니다. 2. 중복을 허용하지 않습니다. 3. NULL일 수 없습니다. 바뀌지 않는 값을 사용해야 합니다. 외래키(Foreign Key), FK A 테이블에 속한 키 X가, B의 기본키가 될 경우 X는 B의 기본키이자..

TCP의 작동방식에 대하여(TCP Ack Generation)
CS/Network2023. 11. 7. 19:05TCP의 작동방식에 대하여(TCP Ack Generation)

아~ 우리 교수님이 별표를 50만개 치라고 했던 부분입니다. 그리고, 해석이 모호해서 한글판 책을 사게 된 계기이기도 합니다. 우선, TCP의 재전송이 일어나는 상황 두 가지를 알고 갑시다. 1. Timeout events - Sender에서 보내자 마자 동작시킨 타이머가 만료된 경우겠죠. 2. Duplicated ACKs - 중복된 Sequence Number를 가진 ACK을 받으면, 재전송 한다는 뜻입니다: 중복된 상태로 3번 오면 Fast Retransmission을 합니다. TCP ACK generation 차근차근 해석해보겠습니다. Receiver에서 발생한 Event 그에 대응하는 Receiver의 Action 여태까지 모든 Seg가 잘 도착했습니다. 그리고 방금 온 Seg도 알맞은 순서의 S..

image