Ring Topology로 두개의 네트워크를 구축한 뒤 두 네트워크를 연결하여 보았다. 위의 환경에서 R1라우터의 경우 20.0.0.0/13부터 20.96.0.0/13까지, 외부 네트워크로 나가는 NI가 라우팅 테이블에 등록되어야 한다. 그중에서 다이렉트 커넥트와 외부네트워크를 제외하면 0부터 40까지는 20.96.0.02, 40부터 72까지는 20.80.0.1로 전송해야 한다. 즉, 총 11개의 NI와 경로를 라우팅 테이블에 등록해주어야한다. 여태까지는 static으로 하나하나 등록하였지만 이번에는 supernet을 통해서 summary를 하게 되면 라우팅테이블은 다음과 같이 간략화 된다.
- 2개의 포트 위와같은 형태로 총 6개의 라우터를 버스 토폴로지로 연결하여 네트워크를 구축하였다. 특이점으로는 라우터끼리 연결된 선이 각각 두개씩 이라는 것이다. 라우터마다 1개의 VPCs와 VMware 가상화 pc가 존재한다. VPcs와 라우터 설정 및 테이블(static방식)작성 까지 완료 한 뒤 패킷을 전송해보면 두 포트에서 한쪽이 요청, 다른 하나가 응답 패킷만이 지나가는것을 볼 수 있다. 라우터의 효율을 위한 경로 선출 때문이다. - Ring Topology 위의 형태로 총 6개의 라우터를 Ring Topology로 연결하여 보았다.12개의 네트워크가 필요하였기에 255.240.0.0으로 서브넷하였다. 또한 Ring 형태이기 때문에 패킷을 전송할 포트를 양쪽으로 전부 연결..
input() : 입력값을 화면에 출력하며 표준입력장치의 값을 문자열(str)로 받아들임 1. 입력값을 화면에 출력 2. 표준입력장치 값을 받아들임 3. 입력값의 주소를 저장. Ex)name = input("You are name is?")print(id(name)) print() : 출력 print("%s"%) : 포멧스트링 정수 정수 Ex)num1 = input("Number : ")num2 = input("Number : ")#문자열 변수 초기화print(num1+num2) #문자열이 연결됨print(int(num1)+int(num2)) #int의 합 num1 = int(input("Number : "))print("%s"%(num1)) #포멧 스트링으로 데이터의 출력 데이터타입을 변경print(..
함수. - 내장함수(built-in) 파이썬 내에서 제공 파이썬 실행시 자동으로 메모리에 적제(Load) --> 자동으로 실행됨. 첫글자가 소문자이며 문자열 뒤에 매개변수를 입력 할 수 있다. EX) print() - 외장함수(extends) 파이썬 및 외부에서 제공 파이썬이 실행되더라도 자동으로 메모리에 적재(Load)되지는 않음. -- > import 명령어를 통해서 임의로 적재 시켜야 함 EX) import randomnum = int((random.random()*10+1))print(num) - 사용자정의함수(custom) 사용자가 직접 정의하여 선언한 함수. Ex) def a(): print("메롱") a()..
위의 환경과 같은 환경을 총 6개를 연결해보도록 하겠다. 우선 공통 NI를 1.1.1.0/24로 하였다. 위와 같은 환경 6개를 직선으로 연결하게 되면 총 17개의 네트워크가 필요하다.따라서 1.1.1.0/24를 17개 이상으로 나누기 위해서 prefix 29개로 하여 서브넷 하면 다음과 같이 네트워크를 구할 수 있다. 1.1.1.01.1.1.8=======1.1.1.16=======1.1.1.241.1.1.32=======1.1.1.40=======1.1.1.481.1.1.56=======1.1.1.64=======1.1.1.721.1.1.80=======1.1.1.88=======1.1.1.961.1.1.104=======1.1.1.112=======1.1.1.1201.1.1.128 여기서 PC와 라..
- 변수와 Data Type 변수는 메모리 공간의 주소를 기억한다. 이때 하나의 값 또는 주소만을 기억 할 수 있으며 여러번의 초기화가 가능하다. 변수의 선언및 초기화는 우선 메모리 공간을 확보 한 뒤에 변수 이름을 붙여주고, 그 메모리공간의 시작점을 변수에 기억시킨다. 이후 확보된 공간에 데이터를 저장하게 된다 만약 초기화 된 변수에 한번 더 초기화 과정이 이루어진다면 다른 메모리 공간을 확보한 뒤 그 주소의 시작점을 변수에 덮어씌워 기억한다. 즉, 원래 가지고 있던 주소는 잊게 됨다. 이후에 확보된 메모리로 데이터가 들어간다. 주소값을 잃게 된 메모리는 자바와 파이썬의 경우 Garbage Collecter에 의해서 지워지게 된다. C의 경우 이 메모리를 지워 메모리 관리를 해주어야 한다. Da..
ping을 보냈을때의 과정 PC0 --> PC8 우선 ping을 칠 경우 PC0은 ICMP패킷을 생성한다. 이때 L3, L2의 src와 dst주소가 필요하다. PC0은 ARP테이블을 확인 한 뒤 PC8의 MAC주소가 없다면 ARP패킷을 보내게 된다. 임의로 ARP테이블을 arp -d a.b.c.d로 초기화 한 뒤 ping을 치면 다음과 같이 arp패킷을 확인 가능하다. arp패킷 요청arp패킷 응답R1 MAC AddressR2 MAC Address arp패킷을 전송하여 스위치에 프래임이 들어가면 스위치에서 Mac테이블을 확인하여 learning과 floodin/forwading이 이루어질 것이다. 만약 src주소를 모른다면 learning이 이루어질 것이고, dst주소를 알면 forwading, ..