Computer Science 58

[컴퓨터네트워크] 02. (4)Network Layer(네트워크 계층) - IP 패킷의 포워딩

(4) Network Layer(네트워크 계층) - IP 패킷의 포워딩 IP 패킷의 포워딩 포워딩에서 IP 주소의 역할 포워딩은 패킷을 목적지로 가는 경로로 위치시키는 것 2가지 방안 Forwarding based on Destination IP Addres Forwarding based on Destination Label Destination Address Forwarding Forwarding based on Destination Address 전통적 방식(Traditional approach) 정적(포워딩 테이블) 현재 대부분의 방식(Prevalent today) 동적(ex. OSPF, BGP) 포워딩 테이블이 필요함 호스트가 패킷을 보낼 때나, 라우터가 패킷을 수신하고 포워딩 할 때, 라우팅 테..

[컴퓨터네트워크] 02. (3)Network Layer(네트워크 계층) - DHCP, NAT

(3) Network Layer(네트워크 계층) - DHCP, NAT IPv4 주소 DHCP(Dynamic Host Configuration Protocol) 기관에 블록 주소가 할당되면, 관리자는 각각의 호스트나 라우터에 수동으로 주소를 할당할 수 있다 하지만 DHCP를 통해 주소할당을 자동으로 할 수 있다. DHCP는 클라이언트-서버 패러다임을 이용하는 응용 계층 프로그램으로서, TCP/IP의 네트워크 계층을 도와준다 DHCP 메시지 포맷 Opcode, Htype, HLen, HCount, Flags, .... , Options 존재 Opcoe : Operation code, request(1)(DHCPDISCOVER, DHCPREQUEST 등) or reply(2)(DHCPOFFER, DHCPACK..

[컴퓨터네트워크] 02. (2)Network Layer(네트워크 계층) - IPv4 주소

(2) Network Layer(네트워크 계층) - IPv4 주소 IPv4 주소 주소 연결의 양 끝 장치 식별(Identify) IPv4 주소 32비트 인터넷에 연결된 통신장치(호스트, 라우터)를 전세계적으로 유일하게 정의하는 32비트의 주소 (GPT) 전통적으로 IPv4 주소는 네트워크 부분과 호스트 부분으로 나뉘며, 서브네팅을 통해 보다 세분화된 주소 구조를 갖게 됩니다. (GPT) 사람이 읽기 쉽도록, 32비트의 주소는 8비트씩 네 부분으로 나누고 각각을 십진수로 변환한 후 점으로 구분하여 표시합니다. IP 주소는 호스트나 라우터의 주소가 아닌, 연결의 끝단 주소 연결이 여러 개인 경우 연결 각각마다 주소가 있음 컴퓨터가 아니라, 포트와 같은 장치의 주소 Transport Layer의 경우 End ..

[컴퓨터네트워크] 02. (1)Network Layer(네트워크 계층) - 네트워크 계층 서비스 / 성능, 패킷 스위칭

(1) Network Layer(네트워크 계층) - 네트워크 계층 서비스 / 성능, 패킷 스위칭 네트워크 계층 서비스 패킷화(packetizing) 포워딩(fowarding)과 라우팅(routing) 흐름제어, 오류제어, 혼잡제어 패킷화(packetizing) 출발지에서 유료부하(payload)를 네트워크 계층 패킷에 캡슐화 캡슐화란 헤더와 푸터(Trailer, 트레일러)를 추가하는 것 TCP segment(TCP header + Application data) --> IP packet(IP header + TCP segment) 헤더(IP)는 바뀔 수 있음 네트워크 특정 구간에서 MTU가 작으면, 데이터를 잘라서 보냄 Stream은 앞 뒤 데이터에 연관성이 있고, Datagram은 연관성이 없음(독립적..

[컴퓨터네트워크] 01. OSI 7계층과 TCP/IP

OSI 7계층과 TCP/IP 분산 컴퓨팅 process : 실행중인 프로그램 program : 실행 가능한 파일 프로세스와 프로세스간에 네트워크를 통해 통신 프로토콜 : 통신 규약 OSI 7계층 1계층 : Physical Layer(물리 계층) 물리 매체를 통한 0과 1의 비트를 전송 2계층 : Data Link Layer (데이터 링크 계층) 인접시스템(neighbor)의 신뢰성 있는 정보 전달 3계층 : Network Layer (네트워크 계층) 네트워크를 통한 데이터 전달 2계층 까지 보면 신뢰성 있게 데이터를 전달하고 있음 다양한 중계 장치를 통해 상대 시스템에 전달됨(네트워크) 4계층 : Transport Layer (전송(수송) 계층) 종단간(end-to-end) 신뢰성 있는 정보 전달 5계층..

[시스템 프로그래밍] 01. Data Representation

Binary Integers(2진수) electronic charge를 통해 컴퓨터의 메모리에 코드, 데이터를 저장함 MSB : the most significant bit (가장 왼쪽에 있는 bit) LSB : the least significant bit (가장 오른쪽에 있는 bit) Signed or Unsigned Singed : Positive or negative Unsigned : Positive 0(Zero) : Postive Integer Decimal을 Unsigned Binary로 변환하는 방법 특정 수를 2로 나눈 나머지들을 역순으로 나열한다 ex) 37 % 2 = 1 / 18 % 2 = 0 / 9 % 2 = 1, 4 % 2 = 0 / 2 % 2 = 0 / 1 % 2 = 1 / 위 ..

[시스템 프로그래밍] 00. Introduction

Programming Language hierarchy C와 같은 High-Leve Language로 작성된 코드 는 컴파일러에 의해 Assembly Language로 변환되고, 이는 어셈블러에 의해 Machine Language로 변환된다. Linker는 컴파일러, 어셈블러에 의해 변환된 Object file을 하나의 실행파일로 연결(i.e. .EXE) 생성된 실행 파일은 운영체제에 의해 메모리에 로드되고, CPU는 기계어를 실행 이 때, CPU의 아키텍쳐에 따라 기계어의 해석이 진행된다(ex. X86, Arm 등) Machine language란? CPU가 해석할 수 있는 numeric language 모든 X86 프로세서는 공통적인 기계어(X86에 해당하는 기계어)를 해석할 수 있음 Assembly..