CS/네트워크

평소 모호하게 이해하고 있던 패킷의 이동 경로에 대해 이번 스터디에서 함께 이야기해보기로 했다. 대체 데이터가 어떤 방식으로, 어디를 통해, 어떤 모습으로 이동하기에 우리가 여러 외국 사이트들도 문제 없이 빠르게 볼 수 있는 것인지! 알아보자. 네트워크에서 패킷의 이동 과정을 OSI 7계층을 응용하여 전체적으로 이해해 보았다. 패킷의 이동 과정 패킷의 이동과정은 전반적으로 이렇다. Source host 가 나의 컴퓨터라고 하고, Destination host는 내 친구의 컴퓨터, 또는 www.google.com이라고 가정하자. 이 때 www.google.com은 DNS를 통해 IP 주소를 찾아야 한다는 것을 제외하고는 통신 방법은 동일하다. [DNS 에 대한 개념 먼저 살펴보기] A 컴퓨터(source ..
시간이 없는 관계로 문제 풀이로 대체한다..!!!! 😭😭 1. 라우터와 스위치의 유사점과 차이점을 설명하시오. 라우터 스위치 유사점 포워딩 테이블이 존재한다. 차이점 IP 주소로 포워딩하는 네트워크 계층 MAC 주소로 포워딩하는 링크 계층 IP와 MAC 주소를 가진다. 주소 없이 투명하다. 네트워크 관리자의 관리가 필요하다. self-learning으로 이루어진다. 계층구조 평면 구조 2. 스위치의 4가지 기능을 나열하고 각각에 대해 설명하시오. self-learning 1. 스위치 테이블은 초기에 비어있다. 2. 인터페이스로 수신(A->A')한 각 프레임에 대해 스위치는 프레임의 출발지 주소 필드에 있는 MAC 주소 / 프레임이 도착한 인터페이스 / 현재 시간 을 저장한다. 3. 일정시간(aging t..
본 내용은 Computer Networking: A Top-down Approach 를 읽고 공부한 내용입니다. 목차 1. 개요 2. 라우팅 알고리즘 컨트롤러로 가는 중요한 메시지들은 다음과 같다. flow-removed(플로우 제거) : 컨트롤러에게 어떤 플로우 테이블 엔트리가 시간이 만료되었거나 상태 수정 메시지를 수신한 결과로 삭제되었음을 알린다. packet-in(패킷 전달): 패킷을 컨트롤러에 보낸다. port-status(포트 상태): 포트의 상태변화 알린다. 4. SDN 컨트롤러 시나리오
본 내용은 Computer Networking: A Top-down Approach 를 읽고 공부한 내용입니다. 목차 1. 네트워크 계층 개요 1) 포워딩과 라우팅 2) 네트워크 서비스 모델 3) connection, connection-less service 2. VC와 datagram networks 1) VC 2) datagram networks 3) VC vs datagram networks 3. 라우터 내부에는 무엇이 있을까? 1) 라우터 내부 알아보기 2) 입력포트 3) 스위칭 구조 4) 출력포트 4. 인터넷 프로토콜(IP): IPv4, 주소 지정, IPv6 등 1) IPv4 데이터그램 형식 2) IPv4 데이터그램 단편화 3) IPv4 주소체계 4) DHCP 5) 네트워크 주소 변환(NAT)..
본 내용은 Computer Networking: A Top-down Approach 를 읽고 공부한 내용입니다. 목차 1. 혼잡제어의 원인과 비용 1) 시나리오1: 두 개의 송신자와 무한 버퍼를 가지는 하나의 라우터 2) 시나리오2: 두 개의 송신자, 유한 버퍼를 가지는 하나의 라우터 3) 시나리오 3: 네 개의 송신자와 유한 버퍼를 가지는 라우터, 그리고 멀티홉 경로 2. 혼잡제어에 대한 접근법 1) 종단간의 혼잡제어 2) 네트워크 지원 혼잡제어 3. 혼잡제어의 여러 사례 1) ATM ABR 2) RM 4. TCP 혼잡제어 1) TCP의 알고리즘 2) AIMD 3) Slow Start 4) TimeOut 5) Fast Recovery 5. TCP 공정성 1. 혼잡제어의 원인과 비용 1.1 시나리오1: ..
본 내용은 Computer Networking: A Top-down Approach 를 읽고 공부한 내용입니다. TCP/UDP에 이어 이번에는 RDT(reliable data transfer)에 대해 알아보자! 과정이 조금 복잡할 수 있다 목차 1. rdt의 원리 2. rdt 1.0: 오류 없는 채널에서의 신뢰적인 데이터 전송 1) 송신/수신 방법 - event, action 3. rdt 2.0: 비트 오류가 있는 채널상에서의 신뢰적 데이터 전송 1) 송신/수신 방법 - ACK, NAK 2) rdt 2.0의 치명적 결점 3) rdt 2.1: sequence number로 구분하여 전송 4) rdt 2.2: sequence number로 구분하여 전송+a NAK-free protocol 4. rdt 3.0..
오늘은 TCP와 UDP에 대해 알아보자! TCP UDP는 TCP/IP 프로토콜 모델에서 전송 계층에 해당한다. 전송(트랜스포트) 계층은 응용 프로그램과 네트워크 사이에서 중재하는 역할을 맡고 있으며, 애플리케이션 프로세스들 간의 논리적 통신(logical communication)을 제공한다. UDP(사용자 데이터그램 프로토콜) 비연결형, 신뢰성 없는 전송 프로토콜 UDP는 최소한의 오버헤드만 사용하는 매우 간단한 프로토콜이다. 작은 메시지를 보내거나 또한 신뢰성을 고려하지 않는 프로세스는 UDP를 사용할 수 있다. UDP를 사용하여 작은 메시지를 전송하는 것이 TCP를 사용하는 경우보다 송신자와 수신자 간의 상호 대화가 훨씬 적다. handshaking이 일어나지 않으며, congestion contr..
본 내용은 Computer Networking: A Top-down Approach 를 읽고 공부한 내용입니다. 1. P2P 1) P2P란? 2) P2P 파일 분배 3) P2P 구조의 확장성 4) 비트토렌토 5) 비트토렌토의 구조 및 소통방식 2. Video Streaming과 CDN(content distribution networks) 1) Multimedia: video 2) Streaming stored video 3) DASH 4) CDN 1. P2P 1.1 P2P란? 항상 켜져있는 기반 구조 서버들에 최소한으로 의존하는 구조이다. 누구나 서버/클라이언트가 될 수 있고, 자유롭게 데이터를 주고받는다. 1.2 P2P 파일분배 클라이언트-서버 파일분배에서, 서버는 파일 복사본을 각 피어들에게 보내야..
1. DNS 1) DNS란? 2) DNS가 제공하는 서비스 3) 분산 시스템 4) 계층적으로 IP주소를 찾는 과정 5) DNS 질의(name resolution) 6) DNS 캐싱 7) DNS 레코드 8) DNS 메시지 9) DNS 데이터베이스에 레코드 삽입 10) DNS 공격 1. DNS 1.1 DNS란? 사람은 주민등록번호로 개개인을 식별할 수 있다. 이와 비슷하게 호스트는 DNS를 통해서 식별할 수 있다. 호스트를 식별하는 다양한 방법이 있다. ex. hostname(cnn.com, www.yahoo.com), IP 주소 (121.7.106) (1) DNS 서버들의 계층구조로 구현된 분산 데이터베이스이고, (2) 호스트가 분산 데이터베이스로 질의하도록 허락하는 애플리케이션 계층 프로토콜이다. 1.2..
본 내용은 Computer Networking: A Top-down Approach 를 읽고 공부한 내용입니다. 목차 1. FTP 1) FTP란? 2) FTP와 HTTP 비교 3) FTP 명령어 - 참고 4) Active Mode vs Passive Mode 2. electronic mail 1) SMTP 2) POP3 3) IMAP 1. FTP 1.1 FTP란? FTP는 HTTP와 맥락이 비슷한 프로토콜이라고 생각하면 된다. 모두 인터넷에서 데이터를 전송하기 위한 규약이지만, FTP는 파일 전송을 위한 표준 프로토콜이다. 1.2 FTP와 HTTP 비교 1. 둘 모두 TCP에서 동작한다. 2. 응답 메시지가 존재한다(HTTP에서의 200, 404 응답). 하지만 형식은 다르다 1. FTP는 일반적으로 파..
본 내용은 Computer Networking: A Top-down Approach 를 읽고 공부한 내용입니다. 목차 1. 네트워크 어플리케이션의 원리 1) P2P와 Client-Server 2) Socket 3) 애플리케이션이 이용가능한 트랜스포트 서비스 (4가지 요소) 2. 웹과 HTTP 1) HTTP 개요 2) 비연속 연결과 지속 연결 3) HTTP 메시지 포맷 4) 사용자와 서버 간의 상호작용 : 쿠키 5) 웹 캐싱 6) 조건부 GET 1. 네트워크 어플리케이션의 원리 1.1 Client-Server와 P2P 쉽게 예시로 설명하자면, Client-Server는 교수님과 우리의 관계, P2P는 팀플할 때 팀원 간 관계로 설명할 수 있다. 교수님은 우리의 질문을 항상 받을 준비를 하고 계신다. Cli..
본 내용은 Computer Networking: A Top-down Approach 를 읽고 공부한 내용입니다. 목차 1. 인터넷이란 무엇인가? 1) 구성요소로 본 인터넷 2) 서비스로 본 인터넷 3) 프로토콜이란 무엇인가? 2. 네트워크의 가장자리 1) 클라이언트와 서버 프로그램 2) 접속 네트워크 3) 물리 매체 3. 네트워크 코어 1) 회선 교환과 패킷 교환 2) Routing과 Forwarding 에필로그 저번에 카페에 갔다가 넘 귀여운 코알라를 발견했다! 귀여워.. 1. 인터넷이란 무엇인가? 인터넷은 한 문장으로 간결한 정의를 하기 쉽지 않다. 인터넷이 제공하는 서비스, 하드웨어, 소프트웨어 등 모든 요소에 이르기까지 인터넷은 너무나 복잡하다. 따라서 아래에서 두 가지 방법으로 설명한다. 1️⃣..
먼저 이 둘에 대해 알아보기 전에 패킷, 그리고 프로토콜에 대해서 알아보자. 패킷? 패킷은 네트워크에 접속되어 있는 컴퓨터끼리 통신을 통해 주고받는 데이터 단위를 의미한다. 프로토콜? 교수님 말씀에 의하면 "아, 나는 그 사람과 프로토콜이 좀 안 통해" 라는 말을 자주 쓴다고 한다.(..?) 암튼 프로토콜이란 서로 떨어져 있는 컴퓨터끼리 통신을 수행하기 위한 약속을 말하며, 일종의 통신 규약이다. 프로토콜에는 아래와 같은 사항들이 들어간다. 구문 -- 데이터의 구조나 형식 ex. 서브넷 마스크 의미 -- 비트들의 영역별 의미 타이밍 -- 언제 데이터를 전송할지, 얼마나 빨리 전송할지? OSI 모델에서 계층구조, 계층 간 인터페이스, 각 계층의 기능 OSI 모델의 가장 큰 특징은 기능들이 구분되어 있다는 ..
jeonyoungseo
'CS/네트워크' 카테고리의 글 목록