Computer Science 기본 지식/컴퓨터 네트워크 12

[네트워크] 응용 계층 (2) DNS 도메인 네임 시스템

DNS (Domain Name System) - 배경 모든 전송은 목적지의 IP 주소를 알고 있어야 전송이 가능하나 응용을 위한 모든 IP 주소를 알기 힘들고 변동되는 경우가 많다. 문자열과 같은 직관적인 "이름"으로 IP 주소를 명명할 수 있다. 사람이 읽을 수 있는 이름, 호스트 이름(hostname))으로 간단히 원하는 서비스를 요청할 수 있다. - Domain Name System/Service (DNS) 계층적으로 구성된 분산형 데이터 베이스 시스템. DNS 서버 혹은 네임 서버라고 한다. 사용자가 hostname에 대응하는 IP 주소를 요청할때 DNS 응용프로토콜을 사용한다. - 분산적, 계층적 DNS 서버 DNS 서버는 계층적으로 분할 되어 있고 트리형식으로 각 상위 레벨 도메인은 하위 레벨..

[네트워크] Web Request를 통한 인터넷 연결 과정

Web Request를 할 때 일어나는 과정을 정리해보고 네트워크 과목에서 배운 내용을 복습하자. 출처: wiki.ucalgary.ca/page/Courses/Computer_Science/CPSC_441.W2014/Chapter_5:_Link_Layer.html 한 학생이 학교 도서관에서 노트북을 꺼내 인터넷을 연결하고 구글 사이트를 접속하려고 한다. 이때 일어나는 모든 네트워크 상의 요청을 알아보자. 인터넷 연결 과정 (자신의 IP주소, 기본 게이트웨이, 서브넷 마스크, DNS 서버 주소 요청) 1) 먼저 학교 네트워크를 통해 인터넷 접속을 위한 자신의 IP주소, 기본 게이트웨이, 서브넷 마스크, DNS 서버 주소를 알아야한다. 2) 최상위 계층부터 DHCP, UDP, IP, 802.3 Etherne..

[네트워크] 링크 계층 (2) MAC 주소 / ARP 주소 결정 프로토콜 / Ethernet 프로토콜

MAC(Media Access Control) 주소 링크 계층에서 사용되는 48 bits 길이의 물리적인 주소 cf) IP 주소: 네트워크 계층에서 사용되는 32 bits(128 bits) 길이의 논리적인 주소 4A 28 8E 3C AD FE 랜 카드 제조사 일련번호 장치 고유 일련번호 전 세계에서 유일한 장치 고유 번호 지역에 상관없이 같은 의미로 통용된다. - MAC 주소, 왜 필요한가? 1. LAN과 같은 한 네트워크 상에서 물리적으로 연결된 링크 인터페이스끼리 데이터 그램을 전송하기 위해 필요하다. 적용된 링크 인터페이스 기술(ex. Ethernet, FDDI 등)이 다를 수 있기 때문에 통용가능한 주소가 필요하다. 2. 다른 IP 주소 네트워크에 있는 목적지 호스트를 특정하기 위해서 사용된다. ..

[네트워크] 링크 계층 (1) 서비스 / EDC / MAP 다중 접속 프로토콜

링크 계층 (Link Layer ) 노드: 네트워크에 소속된 전송 대상이 되는 호스트, 라우터, 서버 등등 링크: 두 인접한 노드 사이를 연결하는 통신 채널 프레임: 링크 계층 패킷 단위, 네트워크 계층에서의 데이터 그램을 캡슐화한 것 혹은 물리 계층으로 부터 수신받은 프레임 - 기본 기능 링크를 통한 한 노드에서 다른 노드로의 데이터 그램을 전송 비트 오류 처리 bit error handling 패킷 충돌 처리 packet collision handling - 링크 계층 서비스 캡슐화: Ethernet 프로토콜과 같은 전송 기술로 헤더를 앞에, 비트 오류 검사를 위한 트레일러를 뒤에 추가하여 데이터 그램을 프레임으로 캡슐화한다. 역캡슐화: MAC 주소를 조사하여 목적지 MAC 주소를 변경하거나 수신받은..

[네트워크] 네트워크 계층 (4) SDN 개념 / OpenFlow

Software Defined Network (SDN) 고전적 라우팅 방식: 라우팅 알고리즘에 따라 결정된 라우팅 테이블 프로그램 가능한 라우터: 중앙형 통제, 원격으로 라우터 간 전송을 제어 1) 일반화된 "flow-based" 포워딩 2) control plane과 data plane의 분리 3) data plane switch를 위한 기능: 라우팅, 접근 제한, 부하 제어 등등 4) 응용 계층에서 제어 기능 구현 가능 OpenFlow (SDN 기반 제어) OpenFlow Controller Switches 제어 메세지를 위한 프로토콜 TCP/TLS 기반 메세지 - OpenFlow Switch 구성요소 flowtable: 포워딩 테이블과 비슷함. 데이터 그램을 어디로 전송할 것이냐 secure cha..

[네트워크] 네트워크 계층 (3) 라우팅 알고리즘 (RIP, OSPF, BGP)

라우팅 출발지에서 목적지까지의 최적 경로를 찾는 것 총 경로 비용 = 중간 단계에서 경유하는 링크(한 노드에서 근접한 노드까지의 연결)의 비용 합 $cost(x_1,x_2,...,x_p) = c(x_1,x_2) + c(x_2,x_3) + ... + c(x_{p-1},x_p)$ 분류 Static vs Dynamic 방식 - Static 경로가 관리자 정책에 의해 고정되거나 수정됨 - Dynamic 실시간으로 최적 경로를 업데이트 Global vs Decentralized - Global 모든 라우터는 완전한 네트워크 토폴리지를 알고 있으며 모든 링크 비용을 알고 있음 ex) Link State Algorithm - Decentralized 라우터는 자신과 근접한 라우터들의 정보만 알고 있음 최적 비용을 점..

[네트워크] 네트워크 계층 (1) 라우터 / IP 프로토콜

네트워크 계층 (Network Layer) 네트워크 간의 통신을 가능하게 하는 역할. 전송 계층에서 부여한 포트 번호는 응용 프로그램을 구분하여 목적 프로그램에 전송하기 위해 사용되고 네트워크 계층에서 부여하는 IP 주소는 네트워크를 구분하고 목적지 네트워크에 전송하기 위해 사용된다. - 용어 IP 주소: 네트워크를 식별할 수 있는 주소 라우터: 네트워크 간의 데이터를 전송하는 장비, 스위치와 달리 고유 IP 주소가 있음. 라우팅: 출발지 IP 주소에서 목적지 IP 주소까지의 최적 경로를 결정하는 것, 라우팅 알고리즘에 따라 포워딩 테이블을 구성. 포워딩: 라우터의 입력 버퍼에서 출력 버퍼까지 패킷을 옮기는 것. 라우터 네트워크 계층 기능을 지원하는 장치 - 소프트웨어 부분 라우팅 알고리즘으로 최적 경로..

[네트워크] 전송 계층 (2) TCP 프로토콜

TCP (Transmission Control Protocol) - 전송계층에서 신뢰성있는 통신을 위한 프로토콜 일대일 연결 지향적 (point to point) 일련의 패킷을 연속적으로 전송하는 파이프라인 전송 양방향 데이터 전송 (full duplex) - TCP 헤더와 세그먼트 Sequence Number(SEQ): 세그먼트 data의 일련번호 Acknowlege Number(ACK): 다음 기대되는 세그먼트의 일련번호 연결 수립, 오류/흐름 제어를 위한 정보가 담겨있다. 다중 Pipelining 전송을 위해 window size가 존재한다. 연결 수립을 위한 비트 (SYN)와 연결 종료를 위한 비트 (FIN) 그리고 현재 패킷이 acknowledge number를 담고 있다는 뜻의 비트(ACK)가..

[네트워크] 전송 계층 (1) UDP 프로토콜 / 신뢰성있는 전송

전송 계층 (Transport Layer) 응용 어플리케이션을 특정하여 데이터를 전송하기 위한 계층, 포트 번호를 부여 다중화와 역다중화가 일어남 프로토콜: TCP 프로토콜, UDP 프로토콜 ※ 다중화(multiplexing): 다수의 응용에서 동시에 발생된 독립적인 세그먼트들을 하나의 전송로를 통해 전달하는 과정 ※ 역다중화(demultiplexing): 수신된 다양한 세그먼트들을 전송계층에서 분리하여 해당 응용으로 전달하는 과정 - 포트 번호 응용 타입마다 다른 포트번호를 할당, 0~65535번 포트를 사용한다. 0~1024: 알려진 포트, ex) SSH(22) SMTP (25) DNS(53) HTTP(80) POP3(110) HTTPS(443) 1025: 랜덤 포트 - TCP (Transmissio..

[네트워크] 네트워크 계층 (2) IP 주소체계 / NAT / DHCP 프로토콜

IP 주소란 인터넷 네트워크의 주소, 인터넷 서비스 제공자(ISP)에 의해 할당되는 고유 번호. - IPv4 주소 체계 32비트로 이루어진 네트워크 주소, 8비트(1 바이트)씩 끊어서 10진수로 표현한다. ex) 11000000 / 10101000 / 00000001 / 00001010 -> 192.168.1.10 - IP 주소 클래스 IP 주소는 네트워크를 구분하는 네트워크 ID와 네트워크에 속한 컴퓨터를 구분하는 호스트 ID가 있다. 각 클래스마다 32비트중 네트워크 ID 및 호스트 ID에 해당하는 범위가 다르다. C 클래스에 가까울 수록 소규모 네트워크 (일반 가정에서 사용되는 네트워크는 대부분 C 클래스). D 클래스는 멀티캐스트 주소이고 E 클래스는 연구 및 특수용도 주소로 사용된다. A,B,C..